@ihabdevteam/core 0.318.0 → 0.322.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +336 -0
- package/dist/components.cjs.js +22 -22
- package/dist/components.esm.css +2 -2
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +188 -188
- package/dist/ihabdevteam-core.d.ts +144 -63
- package/dist/packages/core/src/components/HearingDeviceInfo.d.ts +5 -5
- package/dist/packages/core/src/components/HearingDeviceInfo.js +2 -2
- package/dist/packages/core/src/components/PanelRow.d.ts +2 -4
- package/dist/packages/core/src/components/PanelRow.js +2 -2
- package/dist/packages/core/src/components/Popup/DeviceListPopup.d.ts +4 -8
- package/dist/packages/core/src/components/Popup/DeviceListPopup.js +1 -1
- package/dist/packages/core/src/components/Popup/DeviceSideTable.js +3 -3
- package/dist/packages/core/src/components/Popup/ListPopup.js +3 -3
- package/dist/packages/core/src/components/Popup/LoadTablePopup.js +3 -3
- package/dist/packages/core/src/components/Training/NoisePlayerContext.d.ts +7 -4
- package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.css +19 -0
- package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.d.ts +16 -1
- package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.js +8 -6
- package/dist/packages/core/src/components/Training/TrainingBlock.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingCardGroup.d.ts +20 -1
- package/dist/packages/core/src/components/Training/TrainingCardGroup.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingPagePopup.d.ts +15 -0
- package/dist/packages/core/src/components/Training/TrainingPagePopup.js +4 -4
- package/dist/packages/core/src/components/Training/TrainingPagePopupBottom.d.ts +16 -1
- package/dist/packages/core/src/components/Training/TrainingPagePopupBottom.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingStepAudioPlayer.js +2 -2
- package/dist/packages/core/src/components/Training/TrainingStepCardOrder.js +14 -1
- package/dist/packages/core/src/components/Training/TrainingStepConfirm.d.ts +3 -1
- package/dist/packages/core/src/components/Training/TrainingStepConfirm.js +42 -30
- package/dist/packages/core/src/components/Training/TrainingStepTextBox.js +2 -2
- package/dist/packages/core/src/components/Training/oneShotSound.d.ts +1 -1
- package/dist/packages/core/src/components/Training/oneShotSound.js +3 -3
- package/dist/packages/core/src/components/Training/stepAnswerable.d.ts +60 -10
- package/dist/packages/core/src/components/Training/trainingMissStats.js +2 -2
- package/dist/packages/core/src/components/Word/WordSearchResultBlock.js +9 -9
- package/dist/packages/core/src/components/Word/WordTableBlock.css +25 -0
- package/dist/packages/core/src/components/Word/WordTableBlock.js +2 -2
- package/dist/packages/core/src/components/Word/wordScoreStats.js +2 -2
- package/dist/packages/core/src/components/Word/wordTableRecommend.js +2 -2
- package/dist/packages/core/src/components/wordTableLayout.d.ts +5 -3
- package/dist/packages/core/src/hooks/inputModality.d.ts +1 -1
- package/dist/packages/core/src/hooks/inputModality.js +1 -1
- package/dist/packages/core/src/hooks/useDeviceManagement.d.ts +5 -17
- package/dist/packages/core/src/hooks/useDeviceManagement.js +20 -8
- package/dist/packages/core/src/hooks/usePageResetOnChange.d.ts +3 -3
- package/dist/packages/core/src/hooks/usePageResetOnChange.js +6 -6
- package/dist/packages/core/src/hooks/useTablePaging.d.ts +16 -5
- package/dist/packages/core/src/hooks/useTablePaging.js +20 -9
- package/dist/packages/core/src/hooks/useWordAttributeFilter.d.ts +10 -1
- package/dist/packages/core/src/hooks/useWordAttributeFilter.js +11 -2
- package/dist/packages/core/src/hooks/useWordTrainingFilter.d.ts +8 -4
- package/dist/packages/core/src/hooks/useWordTrainingFilter.js +44 -7
- package/dist/packages/core/src/i18n/locales/en.json +8 -5
- package/dist/packages/core/src/i18n/locales/ko.json +8 -5
- package/dist/packages/core/src/utils/devWarn.d.ts +2 -2
- package/dist/packages/core/src/utils/devWarn.js +5 -5
- package/dist/packages/core/src/utils/filterPanelSummary.d.ts +1 -1
- package/dist/packages/core/src/utils/filterPanelSummary.js +4 -4
- package/dist/packages/core/src/utils/navScroll.d.ts +2 -2
- package/dist/packages/core/src/utils/navScroll.js +4 -4
- package/dist/packages/core/src/utils/phonemePairSearch.js +10 -3
- package/dist/packages/core/src/utils/pressable.d.ts +1 -1
- package/dist/packages/core/src/utils/pressable.js +3 -3
- package/dist/packages/core/src/utils/sessionTab.d.ts +7 -7
- package/dist/packages/core/src/utils/sessionTab.js +9 -9
- package/dist/packages/core/src/utils/textSort.d.ts +15 -5
- package/dist/packages/core/src/utils/textSort.js +19 -9
- package/dist/packages/core/src/utils/wordAttributeFilterCodes.d.ts +37 -0
- package/dist/packages/core/src/utils/wordAttributeFilterCodes.js +60 -3
- package/dist/packages/core/src/utils/wordTrainingPool.js +3 -2
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +7 -3
- package/package.json +2 -1
package/dist/components.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var n=require("react/jsx-runtime"),o=require("react"),Tt=require("i18next"),_e=require("react-i18next"),
|
|
1
|
+
"use strict";var n=require("react/jsx-runtime"),o=require("react"),Tt=require("i18next"),_e=require("react-i18next"),Jt=require("react-dom"),xn=typeof document<"u"?document.currentScript:null;function Ic(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var cs=Ic(o);function Ae(...e){return e.filter(Boolean).join(" ")}const ds=new Set,Jn=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Gt(e,...t){!Jn||ds.has(e)||(ds.add(e),console.warn(...t))}/**
|
|
2
2
|
* @license lucide-react v1.38.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
25
25
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/var
|
|
26
|
+
*/var Ar={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
|
27
27
|
* @license lucide-react v1.38.0 - ISC
|
|
28
28
|
*
|
|
29
29
|
* This source code is licensed under the ISC license.
|
|
30
30
|
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/const zc=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Vc=o.createContext({}),Wc=()=>o.useContext(Vc),qc=o.forwardRef(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:r,className:
|
|
31
|
+
*/const zc=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Vc=o.createContext({}),Wc=()=>o.useContext(Vc),qc=o.forwardRef(({color:e,size:t,strokeWidth:a,absoluteStrokeWidth:r,className:i="",children:s,iconNode:l,...u},c)=>{const{size:d=24,strokeWidth:m=2,absoluteStrokeWidth:p=!1,color:h="currentColor",className:v=""}=Wc()??{},y=r??p?Number(a??m)*24/Number(t??d):a??m;return o.createElement("svg",{ref:c,...Ar,width:t??d??Ar.width,height:t??d??Ar.height,stroke:e??h,strokeWidth:y,className:ps("lucide",v,i),...!s&&!zc(u)&&{"aria-hidden":"true"},...u},[...l.map(([g,f])=>o.createElement(g,f)),...Array.isArray(s)?s:[s]])});/**
|
|
32
32
|
* @license lucide-react v1.38.0 - ISC
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the ISC license.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/const ee=(e,t)=>{const a=o.forwardRef(({className:r,...
|
|
36
|
+
*/const ee=(e,t)=>{const a=o.forwardRef(({className:r,...i},s)=>o.createElement(qc,{ref:s,iconNode:t,className:ps(`lucide-${Oc(ms(e))}`,`lucide-${e}`,r),...i}));return a.displayName=ms(e),a};/**
|
|
37
37
|
* @license lucide-react v1.38.0 - ISC
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the ISC license.
|
|
@@ -648,7 +648,7 @@
|
|
|
648
648
|
*
|
|
649
649
|
* This source code is licensed under the ISC license.
|
|
650
650
|
* See the LICENSE file in the root directory of this source tree.
|
|
651
|
-
*/const ch=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],
|
|
651
|
+
*/const ch=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],kr=ee("user",ch);/**
|
|
652
652
|
* @license lucide-react v1.38.0 - ISC
|
|
653
653
|
*
|
|
654
654
|
* This source code is licensed under the ISC license.
|
|
@@ -823,9 +823,9 @@
|
|
|
823
823
|
*
|
|
824
824
|
* This source code is licensed under the ISC license.
|
|
825
825
|
* See the LICENSE file in the root directory of this source tree.
|
|
826
|
-
*/const v0=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],x0=ee("thumbs-up",v0),Es={"alert-triangle":hs,"align-start-vertical":Kc,anchor:Dh,armchair:Sh,"arrow-down":Zc,"arrow-left":Jc,"arrow-right":ed,"arrow-right-left":nd,"arrow-up-a-z":Th,"audio-lines":rd,baby:sd,ban:ld,"bar-chart-2":Lh,bell:cd,"book-marked":pd,"book-open":hd,"bow-arrow":fd,braces:bd,bug:vd,calendar:ks,"calendar-check":_d,"calendar-days":Bd,camera:kd,car:Ph,"chart-column":Dd,"chart-line":Sd,"chart-pie":Td,check:Cs,"chevron-down":Ns,"chevron-left":fs,"chevron-right":gs,"chevron-up":Ds,circle:m0,"clipboard-list":Pd,coffee:Ih,combine:Id,copy:Hd,"chevrons-left-right-ellipsis":Vd,"credit-card":qd,database:bs,diff:Kd,download:ys,ear:Xd,edit:Qd,"edit-2":tp,"edit-3":ap,ellipsis:vs,eraser:sp,"external-link":lp,eye:cp,"file-text":pp,"flip-horizontal":hp,"folder-open":fp,"folder-plus":bp,gamepad:vp,"gamepad-2":Hh,clock:Vh,target:qh,percent:Gh,gavel:_p,"git-merge":xs,globe:Ap,"grip-vertical":Np,headphones:Ep,heart:jp,home:Mp,inbox:Yh,info:$p,"key-round":Pp,landmark:Ip,layers:Hp,"layout-dashboard":Vp,leaf:qp,lightbulb:Gp,link:Yp,"link-2":Xp,"link-2-off":Qp,list:t1,"list-checks":a1,"list-ordered":o1,"list-tree":Xh,loader:i1,lock:u1,"log-out":d1,mail:m1,"map-pin":C1,menu:g0,"message-circle":g1,"message-circle-question-mark":y1,"message-square":x1,"message-square-more":Qh,"message-square-text":w1,minus:t0,"minus-circle":A1,moon:y0,"more-horizontal":vs,package:N1,palette:E1,"party-popper":j1,pause:M1,pencil:$1,phone:P1,play:I1,"play-circle":H1,plus:V1,printer:q1,"refresh-cw":G1,repeat:Y1,replace:X1,rocket:Q1,"rotate-ccw":tm,"rotate-cw":am,salad:om,"scan-search":im,search:dm,"circle-alert":_s,"alert-circle":_s,"check-circle":ws,scissors:mm,"search-x":Cm,send:gm,settings:ym,"share-2":a0,"shield-check":xm,"shopping-cart":wm,shuffle:Am,"skip-back":Nm,"skip-forward":Em,sparkles:o0,square:jm,star:Mm,store:$m,"sun-medium":Pm,table:Im,"table-2":Hm,tag:Vm,terminal:qm,"text-cursor-input":Gm,"text-initial":Ym,"thumbs-up":x0,ticket:Xm,trash:th,triangle:C0,"trash-2":Qm,"trending-up":ah,"triangle-alert":hs,trophy:oh,type:i0,unlink:ih,upload:uh,user:
|
|
827
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S0(e,t){return N0(e)||D0(e,t)||j0(e,t)||E0()}function j0(e,t){if(e){if(typeof e=="string")return Ts(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Ts(e,t):void 0}}const Ms=Object.entries,Ls=Object.setPrototypeOf,T0=Object.isFrozen,M0=Object.getPrototypeOf,L0=Object.getOwnPropertyDescriptor;let Dt=Object.freeze,St=Object.seal,Jn=Object.create,$s=typeof Reflect<"u"&&Reflect,kr=$s.apply,Nr=$s.construct;Dt||(Dt=function(t){return t}),St||(St=function(t){return t}),kr||(kr=function(t,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i];return t.apply(a,s)}),Nr||(Nr=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new t(...r)});const Hn=kt(Array.prototype.forEach),$0=kt(Array.prototype.lastIndexOf),Rs=kt(Array.prototype.pop),ha=kt(Array.prototype.push),R0=kt(Array.prototype.splice),Qn=Array.isArray,Ca=kt(String.prototype.toLowerCase),Dr=kt(String.prototype.toString),Ps=kt(String.prototype.match),fa=kt(String.prototype.replace),Fs=kt(String.prototype.indexOf),P0=kt(String.prototype.trim),F0=kt(Number.prototype.toString),I0=kt(Boolean.prototype.toString),Is=typeof BigInt>"u"?null:kt(BigInt.prototype.toString),Os=typeof Symbol>"u"?null:kt(Symbol.prototype.toString),Kt=kt(Object.prototype.hasOwnProperty),ga=kt(Object.prototype.toString),$t=kt(RegExp.prototype.test),zn=O0(TypeError);function kt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return kr(e,t,r)}}function O0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return Nr(e,a)}}function lt(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ca;if(Ls&&Ls(e,null),!Qn(t))return e;let r=t.length;for(;r--;){let s=t[r];if(typeof s=="string"){const i=a(s);i!==s&&(T0(t)||(t[r]=i),s=i)}e[s]=!0}return e}function H0(e){for(let t=0;t<e.length;t++)Kt(e,t)||(e[t]=null);return e}function tn(e){const t=Jn(null);for(const r of Ms(e)){var a=S0(r,2);const s=a[0],i=a[1];Kt(e,s)&&(Qn(i)?t[s]=H0(i):i&&typeof i=="object"&&i.constructor===Object?t[s]=tn(i):t[s]=i)}return t}function z0(e){switch(typeof e){case"string":return e;case"number":return F0(e);case"boolean":return I0(e);case"bigint":return Is?Is(e):"0";case"symbol":return Os?Os(e):"Symbol()";case"undefined":return ga(e);case"function":case"object":{if(e===null)return ga(e);const t=e,a=un(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:ga(r)}return ga(e)}default:return ga(e)}}function un(e,t){for(;e!==null;){const r=L0(e,t);if(r){if(r.get)return kt(r.get);if(typeof r.value=="function")return kt(r.value)}e=M0(e)}function a(){return null}return a}function V0(e){try{return $t(e,""),!0}catch{return!1}}const Hs=Dt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Er=Dt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Sr=Dt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),W0=Dt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),jr=Dt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),q0=Dt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),zs=Dt(["#text"]),Vs=Dt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Tr=Dt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ws=Dt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),za=Dt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),U0=St(/{{[\w\W]*|^[\w\W]*}}/g),G0=St(/<%[\w\W]*|^[\w\W]*%>/g),K0=St(/\${[\w\W]*/g),Y0=St(/^data-[\-\w.\u00B7-\uFFFF]+$/),Z0=St(/^aria-[\-\w]+$/),qs=St(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),X0=St(/^(?:\w+script|data):/i),J0=St(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Q0=St(/^html$/i),eC=St(/^[a-z][.\w]*(-[.\w]+)+$/i),Us=St(/<[/\w!]/g),Gs=St(/<[/\w]/g),tC=St(/<\/no(script|embed|frames)/i),nC=St(/\/>/i),nn={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ks=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],aC=Dt(lt({},Ks)),rC=(function(){const e={};return Hn(Ks,t=>{e[t]=St(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),Dt(e)})(),oC=function(){return typeof window>"u"?null:window},sC=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Ys=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Tn=function(t,a,r,s){return Kt(t,a)&&Qn(t[a])?lt(s.base?tn(s.base):{},t[a],s.transform):r},Mr=function(t,a,r){const s=Kt(t,a)?t[a]:void 0;return s&&typeof s=="object"?tn(s):r()};function Zs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:oC();const t=Ce=>Zs(Ce);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==nn.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,s=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,l=e.Node,u=e.Element,c=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const m=e.DOMParser,p=e.trustedTypes,C=u.prototype,y=un(C,"cloneNode"),v=un(C,"remove"),f=un(C,"nextSibling"),g=un(C,"childNodes"),_=un(C,"parentNode"),h=un(C,"shadowRoot"),w=un(C,"attributes"),b=l&&l.prototype?un(l.prototype,"nodeType"):null,k=l&&l.prototype?un(l.prototype,"nodeName"):null,x=l&&l.prototype?un(l.prototype,"ownerDocument"):null,B=function(T){return b?b(T):T.nodeType},A=function(T){return k?k(T):T.nodeName};if(typeof i=="function"){const Ce=a.createElement("template");Ce.content&&Ce.content.ownerDocument&&(a=Ce.content.ownerDocument)}let N,E="",D,H=!1,$=0;const G=function(){if($>0)throw zn('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},L=function(T){G(),$++;try{return N.createHTML(T)}finally{$--}},M=function(T){G(),$++;try{return N.createScriptURL(T)}finally{$--}},I=function(){return H||(D=sC(p,s),H=!0),D},K=a,Y=K.implementation,z=K.createNodeIterator,V=K.createDocumentFragment,R=K.getElementsByTagName,q=r.importNode;let S=Ys();t.isSupported=typeof Ms=="function"&&typeof _=="function"&&Y&&Y.createHTMLDocument!==void 0;const P=U0,j=G0,F=K0,O=Y0,W=Z0,Q=X0,oe=J0,de=eC;let ae=qs,te=null;const Ae=lt({},[...Hs,...Er,...Sr,...jr,...zs]);let U=null;const ne=lt({},[...Vs,...Tr,...Ws,...za]);let le=Object.seal(Jn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ee=null,be=null;const se=Object.seal(Jn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let pe=!0,he=!0,ge=!1,fe=!0,Te=!1,Me=!0,Ie=!1,Oe=!1,He=null,dt=null,ut=!1,ot=!1,ct=!1,Ne=!1,ze=!0,Be=!1;const Ye="user-content-";let X=!0,ue=!1,we={},De=null;const qe=lt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Qe=null;const st=lt({},["audio","video","img","source","image","track"]);let pt=null;const Ct=lt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),bt="http://www.w3.org/1998/Math/MathML",at="http://www.w3.org/2000/svg",Xe="http://www.w3.org/1999/xhtml";let Ve=Xe,Pe=!1,et=null;const ht=lt({},[bt,at,Xe],Dr),Ue=Dt(["mi","mo","mn","ms","mtext"]);let mt=lt({},Ue);const Nt=Dt(["annotation-xml"]);let Et=lt({},Nt);const $e=lt({},["title","style","font","a","script"]);let nt=null;const Lt=["application/xhtml+xml","text/html"],Xt="text/html";let rt=null,Bt=null;const At=a.createElement("form"),vt=function(T){return T instanceof RegExp||T instanceof Function},rn=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Bt&&Bt===T)return;(!T||typeof T!="object")&&(T={}),T=tn(T),nt=Lt.indexOf(T.PARSER_MEDIA_TYPE)===-1?Xt:T.PARSER_MEDIA_TYPE,rt=nt==="application/xhtml+xml"?Dr:Ca,te=Tn(T,"ALLOWED_TAGS",Ae,{transform:rt}),U=Tn(T,"ALLOWED_ATTR",ne,{transform:rt}),et=Tn(T,"ALLOWED_NAMESPACES",ht,{transform:Dr}),pt=Tn(T,"ADD_URI_SAFE_ATTR",Ct,{transform:rt,base:Ct}),Qe=Tn(T,"ADD_DATA_URI_TAGS",st,{transform:rt,base:st}),De=Tn(T,"FORBID_CONTENTS",qe,{transform:rt}),Ee=Tn(T,"FORBID_TAGS",tn({}),{transform:rt}),be=Tn(T,"FORBID_ATTR",tn({}),{transform:rt}),we=Kt(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?tn(T.USE_PROFILES):T.USE_PROFILES:!1,pe=T.ALLOW_ARIA_ATTR!==!1,he=T.ALLOW_DATA_ATTR!==!1,ge=T.ALLOW_UNKNOWN_PROTOCOLS||!1,fe=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Te=T.SAFE_FOR_TEMPLATES||!1,Me=T.SAFE_FOR_XML!==!1,Ie=T.WHOLE_DOCUMENT||!1,ot=T.RETURN_DOM||!1,ct=T.RETURN_DOM_FRAGMENT||!1,Ne=T.RETURN_TRUSTED_TYPE||!1,ut=T.FORCE_BODY||!1,ze=T.SANITIZE_DOM!==!1,Be=T.SANITIZE_NAMED_PROPS||!1,X=T.KEEP_CONTENT!==!1,ue=T.IN_PLACE||!1,ae=V0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:qs,Ve=typeof T.NAMESPACE=="string"?T.NAMESPACE:Xe,mt=Mr(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>lt({},Ue)),Et=Mr(T,"HTML_INTEGRATION_POINTS",()=>lt({},Nt));const Z=Mr(T,"CUSTOM_ELEMENT_HANDLING",()=>Jn(null));if(le=Jn(null),Kt(Z,"tagNameCheck")&&vt(Z.tagNameCheck)&&(le.tagNameCheck=Z.tagNameCheck),Kt(Z,"attributeNameCheck")&&vt(Z.attributeNameCheck)&&(le.attributeNameCheck=Z.attributeNameCheck),Kt(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(le.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),St(le),Te&&(he=!1),ct&&(ot=!0),we&&(te=lt({},zs),U=Jn(null),we.html===!0&&(lt(te,Hs),lt(U,Vs)),we.svg===!0&&(lt(te,Er),lt(U,Tr),lt(U,za)),we.svgFilters===!0&&(lt(te,Sr),lt(U,Tr),lt(U,za)),we.mathMl===!0&&(lt(te,jr),lt(U,Ws),lt(U,za))),se.tagCheck=null,se.attributeCheck=null,Kt(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?se.tagCheck=T.ADD_TAGS:Qn(T.ADD_TAGS)&&(te===Ae&&(te=tn(te)),lt(te,T.ADD_TAGS,rt))),Kt(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?se.attributeCheck=T.ADD_ATTR:Qn(T.ADD_ATTR)&&(U===ne&&(U=tn(U)),lt(U,T.ADD_ATTR,rt))),Kt(T,"ADD_FORBID_CONTENTS")&&Qn(T.ADD_FORBID_CONTENTS)&&(De===qe&&(De=tn(De)),lt(De,T.ADD_FORBID_CONTENTS,rt)),X&&(te["#text"]=!0),Ie&<(te,["html","head","body"]),te.table&&(lt(te,["tbody"]),delete Ee.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw zn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ce=N;N=T.TRUSTED_TYPES_POLICY;try{E=L("")}catch(Se){throw N=ce,Se}}else T.TRUSTED_TYPES_POLICY===null?(N=void 0,E=""):(N===void 0&&(N=I()),N&&typeof E=="string"&&(E=L("")));Dt&&Dt(T),Bt=T},bn=lt({},[...Er,...Sr,...W0]),mn=lt({},[...jr,...q0]),hn=function(T,Z,ce){return Z.namespaceURI===Xe?T==="svg":Z.namespaceURI===bt?T==="svg"&&(ce==="annotation-xml"||mt[ce]):!!bn[T]},En=function(T,Z,ce){return Z.namespaceURI===Xe?T==="math":Z.namespaceURI===at?T==="math"&&Et[ce]:!!mn[T]},In=function(T,Z,ce){return Z.namespaceURI===at&&!Et[ce]||Z.namespaceURI===bt&&!mt[ce]?!1:!mn[T]&&($e[T]||!bn[T])},yn=function(T){let Z=_(T);(!Z||!Z.tagName)&&(Z={namespaceURI:Ve,tagName:"template"});const ce=Ca(T.tagName),Se=Ca(Z.tagName);return et[T.namespaceURI]?T.namespaceURI===at?hn(ce,Z,Se):T.namespaceURI===bt?En(ce,Z,Se):T.namespaceURI===Xe?In(ce,Z,Se):!!(nt==="application/xhtml+xml"&&et[T.namespaceURI]):!1},zt=function(T){ha(t.removed,{element:T});try{_(T).removeChild(T)}catch{if(v(T),!_(T))throw zn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},sn=function(T,Z,ce){try{T.removeAttributeNode(Z)}catch{try{T.removeAttribute(ce)}catch{}}},Vt=function(T){Jt(T);const Z=g(T);if(Z){const Se=[];Hn(Z,Re=>{ha(Se,Re)}),Hn(Se,Re=>{try{v(Re)}catch{}})}const ce=w(T);if(ce)for(let Se=ce.length-1;Se>=0;--Se){const Re=ce[Se],Ke=Re&&Re.name;typeof Ke=="string"&&sn(T,Re,Ke)}},Rt=function(T,Z,ce){if(!ce)try{ce=Z.getAttributeNode(T)}catch{ce=null}ha(t.removed,{attribute:ce||null,from:Z});try{ce?Z.removeAttributeNode(ce):Z.removeAttribute(T)}catch{try{Z.removeAttribute(T)}catch{}}if(T==="is")if(ot||ct)try{zt(Z)}catch{}else try{Z.setAttribute(T,"")}catch{}},Sn=function(T){const Z=w(T);if(Z)for(let ce=Z.length-1;ce>=0;--ce){const Se=Z[ce],Re=Se&&Se.name;typeof Re!="string"||U[rt(Re)]||sn(T,Se,Re)}},Jt=function(T){const Z=[T];for(;Z.length>0;){const ce=Z.pop();B(ce)===nn.element&&Sn(ce);const Re=g(ce);if(Re)for(let Ke=Re.length-1;Ke>=0;--Ke)Z.push(Re[Ke])}},jn=function(T,Z){return Me?T==="patchsrc"?!0:T==="for"&&Z!=="label"&&Z!=="output":!1},On=function(T){if(!Me)return;const Z=[T];for(;Z.length>0;){const ce=Z.pop(),Se=B(ce);if(Se===nn.processingInstruction||Se===nn.comment&&$t(Gs,ce.data)){try{v(ce)}catch{}continue}if(Se===nn.element){const Ke=ce,gt=rt(A(ce));try{Ke.hasAttribute&&Ke.hasAttribute("patchsrc")&&Ke.removeAttribute("patchsrc"),Ke.hasAttribute&&Ke.hasAttribute("for")&&jn("for",gt)&&Ke.removeAttribute("for")}catch{}}const Re=g(ce);if(Re)for(let Ke=Re.length-1;Ke>=0;--Ke)Z.push(Re[Ke])}},Cn=function(T){let Z=null,ce=null;if(ut)T="<remove></remove>"+T;else{const Ke=Ps(T,/^[\r\n\t ]+/);ce=Ke&&Ke[0]}nt==="application/xhtml+xml"&&Ve===Xe&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const Se=N?L(T):T;if(Ve===Xe)try{Z=new m().parseFromString(Se,nt)}catch{}if(!Z||!Z.documentElement){Z=Y.createDocument(Ve,"template",null);try{Z.documentElement.innerHTML=Pe?E:Se}catch{}}const Re=Z.body||Z.documentElement;return T&&ce&&Re.insertBefore(a.createTextNode(ce),Re.childNodes[0]||null),Ve===Xe?R.call(Z,Ie?"html":"body")[0]:Ie?Z.documentElement:Re},jt=function(T){const Z=x?x(T):T.ownerDocument;return z.call(Z||T,T,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Pt=function(T){return T=fa(T,P," "),T=fa(T,j," "),T=fa(T,F," "),T},Wt=function(T){var Z;T.normalize();const ce=x?x(T):T.ownerDocument,Se=z.call(ce||T,T,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let Re=Se.nextNode();for(;Re;)Re.data=Pt(Re.data),Re=Se.nextNode();const Ke=(Z=T.querySelectorAll)===null||Z===void 0?void 0:Z.call(T,"template");Ke&&Hn(Ke,gt=>{Ft(gt.content)&&Wt(gt.content)})},ln=function(T){const Z=k?k(T):null;return typeof Z!="string"||rt(Z)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==w(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==b(T)||T.childNodes!==g(T)},Ft=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return b(T)===nn.documentFragment}catch{return!1}},Qt=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return typeof b(T)=="number"}catch{return!1}};function ie(Ce,T,Z){Ce.length!==0&&Hn(Ce,ce=>{ce.call(t,T,Z,Bt)})}const xe=function(T,Z){return!!(Me&&T.hasChildNodes()&&!Qt(T.firstElementChild)&&$t(Us,T.textContent)&&$t(Us,T.innerHTML)||Me&&T.namespaceURI===Xe&&aC[Z]&&(Qt(T.firstElementChild)||typeof T.textContent=="string"&&$t(rC[Z],T.textContent))||T.nodeType===nn.processingInstruction||Me&&T.nodeType===nn.comment&&$t(Gs,T.data))},je=function(T,Z){if(T instanceof RegExp)return $t(T,Z);if(T instanceof Function){for(var ce=arguments.length,Se=new Array(ce>2?ce-2:0),Re=2;Re<ce;Re++)Se[Re-2]=arguments[Re];return!!T(Z,...Se)}return!1},Je=function(T,Z,ce){if(!Ee[Z]&&re(Z)&&je(le.tagNameCheck,Z))return!1;if(X&&!De[Z]){const Se=_(T),Re=g(T);if(Re&&Se){const Ke=Re.length;for(let gt=Ke-1;gt>=0;--gt){const xt=T===ce?y(Re[gt],!0):Re[gt];Se.insertBefore(xt,f(T))}}}return zt(T),!0},Fe=function(T,Z,ce,Se){return T.length===0?Z:Z===ce||Z===Se?tn(Z):Z},Ge=function(T,Z){return T===Z||_(T)!==null?!1:(ue&&Jt(T),!0)},Ze=function(T,Z){if(ie(S.beforeSanitizeElements,T,null),Ge(T,Z))return!0;if(ln(T))return zt(T),!0;const ce=rt(A(T));if(te=Fe(S.uponSanitizeElement,te,Ae,He),ie(S.uponSanitizeElement,T,{tagName:ce,allowedTags:te}),Ge(T,Z))return!0;if(xe(T,ce))return zt(T),!0;if(Ee[ce]||!(se.tagCheck instanceof Function&&se.tagCheck(ce))&&!te[ce]){const Re=Je(T,ce,Z);return Re===!1&&ie(S.afterSanitizeElements,T,null),Re}if(B(T)===nn.element&&!yn(T)||(ce==="noscript"||ce==="noembed"||ce==="noframes")&&$t(tC,T.innerHTML))return zt(T),!0;if(Te&&T.nodeType===nn.text){const Re=Pt(T.textContent);T.textContent!==Re&&(ha(t.removed,{element:T.cloneNode()}),T.textContent=Re)}return ie(S.afterSanitizeElements,T,null),!1},J=function(T,Z,ce){if(be[Z]||jn(Z,T)||ze&&(Z==="id"||Z==="name")&&(ce in a||ce in At))return!1;const Se=U[Z]||se.attributeCheck instanceof Function&&se.attributeCheck(Z,T);return he&&$t(O,Z)||pe&&$t(W,Z)?!0:Se?pt[Z]||$t(ae,fa(ce,oe,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&T!=="script"&&Fs(ce,"data:")===0&&Qe[T]||ge&&!$t(Q,fa(ce,oe,""))?!0:!ce:re(T)&&je(le.tagNameCheck,T)&&je(le.attributeNameCheck,Z,T)||Z==="is"&&le.allowCustomizedBuiltInElements&&je(le.tagNameCheck,ce)},ye=lt({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),re=function(T){return!ye[Ca(T)]&&$t(de,T)},ve=function(T,Z,ce,Se){if(N&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ce)switch(p.getAttributeType(T,Z)){case"TrustedHTML":return L(Se);case"TrustedScriptURL":return M(Se)}return Se},Le=function(T,Z,ce,Se){try{ce?T.setAttributeNS(ce,Z,Se):T.setAttribute(Z,Se),ln(T)?zt(T):Rs(t.removed)}catch{Rt(Z,T)}},We=function(T){ie(S.beforeSanitizeAttributes,T,null);const Z=T.attributes;if(!Z||ln(T))return;U=Fe(S.uponSanitizeAttribute,U,ne,dt);const ce={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U,forceKeepAttr:void 0};let Se=Z.length;const Re=rt(T.nodeName);for(;Se--;){const Ke=Z[Se],gt=Ke.name,xt=Ke.namespaceURI,qt=Ke.value,Ut=rt(gt),wr=qt;let It=gt==="value"?wr:P0(wr);if(ce.attrName=Ut,ce.attrValue=It,ce.keepAttr=!0,ce.forceKeepAttr=void 0,ie(S.uponSanitizeAttribute,T,ce),It=ce.attrValue,Be&&(Ut==="id"||Ut==="name")&&Fs(It,Ye)!==0&&(Rt(gt,T,Ke),It=Ye+It),Me&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,It)){Rt(gt,T,Ke);continue}if(Ut==="attributename"&&Ps(It,"href")){Rt(gt,T,Ke);continue}if(!ce.forceKeepAttr){if(!ce.keepAttr){Rt(gt,T,Ke);continue}if(!fe&&$t(nC,It)){Rt(gt,T,Ke);continue}if(Te&&(It=Pt(It)),!J(Re,Ut,It)){Rt(gt,T,Ke);continue}It=ve(Re,Ut,xt,It),It!==wr&&Le(T,gt,xt,It)}}ie(S.afterSanitizeAttributes,T,null)},it=function(T){let Z=null;const ce=jt(T);for(ie(S.beforeSanitizeShadowDOM,T,null);Z=ce.nextNode();)if(ie(S.uponSanitizeShadowNode,Z,null),Ze(Z,T),We(Z),Ft(Z.content)&&it(Z.content),B(Z)===nn.element){const Se=h(Z);Ft(Se)&&(ft(Se),it(Se))}ie(S.afterSanitizeShadowDOM,T,null)},ft=function(T){const Z=[{node:T,shadow:null}];for(;Z.length>0;){const ce=Z.pop();if(ce.shadow){it(ce.shadow);continue}const Se=ce.node,Ke=B(Se)===nn.element,gt=g(Se);if(gt)for(let xt=gt.length-1;xt>=0;--xt)Z.push({node:gt[xt],shadow:null});if(Ke){const xt=k?k(Se):null;if(typeof xt=="string"&&rt(xt)==="template"){const qt=Se.content;Ft(qt)&&Z.push({node:qt,shadow:null})}}if(Ke){const xt=h(Se);Ft(xt)&&Z.push({node:null,shadow:xt},{node:xt,shadow:null})}}};return t.sanitize=function(Ce){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,ce=null,Se=null,Re=null;if(Pe=!Ce,Pe&&(Ce="<!-->"),typeof Ce!="string"&&!Qt(Ce)&&(Ce=z0(Ce),typeof Ce!="string"))throw zn("dirty is not a string, aborting");if(!t.isSupported)return Ce;Oe?(te=He,U=dt):rn(T),(S.uponSanitizeElement.length>0||S.uponSanitizeAttribute.length>0)&&(te=tn(te)),S.uponSanitizeAttribute.length>0&&(U=tn(U)),t.removed=[];const Ke=ue&&typeof Ce!="string"&&Qt(Ce);if(Ke){On(Ce);const qt=A(Ce);if(typeof qt=="string"){const Ut=rt(qt);if(!te[Ut]||Ee[Ut])throw Vt(Ce),zn("root node is forbidden and cannot be sanitized in-place")}if(ln(Ce))throw Vt(Ce),zn("root node is clobbered and cannot be sanitized in-place");try{ft(Ce)}catch(Ut){throw Vt(Ce),Ut}}else if(Qt(Ce))Z=Cn("<!---->"),ce=Z.ownerDocument.importNode(Ce,!0),ce.nodeType===nn.element&&ce.nodeName==="BODY"||ce.nodeName==="HTML"?Z=ce:Z.appendChild(ce),ft(ce);else{if(!ot&&!Te&&!Ie&&Ce.indexOf("<")===-1)return N&&Ne?L(Ce):Ce;if(Z=Cn(Ce),!Z)return ot?null:Ne?E:""}Z&&ut&&zt(Z.firstChild);const gt=Ke?Ce:Z;try{const qt=jt(gt);for(;Se=qt.nextNode();)Ze(Se,gt),We(Se),Ft(Se.content)&&it(Se.content)}catch(qt){throw Ke&&(Vt(Ce),Hn(t.removed,Ut=>{Ut.element&&Jt(Ut.element)})),qt}if(Ke)return Hn(t.removed,qt=>{qt.element&&Jt(qt.element)}),Te&&Wt(Ce),Ce;if(ot){if(Te&&Wt(Z),ct)for(Re=V.call(Z.ownerDocument);Z.firstChild;)Re.appendChild(Z.firstChild);else Re=Z;return(U.shadowroot||U.shadowrootmode)&&(Re=q.call(r,Re,!0)),Re}let xt=Ie?Z.outerHTML:Z.innerHTML;return Ie&&te["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&$t(Q0,Z.ownerDocument.doctype.name)&&(xt="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
|
|
828
|
-
`+
|
|
826
|
+
*/const v0=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],x0=ee("thumbs-up",v0),Es={"alert-triangle":hs,"align-start-vertical":Kc,anchor:Dh,armchair:Sh,"arrow-down":Zc,"arrow-left":Jc,"arrow-right":ed,"arrow-right-left":nd,"arrow-up-a-z":Th,"audio-lines":rd,baby:sd,ban:ld,"bar-chart-2":Lh,bell:cd,"book-marked":pd,"book-open":hd,"bow-arrow":fd,braces:bd,bug:vd,calendar:ks,"calendar-check":_d,"calendar-days":Bd,camera:kd,car:Ph,"chart-column":Dd,"chart-line":Sd,"chart-pie":Td,check:Cs,"chevron-down":Ns,"chevron-left":fs,"chevron-right":gs,"chevron-up":Ds,circle:m0,"clipboard-list":Pd,coffee:Ih,combine:Id,copy:Hd,"chevrons-left-right-ellipsis":Vd,"credit-card":qd,database:bs,diff:Kd,download:ys,ear:Xd,edit:Qd,"edit-2":tp,"edit-3":ap,ellipsis:vs,eraser:sp,"external-link":lp,eye:cp,"file-text":pp,"flip-horizontal":hp,"folder-open":fp,"folder-plus":bp,gamepad:vp,"gamepad-2":Hh,clock:Vh,target:qh,percent:Gh,gavel:_p,"git-merge":xs,globe:Ap,"grip-vertical":Np,headphones:Ep,heart:jp,home:Mp,inbox:Yh,info:$p,"key-round":Pp,landmark:Ip,layers:Hp,"layout-dashboard":Vp,leaf:qp,lightbulb:Gp,link:Yp,"link-2":Xp,"link-2-off":Qp,list:t1,"list-checks":a1,"list-ordered":o1,"list-tree":Xh,loader:i1,lock:u1,"log-out":d1,mail:m1,"map-pin":C1,menu:g0,"message-circle":g1,"message-circle-question-mark":y1,"message-square":x1,"message-square-more":Qh,"message-square-text":w1,minus:t0,"minus-circle":A1,moon:y0,"more-horizontal":vs,package:N1,palette:E1,"party-popper":j1,pause:M1,pencil:$1,phone:P1,play:I1,"play-circle":H1,plus:V1,printer:q1,"refresh-cw":G1,repeat:Y1,replace:X1,rocket:Q1,"rotate-ccw":tm,"rotate-cw":am,salad:om,"scan-search":im,search:dm,"circle-alert":_s,"alert-circle":_s,"check-circle":ws,scissors:mm,"search-x":Cm,send:gm,settings:ym,"share-2":a0,"shield-check":xm,"shopping-cart":wm,shuffle:Am,"skip-back":Nm,"skip-forward":Em,sparkles:o0,square:jm,star:Mm,store:$m,"sun-medium":Pm,table:Im,"table-2":Hm,tag:Vm,terminal:qm,"text-cursor-input":Gm,"text-initial":Ym,"thumbs-up":x0,ticket:Xm,trash:th,triangle:C0,"trash-2":Qm,"trending-up":ah,"triangle-alert":hs,trophy:oh,type:i0,unlink:ih,upload:uh,user:kr,"user-plus":ph,"user-round":hh,"user-round-check":fh,users:bh,"users-round":vh,volume:u0,"volume-2":Bs,wrench:wh,x:As,zap:kh};function _0(e){return Es[e]??null}const Ss=new Set;function w0(e){return Jn&&!(e in Es)&&!Ss.has(e)&&(Ss.add(e),console.warn(`[ihabdevteam-core] lucide \uC544\uC774\uCF58 '${e}' \uC774 \uC815\uC801 \uBAA9\uB85D\uC5D0 \uC5C6\uC5B4 \uB80C\uB354\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. utils/lucideIconSet.ts \uC758 STATIC_LUCIDE_ICONS \uC5D0 \uCD94\uAC00\uD558\uC138\uC694.`)),Promise.resolve(null)}const B0=e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Za-z])([0-9])/g,"$1-$2").replace(/[_ ]+/g,"-").toLowerCase();function A0(e){const t=e.toLowerCase();if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")||e.includes("/assets/")||/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i.test(t))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?B0(a):null}const js=new Map;function k0(e){const t=typeof e=="string"?A0(e):null,a=t?_0(t)??js.get(t)??null:null,[r,i]=o.useState(null);return o.useEffect(()=>{if(!t||a)return;let s=!1;return w0(t).then(l=>{js.set(t,l),s||i(l)}),()=>{s=!0}},[t,a]),a??r}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function Ts(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function N0(e){if(Array.isArray(e))return e}function D0(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,i,s,l,u=[],c=!0,d=!1;try{if(s=(a=a.call(e)).next,t!==0)for(;!(c=(r=s.call(a)).done)&&(u.push(r.value),u.length!==t);c=!0);}catch(m){d=!0,i=m}finally{try{if(!c&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return u}}function E0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
827
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S0(e,t){return N0(e)||D0(e,t)||j0(e,t)||E0()}function j0(e,t){if(e){if(typeof e=="string")return Ts(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Ts(e,t):void 0}}const Ms=Object.entries,Ls=Object.setPrototypeOf,T0=Object.isFrozen,M0=Object.getPrototypeOf,L0=Object.getOwnPropertyDescriptor;let Et=Object.freeze,St=Object.seal,Qn=Object.create,$s=typeof Reflect<"u"&&Reflect,Nr=$s.apply,Dr=$s.construct;Et||(Et=function(t){return t}),St||(St=function(t){return t}),Nr||(Nr=function(t,a){for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;s<r;s++)i[s-2]=arguments[s];return t.apply(a,i)}),Dr||(Dr=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),i=1;i<a;i++)r[i-1]=arguments[i];return new t(...r)});const Hn=Nt(Array.prototype.forEach),$0=Nt(Array.prototype.lastIndexOf),Rs=Nt(Array.prototype.pop),Ca=Nt(Array.prototype.push),R0=Nt(Array.prototype.splice),ea=Array.isArray,fa=Nt(String.prototype.toLowerCase),Er=Nt(String.prototype.toString),Ps=Nt(String.prototype.match),ga=Nt(String.prototype.replace),Fs=Nt(String.prototype.indexOf),P0=Nt(String.prototype.trim),F0=Nt(Number.prototype.toString),I0=Nt(Boolean.prototype.toString),Is=typeof BigInt>"u"?null:Nt(BigInt.prototype.toString),Os=typeof Symbol>"u"?null:Nt(Symbol.prototype.toString),Kt=Nt(Object.prototype.hasOwnProperty),ba=Nt(Object.prototype.toString),Pt=Nt(RegExp.prototype.test),zn=O0(TypeError);function Nt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),i=1;i<a;i++)r[i-1]=arguments[i];return Nr(e,t,r)}}function O0(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return Dr(e,a)}}function it(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(Ls&&Ls(e,null),!ea(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i=="string"){const s=a(i);s!==i&&(T0(t)||(t[r]=s),i=s)}e[i]=!0}return e}function H0(e){for(let t=0;t<e.length;t++)Kt(e,t)||(e[t]=null);return e}function Qt(e){const t=Qn(null);for(const r of Ms(e)){var a=S0(r,2);const i=a[0],s=a[1];Kt(e,i)&&(ea(s)?t[i]=H0(s):s&&typeof s=="object"&&s.constructor===Object?t[i]=Qt(s):t[i]=s)}return t}function z0(e){switch(typeof e){case"string":return e;case"number":return F0(e);case"boolean":return I0(e);case"bigint":return Is?Is(e):"0";case"symbol":return Os?Os(e):"Symbol()";case"undefined":return ba(e);case"function":case"object":{if(e===null)return ba(e);const t=e,a=ln(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:ba(r)}return ba(e)}default:return ba(e)}}function ln(e,t){for(;e!==null;){const r=L0(e,t);if(r){if(r.get)return Nt(r.get);if(typeof r.value=="function")return Nt(r.value)}e=M0(e)}function a(){return null}return a}function V0(e){try{return Pt(e,""),!0}catch{return!1}}const Hs=Et(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Sr=Et(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),jr=Et(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),W0=Et(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Tr=Et(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),q0=Et(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),zs=Et(["#text"]),Vs=Et(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Mr=Et(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ws=Et(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),za=Et(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),U0=St(/{{[\w\W]*|^[\w\W]*}}/g),G0=St(/<%[\w\W]*|^[\w\W]*%>/g),K0=St(/\${[\w\W]*/g),Y0=St(/^data-[\-\w.\u00B7-\uFFFF]+$/),Z0=St(/^aria-[\-\w]+$/),qs=St(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),X0=St(/^(?:\w+script|data):/i),J0=St(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Q0=St(/^html$/i),eC=St(/^[a-z][.\w]*(-[.\w]+)+$/i),Us=St(/<[/\w!]/g),Gs=St(/<[/\w]/g),tC=St(/<\/no(script|embed|frames)/i),nC=St(/\/>/i),en={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ks=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],aC=Et(it({},Ks)),rC=(function(){const e={};return Hn(Ks,t=>{e[t]=St(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),Et(e)})(),oC=function(){return typeof window>"u"?null:window},sC=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const i="data-tt-policy-suffix";a&&a.hasAttribute(i)&&(r=a.getAttribute(i));const s="dompurify"+(r?"#"+r:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Ys=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Tn=function(t,a,r,i){return Kt(t,a)&&ea(t[a])?it(i.base?Qt(i.base):{},t[a],i.transform):r},Lr=function(t,a,r){const i=Kt(t,a)?t[a]:void 0;return i&&typeof i=="object"?Qt(i):r()};function Zs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:oC();const t=fe=>Zs(fe);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==en.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,i=r.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,l=e.Node,u=e.Element,c=e.NodeFilter,d=e.NamedNodeMap;d===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const m=e.DOMParser,p=e.trustedTypes,h=u.prototype,v=ln(h,"cloneNode"),y=ln(h,"remove"),g=ln(h,"nextSibling"),f=ln(h,"childNodes"),_=ln(h,"parentNode"),C=ln(h,"shadowRoot"),w=ln(h,"attributes"),b=l&&l.prototype?ln(l.prototype,"nodeType"):null,k=l&&l.prototype?ln(l.prototype,"nodeName"):null,x=l&&l.prototype?ln(l.prototype,"ownerDocument"):null,B=function(T){return b?b(T):T.nodeType},A=function(T){return k?k(T):T.nodeName};if(typeof s=="function"){const fe=a.createElement("template");fe.content&&fe.content.ownerDocument&&(a=fe.content.ownerDocument)}let N,E="",D,H=!1,P=0;const Y=function(){if(P>0)throw zn('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},M=function(T){Y(),P++;try{return N.createHTML(T)}finally{P--}},L=function(T){Y(),P++;try{return N.createScriptURL(T)}finally{P--}},$=function(){return H||(D=sC(p,i),H=!0),D},K=a,V=K.implementation,z=K.createNodeIterator,W=K.createDocumentFragment,R=K.getElementsByTagName,q=r.importNode;let j=Ys();t.isSupported=typeof Ms=="function"&&typeof _=="function"&&V&&V.createHTMLDocument!==void 0;const I=U0,S=G0,F=K0,O=Y0,U=Z0,Q=X0,oe=J0,me=eC;let ae=qs,te=null;const ke=it({},[...Hs,...Sr,...jr,...Tr,...zs]);let G=null;const re=it({},[...Vs,...Mr,...Ws,...za]);let ie=Object.seal(Qn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),De=null,ye=null;const se=Object.seal(Qn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ce=!0,Ce=!0,be=!1,ge=!0,je=!1,Ue=!0,Se=!1,Ie=!1,qe=null,lt=null,st=!1,nt=!1,ut=!1,Ne=!1,We=!0,Be=!1;const Ge="user-content-";let J=!0,ue=!1,we={},Le=null;const Oe=it({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let He=null;const rt=it({},["audio","video","img","source","image","track"]);let ct=null;const pt=it({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xt="http://www.w3.org/1998/Math/MathML",mt="http://www.w3.org/2000/svg",Je="http://www.w3.org/1999/xhtml";let Re=Je,Pe=!1,dt=null;const tt=it({},[xt,mt,Je],Er),gt=Et(["mi","mo","mn","ms","mtext"]);let Ke=it({},gt);const bt=Et(["annotation-xml"]);let kt=it({},bt);const Ve=it({},["title","style","font","a","script"]);let Qe=null;const _t=["application/xhtml+xml","text/html"],Xt="text/html";let at=null,wt=null;const Wt=a.createElement("form"),ht=function(T){return T instanceof RegExp||T instanceof Function},sn=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(wt&&wt===T)return;(!T||typeof T!="object")&&(T={}),T=Qt(T),Qe=_t.indexOf(T.PARSER_MEDIA_TYPE)===-1?Xt:T.PARSER_MEDIA_TYPE,at=Qe==="application/xhtml+xml"?Er:fa,te=Tn(T,"ALLOWED_TAGS",ke,{transform:at}),G=Tn(T,"ALLOWED_ATTR",re,{transform:at}),dt=Tn(T,"ALLOWED_NAMESPACES",tt,{transform:Er}),ct=Tn(T,"ADD_URI_SAFE_ATTR",pt,{transform:at,base:pt}),He=Tn(T,"ADD_DATA_URI_TAGS",rt,{transform:at,base:rt}),Le=Tn(T,"FORBID_CONTENTS",Oe,{transform:at}),De=Tn(T,"FORBID_TAGS",Qt({}),{transform:at}),ye=Tn(T,"FORBID_ATTR",Qt({}),{transform:at}),we=Kt(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?Qt(T.USE_PROFILES):T.USE_PROFILES:!1,ce=T.ALLOW_ARIA_ATTR!==!1,Ce=T.ALLOW_DATA_ATTR!==!1,be=T.ALLOW_UNKNOWN_PROTOCOLS||!1,ge=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,je=T.SAFE_FOR_TEMPLATES||!1,Ue=T.SAFE_FOR_XML!==!1,Se=T.WHOLE_DOCUMENT||!1,nt=T.RETURN_DOM||!1,ut=T.RETURN_DOM_FRAGMENT||!1,Ne=T.RETURN_TRUSTED_TYPE||!1,st=T.FORCE_BODY||!1,We=T.SANITIZE_DOM!==!1,Be=T.SANITIZE_NAMED_PROPS||!1,J=T.KEEP_CONTENT!==!1,ue=T.IN_PLACE||!1,ae=V0(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:qs,Re=typeof T.NAMESPACE=="string"?T.NAMESPACE:Je,Ke=Lr(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>it({},gt)),kt=Lr(T,"HTML_INTEGRATION_POINTS",()=>it({},bt));const Z=Lr(T,"CUSTOM_ELEMENT_HANDLING",()=>Qn(null));if(ie=Qn(null),Kt(Z,"tagNameCheck")&&ht(Z.tagNameCheck)&&(ie.tagNameCheck=Z.tagNameCheck),Kt(Z,"attributeNameCheck")&&ht(Z.attributeNameCheck)&&(ie.attributeNameCheck=Z.attributeNameCheck),Kt(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(ie.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),St(ie),je&&(Ce=!1),ut&&(nt=!0),we&&(te=it({},zs),G=Qn(null),we.html===!0&&(it(te,Hs),it(G,Vs)),we.svg===!0&&(it(te,Sr),it(G,Mr),it(G,za)),we.svgFilters===!0&&(it(te,jr),it(G,Mr),it(G,za)),we.mathMl===!0&&(it(te,Tr),it(G,Ws),it(G,za))),se.tagCheck=null,se.attributeCheck=null,Kt(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?se.tagCheck=T.ADD_TAGS:ea(T.ADD_TAGS)&&(te===ke&&(te=Qt(te)),it(te,T.ADD_TAGS,at))),Kt(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?se.attributeCheck=T.ADD_ATTR:ea(T.ADD_ATTR)&&(G===re&&(G=Qt(G)),it(G,T.ADD_ATTR,at))),Kt(T,"ADD_FORBID_CONTENTS")&&ea(T.ADD_FORBID_CONTENTS)&&(Le===Oe&&(Le=Qt(Le)),it(Le,T.ADD_FORBID_CONTENTS,at)),J&&(te["#text"]=!0),Se&&it(te,["html","head","body"]),te.table&&(it(te,["tbody"]),delete De.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw zn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const de=N;N=T.TRUSTED_TYPES_POLICY;try{E=M("")}catch(Ee){throw N=de,Ee}}else T.TRUSTED_TYPES_POLICY===null?(N=void 0,E=""):(N===void 0&&(N=$()),N&&typeof E=="string"&&(E=M("")));Et&&Et(T),wt=T},nn=it({},[...Sr,...jr,...W0]),pn=it({},[...Tr,...q0]),mn=function(T,Z,de){return Z.namespaceURI===Je?T==="svg":Z.namespaceURI===xt?T==="svg"&&(de==="annotation-xml"||Ke[de]):!!nn[T]},Sn=function(T,Z,de){return Z.namespaceURI===Je?T==="math":Z.namespaceURI===mt?T==="math"&&kt[de]:!!pn[T]},Fn=function(T,Z,de){return Z.namespaceURI===mt&&!kt[de]||Z.namespaceURI===xt&&!Ke[de]?!1:!pn[T]&&(Ve[T]||!nn[T])},In=function(T){let Z=_(T);(!Z||!Z.tagName)&&(Z={namespaceURI:Re,tagName:"template"});const de=fa(T.tagName),Ee=fa(Z.tagName);return dt[T.namespaceURI]?T.namespaceURI===mt?mn(de,Z,Ee):T.namespaceURI===xt?Sn(de,Z,Ee):T.namespaceURI===Je?Fn(de,Z,Ee):!!(Qe==="application/xhtml+xml"&&dt[T.namespaceURI]):!1},Lt=function(T){Ca(t.removed,{element:T});try{_(T).removeChild(T)}catch{if(y(T),!_(T))throw zn("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},bn=function(T,Z,de){try{T.removeAttributeNode(Z)}catch{try{T.removeAttribute(de)}catch{}}},$t=function(T){an(T);const Z=f(T);if(Z){const Ee=[];Hn(Z,$e=>{Ca(Ee,$e)}),Hn(Ee,$e=>{try{y($e)}catch{}})}const de=w(T);if(de)for(let Ee=de.length-1;Ee>=0;--Ee){const $e=de[Ee],Ze=$e&&$e.name;typeof Ze=="string"&&bn(T,$e,Ze)}},Ft=function(T,Z,de){if(!de)try{de=Z.getAttributeNode(T)}catch{de=null}Ca(t.removed,{attribute:de||null,from:Z});try{de?Z.removeAttributeNode(de):Z.removeAttribute(T)}catch{try{Z.removeAttribute(T)}catch{}}if(T==="is")if(nt||ut)try{Lt(Z)}catch{}else try{Z.setAttribute(T,"")}catch{}},jn=function(T){const Z=w(T);if(Z)for(let de=Z.length-1;de>=0;--de){const Ee=Z[de],$e=Ee&&Ee.name;typeof $e!="string"||G[at($e)]||bn(T,Ee,$e)}},an=function(T){const Z=[T];for(;Z.length>0;){const de=Z.pop();B(de)===en.element&&jn(de);const $e=f(de);if($e)for(let Ze=$e.length-1;Ze>=0;--Ze)Z.push($e[Ze])}},yn=function(T,Z){return Ue?T==="patchsrc"?!0:T==="for"&&Z!=="label"&&Z!=="output":!1},On=function(T){if(!Ue)return;const Z=[T];for(;Z.length>0;){const de=Z.pop(),Ee=B(de);if(Ee===en.processingInstruction||Ee===en.comment&&Pt(Gs,de.data)){try{y(de)}catch{}continue}if(Ee===en.element){const Ze=de,ft=at(A(de));try{Ze.hasAttribute&&Ze.hasAttribute("patchsrc")&&Ze.removeAttribute("patchsrc"),Ze.hasAttribute&&Ze.hasAttribute("for")&&yn("for",ft)&&Ze.removeAttribute("for")}catch{}}const $e=f(de);if($e)for(let Ze=$e.length-1;Ze>=0;--Ze)Z.push($e[Ze])}},vn=function(T){let Z=null,de=null;if(st)T="<remove></remove>"+T;else{const Ze=Ps(T,/^[\r\n\t ]+/);de=Ze&&Ze[0]}Qe==="application/xhtml+xml"&&Re===Je&&(T='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+T+"</body></html>");const Ee=N?M(T):T;if(Re===Je)try{Z=new m().parseFromString(Ee,Qe)}catch{}if(!Z||!Z.documentElement){Z=V.createDocument(Re,"template",null);try{Z.documentElement.innerHTML=Pe?E:Ee}catch{}}const $e=Z.body||Z.documentElement;return T&&de&&$e.insertBefore(a.createTextNode(de),$e.childNodes[0]||null),Re===Je?R.call(Z,Se?"html":"body")[0]:Se?Z.documentElement:$e},It=function(T){const Z=x?x(T):T.ownerDocument;return z.call(Z||T,T,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},jt=function(T){return T=ga(T,I," "),T=ga(T,S," "),T=ga(T,F," "),T},Ot=function(T){var Z;T.normalize();const de=x?x(T):T.ownerDocument,Ee=z.call(de||T,T,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let $e=Ee.nextNode();for(;$e;)$e.data=jt($e.data),$e=Ee.nextNode();const Ze=(Z=T.querySelectorAll)===null||Z===void 0?void 0:Z.call(T,"template");Ze&&Hn(Ze,ft=>{Rt(ft.content)&&Ot(ft.content)})},hn=function(T){const Z=k?k(T):null;return typeof Z!="string"||at(Z)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==w(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==b(T)||T.childNodes!==f(T)},Rt=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return b(T)===en.documentFragment}catch{return!1}},rn=function(T){if(!b||typeof T!="object"||T===null)return!1;try{return typeof b(T)=="number"}catch{return!1}};function Dt(fe,T,Z){fe.length!==0&&Hn(fe,de=>{de.call(t,T,Z,wt)})}const le=function(T,Z){return!!(Ue&&T.hasChildNodes()&&!rn(T.firstElementChild)&&Pt(Us,T.textContent)&&Pt(Us,T.innerHTML)||Ue&&T.namespaceURI===Je&&aC[Z]&&(rn(T.firstElementChild)||typeof T.textContent=="string"&&Pt(rC[Z],T.textContent))||T.nodeType===en.processingInstruction||Ue&&T.nodeType===en.comment&&Pt(Gs,T.data))},xe=function(T,Z){if(T instanceof RegExp)return Pt(T,Z);if(T instanceof Function){for(var de=arguments.length,Ee=new Array(de>2?de-2:0),$e=2;$e<de;$e++)Ee[$e-2]=arguments[$e];return!!T(Z,...Ee)}return!1},Te=function(T,Z,de){if(!De[Z]&&ne(Z)&&xe(ie.tagNameCheck,Z))return!1;if(J&&!Le[Z]){const Ee=_(T),$e=f(T);if($e&&Ee){const Ze=$e.length;for(let ft=Ze-1;ft>=0;--ft){const vt=T===de?v($e[ft],!0):$e[ft];Ee.insertBefore(vt,g(T))}}}return Lt(T),!0},Xe=function(T,Z,de,Ee){return T.length===0?Z:Z===de||Z===Ee?Qt(Z):Z},Fe=function(T,Z){return T===Z||_(T)!==null?!1:(ue&&an(T),!0)},Ye=function(T,Z){if(Dt(j.beforeSanitizeElements,T,null),Fe(T,Z))return!0;if(hn(T))return Lt(T),!0;const de=at(A(T));if(te=Xe(j.uponSanitizeElement,te,ke,qe),Dt(j.uponSanitizeElement,T,{tagName:de,allowedTags:te}),Fe(T,Z))return!0;if(le(T,de))return Lt(T),!0;if(De[de]||!(se.tagCheck instanceof Function&&se.tagCheck(de))&&!te[de]){const $e=Te(T,de,Z);return $e===!1&&Dt(j.afterSanitizeElements,T,null),$e}if(B(T)===en.element&&!In(T)||(de==="noscript"||de==="noembed"||de==="noframes")&&Pt(tC,T.innerHTML))return Lt(T),!0;if(je&&T.nodeType===en.text){const $e=jt(T.textContent);T.textContent!==$e&&(Ca(t.removed,{element:T.cloneNode()}),T.textContent=$e)}return Dt(j.afterSanitizeElements,T,null),!1},X=function(T,Z,de){if(ye[Z]||yn(Z,T)||We&&(Z==="id"||Z==="name")&&(de in a||de in Wt))return!1;const Ee=G[Z]||se.attributeCheck instanceof Function&&se.attributeCheck(Z,T);return Ce&&Pt(O,Z)||ce&&Pt(U,Z)?!0:Ee?ct[Z]||Pt(ae,ga(de,oe,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&T!=="script"&&Fs(de,"data:")===0&&He[T]||be&&!Pt(Q,ga(de,oe,""))?!0:!de:ne(T)&&xe(ie.tagNameCheck,T)&&xe(ie.attributeNameCheck,Z,T)||Z==="is"&&ie.allowCustomizedBuiltInElements&&xe(ie.tagNameCheck,de)},pe=it({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),ne=function(T){return!pe[fa(T)]&&Pt(me,T)},ve=function(T,Z,de,Ee){if(N&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!de)switch(p.getAttributeType(T,Z)){case"TrustedHTML":return M(Ee);case"TrustedScriptURL":return L(Ee)}return Ee},Me=function(T,Z,de,Ee){try{de?T.setAttributeNS(de,Z,Ee):T.setAttribute(Z,Ee),hn(T)?Lt(T):Rs(t.removed)}catch{Ft(Z,T)}},ze=function(T){Dt(j.beforeSanitizeAttributes,T,null);const Z=T.attributes;if(!Z||hn(T))return;G=Xe(j.uponSanitizeAttribute,G,re,lt);const de={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:G,forceKeepAttr:void 0};let Ee=Z.length;const $e=at(T.nodeName);for(;Ee--;){const Ze=Z[Ee],ft=Ze.name,vt=Ze.namespaceURI,qt=Ze.value,Ut=at(ft),Br=qt;let Ht=ft==="value"?Br:P0(Br);if(de.attrName=Ut,de.attrValue=Ht,de.keepAttr=!0,de.forceKeepAttr=void 0,Dt(j.uponSanitizeAttribute,T,de),Ht=de.attrValue,Be&&(Ut==="id"||Ut==="name")&&Fs(Ht,Ge)!==0&&(Ft(ft,T,Ze),Ht=Ge+Ht),Ue&&Pt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ht)){Ft(ft,T,Ze);continue}if(Ut==="attributename"&&Ps(Ht,"href")){Ft(ft,T,Ze);continue}if(!de.forceKeepAttr){if(!de.keepAttr){Ft(ft,T,Ze);continue}if(!ge&&Pt(nC,Ht)){Ft(ft,T,Ze);continue}if(je&&(Ht=jt(Ht)),!X($e,Ut,Ht)){Ft(ft,T,Ze);continue}Ht=ve($e,Ut,vt,Ht),Ht!==Br&&Me(T,ft,vt,Ht)}}Dt(j.afterSanitizeAttributes,T,null)},ot=function(T){let Z=null;const de=It(T);for(Dt(j.beforeSanitizeShadowDOM,T,null);Z=de.nextNode();)if(Dt(j.uponSanitizeShadowNode,Z,null),Ye(Z,T),ze(Z),Rt(Z.content)&&ot(Z.content),B(Z)===en.element){const Ee=C(Z);Rt(Ee)&&(Ct(Ee),ot(Ee))}Dt(j.afterSanitizeShadowDOM,T,null)},Ct=function(T){const Z=[{node:T,shadow:null}];for(;Z.length>0;){const de=Z.pop();if(de.shadow){ot(de.shadow);continue}const Ee=de.node,Ze=B(Ee)===en.element,ft=f(Ee);if(ft)for(let vt=ft.length-1;vt>=0;--vt)Z.push({node:ft[vt],shadow:null});if(Ze){const vt=k?k(Ee):null;if(typeof vt=="string"&&at(vt)==="template"){const qt=Ee.content;Rt(qt)&&Z.push({node:qt,shadow:null})}}if(Ze){const vt=C(Ee);Rt(vt)&&Z.push({node:null,shadow:vt},{node:vt,shadow:null})}}};return t.sanitize=function(fe){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,de=null,Ee=null,$e=null;if(Pe=!fe,Pe&&(fe="<!-->"),typeof fe!="string"&&!rn(fe)&&(fe=z0(fe),typeof fe!="string"))throw zn("dirty is not a string, aborting");if(!t.isSupported)return fe;Ie?(te=qe,G=lt):sn(T),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(te=Qt(te)),j.uponSanitizeAttribute.length>0&&(G=Qt(G)),t.removed=[];const Ze=ue&&typeof fe!="string"&&rn(fe);if(Ze){On(fe);const qt=A(fe);if(typeof qt=="string"){const Ut=at(qt);if(!te[Ut]||De[Ut])throw $t(fe),zn("root node is forbidden and cannot be sanitized in-place")}if(hn(fe))throw $t(fe),zn("root node is clobbered and cannot be sanitized in-place");try{Ct(fe)}catch(Ut){throw $t(fe),Ut}}else if(rn(fe))Z=vn("<!---->"),de=Z.ownerDocument.importNode(fe,!0),de.nodeType===en.element&&de.nodeName==="BODY"||de.nodeName==="HTML"?Z=de:Z.appendChild(de),Ct(de);else{if(!nt&&!je&&!Se&&fe.indexOf("<")===-1)return N&&Ne?M(fe):fe;if(Z=vn(fe),!Z)return nt?null:Ne?E:""}Z&&st&&Lt(Z.firstChild);const ft=Ze?fe:Z;try{const qt=It(ft);for(;Ee=qt.nextNode();)Ye(Ee,ft),ze(Ee),Rt(Ee.content)&&ot(Ee.content)}catch(qt){throw Ze&&($t(fe),Hn(t.removed,Ut=>{Ut.element&&an(Ut.element)})),qt}if(Ze)return Hn(t.removed,qt=>{qt.element&&an(qt.element)}),je&&Ot(fe),fe;if(nt){if(je&&Ot(Z),ut)for($e=W.call(Z.ownerDocument);Z.firstChild;)$e.appendChild(Z.firstChild);else $e=Z;return(G.shadowroot||G.shadowrootmode)&&($e=q.call(r,$e,!0)),$e}let vt=Se?Z.outerHTML:Z.innerHTML;return Se&&te["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&Pt(Q0,Z.ownerDocument.doctype.name)&&(vt="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
|
|
828
|
+
`+vt),je&&(vt=jt(vt)),N&&Ne?M(vt):vt},t.setConfig=function(){let fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};sn(fe),Ie=!0,qe=te,lt=G},t.clearConfig=function(){wt=null,Ie=!1,qe=null,lt=null,N=D,E=""},t.isValidAttribute=function(fe,T,Z){wt||sn({});const de=at(fe),Ee=at(T);return X(de,Ee,Z)},t.addHook=function(fe,T){typeof T=="function"&&Kt(j,fe)&&Ca(j[fe],T)},t.removeHook=function(fe,T){if(Kt(j,fe)){if(T!==void 0){const Z=$0(j[fe],T);return Z===-1?void 0:R0(j[fe],Z,1)[0]}return Rs(j[fe])}},t.removeHooks=function(fe){Kt(j,fe)&&(j[fe]=[])},t.removeAllHooks=function(){j=Ys()},t}var $r=Zs();const iC=/^(?:[a-z]+:)?\/\//i,lC="__ihab_core_asset_base_url__";function uC(){return globalThis[lC]??""}function Rr(e){const t=String(e||"").trim();if(!t)return"";if(iC.test(t)||t.startsWith("data:")||t.startsWith("blob:"))return t;const a=t.startsWith("/")?t:`/${t}`,r=uC();return r?`${r}${a}`:a}const Xs="__ihab_core_storage_resolvers__";function ya(){return globalThis[Xs]??null}function cC(e){globalThis[Xs]=e}let Js=class extends Error{constructor(t){super(`
|
|
829
829
|
[ihabdevteam-core] ${t}() \uD638\uCD9C \uC2E4\uD328 \u2014 configureStorage()\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
|
|
830
830
|
|
|
831
831
|
\uC571 \uCD08\uAE30\uD654 \uC2DC\uC810(main.tsx \uB4F1)\uC5D0 \uC544\uB798\uC640 \uAC19\uC774 \uD55C \uBC88 \uD638\uCD9C\uD558\uC138\uC694:
|
|
@@ -844,25 +844,25 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
844
844
|
\uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
|
|
845
845
|
npm install @supabase/supabase-js
|
|
846
846
|
pnpm add @supabase/supabase-js
|
|
847
|
-
`),this.name="StorageNotConfiguredError"}};function dC(e){cC(e)}function Qs(e,t){if(!e)return null;const a=ba();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function ei(e){if(!e)return null;const t=ba();if(!t)throw new Js("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function ti(e){const t=ba();if(!t)throw new Js("downloadSound");return t.download(e)}function pC(){return ba()?.noiseBaseUrl??"/sounds/noise"}function mC(){const e=Number(ba()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function hC(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const ni="__ihab_core_tts_config__";function Rr(){return globalThis[ni]?.urlResolver??null}function CC(){return globalThis[ni]?.fallbackUrlResolver??null}const fC="__ihab_core_pronunciation_resolver__";function gC(){return globalThis[fC]??null}let Mn=null;const ya=new WeakMap,Pr=new WeakMap,Fr=new WeakMap;let ai=!1;const ri=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function bC(){if(ai||typeof document>"u")return;ai=!0;const e=()=>{try{Mn&&Mn.state!=="running"&&Mn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function oi(){if(Mn)return Mn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Mn=new e,bC(),Mn):null}catch{return null}}function Ir(){try{Mn?.resume()}catch{}}function Or(e,t){const a=ya.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),s=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,s.gain.value=ri(Pr.get(t)??t.volume),r.connect(s),s.connect(i),s.connect(e.destination);try{t.volume=1}catch{}const l={gain:s,analyser:i};return ya.set(t,l),l}catch{return null}}function Va(e){if(!e)return Promise.resolve(null);const t=ya.get(e);if(t)return Promise.resolve(t.analyser);const a=oi();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Or(a,e)?.analyser??null);const r=Fr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Or(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Fr.delete(e)});return Fr.set(e,s),s}function yC(e){if(!e)return null;const t=ya.get(e);if(t)return t.analyser;const a=oi();return a?a.state==="running"?Or(a,e)?.analyser??null:(Va(e),null):null}function Ln(e,t){const a=ri(t);Pr.set(e,a);const r=ya.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const s=r.gain.gain;try{const i=r.gain.context.currentTime;s.cancelScheduledValues(i),s.setTargetAtTime(a,i,.01)}catch{try{s.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function Wa(e){return Pr.get(e)??e.volume}function vC(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const s=t[r];a+=s*s}return Math.sqrt(a/t.length)}const xC="__ihab_core_image_config__";function ea(){return globalThis[xC]??null}const si="word_image_existence_map_v1";let Vn=null;const qa=new Map;function _C(){if(Vn)return Vn;try{const e=typeof localStorage<"u"?localStorage.getItem(si):null,t=e?JSON.parse(e):null;Vn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Vn={}}return Vn}let Hr=null;function wC(){Hr||(Hr=setTimeout(()=>{Hr=null;try{typeof localStorage<"u"&&Vn&&localStorage.setItem(si,JSON.stringify(Vn))}catch{}},200))}function BC(e,t){return`${e}_${t??1}`}async function ii(e,t){const a=_C(),r=BC(e,t);if(r in a)return a[r];if(qa.has(r))return qa.get(r);const s=ea();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:hC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(qa.delete(r),u===null?!1:(a[r]=u,wC(),u)));return qa.set(r,l),l}const AC={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},li=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ui=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],kC=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function va(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function NC(e){const t=va(e[0]||"");return t?li[t.cho]:""}function DC(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>li.includes(l),r=l=>ui.includes(l),s=t.map(l=>a(l)?"cho":r(l)?"jung":va(l)?"syl":"other"),i=t.map(l=>va(l));if(s.includes("other")){const l=e.toLowerCase();return u=>u.normalize("NFC").toLowerCase().includes(l)}return l=>{const u=[...l.normalize("NFC")];for(let c=0;c+t.length<=u.length;c++){let d=!0;for(let m=0;m<t.length;m++){const p=u[c+m],C=s[m];if(C==="cho"){if(NC(p)!==t[m]){d=!1;break}}else if(C==="jung"){const y=va(p);if(!y||ui[y.jung]!==t[m]){d=!1;break}}else{const y=i[m];if(y&&y.jong===0){const v=va(p);if(!v||v.cho!==y.cho||v.jung!==y.jung){d=!1;break}}else if(p!==t[m]){d=!1;break}}}if(d)return!0}return!1}}const EC={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(EC).map(([e,t])=>[t.join(""),kC[Number(e)]]));const SC="word_pair_index_v2",jC="word_pair_index_sig_v2";let Ua=null;function TC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(SC),t=localStorage.getItem(jC);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function MC(){if(Ua)return Ua;const e=TC();return e?(Ua=e.index,e.sig,Ua):null}function LC(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function $C(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const r=Math.ceil(e/a);return Math.max(1,Math.ceil(e/r))}const zr=/[ㄱ-ㅎ]/,RC=/[ㅏ-ㅣ]/;function ci(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||zr.test(a)||RC.test(a))return a}return null}function PC(e){const t=ci(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":zr.test(t)?"\uC774":"\uAC00"}function FC(e){return`${e}${PC(e)}`}function IC(e){const t=ci(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":zr.test(t)?"\uC744":"\uB97C"}function OC(e){return`${e}${IC(e)}`}function HC(e,t,a){const r=e.slice(),[s]=r.splice(t,1);return r.splice(a,0,s),r}function xa(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const s=Math.floor(t()*(r+1));[a[r],a[s]]=[a[s],a[r]]}return a}const zC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof Tt?.t=="function"?Tt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function di(e,t){if(t===void 0&&(t=zC()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return t}const VC="__ihab_core_word_pool__";function pi(){return globalThis[VC]??null}const mi=globalThis;function hi(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function WC(e){hi("time",()=>mi.__ihabTrainingTimeLogger?.(e))}function qC(e){hi("completion",()=>mi.__ihabTrainingCompletionLogger?.(e))}function Ga(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function Yt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function UC(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function GC(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Yt(r.contextCode)??Yt(r.itemId)??Yt(r.itemCode)??Yt(r.id),question:Yt(r.question)??Yt(r.q)??Yt(r.sentence)??Yt(r.text)??Yt(r.prompt)??Yt(r.word)??Yt(r.targetSyllable),answer:Yt(r.answer),selected:Yt(r.selectedText)??Yt(r.selected),correct:UC(r),shownAt:Ga(r.shownAt)??Ga(r.shown_at),answeredAt:Ga(r.answeredAt)??Ga(r.answered_at)}}):[]}const Vr=globalThis;async function KC(){try{return await Vr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Ci(e){const t=a=>{};try{const a=Vr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ka(e){try{Vr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function YC(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const ZC="Asia/Seoul",XC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Wr(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=XC.exec(a);t=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const JC=e=>Wr(e);function fi(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",r=JC(e);return r?r.toLocaleDateString(a,{timeZone:ZC,year:"numeric",month:"short",day:"numeric"}):""}function _a(){return Ur(new Date)}function qr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:_a()}function ta(){return ef(_a())}const QC=540*60*1e3;function gi(e,t,a){return new Date(Date.UTC(e,t,a)-QC)}function ef(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function Ur(e){if(e==null||e==="")return"";const t=Wr(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function bi(e,t){if(!e)return"";const a=Wr(e);if(!a)return"";const r=a.getTime(),s=Math.max(0,Math.floor((Date.now()-r)/1e3)),i=Math.floor(s/60),l=Math.floor(i/60),u=Math.floor(l/24),c=Math.floor(u/7),d=Math.floor(u/30),m=Math.floor(u/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):u<7?t("store.time.daysAgo",{n:u}):c<5?t("store.time.weeksAgo",{n:c}):u<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:m})}function yi(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Ur(e instanceof Date?e:String(e));if(!l)return i;const[u,c,d]=l.split("-"),m=r?c:String(Number(c)),p=r?d:String(Number(d));return`${u}${a}${m}${a}${p}${s?".":""}`}function na(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function vi(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),s=Number(a[2]),i=a[1].padStart(2,"0");return s===0?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:s,mm:a[2]})}function Gr(e){return(e??0).toLocaleString("ko-KR")}const tf=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],nf=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function xi(){return tf}function af(){return nf}const rf=[],of=[],sf=[],lf=[];function uf(){return{LISTEN_IN_NOISE:rf,SHORT_STORY:of,LONG_STORY:sf,ORDERING_SENTENCE:lf}}const cf=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],_i={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function df(e){return cf.map(t=>{const a=_i[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Ya=null,wi=null,Bi=null;function pf(){const e=pi();if(e&&e.entries.length>0){const t=MC();if(Ya&&wi===e&&Bi===t)return Ya;const a=new Set,r=[];for(const s of e.entries)!s.word||a.has(s.word)||(a.add(s.word),r.push({w:s.word,s:s.syllables,p:t?.[s.word]?[...t[s.word].cho??[],...t[s.word].jung??[],...t[s.word].jong??[]]:[],pron:s.pronunciation||s.word,grade:s.grade}));return Ya=r,wi=e,Bi=t,Ya}return[]}new Proxy([],{get(e,t){const a=pf(),r=a[t];return typeof r=="function"?r.bind(a):r}});const mf="0.318.0";function hf(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function Cf(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&hf(r.attrValue)&&(r.keepAttr=!1)};Lr.addHook("uponSanitizeAttribute",t);try{return Lr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Lr.removeHook("uponSanitizeAttribute",t)}}function ff(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),[i,l]=o.useState(null),[u,c]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),s(null),l(null);return}const d=e.split("/").pop();let m=e;d&&(e.startsWith("/")?m=$r(e):/^(Logo|Symbol)/i.test(d)?m=$r(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),m=e)),s(null),l(null),a(m)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function m(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const C=p.headers.get("content-type")||"";if(d)return;if(C.includes("svg")){s("mask");return}if(C.startsWith("image/")){s("img");return}const y=await fetch(t);if(!y.ok)throw new Error("not ok");const v=await y.text();if(d)return;if(/^\s*<svg[\s>]/i.test(v)){const f=Cf(v);if(!f){s("none");return}l(f),s("inline");return}s("none")}catch{d||s("none")}}return m(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,m=null;return r==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(m=URL.createObjectURL(p),c(m))}).catch(()=>{d||s("img")}),()=>{d=!0,m&&URL.revokeObjectURL(m),c(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:u}}function tt(e){const{icon:t,label:a,className:r,imgClassName:s,maskClassName:i,svgClassName:l,wrapperStyle:u,size:c}=e||{},d=r??"iconRenderer-icon",m=s??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",C=l??"iconRenderer-icon-svg",y=typeof t=="string"?t:null,v=k0(y),{iconToUse:f,mode:g,svgText:_,blobUrl:h}=ff(y),w=(A,N={})=>n.jsx("span",{className:d,style:u,...N,children:A}),b=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,k=(A,N={})=>n.jsx("img",{src:A,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:m,...N,style:b?{...N.style,...b}:N.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(n.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(v)try{return w(o.createElement(v,{className:C,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(f&&f.endsWith(".svg")){if(g==="mask"){const A={"--icon-url":h?`url(${h})`:`url(${f})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return w(n.jsx("span",{className:p,style:A}),{"aria-hidden":"true"})}return g==="img"?w(k(f,{onError:A=>{A.currentTarget.onerror=null,A.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):g==="inline"?w(n.jsx("span",{className:C,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k($r(t),{style:u,onError:A=>{A.currentTarget.onerror=null,A.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,B=`<svg width="${x}" height="${x}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return w(n.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Ai(e){const[t,a]=o.useState(!1),r=o.useRef(!1),s=o.useRef(!0);o.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const u=()=>{r.current=!1,s.current&&a(!1)};l.then(u,u)}},[e]);return{pending:t,press:i}}function gf({icon:e,title:t,message:a,action:r,className:s}){const{pending:i,press:l}=Ai(r?.onClick);return n.jsxs("div",{className:ke("empty-state",s),children:[e&&n.jsx(tt,{icon:e,size:48,className:"empty-state__icon"}),t&&n.jsx("p",{className:"empty-state__title h4",children:t}),a&&n.jsx("p",{className:"empty-state__message body-3",children:a}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:i,"aria-busy":i||void 0,children:[r.icon&&n.jsx(tt,{icon:r.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function bf({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=_e.useTranslation(),{pending:u,press:c}=Ai(r);return n.jsxs("div",{className:ke("empty-state","error-state",i),role:"alert",children:[n.jsx(tt,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"error-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:c,disabled:u,"aria-busy":u||void 0,children:[n.jsx(tt,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:s??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function yf({icon:e,title:t,description:a,cta:r,tone:s="main",disabled:i=!1,onClick:l,className:u=""}){const c=o.useId(),d=`${c}-title`,m=`${c}-desc`,p=`${c}-cta`,C=()=>{i||l?.()};return n.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${m} ${p}`,onClick:C,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),C())},className:ke("action-card",`action-card--${s}`,i&&"action-card--disabled",u),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(tt,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:m,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:p,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(tt,{icon:"arrow-right",size:18})})]})]})})}function vf({as:e="div",className:t="",children:a,storage:r,...s}){r&&dC({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const i=ke("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Kr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=s=>{if(s.key!=="Tab")return;const i=Array.from(a.querySelectorAll(fn)).filter(m=>!m.closest('[aria-hidden="true"]'));if(!i.length){s.preventDefault();return}const l=i[0],u=i[i.length-1],c=document.activeElement,d=c===a;s.shiftKey&&(c===l||d)?(s.preventDefault(),u.focus()):!s.shiftKey&&c===u&&(s.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const fn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Yr=new WeakMap;function Zr(e,t){e&&Yr.set(e,t)}function Xr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Yr.has(r);)r=r.parentElement;if(!r)return t;t=Yr.get(r)??null}return t}function ki(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Za(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(ki(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(fn)).filter(c=>!(e&&e.contains(c))&&ki(c));let i=null,l=null;for(const c of s)r.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_PRECEDING?i=c:l||(l=c);const u=i??l;return u?.focus(),u}function xf({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=_e.useTranslation(),[c,d]=o.useState(!1),m=o.useRef(null),p=o.useCallback(()=>{const f=m.current;f&&f.contains(document.activeElement)&&Za(f),d(!0)},[]);if(c)return null;const C=`notice-box notice-box--${s} body-2 ${l}`.trim(),y=i&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:C,role:"note",children:[a.map((f,g)=>n.jsxs("div",{className:"notice-box__inner",children:[f.title?n.jsx("span",{className:"notice-box__title body-3",children:f.title}):null,n.jsx("div",{className:"notice-box__body",children:f.lines&&f.lines.length?n.jsx("div",{children:f.lines.map((_,h)=>n.jsx("span",{className:"notice-box__line body-3",children:_},h))}):f.children??null})]},g)),y]});const v=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((f,g)=>n.jsx("li",{className:"notice-box__line",children:f},g))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:m,className:C,role:"note",children:[v,y]})}const aa=[];let Xa=!1;function Ni(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=aa[aa.length-1];t&&(e.stopPropagation(),t())}function Wn(e){return aa.push(e),!Xa&&typeof document<"u"&&(document.addEventListener("keydown",Ni),Xa=!0),()=>{const t=aa.lastIndexOf(e);t>=0&&aa.splice(t,1),aa.length===0&&Xa&&typeof document<"u"&&(document.removeEventListener("keydown",Ni),Xa=!1)}}const Di=o.createContext(null);function _f(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Ei=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function wf(e){const t=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return cs.useSyncExternalStore(t,()=>Ei(e),()=>!1)}function Bf(e){const[t,a]=o.useState(Ei(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),s=l=>a(l.matches),i=r;return i.addEventListener?i.addEventListener("change",s):i.addListener&&i.addListener(s),a(r.matches),()=>{i.removeEventListener?i.removeEventListener("change",s):i.removeListener&&i.removeListener(s)}},[e]),t}const Af=typeof cs.useSyncExternalStore=="function"?wf:Bf;function on(e){const t=o.useContext(Di),a=Af(e);return t&&typeof t.mobile=="boolean"&&_f(e)?t.mobile:a}const kf="(prefers-reduced-motion: reduce)";function Jr(){return on(kf)}function cn(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:s=20,onClose:i,closeOnOutsideClick:l=!0,className:u="",role:c="dialog",ariaLabel:d="",children:m,backdrop:p=!1,isMobilePopup:C=!1,useBorder:y=!0,header:v,focusOnOpen:f}=e||{},g=o.useRef(null),[_,h]=o.useState({position:"fixed",left:0,top:-9999}),[w,b]=o.useState(!1),[k,x]=o.useState("bottom"),[B,A]=o.useState(!1),[N,E]=o.useState(!1),D=!t&&!a,H=o.useCallback((V=!1)=>{if(N&&C)return;const R=a?a.getBoundingClientRect():t;if(!R||!g.current)return;const q=g.current,{offsetWidth:S,offsetHeight:P}=q,j=window.innerWidth,F=window.innerHeight,O=j-R.right,W=R.left,Q=R.top,oe=F-R.bottom;let de=0,ae=0,te="top";if(Q>=P+r)te="top",ae=R.top-r-P,de=R.left+R.width/2-S/2;else if(oe>=P+r)te="bottom",ae=R.bottom+r,de=R.left+R.width/2-S/2;else if(O>=S+r)te="right",de=R.right+r,ae=R.top+R.height/2-P/2;else if(W>=S+r)te="left",de=R.left-r-S,ae=R.top+R.height/2-P/2;else{const le=Math.max(Q,oe,O,W);le===Q?(te="top",ae=R.top-r-P,de=R.left+R.width/2-S/2):le===oe?(te="bottom",ae=R.bottom+r,de=R.left+R.width/2-S/2):le===O?(te="right",de=R.right+r,ae=R.top+R.height/2-P/2):(te="left",de=R.left-r-S,ae=R.top+R.height/2-P/2)}const Ae=Number.isFinite(Number(s))?Number(s):8;de=Math.min(Math.max(de,Ae),j-S-Ae),ae=Math.min(Math.max(ae,Ae),F-P-Ae);const U=Math.round(de),ne=Math.round(ae);V&&g.current?(g.current.style.left=`${U}px`,g.current.style.top=`${ne}px`,g.current.dataset.placement=te):(x(te||k),h({position:"fixed",left:U,top:ne}),A(!0))},[N,C,a,t,r,s,k]);o.useLayoutEffect(()=>{if(D)return;if(N&&C){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),A(!0);return}H();const V=requestAnimationFrame(()=>H());return()=>cancelAnimationFrame(V)},[t,a,r,m,s,D,N,C,H]),o.useEffect(()=>{if(D||N&&C||!g.current||typeof ResizeObserver>"u")return;const V=new ResizeObserver(()=>{t&&H()});return V.observe(g.current),()=>V.disconnect()},[t,m,s,D,N,C,H]),o.useEffect(()=>{if(D||N&&C)return;let V=null;const R=()=>{if(typeof requestAnimationFrame>"u"){H(!0);return}V===null&&(V=requestAnimationFrame(()=>{V=null,H(!0)}))},q=S=>{if(!a&&i){const P=S.target;if(P&&g.current&&g.current.contains(P))return;try{if(P&&P.closest&&P.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}R()};return window.addEventListener("resize",R),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{V!==null&&cancelAnimationFrame(V),window.removeEventListener("resize",R),document.removeEventListener("scroll",q,{capture:!0})}},[t,a,i,r,m,s,D,N,C,H]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const V=window.matchMedia("(max-width: 768px)"),R=()=>E(!!V.matches);R();try{V.addEventListener?V.addEventListener("change",R):V.addListener(R)}catch{try{V.addListener(R)}catch{}}return()=>{try{V.removeEventListener?V.removeEventListener("change",R):V.removeListener(R)}catch{}}},[]);const $=o.useRef(!1),G=o.useRef(null),L=Jr(),M=o.useCallback((V=!1)=>{if(i&&!(w||$.current)){if($.current=!0,V){b(!0);try{i&&i()}catch{$.current=!1,b(!1)}return}b(!0),G.current=setTimeout(()=>{G.current=null;try{i&&i()}catch{$.current=!1,b(!1)}},L?0:200)}},[w,i,b,L]);o.useEffect(()=>()=>{G.current&&clearTimeout(G.current)},[]),o.useEffect(()=>{if(D)return;const V=S=>{const P=g.current;if(!P)return;const j=S.target;if(j&&!P.contains(j)){try{if(j.closest&&j.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},R=S=>{const P=g.current;if(!P)return;const j=S.target;if(j&&!P.contains(j)){try{if(j.closest&&j.closest("[data-tooltip-ignore]"))return}catch{}l&&M(!0)}},q=S=>{if(S.key==="Tab"){const P=g.current;if(!P)return;const j=P.querySelectorAll(fn);if(!j||j.length===0)return;const F=j[0],O=j[j.length-1],W=document.activeElement;S.shiftKey?W===F&&(S.preventDefault(),O.focus()):W===O&&(S.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",V,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",q),()=>{document.removeEventListener("pointerdown",V,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",q)}},[i,l,M,D]);const I=o.useRef(M);o.useEffect(()=>{I.current=M});const K=!!i;o.useEffect(()=>{if(!(D||!K))return Wn(()=>I.current())},[D,K]),o.useEffect(()=>{const V=()=>{M(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",V),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",V)}},[M]);const Y=o.useRef(null);o.useEffect(()=>{if(D||f===!1||!B)return;const V=g.current;if(!V)return;const R=V.querySelector(fn);if(R)return Y.current=document.activeElement,R.focus(),()=>{const q=Y.current;Y.current=null,q&&document.contains(q)&&q.focus()}},[D,f,B]),o.useEffect(()=>{c==="dialog"&&!d&&Gt("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[c,d]);const z=n.jsxs("div",{ref:g,className:`tooltip-content ${D?"tooltip-content--inline":""} ${y?"tooltip-content--bordered":""} ${w?"is-closing":""} ${u} ${N&&C?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:D?{}:{..._,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":k,"data-left":D?"":_.left,"data-top":D?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[v!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:v}),m]});if(D||typeof document>"u")return z;if(p||N&&C){const V=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&M(!0)}}),z]});return en.createPortal(V,document.body)}return en.createPortal(z,document.body)}function xn(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(cn,{anchorRect:t,offset:r,onClose:s,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function qn(e){const{t}=_e.useTranslation(),{anchorRect:a,title:r,items:s,activeIndex:i=-1,showIndex:l=!0,onClose:u,offset:c=12,closeOnOutsideClick:d=!0}=e||{},m=(Array.isArray(s)?s:s?[s]:[]).map(p=>typeof p=="string"?{text:p}:p);return!m.length&&!r?null:n.jsx(cn,{anchorRect:a,offset:c,onClose:u,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:m.map((p,C)=>n.jsxs("li",{className:`tooltip-description__item body-3${C===i?" tooltip-description__item--active":""}`,children:[l&&m.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[C+1,"."]}),p.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),n.jsx("span",{children:p.text})]},C))})]})})}function wa(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Qr=0,Si=!1;function ji(){Si||typeof document>"u"||(Si=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Qr=Date.now())},!0),document.addEventListener("touchstart",()=>{Qr=Date.now()},{capture:!0,passive:!0}))}ji();function ra(e){return!!e&&e.pointerType==="touch"}function oa(e=1e3){return ji(),Date.now()-Qr<e}function eo(e,t,a,{enabled:r=!0,fallbackOnParent:s=!1}={}){const i=wa(e),l=wa(t),u=o.useRef(null),c=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const m=p=>{const C=p,y=p.target,v=a.current,f=!!(y&&v&&v.contains(y));if(C.pointerType!=="touch"){f&&(u.current=null);return}if(f){u.current=i.current;return}u.current=null,i.current&&!(y&&y.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",m,!0),()=>document.removeEventListener("pointerdown",m,!0)},[r,a,i,l]);const d=o.useCallback(m=>{const p=u.current;return p===null?!1:(u.current=null,c.current=Date.now(),l.current(!p,m??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!s)return;const m=a.current,p=m?.parentElement;if(!m||!p)return;let C=null;const y=g=>{const _=g.changedTouches?.[0];if(!_)return!1;const h=m.getBoundingClientRect();return _.clientX>=h.left&&_.clientX<=h.right&&_.clientY>=h.top&&_.clientY<=h.bottom},v=g=>{C=y(g)?i.current:null},f=g=>{const _=C;C=null,!(_===null||Date.now()-c.current<700||!y(g))&&(u.current=null,c.current=Date.now(),l.current(!_,m))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",f),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",f)}},[r,s,a,i,l]),{touchPress:d}}function Nf(e,t){const{size:a=48,type:r,htmlType:s,href:i,target:l,rel:u,icon:c,rightIcon:d,label:m,count:p,subLabel:C,children:y,ariaLabel:v,variant:f="default",align:g="center",nowrap:_=!1,selected:h,toggleable:w=!1,ariaExpanded:b,ariaControls:k,disabled:x=!1,useLabel:B=!0,useBorder:A=!0,useBG:N=!0,useDisabledCovered:E=!1,useDisabledInvisible:D=!1,width:H,minWidth:$,onClick:G,onDisabledClick:L,showTooltipInfo:M=!1,tooltipInfoText:I=null,tooltipDescription:K=null,tooltipOnly:Y=!1,iconSize:z="medium",iconColor:V,shape:R="rounded",color:q,className:S,...P}=e,j=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=j.match(/^\d+$/)?`button${j}`:`button-${j}`,O=Number(a),W=!isNaN(O)&&O<40?"button-2":"button-1",Q=m??y,oe=x||!!P.disabled,de=oe?E?"disabled-covered":D?"disabled-invisibled":"disabled":f,ae=de?`button--variant-${de}`:"",te=g?`button--align-${g}`:"",Ae=_?"button--nowrap":"",U=R?`button--shape-${R}`:"",ne=typeof V=="string"&&V.startsWith("--")?`var(${V})`:V,le={...H?{width:typeof H=="number"?`${H}px`:H}:{},...$?{minWidth:typeof $=="number"?`${$}px`:$}:{},...A?{}:{"--button-border":oe?"0":"1px solid transparent"},...ne?{"--button-icon-color":ne}:{},...q?{"--color-main":q}:{}},Ee=B===!1?"":Q,be=Array.isArray(Ee)?Ee.length>0:!!Ee,se=!!d,pe=r??(be||c||se?"bar":"dot"),he=`${F}--${pe}`,ge=o.useRef(null);o.useEffect(()=>{!Xn||s!==void 0||ge.current?.closest("form")&&Gt(`button-in-form:${typeof Q=="string"?Q:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof Q=="string"&&Q?` \uB2E8\uCD94: ${Q}`:""))},[s,Q]);const fe=o.useRef(t);fe.current=t;const Te=o.useCallback($e=>{ge.current=$e;const nt=fe.current;typeof nt=="function"?nt($e):nt&&(nt.current=$e)},[]),Me=o.useRef(oe),[Ie,Oe]=o.useState(!!h),[He,dt]=o.useState(!1),[ut,ot]=o.useState(null),ct=o.useCallback(()=>dt(!1),[]),[Ne,ze]=o.useState(!1),Be=o.useId();o.useEffect(()=>{typeof h=="boolean"&&Oe(h)},[h]),o.useEffect(()=>{if(Me.current&&!oe&&ge.current){const $e=ge.current;let nt=!1;try{nt=$e.matches(":focus:not(:focus-visible)")}catch{nt=!1}nt&&$e.blur(),$e.style.pointerEvents="none";const Lt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{ge.current&&(ge.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Lt)}Me.current=oe},[oe]);const Ye=typeof h=="boolean"?!!h:Ie,X=typeof b=="boolean"?void 0:w||typeof h=="boolean"?Ye?"true":"false":P["aria-pressed"],ue=ke("button",F,he,ae,te,Ae,U,Ye?"is-selected":null,N?null:"button--no-bg",Y?"button--tooltip-only":null,S),we=`button__icon button__icon--${z}`,De=Array.isArray(C)?C:C!==void 0?[C]:[],qe=()=>{if(Array.isArray(Ee))return Ee.map((nt,Lt)=>{const Xt=De[Lt];return n.jsxs("span",{className:`button__label-text${Xt!==void 0?" button__label-text--has-sub":""}`,children:[nt,Xt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:Xt})]},Lt)});const $e=C!==void 0;return n.jsxs("span",{className:`button__label-text${$e?" button__label-text--has-sub":""}`,children:[Ee,p!=null&&n.jsx("span",{className:"button__count",children:p}),$e&&n.jsx("span",{className:"button__sub-label-text caption-1",children:C})]})},Qe=$e=>{typeof h!="boolean"&&!w&&Oe(!1),$e.currentTarget.blur()},st=$e=>{oe||(typeof P.onMouseLeave=="function"&&P.onMouseLeave($e),Qe($e))},pt=$e=>{if(Y&&at&&Xe.touchPress($e.currentTarget),oe){at&&Xe.touchPress($e.currentTarget),$e.preventDefault(),L?.($e);return}typeof h!="boolean"&&w&&Oe(nt=>!nt),G?.($e)},Ct=o.useCallback(()=>{(M||K)&&(dt(!0),ot(ge.current?.getBoundingClientRect()??null))},[M,K]),bt=o.useCallback(()=>{(M||K)&&(dt(!1),ot(null))},[M,K]),at=!!(M||K),Xe=eo(He,$e=>{$e?Ct():bt()},ge,{enabled:at&&(oe||Y),fallbackOnParent:at&&oe}),Ve={...P};delete Ve.disabled,delete Ve.className,delete Ve.faded,delete Ve.useFaded,delete Ve.loading,delete Ve.onMouseLeave,delete Ve.onPointerEnter,delete Ve.onPointerLeave,delete Ve.onPointerUp,delete Ve.onFocus,delete Ve.onBlur,oe&&(Object.keys(Ve).forEach($e=>{/^on[A-Z]/.test($e)&&typeof Ve[$e]=="function"&&delete Ve[$e]}),Ve["aria-disabled"]="true");const Pe=(typeof M=="string"?M:null)??(typeof I=="string"?I:null)??(typeof v=="string"?v:null)??(typeof Q=="string"?Q:null)??void 0,et=typeof v=="string"?v:typeof Q=="string"?Q:Pe,ht=K?[K.title,...K.items??[]].filter(Boolean).join(". "):M&&Pe&&Pe!==et?Pe:"",Ue=[typeof P["aria-describedby"]=="string"?P["aria-describedby"]:void 0,ht?Be:null].filter(Boolean).join(" ")||void 0,mt=($e,nt)=>n.jsx(tt,{icon:$e,label:nt??et,className:we,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Nt=()=>pe==="dot"?n.jsxs(n.Fragment,{children:[mt(c),be&&n.jsx("span",{className:`button__label ${W}`,children:qe()})]}):g==="center"&&c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:mt(c)}),be&&n.jsx("span",{className:`button__label ${W}`,children:qe()})]}),se&&n.jsx("span",{className:"button__right",children:mt(d)})]}):n.jsxs(n.Fragment,{children:[c&&n.jsx("span",{className:"button__left",children:mt(c,v??Q)}),be&&n.jsx("span",{className:`button__label ${W}`,children:qe()}),se&&n.jsx("span",{className:"button__right",children:mt(d)})]}),Et=!!i&&!oe;return n.jsxs(n.Fragment,{children:[n.jsxs(Et?"a":"button",{...Ve,ref:Te,...Et?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s??"button",disabled:oe&&!L&&!Ne},className:ue,"aria-pressed":X,"aria-expanded":typeof b=="boolean"?b:P["aria-expanded"],"aria-controls":k??P["aria-controls"],"aria-label":et,"aria-disabled":oe&&(Et||L||Ne)?!0:void 0,"aria-describedby":Ue,style:le,onClick:pt,onMouseLeave:st,onPointerEnter:$e=>{ra($e)||Ct(),!oe&&typeof P.onPointerEnter=="function"&&P.onPointerEnter($e)},onPointerLeave:$e=>{ra($e)||bt(),!oe&&typeof P.onPointerLeave=="function"&&P.onPointerLeave($e)},onPointerUp:$e=>{oe&&at&&Xe.touchPress($e.currentTarget),!oe&&typeof P.onPointerUp=="function"&&P.onPointerUp($e)},onFocus:$e=>{ze(!0),oa()||Ct(),!oe&&typeof P.onFocus=="function"&&P.onFocus($e)},onBlur:$e=>{ze(!1),oe||Qe($e),bt(),!oe&&typeof P.onBlur=="function"&&P.onBlur($e)},children:[Nt(),ht?n.jsx("span",{id:Be,hidden:!0,"aria-label":ht}):null]}),He&&K?n.jsx(qn,{anchorRect:ut,title:K.title,items:K.items,onClose:ct}):He&&Pe?n.jsx(xn,{anchorRect:ut,text:Pe,onClose:ct}):null]})}const me=o.forwardRef(Nf);me.displayName="Button";var Df={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",selectedOfMax:"\uCD5C\uB300 {{max}}\uAC1C \uC911 {{count}}\uAC1C",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",discardConfirm:{title:"\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?",body:"\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",confirm:"\uC785\uB825 \uCDE8\uC18C"},close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",likeCount:"\uC88B\uC544\uC694 {{count}}",downloadCount:"\uAC00\uC838\uAC04 \uC218 {{count}}",descriptionFor:"{{name}} \uC124\uBA85",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",collapseFor:"{{name}} \uC811\uAE30",expandFor:"{{name}} \uD3BC\uCE58\uAE30",sortFor:"{{name}} \uC815\uB82C",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",playFor:"{{name}} \uC7AC\uC0DD",pauseFor:"{{name}} \uBA48\uCDA4",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",noMatches:"\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},Ef={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704",visitCount:"\uBC29\uBB38 {{count}}\uAC74",statusCount:"{{label}} {{count}}\uAC74"},Sf={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",expired:"\uB9CC\uB8CC\uB428",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},jf={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},Tf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},Mf={selected:"\uC120\uD0DD\uB428"},Lf={placeholder:"\uC120\uD0DD"},$f={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},Rf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},Pf={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",feedback:"\uBC84\uADF8\uC2E0\uACE0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C",badgeInsideLabel:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"},Ff={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},If={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},Of={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},Hf={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},zf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",previewFor:"{{name}} \uBBF8\uB9AC \uB4E3\uAE30",stopFor:"{{name}} \uC815\uC9C0",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"}},Vf={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},Wf={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},qf={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},Uf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},Gf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Kf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},Yf={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},Zf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},Xf={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},Jf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Qf={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",topInfo:"\uC0C1\uB2E8 \uC815\uBCF4",bottomInfo:"\uD558\uB2E8 \uC815\uBCF4",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",viewLabel:"\uBCF4\uAE30 \uBC29\uC2DD",sortLabel:"\uC815\uB82C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},publisherFilter:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30",groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",markName:{o:"\uB9DE\uC74C",triangle:"\uC560\uB9E4",x:"\uD2C0\uB9BC"},button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78 \uC544\uB798 \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB20C\uB7EC \uB9E4\uAE30\uC138\uC694. \uB9C8\uC6B0\uC2A4\uB85C\uB294 \uCE78\uC5D0 \uC190\uC744 \uC5B9\uC73C\uBA74, \uC790\uD310\uC73C\uB85C\uB294 \uCE78\uC5D0 \uCD08\uC810\uC774 \uAC00\uBA74 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},e2={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},t2={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},n2={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},a2={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},r2={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},o2={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},s2={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},i2={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},l2={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",countLabel:"\uC74C\uC18C \uAC1C\uC218",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo1:"1\uB4F1\uAE09 : \uD559\uB839\uC804\uAE30\uC5D0 \uC2B5\uB4DD\uD558\uC5EC \uD3C9\uC0DD\uC5D0 \uAC78\uCCD0 \uC77C\uC0C1 \uC5B8\uC5B4\uC0DD\uD65C\uC744 \uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uC5B4\uD718",difficultyInfo2:"2\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 1-2\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718",difficultyInfo3:"3\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 3-4\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718",difficultyInfo4:"4\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 5-6\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718",difficultyInfo5:"\uB4F1\uAE09\uC5C6\uC74C : \uAD6D\uB9BD\uAD6D\uC5B4\uC6D0 \uD45C\uC900 \uC5B4\uD718 \uC678 \uACE0\uBE48\uB3C4 \uC0DD\uD65C \uC5B4\uD718, \uC2E0\uC870\uC5B4 \uBC0F \uC678\uB798\uC5B4",selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},u2={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},c2={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
847
|
+
`),this.name="StorageNotConfiguredError"}};function dC(e){cC(e)}function Qs(e,t){if(!e)return null;const a=ya();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function ei(e){if(!e)return null;const t=ya();if(!t)throw new Js("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function ti(e){const t=ya();if(!t)throw new Js("downloadSound");return t.download(e)}function pC(){return ya()?.noiseBaseUrl??"/sounds/noise"}function mC(){const e=Number(ya()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function hC(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const ni="__ihab_core_tts_config__";function Pr(){return globalThis[ni]?.urlResolver??null}function CC(){return globalThis[ni]?.fallbackUrlResolver??null}const fC="__ihab_core_pronunciation_resolver__";function gC(){return globalThis[fC]??null}let Mn=null;const va=new WeakMap,Fr=new WeakMap,Ir=new WeakMap;let ai=!1;const ri=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function bC(){if(ai||typeof document>"u")return;ai=!0;const e=()=>{try{Mn&&Mn.state!=="running"&&Mn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function oi(){if(Mn)return Mn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Mn=new e,bC(),Mn):null}catch{return null}}function Or(){try{Mn?.resume()}catch{}}function Hr(e,t){const a=va.get(t);if(a)return a;try{const r=e.createMediaElementSource(t),i=e.createGain(),s=e.createAnalyser();s.fftSize=1024,s.smoothingTimeConstant=.6,i.gain.value=ri(Fr.get(t)??t.volume),r.connect(i),i.connect(s),i.connect(e.destination);try{t.volume=1}catch{}const l={gain:i,analyser:s};return va.set(t,l),l}catch{return null}}function Va(e){if(!e)return Promise.resolve(null);const t=va.get(e);if(t)return Promise.resolve(t.analyser);const a=oi();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Hr(a,e)?.analyser??null);const r=Ir.get(e);if(r)return r;const i=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Hr(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Ir.delete(e)});return Ir.set(e,i),i}function yC(e){if(!e)return null;const t=va.get(e);if(t)return t.analyser;const a=oi();return a?a.state==="running"?Hr(a,e)?.analyser??null:(Va(e),null):null}function Ln(e,t){const a=ri(t);Fr.set(e,a);const r=va.get(e);if(r){try{e.volume!==1&&(e.volume=1)}catch{}const i=r.gain.gain;try{const s=r.gain.context.currentTime;i.cancelScheduledValues(s),i.setTargetAtTime(a,s,.01)}catch{try{i.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function Wa(e){return Fr.get(e)??e.volume}function vC(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const i=t[r];a+=i*i}return Math.sqrt(a/t.length)}const xC="__ihab_core_image_config__";function ta(){return globalThis[xC]??null}const si="word_image_existence_map_v1";let Vn=null;const qa=new Map;function _C(){if(Vn)return Vn;try{const e=typeof localStorage<"u"?localStorage.getItem(si):null,t=e?JSON.parse(e):null;Vn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Vn={}}return Vn}let zr=null;function wC(){zr||(zr=setTimeout(()=>{zr=null;try{typeof localStorage<"u"&&Vn&&localStorage.setItem(si,JSON.stringify(Vn))}catch{}},200))}function BC(e,t){return`${e}_${t??1}`}async function ii(e,t){const a=_C(),r=BC(e,t);if(r in a)return a[r];if(qa.has(r))return qa.get(r);const i=ta();if(!i)return!1;const s=i(e,t);if(!s)return!1;const l=fetch(s,{method:"HEAD",signal:hC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(qa.delete(r),u===null?!1:(a[r]=u,wC(),u)));return qa.set(r,l),l}const AC={\u314F:{nucleus:"\u314F"},\u3151:{glide:"j",nucleus:"\u314F"},\u3153:{nucleus:"\u3153"},\u3155:{glide:"j",nucleus:"\u3153"},\u3157:{nucleus:"\u3157"},\u315B:{glide:"j",nucleus:"\u3157"},\u315C:{nucleus:"\u315C"},\u3160:{glide:"j",nucleus:"\u315C"},\u3161:{nucleus:"\u3161"},\u3163:{nucleus:"\u3163"},\u3150:{nucleus:"\u3154/\u3150"},\u3152:{glide:"j",nucleus:"\u3154/\u3150"},\u3154:{nucleus:"\u3154/\u3150"},\u3156:{glide:"j",nucleus:"\u3154/\u3150"},\u3158:{glide:"w",nucleus:"\u314F"},\u3159:{glide:"w",nucleus:"\u3154/\u3150"},\u315A:{glide:"w",nucleus:"\u3154/\u3150"},\u315D:{glide:"w",nucleus:"\u3153"},\u315E:{glide:"w",nucleus:"\u3154/\u3150"},\u315F:{glide:"w",nucleus:"\u3163"},\u3162:{glide:"\u0270",nucleus:"\u3163"}},li=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ui=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],kC=["","\u3131","\u3132","\u3133","\u3134","\u3135","\u3136","\u3137","\u3139","\u313A","\u313B","\u313C","\u313D","\u313E","\u313F","\u3140","\u3141","\u3142","\u3144","\u3145","\u3146","\u3147","\u3148","\u314A","\u314B","\u314C","\u314D","\u314E"];function xa(e){if(!e)return null;const t=e.charCodeAt(0)-44032;return t<0||t>=11172?null:{cho:Math.floor(t/588),jung:Math.floor(t%588/28),jong:t%28}}function NC(e){const t=xa(e[0]||"");return t?li[t.cho]:""}function DC(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>li.includes(l),r=l=>ui.includes(l),i=t.map(l=>a(l)?"cho":r(l)?"jung":xa(l)?"syl":"other"),s=t.map(l=>xa(l));if(i.includes("other")){const l=e.toLowerCase();return u=>u.normalize("NFC").toLowerCase().includes(l)}return l=>{const u=[...l.normalize("NFC")];for(let c=0;c+t.length<=u.length;c++){let d=!0;for(let m=0;m<t.length;m++){const p=u[c+m],h=i[m];if(h==="cho"){if(NC(p)!==t[m]){d=!1;break}}else if(h==="jung"){const v=xa(p);if(!v||ui[v.jung]!==t[m]){d=!1;break}}else{const v=s[m];if(v&&v.jong===0){const y=xa(p);if(!y||y.cho!==v.cho||y.jung!==v.jung){d=!1;break}}else if(p!==t[m]){d=!1;break}}}if(d)return!0}return!1}}const EC={3:["\u3131","\u3145"],5:["\u3134","\u3148"],6:["\u3134","\u314E"],9:["\u3139","\u3131"],10:["\u3139","\u3141"],11:["\u3139","\u3142"],12:["\u3139","\u3145"],13:["\u3139","\u314C"],14:["\u3139","\u314D"],15:["\u3139","\u314E"],18:["\u3142","\u3145"]};Object.fromEntries(Object.entries(EC).map(([e,t])=>[t.join(""),kC[Number(e)]]));const SC="word_pair_index_v2",jC="word_pair_index_sig_v2";let Ua=null;function TC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(SC),t=localStorage.getItem(jC);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function MC(){if(Ua)return Ua;const e=TC();return e?(Ua=e.index,e.sig,Ua):null}function LC(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function $C(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const r=Math.ceil(e/a);return Math.max(1,Math.ceil(e/r))}const Vr=/[ㄱ-ㅎ]/,RC=/[ㅏ-ㅣ]/;function ci(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||Vr.test(a)||RC.test(a))return a}return null}function PC(e){const t=ci(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Vr.test(t)?"\uC774":"\uAC00"}function FC(e){return`${e}${PC(e)}`}function IC(e){const t=ci(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Vr.test(t)?"\uC744":"\uB97C"}function OC(e){return`${e}${IC(e)}`}function HC(e,t,a){const r=e.slice(),[i]=r.splice(t,1);return r.splice(a,0,i),r}function _a(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const i=Math.floor(t()*(r+1));[a[r],a[i]]=[a[i],a[r]]}return a}const zC=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof Tt?.t=="function"?Tt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function di(e,t){if(t===void 0&&(t=zC()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const r of[a.message,a.error_description,a.error])if(typeof r=="string"&&r)return r}return t}const VC="__ihab_core_word_pool__";function pi(){return globalThis[VC]??null}const mi=globalThis;function hi(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function WC(e){hi("time",()=>mi.__ihabTrainingTimeLogger?.(e))}function qC(e){hi("completion",()=>mi.__ihabTrainingCompletionLogger?.(e))}function Ga(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function Yt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function UC(e){for(const t of["correct","isCorrect","heard","judgement"])if(typeof e[t]=="boolean")return e[t];return e.score===1?!0:e.score===0?!1:null}function GC(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Yt(r.contextCode)??Yt(r.itemId)??Yt(r.itemCode)??Yt(r.id),question:Yt(r.question)??Yt(r.q)??Yt(r.sentence)??Yt(r.text)??Yt(r.prompt)??Yt(r.word)??Yt(r.targetSyllable),answer:Yt(r.answer),selected:Yt(r.selectedText)??Yt(r.selected),correct:UC(r),shownAt:Ga(r.shownAt)??Ga(r.shown_at),answeredAt:Ga(r.answeredAt)??Ga(r.answered_at)}}):[]}const Wr=globalThis;async function KC(){try{return await Wr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Ci(e){const t=a=>{};try{const a=Wr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ka(e){try{Wr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function YC(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const ZC="Asia/Seoul",XC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function qr(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=XC.exec(a);t=new Date(r?`${r[1]}T${r[2]}:${r[3]??"00"}${r[4]?`.${r[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const JC=e=>qr(e);function fi(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",r=JC(e);return r?r.toLocaleDateString(a,{timeZone:ZC,year:"numeric",month:"short",day:"numeric"}):""}function wa(){return Gr(new Date)}function Ur(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:wa()}function na(){return ef(wa())}const QC=540*60*1e3;function gi(e,t,a){return new Date(Date.UTC(e,t,a)-QC)}function ef(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function Gr(e){if(e==null||e==="")return"";const t=qr(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function bi(e,t){if(!e)return"";const a=qr(e);if(!a)return"";const r=a.getTime(),i=Math.max(0,Math.floor((Date.now()-r)/1e3)),s=Math.floor(i/60),l=Math.floor(s/60),u=Math.floor(l/24),c=Math.floor(u/7),d=Math.floor(u/30),m=Math.floor(u/365);return s<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):s<60?t("store.time.minutesAgo",{n:s}):l<24?t("store.time.hoursAgo",{n:l}):u<7?t("store.time.daysAgo",{n:u}):c<5?t("store.time.weeksAgo",{n:c}):u<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:m})}function yi(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:i=!1,fallback:s="\u2014"}=t;if(!e)return s;const l=Gr(e instanceof Date?e:String(e));if(!l)return s;const[u,c,d]=l.split("-"),m=r?c:String(Number(c)),p=r?d:String(Number(d));return`${u}${a}${m}${a}${p}${i?".":""}`}function aa(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function vi(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),i=Number(a[2]),s=a[1].padStart(2,"0");return i===0?t("date.timeH",{h:r,hh:s,mm:a[2]}):t("date.timeHM",{h:r,hh:s,m:i,mm:a[2]})}function Kr(e){return(e??0).toLocaleString("ko-KR")}const tf=[{key:"FOOD",label:"\uC74C\uC2DD",icon:"salad",color:"#FF8A65",subs:[{key:"TRKRFD",label:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD"},{key:"MDKRFD",label:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD"},{key:"WRLDFD",label:"\uC138\uACC4\uC758 \uC74C\uC2DD"},{key:"MTRFRT",label:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C"},{key:"GEFDKL",label:"\uC74C\uC2DD \uC0C1\uC2DD"}]},{key:"HLTH",label:"\uAC74\uAC15",icon:"heart",color:"#66BB6A",subs:[{key:"HTETHB",label:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00"},{key:"DISILL",label:"\uBCD1\uACFC \uC9C8\uD658"},{key:"EXCISE",label:"\uC6B4\uB3D9"},{key:"GEHTKL",label:"\uAC74\uAC15\uC0C1\uC2DD"}]},{key:"WETH",label:"\uB0A0\uC528",icon:"sun-medium",color:"#42A5F5",subs:[{key:"GESSKL",label:"\uACC4\uC808\uC0C1\uC2DD"},{key:"SNWRAN",label:"\uB208\uACFC \uBE44"},{key:"WTHFCT",label:"\uC77C\uAE30\uC608\uBCF4"},{key:"GEWTKL",label:"\uB0A0\uC528\uC0C1\uC2DD"}]},{key:"PRSN",label:"\uC778\uBB3C",icon:"user-round",color:"#AB47BC",subs:[{key:"JODYPS",label:"\uC870\uC120\uC2DC\uB300"},{key:"MDKRPS",label:"\uD55C\uAD6D \uADFC\uD604\uB300"},{key:"THKDPS",label:"\uC0BC\uAD6D\uC2DC\uB300"},{key:"WRLART",label:"\uC138\uACC4\uC758 \uC608\uC220\uAC00"},{key:"WRLPSN",label:"\uC138\uACC4\uC758 \uC778\uBB3C"}]},{key:"KRCT",label:"\uD55C\uAD6D\uBB38\uD654",icon:"bow-arrow",color:"#EC407A",subs:[{key:"KRLANG",label:"\uC6B0\uB9AC\uB9D0"},{key:"TRPLCT",label:"\uC804\uD1B5\uB180\uC774"},{key:"HERITG",label:"\uBB38\uD654\uC7AC"},{key:"EVTFES",label:"\uD589\uC0AC\uC640 \uCD95\uC81C"},{key:"GECTKL",label:"\uC0C1\uC2DD"}]},{key:"STRY",label:"\uC774\uC57C\uAE30",icon:"message-circle",color:"#8D6E63",subs:[{key:"FRYTAL",label:"\uB3D9\uD654"},{key:"AMZING",label:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30"},{key:"DAYSTR",label:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30"}]},{key:"LOCA",label:"\uC9C0\uC5ED",icon:"map-pin",color:"#26A69A",subs:[{key:"KRLDMK",label:"\uD55C\uAD6D\uC758 \uBA85\uC18C"},{key:"SELNMK",label:"\uC11C\uC6B8\uC758 \uBA85\uC18C"},{key:"WRDTRB",label:"\uC138\uACC4\uC5EC\uD589"},{key:"NAVIGT",label:"\uAE38 \uCC3E\uAE30"}]},{key:"SOAR",label:"\uC0AC\uD68C\uC640 \uC608\uC220",icon:"landmark",color:"#5C6BC0",subs:[{key:"KRSOCI",label:"\uD55C\uAD6D"},{key:"ECONEW",label:"\uACBD\uC81C\uC640 \uB274\uC2A4"},{key:"GENART",label:"\uC608\uC220"},{key:"GELFKL",label:"\uC0DD\uD65C \uC0C1\uC2DD"}]},{key:"NTSC",label:"\uC790\uC5F0\uACFC \uACFC\uD559",icon:"leaf",color:"#9CCC65",subs:[{key:"ANIMAL",label:"\uB3D9\uBB3C"},{key:"PLANTS",label:"\uC2DD\uBB3C"},{key:"ETHPLT",label:"\uC9C0\uAD6C"},{key:"TOLELC",label:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488"},{key:"GESCKL",label:"\uACFC\uD559\uC0C1\uC2DD"}]},{key:"SPRT",label:"\uC2A4\uD3EC\uCE20",icon:"trophy",color:"#FFCA28",subs:[{key:"INVDSP",label:"\uAC1C\uC778\uACBD\uAE30"},{key:"MARART",label:"\uACA9\uD22C\uAE30"},{key:"TEAMSP",label:"\uB2E8\uCCB4\uACBD\uAE30"},{key:"FOOTBL",label:"\uCD95\uAD6C"},{key:"GESPKL",label:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}]}],nf=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];function xi(){return tf}function af(){return nf}const rf=[],of=[],sf=[],lf=[];function uf(){return{LISTEN_IN_NOISE:rf,SHORT_STORY:of,LONG_STORY:sf,ORDERING_SENTENCE:lf}}const cf=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],_i={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function df(e){return cf.map(t=>{const a=_i[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}var pf={statusFilter:"\uC0C1\uD0DC \uD544\uD130",pageSizeSelect:"\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218",selectedCount:"{{count}}\uAC1C \uC120\uD0DD\uB428",selectedOfMax:"\uCD5C\uB300 {{max}}\uAC1C \uC911 {{count}}\uAC1C",cancel:"\uCDE8\uC18C",info:"\uC124\uBA85",errorState:{message:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retry:"\uB2E4\uC2DC \uC2DC\uB3C4"},save:"\uC800\uC7A5",confirm:"\uD655\uC778",discardConfirm:{title:"\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?",body:"\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",confirm:"\uC785\uB825 \uCDE8\uC18C"},close:"\uB2EB\uAE30",back:"\uB4A4\uB85C",emptyTrainingName:"\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",remove:"\uC81C\uAC70",image:"\uC774\uBBF8\uC9C0",delete:"\uC0AD\uC81C",reset:"\uCD08\uAE30\uD654",update:"\uC5C5\uB370\uC774\uD2B8",download:"\uB2E4\uC6B4\uB85C\uB4DC",likeCount:"\uC88B\uC544\uC694 {{count}}",downloadCount:"\uAC00\uC838\uAC04 \uC218 {{count}}",descriptionFor:"{{name}} \uC124\uBA85",search:"\uAC80\uC0C9",empty:"\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",yes:"\uC608",no:"\uC544\uB2C8\uC624",all:"\uC804\uCCB4",none:"\uC5C6\uC74C",days:"{{count}}\uC77C",loadMore:"\uB354\uBCF4\uAE30",more:"\uB354\uBCF4\uAE30",moreFor:"{{name}} \uB354\uBCF4\uAE30",collapseFor:"{{name}} \uC811\uAE30",expandFor:"{{name}} \uD3BC\uCE58\uAE30",sortFor:"{{name}} \uC815\uB82C",retry:"\uB2E4\uC2DC \uC2DC\uB3C4",prevPage:"\uC774\uC804 \uD398\uC774\uC9C0",nextPage:"\uB2E4\uC74C \uD398\uC774\uC9C0",play:"\uC7AC\uC0DD",playFor:"{{name}} \uC7AC\uC0DD",pauseFor:"{{name}} \uBA48\uCDA4",pause:"\uBA48\uCDA4",playPause:"\uC7AC\uC0DD / \uBA48\uCDA4",replay:"\uB2E4\uC2DC\uB4E3\uAE30",subscription:"\uC774\uC6A9\uAD8C",done:"\uC644\uB8CC",failed:"\uC2E4\uD328",continue:"\uACC4\uC18D",notification:"\uC54C\uB9BC",emptyList:"\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",noMatches:"\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",menu:"\uBA54\uB274",resetSelection:"\uC120\uD0DD \uCD08\uAE30\uD654",pageSizeLabel:"{{n}}\uAC1C\uC529 \uBCF4\uAE30",totalCountPrefix:"\uCD1D ",totalCountSuffix:"\uAC1C",expand:"\uD3BC\uCE58\uAE30",collapse:"\uC811\uAE30",popup:"\uD31D\uC5C5",codeBlock:"\uCF54\uB4DC \uBE14\uB85D",totalPrefix:"\uCD1D ",copyCode:"\uCF54\uB4DC \uBCF5\uC0AC",copied:"\uBCF5\uC0AC\uB428",col:{problem:"\uBB38\uC81C"},phonetics:{place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"},vowel:{frontHigh:"\uC804\uC124 \uACE0\uBAA8\uC74C",backHighUnrounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C",backHighRounded:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C",frontMid:"\uC804\uC124 \uC911\uBAA8\uC74C",backMidUnrounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C",backMidRounded:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C",low:"\uC800\uBAA8\uC74C"},glide:{j:"j\uD65C\uC74C",w:"w\uD65C\uC74C",velar:"\u0270\uD65C\uC74C"}},unknownError:"\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",networkError:"\uB124\uD2B8\uC6CC\uD06C \uC5F0\uACB0\uC774 \uBD88\uC548\uC815\uD569\uB2C8\uB2E4. \uC5F0\uACB0 \uC0C1\uD0DC\uB97C \uD655\uC778\uD55C \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694."},mf={rangeSelect:"\uAE30\uAC04 \uC120\uD0DD",dow:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],yearMonth:"{{year}}\uB144 {{month}}\uC6D4",prevMonth:"\uC774\uC804 \uB2EC",addOnDate:"{{date}}\uC5D0 \uBC29\uBB38 \uB4F1\uB85D",nextMonth:"\uB2E4\uC74C \uB2EC",prevWeek:"\uC774\uC804 \uC8FC",nextWeek:"\uB2E4\uC74C \uC8FC",legend:{visited:"\uBC29\uBB38",scheduled:"\uC608\uC57D",noVisit:"\uBBF8\uBC29\uBB38"},periodSelect:"\uAE30\uAC04 \uB2E8\uC704",visitCount:"\uBC29\uBB38 {{count}}\uAC74",statusCount:"{{label}} {{count}}\uAC74"},hf={planSuffix:"\uC774\uC6A9\uAD8C",labeledPlan:"{{label}} \uC774\uC6A9\uAD8C",couponCode:"\uC774\uC6A9\uAD8C \uCF54\uB4DC",specialLabel:"\uC624\uD508\uD2B9\uAC00",unitDay:"\uC77C",unitYear:"\uB144",remainingDay:"{{n}}\uC77C \uB0A8\uC74C",remainingHour:"{{n}}\uC2DC\uAC04 \uB0A8\uC74C",remainingMinute:"{{n}}\uBD84 \uB0A8\uC74C",remainingSecond:"{{n}}\uCD08 \uB0A8\uC74C",expired:"\uB9CC\uB8CC\uB428",menu:{use:"\uC0AC\uC6A9\uD558\uAE30",refund:"\uD658\uBD88\uD558\uAE30",delete:"\uC0AD\uC81C\uD558\uAE30"}},Cf={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},ff={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},gf={selected:"\uC120\uD0DD\uB428"},bf={placeholder:"\uC120\uD0DD"},yf={collapse:"\uC811\uAE30",expand:"\uD3BC\uCE58\uAE30"},vf={biArea:"BI \uC601\uC5ED",biSymbol:"BI \uC2EC\uBCFC",logoMalgwi:"\uB9D0\uADC0 \uB85C\uACE0",logoManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0",menuOpen:"\uBA54\uB274 \uC5F4\uAE30",utilMenu:"\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274",menuClose:"\uBA54\uB274 \uB2EB\uAE30"},xf={mainMenu:"\uBA54\uC778 \uBA54\uB274",bottomNav:"\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158",goToManager:"\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9",goToMalgwi:"\uB9D0\uADC0\uB85C \uC774\uB3D9",modeLabelManager:"\uB9D0\uADC0 \uB9E4\uB2C8\uC800",modeLabelMalgwi:"\uB9D0\uADC0",training:"\uD6C8\uB828",settings:"\uC124\uC815",notifications:"\uC54C\uB9BC",account:"\uACC4\uC815",help:"\uB3C4\uC6C0\uB9D0",feedback:"\uBC84\uADF8\uC2E0\uACE0",debug:"\uB514\uBC84\uADF8",coupons:"\uCFE0\uD3F0",topic:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",trainingType:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",wordPairs:"\uB300\uB9BD\uC30D \uCC3E\uAE30",wordSearch:"\uB2E8\uC5B4 \uCC3E\uAE30",wordTable:"\uB2E8\uC5B4\uD45C \uB9CC\uB4E4\uAE30",company:"\uC5C5\uCCB4\uC815\uBCF4",more:"\uB354\uBCF4\uAE30",moreMenu:"\uB354\uBCF4\uAE30 \uBA54\uB274",badgeLabel:"{{label}}, {{count}}\uAC1C",badgeInsideLabel:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"},_f={language:{training:{label:"\uD6C8\uB828 \uC5B8\uC5B4",sub:"\uD6C8\uB828\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uB2E8\uC5B4\uC640 \uC74C\uC131 \uC5B8\uC5B4"}},notifications:{title:"\uC54C\uB9BC"},display:{fontSize:{small:"\uC791\uAC8C",large:"\uD06C\uAC8C"}},cache:{title:"\uCE90\uC2DC \uAD00\uB9AC",confirmMessage:"\uCE90\uC2DC({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",delete:"\uC0AD\uC81C",deleting:"\uC0AD\uC81C \uC911",cleared:"\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",group:{wordData:{label:"\uB2E8\uC5B4 \uB370\uC774\uD130",sub:"\uB2E8\uC5B4 \uBAA9\uB85D \uBC0F \uBC84\uC804 \uC815\uBCF4"},pairIndex:{label:"\uB2E8\uC5B4\uC30D \uC778\uB371\uC2A4",sub:"\uCD08\uC131\xB7\uC911\uC131\xB7\uC885\uC131 \uB300\uB9BD\uC30D \uBD84\uC11D \uCE90\uC2DC"},imageCache:{label:"\uC774\uBBF8\uC9C0 \uCE90\uC2DC",sub:"\uB2E8\uC5B4\uBCC4 \uC774\uBBF8\uC9C0 \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778 \uACB0\uACFC"},trainingRecord:{label:"\uD6C8\uB828 \uAE30\uB85D",sub:"\uC624\uB298\uC758 \uD6C8\uB828 \uC9C4\uD589\uB960 \uBC0F \uD559\uC2B5 \uC77C\uC218"}}},button:{save:"\uC124\uC815 \uC800\uC7A5"},popup:{clear:{confirm:"\uCD08\uAE30\uD654"},update:{confirm:"\uC5C5\uB370\uC774\uD2B8"},cache:{title:"{{label}} \uC0AD\uC81C",message:"{{label}}({{size}})\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4. \uACC4\uC18D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?"}},saved:"\u2713 \uC800\uC7A5\uB428",account:{title:"\uACC4\uC815",delete:{sub:"\uD0C8\uD1F4 \uD6C4 30\uC77C \uC774\uB0B4 \uC7AC\uAC00\uC785 \uC2DC \uBCF5\uAD6C \uAC00\uB2A5\uD569\uB2C8\uB2E4."}}},wf={addButton:"\uC774\uC6A9\uAD8C \uCD94\uAC00\uD558\uAE30",couponButton:"\uCFE0\uD3F0 \uC785\uB825",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",segment:{personal:"\uB9D0\uADC0",org:"\uB9D0\uADC0\uB9E4\uB2C8\uC800"},org:{title:"\uD604\uC7AC \uC774\uC6A9\uAD8C",disc:"\uAE30\uAD00\uC5D0\uC11C \uC0AC\uC6A9 \uC911\uC778 \uC774\uC6A9\uAD8C \uC815\uBCF4\uC785\uB2C8\uB2E4.",empty:"\uB4F1\uB85D\uB41C \uAE30\uAD00 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",fallbackTitle:"\uAE30\uAD00 \uC774\uC6A9\uAD8C",startDate:"\uC2DC\uC791\uC77C",endDate:"\uB9CC\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04",duration:"\uC774\uC6A9 \uAE30\uAC04"},active:{infoTitle:"\uC774\uC6A9 \uC815\uBCF4",refund:"\uD658\uBD88 \uC694\uCCAD",startDate:"\uC0AC\uC6A9 \uC2DC\uC791\uC77C",endDate:"\uC885\uB8CC\uC77C",remaining:"\uB0A8\uC740 \uAE30\uAC04"},pending:{title:"\uBCF4\uC720",empty:"\uB300\uAE30 \uC911\uC778 \uC774\uC6A9\uAD8C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."}},Bf={profile:{planSuffix:"\uD50C\uB79C",plan:"\uD50C\uB79C"},basicInfo:{name:{placeholder:"\uD64D\uAE38\uB3D9"}},security:{title:"\uBCF4\uC548",password:{label:"\uBE44\uBC00\uBC88\uD638",currentRequired:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",newRequired:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",mismatch:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",changed:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},twoFactor:{label:"2\uB2E8\uACC4 \uC778\uC99D",sub:"\uACC4\uC815 \uBCF4\uC548\uC744 \uAC15\uD654\uD558\uC138\uC694"}}},Af={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},kf={settings:"\uC124\uC815",start:{title:"\uB2E8\uC5B4\uD6C8\uB828 \uC2DC\uC791",description:"\uC544\uB798 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD574 \uC2DC\uC791\uD558\uC138\uC694"},difficulty:{tooltip:"\uAC00\uC7A5 \uC26C\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uBB34\uC791\uC704', \uAC00\uC7A5 \uC5B4\uB824\uC6B4 \uB09C\uC774\uB3C4\uB294 '\uCD08\uC131\uCC28\uC774' \uC785\uB2C8\uB2E4."},contrast:{label:"\uB300\uB9BD",type:"\uB300\uB9BD \uC885\uB958",count:"\uB300\uB9BD \uAC2F\uC218",n:"{{n}}\uAC1C"},filter:{random:"\uBB34\uC791\uC704",trainOnset:"\uCD08\uC131",trainVowel:"\uBAA8\uC74C",trainCoda:"\uC885\uC131",phonemeGroup:"\uD6C8\uB828 \uC74C\uC808",noLimit:"\uBB34\uAD00",codaExclude:"\uC81C\uC678",gradeLabel:"\uB4F1\uAE09",excludeImageInfo:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC: \uB2E8\uC5B4 \uC911\uC5D0 \uC774\uBBF8\uC9C0\uAC00 \uC788\uB294 \uB2E8\uC5B4\uB9CC \uACB0\uACFC\uC5D0 \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.",sameStructureInfo:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC: \uC815\uB2F5\uACFC \uC624\uB2F5\uC758 \uC74C\uC808 \uAD6C\uC870(\uAE00\uC790 \uC218\xB7\uBC1B\uCE68 \uC720\uBB34 \uB4F1)\uAC00 \uAC19\uC740 \uACB0\uACFC\uB9CC \uB0A8\uACA8\uC694.",selectSection:"\uC120\uD0DD",excludeImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",sameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},noQuestions:"\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",countQuestions:"{{n}}\uBB38\uC81C",countSentences:"{{n}}\uBB38\uC7A5",comingSoon:"\uC900\uBE44 \uC911",nextQuestion:"\uB2E4\uC74C \uBB38\uC81C",noiseRatioTitle:"\uC18C\uC74C \uBE44\uC728",noiseRatioValue:"{{ratio}}\uBC30",noiseTypeTitle:"\uC18C\uC74C \uC885\uB958",playVolumeTitle:"\uC804\uCCB4 \uC18C\uB9AC",playSpeedTitle:"\uC7AC\uC0DD \uC18D\uB3C4",meter:{sentence:"\uC7AC\uC0DD",noise:"\uC18C\uC74C",toggle:"\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"},viewResult:"\uACB0\uACFC\uBCF4\uAE30",problemNotice:"{{n}}\uBC88 \uBB38\uC81C \uC785\uB2C8\uB2E4.",trainingSettingsTitle:"\uD6C8\uB828 \uC124\uC815",sentencePreview:"\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30",notHeard:"\uC548 \uB4E4\uB838\uC5B4\uC694.",heardWell:"\uC798 \uB4E4\uB838\uC5B4\uC694.",confirmTitle:"\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694.",noSoundWaveform:"\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",noise:{level:{none:"\uC5C6\uC74C",weak:"\uC57D\uD568",medium:"\uBCF4\uD1B5",strong:"\uAC15\uD568",veryStrong:"\uB9E4\uC6B0 \uAC15\uD568"},type:{none:"\uC5C6\uC74C",default:"\uAE30\uBCF8",street:"\uAE38\uAC70\uB9AC",buzz:"\uC640\uAE00\uC640\uAE00",restaurant:"\uC2DD\uB2F9"}},listenTitle:"\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694.",listenButton:"\uBB38\uC7A5 \uB4E3\uAE30",playSound:"\uC18C\uB9AC \uB4E3\uAE30",playAll:"\uBAA8\uB450 \uB4E3\uAE30",selectInOrder:"\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",stop:"\uC815\uC9C0",preview:"\uBBF8\uB9AC \uB4E3\uAE30",previewFor:"{{name}} \uBBF8\uB9AC \uB4E3\uAE30",stopFor:"{{name}} \uC815\uC9C0",next:"\uB2E4\uC74C",completed:"\uD6C8\uB828 \uC644\uB8CC",selected:"\uC120\uD0DD\uB428",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD",fontSizeMin:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.",fontSizeMax:"\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.",fontSizeDecrease:"\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C",fontSizeIncrease:"\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00",toggleBackground:"\uBC30\uACBD \uC804\uD658",cardInstructions:"\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694.",noCards:"\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",audioFetchError:"\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",ttsUnavailable:"\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",selectConfirm:"\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694.",orderListDefault:"\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694.",result:{pendingDone:"\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",eyebrow:"\uD6C8\uB828 \uC644\uB8CC",title:"\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.",scoreAria:"{{correct}} / {{total}} \uBB38\uD56D",elapsed:"\uC18C\uC694 \uC2DC\uAC04",summary:"{{correct}}\uAC1C\uC758 \uBB38\uD56D\uC744 \uC798 \uB4E4\uC5C8\uC2B5\uB2C8\uB2E4.",tableAriaLabel:"\uBB38\uD56D\uBCC4 \uD310\uC815",colJudge:"\uD310\uC815",colAnswerSelected:"\uC815\uB2F5 \xB7 \uC120\uD0DD",colAnswer:"\uC815\uB2F5",colSelected:"\uC120\uD0DD",heardWell:"\uC798 \uB4E4\uC5C8\uC5B4\uC694",notHeard:"\uBABB \uB4E4\uC5C8\uC5B4\uC694",notJudged:"\uBBF8\uD310\uC815",replay:"\uB2E4\uC2DC\uD558\uAE30",done:"\uC644\uB8CC",viewResult:"\uACB0\uACFC \uD655\uC778",noContent:"(\uB0B4\uC6A9\uC5C6\uC74C)"},up:"\uC704\uB85C",down:"\uC544\uB798\uB85C",prev:"\uC774\uC804",listenLabel:"\uBB38\uC7A5 \uB4E3\uAE30",sourcePlay:"\uC18C\uC2A4 {{n}} \uC7AC\uC0DD",listen:"\uB4E3\uAE30",audioStatus:{idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"}},Nf={totalCount:"\uAC1C\uC758 \uD6C8\uB828 \uBB36\uC74C",renameGroup:"\uADF8\uB8F9 \uC774\uB984 \uBC14\uAFB8\uAE30",itemCount:"\uD6C8\uB828 \uAC1C\uC218",menu:{edit:"\uD6C8\uB828 \uBB36\uC74C \uC218\uC815",rename:"\uC774\uB984 \uBC14\uAFB8\uAE30",move:"\uADF8\uB8F9 \uC774\uB3D9",duplicate:"\uD6C8\uB828 \uBB36\uC74C \uBCF5\uC0AC",publish:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30"},sort:{customers:"\uD6C8\uB828 \uACE0\uAC1D"},copyLink:"\uB9C1\uD06C \uBCF5\uC0AC",removeLink:"\uB9C1\uD06C \uC81C\uAC70",linkRemoved:"\uB9C1\uD06C\uAC00 \uC81C\uAC70\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",linkSaveFirst:"\uBA3C\uC800 \uD6C8\uB828 \uBB36\uC74C\uC744 \uC800\uC7A5\uD574\uC8FC\uC138\uC694.",linkSaveFirstHint:"\uC800\uC7A5\uB41C \uD6C8\uB828 \uBB36\uC74C\uC5D0\uC11C\uB9CC \uACF5\uC720 \uB9C1\uD06C\uB97C \uC0DD\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",linkCopySelect:"\uBCF5\uC0AC\uAC00 \uB9C9\uD600 \uB9C1\uD06C\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4. Ctrl/\u2318+C\uB85C \uBCF5\uC0AC\uD558\uC138\uC694.",nameRequired:"\uD6C8\uB828 \uBB36\uC74C \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694.",itemRequired:"\uD6C8\uB828\uC744 1\uAC1C \uC774\uC0C1 \uB2F4\uC544\uC8FC\uC138\uC694.",randomAdd:"\uBB34\uC791\uC704 \uCD94\uAC00"},Df={totalCount:"\uBA85\uC758 \uACE0\uAC1D",loadError:"\uBAA9\uB85D\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",basicInfo:{editTooltip:"\uC218\uC815\uD558\uAE30"},member:{placeholder:"\uC774\uBA54\uC77C \uB610\uB294 \uC804\uD654",link:"\uC5F0\uACB0",linking:"\uC5F0\uACB0 \uC911\u2026"},device:{title:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30",addTooltip:"\uC0C8\uB85C \uC0DD\uC131",addButton:"\uAE30\uAE30 \uCD94\uAC00",listTooltip:"\uBAA9\uB85D \uBCF4\uAE30",listTitle:"\uCE21 \uAE30\uAE30 \uBAA9\uB85D",historyEmpty:"\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",wearing:"\uCE21 \uCC29\uC6A9\uC911",notRegistered:"\uBBF8\uB4F1\uB85D",unit:"\uAC1C",wearingNow:"\uCC29\uC6A9",wear:"\uCC29\uC6A9",unwear:"\uCC29\uC6A9 \uD574\uC81C",wornSince:"{{date}}\uBD80\uD130",release:"\uD574\uC81C",historyTitle:"\uCCAD\uAC01\uC7AC\uD65C\uAE30\uAE30 \uC774\uB825"},schedule:{title:"\uBC29\uBB38 \uC608\uC815",addTooltip:"\uC608\uC815 \uB4F1\uB85D",listTooltip:"\uC804\uCCB4 \uBCF4\uAE30",empty:"\uC608\uC815\uB41C \uBC29\uBB38\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",registerTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC608\uC815 \uB4F1\uB85D",memoPlaceholder:"\uBC29\uBB38 \uC608\uC815 \uAD00\uB828 \uBA54\uBAA8\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694."},visitHistory:{title:"\uBC29\uBB38 \uC774\uB825",addTooltip:"\uC2E0\uADDC \uB4F1\uB85D",empty:"\uC544\uC9C1 \uBC29\uBB38 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",popupTitle:" \uACE0\uAC1D\uB2D8 \uBC29\uBB38 \uC774\uB825",registerTitle:" \uACE0\uAC1D\uB2D8 \uC2E0\uADDC \uBC29\uBB38 \uB4F1\uB85D"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uC0C1\uD669",active:"\uD65C\uC131",inactive:"\uBE44\uD65C\uC131",copy:"\uB9C1\uD06C \uBCF5\uC0AC",copied:"\uB9C1\uD06C\uAC00 \uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},moreItems:"\uB354 \uC788\uC74C",viewAll:"\uC804\uCCB4 \uBCF4\uAE30",visits:{title:"\uBC29\uBB38"},trainingRecord:{title:"\uACE0\uAC1D \uD6C8\uB828 \uAE30\uB85D"},status:{trainingSubtitle:"\uD6C8\uB828 \uD604\uD669"},detail:{session:{completedFmt:"\uC644\uB8CC {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:"\uC758 \uBC29\uBB38"},duration:{minSec:"{{m}}\uBD84 {{s}}\uCD08",min:"{{m}}\uBD84",sec:"{{s}}\uCD08"}},Ef={plan:{recommendedFor:"\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.",features:"\uD575\uC2EC \uAE30\uB2A5",freePrice:"\uBB34\uB8CC",contact:"\uBB38\uC758\uD558\uAE30",tierFallback:"\uC774\uC6A9\uAD8C",openPromo:"\uC624\uD508 \uD2B9\uAC00"},products:{mgrEnterprise:{tier:{price:"\uBB38\uC758"}}}},Sf={title:"\uCFE0\uD3F0",subtitle:"\uCFE0\uD3F0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uAC70\uB098 \uBCF4\uC720 \uCFE0\uD3F0\uC744 \uD655\uC778\uD558\uC138\uC694.",input:{label:"\uCFE0\uD3F0 \uCF54\uB4DC",placeholder:"\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"},applyButton:"\uC801\uC6A9",error:{invalid:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uCFE0\uD3F0 \uCF54\uB4DC\uC785\uB2C8\uB2E4.",alreadyUsed:"\uC774\uBBF8 \uC0AC\uC6A9\uB41C \uCFE0\uD3F0\uC785\uB2C8\uB2E4."},success:{applied:'"{{name}}" \uCFE0\uD3F0\uC774 \uC801\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.'},section:{owned:"\uBCF4\uC720 \uCFE0\uD3F0"},status:{used:"\uC0AC\uC6A9 \uC644\uB8CC",available:"\uC0AC\uC6A9 \uAC00\uB2A5"}},jf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},Tf={subtitle:"\uC5C5\uCCB4 \uBC0F \uBC95\uC778 \uC815\uBCF4\uB97C \uAD00\uB9AC\uD558\uC138\uC694.",editButton:"\uC815\uBCF4 \uC218\uC815",basicInfo:{title:"\uAE30\uBCF8 \uC815\uBCF4"},contactInfo:{title:"\uC5F0\uB77D\uCC98 \uC815\uBCF4"}},Mf={title:"\uD6C8\uB828\uBCC4 \uB4E3\uAE30",subtitle:"\uC6D0\uD558\uB294 \uD6C8\uB828 \uC720\uD615\uC744 \uC120\uD0DD\uD558\uC138\uC694.",listenInNoise:{title:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},shortStory:{title:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uC774\uD574\uD569\uB2C8\uB2E4."},longStory:{title:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uC9D1\uC911\uD574\uC11C \uB4E3\uACE0 \uB0B4\uC6A9\uC744 \uD30C\uC545\uD569\uB2C8\uB2E4."},orderingSentence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uB4E4\uC740 \uBB38\uC7A5\uB4E4\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD569\uB2C8\uB2E4."},SAME_SOUND_PICK:{label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},SAME_OR_DIFF:{label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",sub:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},HEAR_AND_PICK_SAME:{label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},HEAR_AND_PICK_INCLUDED:{label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},STARTS_WITH_SAME_SOUND:{label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",sub:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."},LISTEN_AND_REMEMBER_ORDER:{label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",sub:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."},MERGE_2_SYLLABLES:{label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_SYLLABLES:{label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},MERGE_2_PHONEMES:{label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",sub:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},MERGE_3_PHONEMES:{label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",sub:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_1_FROM_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uD0C8\uB77D",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},DROP_PART_FROM_COMPOUND:{label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84 \uD0C8\uB77D",sub:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",sub:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",sub:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"},CHANGE_1_SYLL_IN_2SYLL:{label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_SYLL_IN_3SYLL:{label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",sub:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_1SYLL:{label:"1\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},CHANGE_1_PHONEME_IN_2SYLL:{label:"2\uC74C\uC808 \uB2E8\uC5B4 \uC911 1\uAC1C \uC74C\uC18C \uBC14\uAFB8\uAE30",sub:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}},Lf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},$f={colName:"\uB2E8\uC5B4\uD45C \uC774\uB984",open:"\uC5F4\uAE30",countSuffix:"\uAC1C\uC758 \uB2E8\uC5B4\uD45C",tab:{cards:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",tables:"\uB2E8\uC5B4\uD45C"},cardsEmpty:"\uC544\uC9C1 \uB9CC\uB4E0 \uB2E8\uC5B4\uD45C \uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",addCard:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC \uCD94\uAC00",menu:{publishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uC62C\uB9AC\uAE30",unpublishStore:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0\uC11C \uB0B4\uB9AC\uAE30"},newBadge:"\uC0C8\uB85C \uB9CC\uB4E0 \uD45C",publishedBadge:"\uBC1C\uD589\uB428",sharedBadge:"\uACF5\uC720 \uC911"},Rf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Pf={defaultName:"\uB2E8\uC5B4 \uD45C",title:"\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30",subtitle:"\uCE78\uC744 \uC124\uC815\uD558\uACE0 \uB2E8\uC5B4\uB97C \uCD94\uAC00\uD558\uC5EC \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4.",filterTitle:"\uD45C \uC124\uC815",filter:{composition:"\uAD6C\uC131",image:"\uC774\uBBF8\uC9C0",word:"\uB2E8\uC5B4",standardPron:"\uD45C\uC900 \uBC1C\uC74C",colloquialPron:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",paperOrientation:"\uC6A9\uC9C0 \uBC29\uD5A5",landscape:"\uAC00\uB85C",portrait:"\uC138\uB85C",columns:"\uCE78 \uC218",column:"{{count}}\uCE78",itemsPerPageWord:"\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218",itemsPerPagePair:"\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218",itemsPerPageOption:"{{count}}\uAC1C",pageIndicator:"{{current}} / {{total}}",pageNumber:"\uD398\uC774\uC9C0 \uBC88\uD638",pageNumberLeft:"\uC67C\uCABD",pageNumberCenter:"\uC911\uC559",pageNumberRight:"\uC624\uB978\uCABD",border:"\uC678\uACFD\uC120",topInfo:"\uC0C1\uB2E8 \uC815\uBCF4",bottomInfo:"\uD558\uB2E8 \uC815\uBCF4",cutLine:"\uC808\uCDE8\uC120",show:"\uD45C\uC2DC",hide:"\uBBF8\uD45C\uC2DC",dotted:"\uC810\uC120",corner:"\uCF54\uB108"},addWord:"\uCD94\uAC00\uD558\uAE30",wordInfo:"{{word}} \uB0B1\uB9D0 \uC815\uBCF4",emptyItems:"\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694.",load:"\uBD88\uB7EC\uC624\uAE30",openNewWindow:"\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30",saveButton:"\uC800\uC7A5\uD558\uAE30",saveAsNewButton:"\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5",print:"\uC778\uC1C4\uD558\uAE30",popupBlocked:"\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694.",printFileNameSingle:"\uB2E8\uC5B4\uD45C",printFileNamePair:"\uB300\uB9BD\uC30D\uD45C",save:{title:"\uB2E8\uC5B4\uD45C \uC800\uC7A5\uD558\uAE30",nameLabel:"\uC774\uB984",desc:"\uC800\uC7A5\uD560 \uB2E8\uC5B4 \uD45C\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694.",placeholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694.",descriptionLabel:"\uC124\uBA85",descriptionPlaceholder:"\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694.",duplicateName:"\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4.",nameRequired:"\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.",autoFillHint:" (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)",copyName:"{{name}} (\uBCF5\uC0AC)"},loadTable:{title:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C \uBD88\uB7EC\uC624\uAE30",empty:"\uC800\uC7A5\uB41C \uB2E8\uC5B4 \uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",loadButton:"\uBD88\uB7EC\uC624\uAE30",itemCount:"{{count}}\uAC1C",deleteAriaLabel:"{{name}} \uC0AD\uC81C",viewLabel:"\uBCF4\uAE30 \uBC29\uC2DD",sortLabel:"\uC815\uB82C",sort:{newest:"\uCD5C\uC2E0\uC21C",oldest:"\uC624\uB798\uB41C\uC21C",name:"\uC774\uB984\uC21C",count:"\uB2E8\uC5B4 \uC218"},view:{grid:"\uD45C\uB85C \uBCF4\uAE30",list:"\uB9AC\uC2A4\uD2B8\uB85C \uBCF4\uAE30"}},publisherFilter:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30",groupDeleteMessage:"\uADF8\uB8F9 \uB0B4 \uB2E8\uC5B4\uD45C\uB294 '\uADF8\uB8F9 \uC5C6\uC74C'\uC73C\uB85C \uC774\uB3D9\uD569\uB2C8\uB2E4.",groupNamePlaceholder:"\uADF8\uB8F9 \uC774\uB984",store:{badge:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"},card:{sub:"\uB2E8\uC5B4\uD45C \uCE74\uB4DC",empty:"\uC774 \uCE74\uB4DC\uC5D0 \uB2E8\uC5B4\uD45C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},toast:{renameError:"\uC774\uB984 \uBCC0\uACBD\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveError:"\uC800\uC7A5\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",deleteError:"\uC0AD\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",duplicateError:"\uBCF5\uC81C\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4",saveSuccess:"\uB2E8\uC5B4\uD45C\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},scoring:{o:"{{word}} \uB9DE\uC74C",triangle:"{{word}} \uC560\uB9E4",x:"{{word}} \uD2C0\uB9BC",markName:{o:"\uB9DE\uC74C",triangle:"\uC560\uB9E4",x:"\uD2C0\uB9BC"},button:"\uCC44\uC810\uD558\uAE30",pickTitle:"\uB204\uAD6C\uB97C \uCC44\uC810\uD560\uAE4C\uC694?",pickSubtitle:"\u2018{{name}}\u2019 \uD45C\uB85C \uD6C8\uB828\uD55C \uACE0\uAC1D\uC744 \uACE0\uB974\uC138\uC694.",pickSearch:"\uC774\uB984 \uB610\uB294 \uC804\uD654\uBC88\uD638\uB85C \uCC3E\uAE30",pickEmpty:"\uB4F1\uB85D\uB41C \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickNoMatch:"\uCC3E\uB294 \uACE0\uAC1D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",pickAgain:"\uACE0\uAC1D \uB2E4\uC2DC \uACE0\uB974\uAE30",scoringFor:"{{name}} \uB2D8 \uCC44\uC810 \uC911",none:"\uCE78 \uC544\uB798 \u25CB \xB7 \u25B3 \xB7 \u2715 \uB97C \uB20C\uB7EC \uB9E4\uAE30\uC138\uC694. \uB9C8\uC6B0\uC2A4\uB85C\uB294 \uCE78\uC5D0 \uC190\uC744 \uC5B9\uC73C\uBA74, \uC790\uD310\uC73C\uB85C\uB294 \uCE78\uC5D0 \uCD08\uC810\uC774 \uAC00\uBA74 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.",tally:"{{marked}}\uCE78 \uCC44\uC810 \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 \uC815\uB2F5\uB960 {{rate}}%",save:"\uCC44\uC810 \uC800\uC7A5",saved:"{{name}} \uB2D8\uC758 \uCC44\uC810 {{count}}\uCE78\uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4.",reviewTitle:"\uBCF5\uC2B5\uD45C\uB97C \uB9CC\uB4E4\uAE4C\uC694?",reviewMessage:"{{name}} \uB2D8\uC774 \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC73C\uB85C \uC0C8 \uD45C\uB97C \uB9CC\uB4ED\uB2C8\uB2E4. \uB9DE\uD78C \uCE78\uC740 \uBE60\uC9D1\uB2C8\uB2E4.",reviewConfirm:"\uBCF5\uC2B5\uD45C \uB9CC\uB4E4\uAE30",reviewDescription:"\u2018{{name}}\u2019 \uCC44\uC810\uC5D0\uC11C \uD2C0\uB9AC\uAC70\uB098 \uC560\uB9E4\uD588\uB358 {{count}}\uCE78\uC744 \uBAA8\uC740 \uD45C\uC785\uB2C8\uB2E4.",reviewCreated:"\u2018{{name}}\u2019\uC744(\uB97C) \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 {{count}}\uCE78.",discardTitle:"\uB9E4\uAE34 \uCC44\uC810\uC744 \uBC84\uB9B4\uAE4C\uC694?",discardMessage:"{{count}}\uCE78\uC744 \uB9E4\uACBC\uC9C0\uB9CC \uC544\uC9C1 \uC800\uC7A5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB098\uAC00\uBA74 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",discardConfirm:"\uBC84\uB9AC\uACE0 \uB098\uAC00\uAE30"},info:{grade:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808",pos:"\uD488\uC0AC: {{v}}",wordType:"\uC720\uD615: {{v}}"},pos:{noun:"\uBA85\uC0AC",verb:"\uB3D9\uC0AC",adjective:"\uD615\uC6A9\uC0AC",adverb:"\uBD80\uC0AC",numeral:"\uC218\uC0AC",determiner:"\uAD00\uD615\uC0AC",interjection:"\uAC10\uD0C4\uC0AC",particle:"\uC870\uC0AC",affix:"\uC811\uC0AC",dependentNoun:"\uC758\uC874\uBA85\uC0AC",pronoun:"\uB300\uBA85\uC0AC",auxVerb:"\uBCF4\uC870\uB3D9\uC0AC",auxAdjective:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},reorder:{moved:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40",handle:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)",hint:"Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"}},Ff={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB2E8\uC5B4\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},filterTitle:"\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815",filter:{positionAny:"\uBB34\uAD00",positionHead:"\uC5B4\uB450",positionMid:"\uC5B4\uC911",positionTail:"\uC5B4\uB9D0",difficulty:"\uB4F1\uAE09",grade:"{{n}}\uB4F1\uAE09",gradeNone:"\uC5C6\uC74C",syllables:"\uC74C\uC808 \uC218",syllable:"{{n}}\uC74C\uC808",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",pos:{noun:"\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)",verb:"\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)",modifier:"\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)"},wordType:"\uC720\uD615",type:{native:"\uACE0\uC720\uC5B4",sino:"\uD55C\uC790\uC5B4",foreign:"\uC678\uB798\uC5B4",mixed:"\uD63C\uC885\uC5B4"},exclude:"\uC81C\uC678",excludeNoImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"},searchButton:"\uAC80\uC0C9\uD558\uAE30",resultUnit:"\uB2E8\uC5B4",remaining:"{{count}}\uAC1C \uB0A8\uC74C",resultDisc:"\uC6D0\uD558\uB294 {{unit}} \uC120\uD0DD\uD558\uC138\uC694. {{max}}\uAC1C\uAE4C\uC9C0 \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. ({{selected}}/{{max}})",resultTitlePrefix:"\uCD1D ",resultTitleSuffix:"\uAC1C\uC758 {{unit}} \uAC80\uC0C9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",emptyResult:"\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",groupCount:"{{count}}\uAC1C",sort:{aria:"\uC815\uB82C",match:"\uC2DC\uC791 \uC6B0\uC120",ganada:"\uAC00\uB098\uB2E4\uC21C \u2191",ganadaDesc:"\uAC00\uB098\uB2E4\uC21C \u2193",syllable:"\uC74C\uC808 \uC218 \u2191",syllableDesc:"\uC74C\uC808 \uC218 \u2193",grade:"\uB4F1\uAE09\uC21C \u2191",gradeDesc:"\uB4F1\uAE09\uC21C \u2193",original:"\uBC1B\uC740 \uC21C\uC11C"},pageSize:"{{count}}\uAC1C\uC529 \uBCF4\uAE30",pageSizeAria:"\uD398\uC774\uC9C0 \uD06C\uAE30",popup:{title:"{{n}}\uBC88 \uCE78\uC5D0 \uB123\uC744 \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uC138\uC694"}},If={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Of={title:"\uC8FC\uC81C\uBCC4 \uB4E3\uAE30",subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uACE0 \uB4E3\uAE30 \uD6C8\uB828\uC744 \uC2DC\uC791\uD558\uC138\uC694.",noiseTitle:"\uC18C\uC74C \uD558 \uBB38\uC7A5\uB4E3\uAE30",shortStoryTitle:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",FOOD:"\uC74C\uC2DD",HLTH:"\uAC74\uAC15",WETH:"\uB0A0\uC528",PRSN:"\uC778\uBB3C",KRCT:"\uD55C\uAD6D\uBB38\uD654",STRY:"\uC774\uC57C\uAE30",LOCA:"\uC9C0\uC5ED",SOAR:"\uC0AC\uD68C\uC640 \uC608\uC220",NTSC:"\uC790\uC5F0\uACFC \uACFC\uD559",SPRT:"\uC2A4\uD3EC\uCE20",sub:{TRKRFD:"\uD55C\uAD6D \uC804\uD1B5\uC74C\uC2DD",MDKRFD:"\uD55C\uAD6D \uD604\uB300\uC74C\uC2DD",WRLDFD:"\uC138\uACC4\uC758 \uC74C\uC2DD",MTRFRT:"\uC2DD\uC7AC\uB8CC\uC640 \uACFC\uC77C",GEFDKL:"\uC74C\uC2DD \uC0C1\uC2DD",HTETHB:"\uAC74\uAC15\uD55C \uC2DD\uC2B5\uAD00",DISILL:"\uBCD1\uACFC \uC9C8\uD658",EXCISE:"\uC6B4\uB3D9",GEHTKL:"\uAC74\uAC15\uC0C1\uC2DD",GESSKL:"\uACC4\uC808\uC0C1\uC2DD",SNWRAN:"\uB208\uACFC \uBE44",WTHFCT:"\uC77C\uAE30\uC608\uBCF4",GEWTKL:"\uB0A0\uC528\uC0C1\uC2DD",JODYPS:"\uC870\uC120\uC2DC\uB300",MDKRPS:"\uD55C\uAD6D \uADFC\uD604\uB300",THKDPS:"\uC0BC\uAD6D\uC2DC\uB300",WRLART:"\uC138\uACC4\uC758 \uC608\uC220\uAC00",WRLPSN:"\uC138\uACC4\uC758 \uC778\uBB3C",KRLANG:"\uC6B0\uB9AC\uB9D0",TRPLCT:"\uC804\uD1B5\uB180\uC774",HERITG:"\uBB38\uD654\uC7AC",EVTFES:"\uD589\uC0AC\uC640 \uCD95\uC81C",GECTKL:"\uC0C1\uC2DD",FRYTAL:"\uB3D9\uD654",AMZING:"\uC2E0\uAE30\uD55C \uC774\uC57C\uAE30",DAYSTR:"\uC77C\uC0C1 \uC18D \uC774\uC57C\uAE30",KRLDMK:"\uD55C\uAD6D\uC758 \uBA85\uC18C",SELNMK:"\uC11C\uC6B8\uC758 \uBA85\uC18C",WRDTRB:"\uC138\uACC4\uC5EC\uD589",NAVIGT:"\uAE38 \uCC3E\uAE30",KRSOCI:"\uD55C\uAD6D",ECONEW:"\uACBD\uC81C\uC640 \uB274\uC2A4",GENART:"\uC608\uC220",GELFKL:"\uC0DD\uD65C \uC0C1\uC2DD",ANIMAL:"\uB3D9\uBB3C",PLANTS:"\uC2DD\uBB3C",ETHPLT:"\uC9C0\uAD6C",TOLELC:"\uB3C4\uAD6C\uC640 \uC804\uC790\uC81C\uD488",GESCKL:"\uACFC\uD559\uC0C1\uC2DD",INVDSP:"\uAC1C\uC778\uACBD\uAE30",MARART:"\uACA9\uD22C\uAE30",TEAMSP:"\uB2E8\uCCB4\uACBD\uAE30",FOOTBL:"\uCD95\uAD6C",GESPKL:"\uC2A4\uD3EC\uCE20 \uC0C1\uC2DD"}},Hf={maxUses:"\uCD5C\uB300 \uC0AC\uC6A9 \uD69F\uC218 (\uBE44\uC6CC\uB450\uBA74 \uBB34\uC81C\uD55C)",redirect:"\uC774\uB3D9\uD560 \uD398\uC774\uC9C0 URL (\uBE44\uC6CC\uB450\uBA74 \uC571 \uBA54\uC778)",creating:"\uC0DD\uC131 \uC911\u2026",create:"\uB9C1\uD06C \uC0DD\uC131",created:"\u2713 \uB9C1\uD06C\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4",copied:"\uBCF5\uC0AC\uB428!",copy:"\uBCF5\uC0AC",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",empty:"\uC0DD\uC131\uB41C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",uses:"{{count}}\uD68C \uC0AC\uC6A9",expiresAt:"\uB9CC\uB8CC: {{date}}",createdAt:"\uC0DD\uC131: {{date}}",confirmDelete:"\uC0AD\uC81C\uD560\uAE4C\uC694?",deactivate:"\uBE44\uD65C\uC131\uD654",delete:"\uC0AD\uC81C",status:{active:"\uC720\uD6A8",expired:"\uB9CC\uB8CC",inactive:"\uBE44\uD65C\uC131"}},zf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Vf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},Wf={direction:{left:"\uC88C",right:"\uC6B0",label:"\uBC29\uD5A5"},wornDate:"\uCC29\uC6A9\uC77C",deviceType:"\uC885\uB958",brand:"\uBE0C\uB79C\uB4DC",fitType:"\uCC29\uC6A9\uD615\uD0DC",productName:"\uC81C\uD488\uBA85",validationError:{brandAndProduct:"\uBE0C\uB79C\uB4DC\uC640 \uC81C\uD488\uBA85\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."},addNew:"\uC0C8 \uAE30\uAE30 \uCD94\uAC00",selectFromList:"\uBAA9\uB85D\uC5D0\uC11C \uC120\uD0DD",removeDevice:"\uCC29\uC6A9 \uD574\uC81C",type:{hearingAid:"\uBCF4\uCCAD\uAE30",cochlearImplant:"\uC778\uACF5\uC640\uC6B0"}},qf={stat:{totalCustomers:"\uCD1D \uACE0\uAC1D",monthlyVisits:"\uC774\uB2EC \uCD1D \uBC29\uBB38"},chart:{visitDetail:"\uC0C1\uC138 \uBC29\uBB38 \uD604\uD669",trainingDetail:"\uC0C1\uC138 \uD6C8\uB828 \uD604\uD669",weekly:"\uC8FC\uBCC4",daily:"\uC77C\uBCC4",periodMonth:"\uC6D4",periodWeek:"\uC8FC",weeklyPrefix:"\uC8FC\uAC04",monthlyPrefix:"\uC6D4\uAC04",visit:"\uBC29\uBB38",reservation:"\uC608\uC57D",trainingDone:"\uD6C8\uB828 \uC644\uB8CC",trainingInProgress:"\uD6C8\uB828 \uC911",weekRange:"{{start}}~{{end}}",week:"{{n}}\uC8FC"},subscriptionStatus:{active:"{{pct}}% \uD65C\uC131",expired:"{{pct}}% \uB9CC\uB8CC",unused:"{{pct}}% \uBBF8\uC0AC\uC6A9"}},Uf={editBanner:{message:"\uC800\uC7A5\uD558\uBA74 \uC9C0\uAE08 \uC218\uC815 \uC911\uC778 \uB300\uB9BD\uC30D\uD45C\uAC00 \uAC31\uC2E0\uB429\uB2C8\uB2E4."},phonemeSelect:{title:"\uC74C\uC18C \uC120\uD0DD",vs:"\uB300"},caution:"\uC720\uC758\uC0AC\uD56D",mode:{include:"\uC74C\uC18C \uD3EC\uD568",pick:"\uC74C\uC18C \uB300\uB9BD",contrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815",infoTitle:"\uB300\uB9BD \uBC29\uC2DD",infoInclude:"\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.",infoPick:"\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694.",infoContrast:"\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."},count:"{{n}}\uAC1C",countLabel:"\uC74C\uC18C \uAC1C\uC218",input:{char:"\uAE00\uC790 \uC120\uD0DD",pron:"\uBC1C\uC74C \uC120\uD0DD",infoTitle:"\uC785\uB825 \uBC29\uC2DD",infoChar:"\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.",infoPron:"\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."},phonemeN:"{{n}}\uBC88 \uC74C\uC808",phonemeSingleLabel:"\uC74C\uC808",phonemeContrastSingleLabel:"\uB300\uB9BD \uC74C\uC808",ordinals:["\uCCAB\uBC88\uC9F8","\uB450\uBC88\uC9F8","\uC138\uBC88\uC9F8","\uB124\uBC88\uC9F8"],phonemeOrdinalLabel:"{{ordinal}} \uC74C\uC808",phonemeContrastOrdinalLabel:"\uB300\uB9BD {{ordinal}} \uC74C\uC808",composition:"\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131",syllableCount:"\uC74C\uC808 \uC218",syllableN:"{{n}}\uC74C\uC808",syllableNPlus:"{{n}}\uC74C\uC808 \uC774\uC0C1",onset:"\uCD08\uC131",vowel:"\uBAA8\uC74C",coda:"\uC885\uC131",filter:{searchOptionsTitle:"\uB300\uB9BD \uC124\uC815",searchModeLabel:"\uB300\uB9BD \uBC29\uC2DD",countLabel:"\uC785\uB825 \uC74C\uC808 \uAC2F\uC218",inputModeLabel:"\uC785\uB825 \uBC29\uC2DD",phonemeOrder:"\uC785\uB825 \uC74C\uC808 \uC704\uCE58",phonemeOrderInfo:["\uC77C\uCE58: \uB300\uB9BD\uC30D\uC774 \uC815\uD655\uD788 \uAC19\uC740 \uC704\uCE58(\uC74C\uC808)\uC5D0\uC11C\uB9CC \uCC28\uC774 \uB098\uC57C \uB9E4\uCE6D\uB3FC\uC694.","\uBB34\uAD00: \uCC28\uC774 \uB098\uB294 \uC704\uCE58\uB294 \uC0C1\uAD00\uC5C6\uC774 \uB9E4\uCE6D\uB3FC\uC694."],orderAny:"\uBB34\uAD00",orderMatch:"\uC77C\uCE58",difficultyInfo:["1\uB4F1\uAE09 : \uD559\uB839\uC804\uAE30\uC5D0 \uC2B5\uB4DD\uD558\uC5EC \uD3C9\uC0DD\uC5D0 \uAC78\uCCD0 \uC77C\uC0C1 \uC5B8\uC5B4\uC0DD\uD65C\uC744 \uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uC5B4\uD718","2\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 1-2\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","3\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 3-4\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","4\uB4F1\uAE09 : \uCD08\uB4F1\uD559\uAD50 5-6\uD559\uB144 \uB09C\uC774\uB3C4 \uC5B4\uD718","\uB4F1\uAE09\uC5C6\uC74C : \uAD6D\uB9BD\uAD6D\uC5B4\uC6D0 \uD45C\uC900 \uC5B4\uD718 \uC678 \uACE0\uBE48\uB3C4 \uC0DD\uD65C \uC5B4\uD718, \uC2E0\uC870\uC5B4 \uBC0F \uC678\uB798\uC5B4"],selectLabel:"\uC120\uD0DD",onlyHasImage:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC",onlySameStructure:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"},searchLabel:{error:"\uB370\uC774\uD130 \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},confirmMessage:"\uC120\uD0DD\uD55C {{unit}} {{count}}\uAC1C\uB97C \uD3EC\uD568\uD55C \uB2E8\uC5B4 \uD45C \uC815\uBCF4\uAC00 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.",resetOptions:"\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654",phonemeContrast:"\uB300\uB9BD {{n}}\uBC88 \uC74C\uC808",infoNotes:["\uBBF8\uB9AC\uBCF4\uAE30 \uAE00\uC790\uB294 \uC120\uD0DD\uD55C \uC74C\uC18C\uC758 \uC870\uD569 \uC608\uC2DC\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uAC80\uC0C9\uC740 \uD574\uB2F9 \uC74C\uC18C\uAC00 \uD3EC\uD568\uB41C \uBAA8\uB4E0 \uB2E8\uC5B4\uB97C \uB300\uC0C1\uC73C\uB85C \uD569\uB2C8\uB2E4.","\uCD08\uC131 '\u3147'\uC740 \uC120\uD0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E8\uC5B4 \uC55E\uC5D0 \uC624\uB294 \u3147\uC740 \uC2E4\uC9C8\uC801\uC73C\uB85C \uBB34\uC74C\uC774\uC5B4\uC11C \uB300\uB9BD\uC30D \uC131\uB9BD\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.","\uCD08\uC131\uACFC \uC885\uC131\uB9CC \uC120\uD0DD\uD558\uBA74 \uBAA8\uC74C\uC740 '\u314F'\uB85C \uC790\uB3D9 \uD45C\uC2DC\uB429\uB2C8\uB2E4.","\uC74C\uC18C \uAC1C\uC218\uB97C \uB298\uB9AC\uBA74 \uAC01 \uC74C\uC18C \uC0AC\uC774\uC758 \uB300\uB9BD\uC30D\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4."]},Gf={sentenceTyping:{roundCount:"{{rounds}}\uBB38\uC81C \xB7 \uBB38\uC81C\uB2F9 {{timeLimit}}\uCD08"},wordDefense:{me:"\uB098"},dictation:{title:"\uBC1B\uC544\uC4F0\uAE30",desc:"\uBB38\uC7A5\uC744 \uB4E3\uACE0 \uC815\uD655\uD788 \uBC1B\uC544\uC801\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC131 \uC7AC\uC0DD, \uC785\uB825 \uD544\uB4DC, \uC815\uB2F5 \uBE44\uAD50"},result:{heading:"{{number}}\uB2E8\uACC4 \uD574\uB2F5",retry:"\uB2E4\uC2DC \uD480\uAE30"},common:{accuracy:"{{pct}}% \uC815\uD655\uB3C4"},soundMatch:{title:"\uC18C\uB9AC \uB9E4\uCE6D",desc:"\uAC19\uC740 \uC18C\uB9AC\uB97C \uAC00\uC9C4 \uB2E8\uC5B4 \uB610\uB294 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB9E4\uCE6D\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uD50C\uB808\uC774 \uBC84\uD2BC, \uD0C0\uC774\uBA38, \uC810\uC218 \uC9D1\uACC4"},orderSequence:{title:"\uBB38\uC7A5 \uC21C\uC11C\uD654",desc:"\uD769\uC5B4\uC9C4 \uBB38\uC7A5 \uC870\uAC01\uC744 \uC62C\uBC14\uB978 \uC21C\uC11C\uB85C \uBC30\uC5F4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uBB38\uC7A5 \uC138\uD2B8, \uC21C\uC11C \uD655\uC778 \uC778\uD130\uD398\uC774\uC2A4"},speedListen:{title:"\uC18D\uB3C4 \uB4E3\uAE30",desc:"\uC2DC\uAC04 \uC81C\uD55C \uB0B4\uC5D0 \uBB38\uC7A5\uC758 \uB2E8\uC5B4 \uC218\uB97C \uB9DE\uCD94\uB294 \uB3C4\uC804\uD615 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC81C\uD55C\uC2DC\uAC04, \uC810\uC218\uD310"},noiseChallenge:{title:"\uC18C\uC74C \uCC4C\uB9B0\uC9C0",desc:"\uBC30\uACBD \uC18C\uC74C \uC18D\uC5D0\uC11C \uBB38\uC7A5\uC744 \uBD84\uBCC4\uD558\uB294 \uC5F0\uC2B5\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB2E4\uC591\uD55C \uC18C\uC74C \uB808\uBCA8, \uC810\uC218 \uC9D1\uACC4"},fastListen:{title:"\uBE60\uB978 \uB4E3\uAE30",desc:"\uC9E7\uC740 \uBB38\uC7A5\uC744 \uBE60\uB974\uAC8C \uB4E4\uB824\uC8FC\uACE0 \uD575\uC2EC \uB2E8\uC5B4\uB97C \uC120\uD0DD\uD558\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uB09C\uC774\uB3C4\uBCC4 \uC18D\uB3C4, \uD0C0\uC774\uBA38"},shadowing:{title:"\uC250\uB3C4\uC789",desc:"\uBB38\uC7A5\uC744 \uB530\uB77C \uB9D0\uD558\uBA70 \uBC1C\uC74C\uACFC \uC5B5\uC591\uC744 \uC5F0\uC2B5\uD558\uB294 \uBAA8\uB4DC\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC7AC\uC0DD, \uB179\uC74C, \uBE44\uAD50 \uD53C\uB4DC\uBC31"},phonemeHunt:{title:"\uC74C\uC6B4 \uCC3E\uAE30",desc:"\uD2B9\uC815 \uC74C\uC6B4(\uBC1C\uC74C)\uC744 \uD3EC\uD568\uD55C \uB2E8\uC5B4\uB97C \uCC3E\uC544\uB0B4\uB294 \uAC8C\uC784\uC785\uB2C8\uB2E4.",comingSoon:"\uAD6C\uD604 \uC608\uC815: \uC74C\uC6B4 \uD544\uD130, \uD78C\uD2B8 \uAE30\uB2A5"}},Kf={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
848
848
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
849
|
-
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},d2={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},p2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},m2={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},h2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},C2={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},f2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},g2={ariaLabel:"\uC120\uD0DD \uD0ED"},b2={ariaLabel:"\uD0ED"},y2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},v2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},x2={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},_2={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",detailFor:"{{name}} \uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},w2={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},B2={manage:{unit:"\uAC74"}},A2={cancelLabel:"\uCDE8\uC18C"},k2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},N2={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},D2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},E2={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},S2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},j2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},T2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},M2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},L2={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},$2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},R2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},P2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},F2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},I2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},O2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},H2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},z2={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},V2={common:Df,calendar:Ef,passCard:Sf,searchField:jf,rating:Tf,colorPicker:Mf,dropdown:Lf,accordion:$f,header:Rf,nav:Pf,settings:Ff,usage:If,account:Of,help:Hf,training:zf,trainingSettings:Vf,customers:Wf,payment:qf,coupons:Uf,visits:Gf,company:Kf,trainingType:Yf,myWordTraining:Zf,myWordTable:Xf,keyWords:Jf,wordTable:Qf,wordSearch:e2,wordPrint:t2,topic:n2,accessLinkManager:a2,login:r2,trainingPlanRun:o2,device:s2,manager:i2,wordPairs:l2,game:u2,footer:c2,landing:d2,date:p2,trainingSetPage:m2,wordTrainingPreview:h2,wordData:C2,textField:f2,segmentedControl:g2,tabs:b2,fileUpload:y2,avatar:v2,myHomework:x2,trainingStatus:_2,store:w2,homework:B2,inquiry:A2,progress:k2,trainingMiss:N2,table:D2,wordScore:E2,topBanner:S2,datePicker:j2,report:T2,tooltip:M2,phonemeProfile:L2,bulkBar:$2,debug:R2,badge:P2,loader:F2,soundCompass:I2,breadcrumb:O2,board:H2,promoBannerBg:z2},W2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount_one:"{{count}} like",likeCount_other:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount_one:"{{count}} download",downloadCount_other:"{{count}} downloads",descriptionFor:"About {{name}}",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},q2={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount_one:"{{count}} visit",visitCount_other:"{{count}} visits",statusCount:"{{count}} {{label}}"},U2={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},G2={clearAriaLabel:"Clear search"},K2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Y2={selected:"selected"},Z2={placeholder:"Select"},X2={collapse:"Collapse",expand:"Expand"},J2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},Q2={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}",badgeInsideLabel_one:"{{label}}, {{count}} notification inside",badgeInsideLabel_other:"{{label}}, {{count}} notifications inside"},eg={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},tg={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},ng={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},ag={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},rg={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions_one:"{{n}} question",countQuestions_other:"{{n}} questions",countSentences_one:"{{n}} sentence",countSentences_other:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error",synthesizing:"Preparing the sound\u2026"}},og={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},sg={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},ig={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},lg={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},ug={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},cg={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},dg={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},pg={comingSoon:"Word training is coming soon."},mg={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},hg={title:"Key Words",empty:"No key words available."},Cg={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",topInfo:"Header",bottomInfo:"Footer",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount_one:"{{count}} word",itemCount_other:"{{count}} words",deleteAriaLabel:"Delete {{name}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"Incorrect"},button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse they appear when you hover the cell; with a keyboard, when focus reaches it.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved_one:"Saved {{count}} mark for {{name}}.",saved_other:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage_one:"Builds a new table from the {{count}} cell {{name}} got wrong or partial. Correct ones are left out.",reviewMessage_other:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated_one:"Created \u201C{{name}}\u201D \u2014 {{count}} cell.",reviewCreated_other:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage_one:"You marked {{count}} cell but have not saved. Leaving discards it.",discardMessage_other:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},fg={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},gg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},bg={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},yg={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses_one:"Used {{count}} time",uses_other:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},vg={passwordPlaceholder:"Enter password"},xg={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},_g={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},wg={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",countLabel:"Number of phonemes",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo1:"Level 1 \u2014 everyday vocabulary acquired before school age and used for life",difficultyInfo2:"Level 2 \u2014 difficulty of grades 1\u20132",difficultyInfo3:"Level 3 \u2014 difficulty of grades 3\u20134",difficultyInfo4:"Level 4 \u2014 difficulty of grades 5\u20136",difficultyInfo5:"No level \u2014 frequent everyday words outside the national standard list, plus coinages and loanwords",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},Bg={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},Ag={lead:`IHAB builds trust
|
|
849
|
+
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},Yf={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},Zf={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Xf={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},Jf={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},Qf={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},e2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},t2={ariaLabel:"\uC120\uD0DD \uD0ED"},n2={ariaLabel:"\uD0ED"},a2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},r2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},o2={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},s2={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",detailFor:"{{name}} \uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},i2={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},l2={manage:{unit:"\uAC74"}},u2={cancelLabel:"\uCDE8\uC18C"},c2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},d2={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},p2={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},m2={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},h2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},C2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},f2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},g2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},b2={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},y2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},v2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},x2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},_2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},w2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},B2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},A2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},k2={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},N2={common:pf,calendar:mf,passCard:hf,searchField:Cf,rating:ff,colorPicker:gf,dropdown:bf,accordion:yf,header:vf,nav:xf,settings:_f,usage:wf,account:Bf,help:Af,training:kf,trainingSettings:Nf,customers:Df,payment:Ef,coupons:Sf,visits:jf,company:Tf,trainingType:Mf,myWordTraining:Lf,myWordTable:$f,keyWords:Rf,wordTable:Pf,wordSearch:Ff,wordPrint:If,topic:Of,accessLinkManager:Hf,login:zf,trainingPlanRun:Vf,device:Wf,manager:qf,wordPairs:Uf,game:Gf,footer:Kf,landing:Yf,date:Zf,trainingSetPage:Xf,wordTrainingPreview:Jf,wordData:Qf,textField:e2,segmentedControl:t2,tabs:n2,fileUpload:a2,avatar:r2,myHomework:o2,trainingStatus:s2,store:i2,homework:l2,inquiry:u2,progress:c2,trainingMiss:d2,table:p2,wordScore:m2,topBanner:h2,datePicker:C2,report:f2,tooltip:g2,phonemeProfile:b2,bulkBar:y2,debug:v2,badge:x2,loader:_2,soundCompass:w2,breadcrumb:B2,board:A2,promoBannerBg:k2},D2={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount_one:"{{count}} like",likeCount_other:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount_one:"{{count}} download",downloadCount_other:"{{count}} downloads",descriptionFor:"About {{name}}",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},E2={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount_one:"{{count}} visit",visitCount_other:"{{count}} visits",statusCount:"{{count}} {{label}}"},S2={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},j2={clearAriaLabel:"Clear search"},T2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},M2={selected:"selected"},L2={placeholder:"Select"},$2={collapse:"Collapse",expand:"Expand"},R2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},P2={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}",badgeInsideLabel_one:"{{label}}, {{count}} notification inside",badgeInsideLabel_other:"{{label}}, {{count}} notifications inside"},F2={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},I2={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},O2={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},H2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},z2={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions_one:"{{n}} question",countQuestions_other:"{{n}} questions",countSentences_one:"{{n}} sentence",countSentences_other:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error",synthesizing:"Preparing the sound\u2026"}},V2={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},W2={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},q2={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},U2={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},G2={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},K2={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Y2={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},Z2={comingSoon:"Word training is coming soon."},X2={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},J2={title:"Key Words",empty:"No key words available."},Q2={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",topInfo:"Header",bottomInfo:"Footer",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount_one:"{{count}} word",itemCount_other:"{{count}} words",deleteAriaLabel:"Delete {{name}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"Incorrect"},button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse they appear when you hover the cell; with a keyboard, when focus reaches it.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved_one:"Saved {{count}} mark for {{name}}.",saved_other:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage_one:"Builds a new table from the {{count}} cell {{name}} got wrong or partial. Correct ones are left out.",reviewMessage_other:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated_one:"Created \u201C{{name}}\u201D \u2014 {{count}} cell.",reviewCreated_other:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage_one:"You marked {{count}} cell but have not saved. Leaving discards it.",discardMessage_other:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},eg={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",gradeNone:"None",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},tg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},ng={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},ag={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses_one:"Used {{count}} time",uses_other:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},rg={passwordPlaceholder:"Enter password"},og={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},sg={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},ig={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",countLabel:"Number of phonemes",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:["Level 1 \u2014 everyday vocabulary acquired before school age and used for life","Level 2 \u2014 difficulty of grades 1\u20132","Level 3 \u2014 difficulty of grades 3\u20134","Level 4 \u2014 difficulty of grades 5\u20136","No level \u2014 frequent everyday words outside the national standard list, plus coinages and loanwords"],selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},lg={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},ug={lead:`IHAB builds trust
|
|
850
850
|
through sound
|
|
851
|
-
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Sicheong-gil, Chuncheon, Gangwon, Korea"},kg={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},Ng={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},Dg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},Eg={answer:"Answer",distractor:"Distractor"},Sg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},jg={clearAriaLabel:"Clear input"},Tg={ariaLabel:"Select tab"},Mg={ariaLabel:"Tabs"},Lg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},$g={ariaLabel:"User avatar"},Rg={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},Pg={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel_one:"{{n}} session",countLabel_other:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},Fg={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},Ig={manage:{unit:"item(s)"}},Og={cancelLabel:"Cancel"},Hg={subtitle:"Select a topic to start listening practice."},zg={steps:"Step {{current}} of {{total}}"},Vg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs_one:"{{count}} run",runs_other:"{{count}} runs",avgDuration:"{{sec}}s avg"},Wg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},qg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},Ug={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Gg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Kg={previewRegion:"Report preview \u2014 scrollable sideways"},Yg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Zg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Xg={clearSelection:"Clear selection"},Jg={showResult:"Show {{type}} result"},Qg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},eb={loading:"Loading"},tb={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},nb={ariaLabel:"Breadcrumb"},ab={empty:"No items yet."},rb={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},ob={common:W2,calendar:q2,passCard:U2,searchField:G2,rating:K2,colorPicker:Y2,dropdown:Z2,accordion:X2,header:J2,nav:Q2,settings:eg,usage:tg,account:ng,help:ag,training:rg,trainingSettings:og,customers:sg,payment:ig,coupons:lg,visits:ug,company:cg,trainingType:dg,myWordTraining:pg,myWordTable:mg,keyWords:hg,wordTable:Cg,wordSearch:fg,wordPrint:gg,topic:bg,accessLinkManager:yg,login:vg,device:xg,manager:_g,wordPairs:wg,game:Bg,footer:Ag,landing:kg,date:Ng,trainingSetPage:Dg,wordTrainingPreview:Eg,wordData:Sg,textField:jg,segmentedControl:Tg,tabs:Mg,fileUpload:Lg,avatar:$g,myHomework:Rg,trainingStatus:Pg,store:Fg,homework:Ig,inquiry:Og,trainingPlanRun:Hg,progress:zg,trainingMiss:Vg,table:Wg,wordScore:qg,topBanner:Ug,datePicker:Gg,report:Kg,tooltip:Yg,phonemeProfile:Zg,bulkBar:Xg,debug:Jg,badge:Qg,loader:eb,soundCompass:tb,breadcrumb:nb,board:ab,promoBannerBg:rb};const sb=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],to="ko",ib="ihab_display_language";function Ti(){if(typeof window>"u")return to;try{const e=localStorage.getItem(ib);if(e&&sb.some(t=>t.code===e))return e}catch{}return to}function Mi(e){try{document.documentElement.lang=e}catch{}}Tt.on("languageChanged",Mi),Mi(Ti()),Tt.use(_e.initReactI18next).init({resources:{ko:{translation:V2},en:{translation:ob}},lng:Ti(),fallbackLng:to,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function _t(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const s=r.current?.parentElement??null;return t(s,e),()=>a(s)},[e,t,a]),r}const Ba={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},no=new WeakMap;function ao(e){if(e)return no.get(e)}function Ot(e,t){e&&(e.style.setProperty(Ba.title,t.title),e.style.setProperty(Ba.description,t.description),no.set(e,t))}function Ht(e){e&&(e.style.removeProperty(Ba.title),e.style.removeProperty(Ba.description),no.delete(e))}const Li={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function $i(){const e=_t(Li,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Ri={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=_t(Ri,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Fi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ii(){const e=_t(Fi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Oi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Hi(){const e=_t(Oi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const zi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Vi(){const e=_t(zi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Wi={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function qi(){const e=_t(Wi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Ui={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Gi(){const e=_t(Ui,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const Ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Yi(){const e=_t(Ki,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Zi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Xi(){const e=_t(Zi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ji={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Qi(){const e=_t(Ji,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const el={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function tl(){const e=_t(el,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const nl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function al(){const e=_t(nl,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const rl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function ol(){const e=_t(rl,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const sl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function il(){const e=_t(sl,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Zt=(e,t,a)=>({key:e,get label(){return Tt.t(`promoBannerBg.${e}`,t)},textTone:a}),lb=[Zt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("soft","\uC18C\uD504\uD2B8","dark"),Zt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Zt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Zt("warm","\uC6DC(\uAC15\uC870)","dark"),Zt("dark","\uB2E4\uD06C","light"),Zt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Zt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Zt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Zt("success","\uC131\uACF5/\uC644\uB8CC","light"),Zt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Zt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],ll={main:$i,soft:Pi,sub:Ii,deep:Hi,softSub:Vi,warm:qi,dark:Gi,radial:Yi,diagonal:Xi,dots:Qi,outline:tl,success:al,naver:ol,instagram:il};function ul({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:s=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(r,Number(w))),u=w=>{try{const b=localStorage.getItem(w),k=b?Number(b):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[c,d]=o.useState(()=>u(e)),[m,p]=o.useState(e);m!==e&&(p(e),d(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const C=w=>{d(typeof w=="function"?b=>l(w(b)):l(w))},y=()=>C(w=>+(w+s).toFixed(6)),v=()=>C(w=>+(w-s).toFixed(6)),f=c<r-Number.EPSILON,g=c>a+Number.EPSILON,_=Math.round(t*c),h=Math.round(_*i);return{scale:c,setScale:C,increase:y,decrease:v,canIncrease:f,canDecrease:g,fontSize:_,lineHeight:h}}function cl(e,t){const a=wa(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const ro=" \xB7 ",dl=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ro)?e.split(ro).pop()??e:e})(),ub=o.createContext(!1),Un=[];let pl=null;function cb(e){const t=o.useContext(ub);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;Un.length===0&&(pl=document.title);const a={text:dl?`${e}${ro}${dl}`:e};return Un.push(a),document.title=a.text,()=>{const r=Un.lastIndexOf(a);r>=0&&Un.splice(r,1),document.title=Un.length?Un[Un.length-1].text:pl??document.title}},[e,t])}const ml=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],db=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function an(e,t){return db().compare(e,t)}const Ja=new Map;function pb(e){const t=Ja.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let s=0;for(let i=r.exec(e);i;i=r.exec(e)){let l=i.index,u=i[0];u[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,u=u.slice(1)),l>s&&a.push(e.slice(s,l)),a.push(Number(u)),s=i.index+i[0].length}return s<e.length&&a.push(e.slice(s)),Ja.size>5e3&&Ja.clear(),Ja.set(e,a),a}function mb(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function hb(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),s=a(t);if(r===s)return 0;const i=(d,m)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=mb(m);return p!==null?[p]:pb(m)},l=i(e,r),u=i(t,s),c=Math.min(l.length,u.length);for(let d=0;d<c;d++){const m=l[d],p=u[d];if(typeof m=="number"&&typeof p=="number"){if(m!==p)return m-p;continue}if(typeof m=="number")return-1;if(typeof p=="number")return 1;const C=an(m,p);if(C!==0)return C}return l.length!==u.length?l.length-u.length:an(r,s)}const hl=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function oo(e,t,a){const r=hl(e),s=hl(t);if(r||s)return r===s?0:r?1:-1;const i=hb(e,t);return a?i:-i}function Cb(e,t,a){const{t:r}=_e.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&ml.some(f=>f.value===v)?v:"25"}),[l,u]=o.useState(1),[c,d]=o.useState(t);Object.is(c,t)||(d(t),l!==1&&u(1));const m=o.useMemo(()=>ml.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),p=o.useCallback(v=>{i(v),u(1)},[]),C=Math.max(1,Math.ceil(e.length/Number(s)));(l>C||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),C));const y=Math.min(Math.max(1,Number.isFinite(l)?l:1),C);return{pageRows:o.useMemo(()=>e.slice((y-1)*Number(s),y*Number(s)),[e,y,s]),pageSizeProps:{options:m,value:s,onChange:p},paginationProps:{page:y,total:C,onChange:u},setPage:u}}function fb(e){const[t,a]=o.useState(null),r=o.useRef(t),s=o.useRef(e?.onSortChange);s.current=e?.onSortChange;const i=o.useCallback(c=>{const d=r.current,m=d?.key===c?{key:c,asc:!d.asc}:{key:c,asc:!0};r.current=m,a(m),s.current?.(m)},[]),l=o.useCallback((c,d)=>({label:c,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),u=o.useCallback((c,d)=>{if(!t)return c;const{key:m,asc:p}=t;return[...c].sort((C,y)=>oo(d(C,m),d(y,m),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:u}}const dn="\uC804\uCCB4",gb=new Map;try{Tt.store?.on?.("added",()=>gb.clear())}catch{}Object.fromEntries(Object.entries(AC).map(([e,{nucleus:t}])=>[e,t]));const bb={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},yb={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},vb={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function xb(e,t){if("place"in t)return bb[t.place](e);const a=yb[t.vowel](e);return t.glide?`${a} \xB7 ${vb[t.glide](e)}`:a}const _b=(e,{defaultValue:t})=>t,Cl=(e,t)=>({jamos:e,phonetic:t,tooltip:xb(_b,t)}),_n=(e,t)=>t.map(a=>Cl([a],{place:e})),Mt=(e,t,a)=>Cl([...e],a?{vowel:t,glide:a}:{vowel:t}),so={cho:[_n("labial",["\u3142","\u3143","\u314D","\u3141"]),_n("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),_n("alveolar",["\u3145","\u3146"]),_n("palatal",["\u3148","\u3149","\u314A"]),_n("velar",["\u3131","\u3132","\u314B"]),_n("glottal",["\u314E"])],jung:[[Mt("\u3163","frontHigh"),Mt("\u315F","frontHigh","w"),Mt("\u3162","frontHigh","velar")],[Mt("\u3161","backHighUnrounded")],[Mt("\u315C","backHighRounded"),Mt("\u3160","backHighRounded","j")],[Mt("\u3154\u3150","frontMid"),Mt("\u3156\u3152","frontMid","j"),Mt("\u3159\u315A\u315E","frontMid","w")],[Mt("\u3153","backMidUnrounded"),Mt("\u3155","backMidUnrounded","j"),Mt("\u315D","backMidUnrounded","w")],[Mt("\u3157","backMidRounded"),Mt("\u315B","backMidRounded","j")],[Mt("\u314F","low"),Mt("\u3151","low","j"),Mt("\u3158","low","w")]],jong:[_n("labial",["\u3142","\u3141"]),_n("alveolar",["\u3137","\u3134","\u3139"]),_n("velar",["\u3131","\u3147"])]},wb=e=>e===Bb?[]:Array.from(e),Bb="__NO_CODA__",io=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),fl={cho:io(so.cho),jung:io(so.jung),jong:io(so.jong)};fl.jung.flat().forEach(({v:e})=>{for(const t of wb(e));}),new Set(fl.cho.flat().map(e=>e.v));function Ab(e,t=!0){const a=wa(e);o.useEffect(()=>{if(t)return Wn(()=>{a.current?.()})},[t,a])}function Aa(){const[e,t]=o.useState(null),a=o.useCallback(i=>t(i.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),s=o.useCallback(i=>{const l=i.getBoundingClientRect();t(u=>u?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:s}}function kb(e){const[t,a]=o.useState(null),[r,s]=o.useState(null),i=o.useRef(null);o.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=o.useCallback((c,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(c),s(d)},e)},[e]),u=o.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),s(null)},[]);return{payload:t,anchorRect:r,openAfterDelay:l,close:u}}function gl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((p,C)=>{s(C),a(p),l(y=>y+1)},[]),c=o.useCallback(p=>u(p,"warning"),[u]),d=o.useCallback(p=>u(p,"normal"),[u]),m=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:u,showWarning:c,showNormal:d,clearToast:m}}function ka(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function Na({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[s,i]=o.useState(!1),[l,u]=o.useState({position:"fixed"}),c=o.useRef(null),d=o.useRef(null),m=o.useCallback(()=>{c.current&&u(e(c.current.getBoundingClientRect(),c.current))},[e]);o.useLayoutEffect(()=>{s&&m()},[s,m]),o.useEffect(()=>{if(!s)return;let y=d.current?.offsetHeight??0;y>0&&m();let v=0,f=null;typeof ResizeObserver<"u"&&d.current&&(f=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==y){if(y=B,++v>4){f?.disconnect(),f=null;return}m()}}),f.observe(d.current));const g=B=>{const A=B.target;r&&A.closest?.(r)||c.current?.contains(A)||d.current?.contains(A)||i(!1)};document.addEventListener("mousedown",g),document.addEventListener("pointerdown",g);let _=null;const h=()=>{if(typeof requestAnimationFrame>"u"){m();return}_===null&&(_=requestAnimationFrame(()=>{_=null,m()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?h():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const b=()=>{a==="reposition"?h():a==="close"&&i(!1)};let k=null;const x=()=>{b(),k&&clearTimeout(k),k=setTimeout(()=>{k=null,a==="reposition"&&m()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",x)),()=>{_!==null&&cancelAnimationFrame(_),f?.disconnect(),document.removeEventListener("mousedown",g),document.removeEventListener("pointerdown",g),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",x)),k&&clearTimeout(k)}},[s,m,t,a,r]),o.useEffect(()=>{if(s)return Wn(()=>i(!1))},[s]);const p=o.useCallback(()=>i(y=>!y),[]),C=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:p,close:C,style:l,triggerRef:c,menuRef:d}}function Nb(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:s,playMs:i=1100,feedbackMs:l=1500}={}){const[u,c]=o.useState([]),[d,m]=o.useState(0),[p,C]=o.useState("idle"),[y,v]=o.useState(null),[f,g]=o.useState([]),[_,h]=o.useState(null),[w,b]=o.useState(0),k=o.useRef(0),x=o.useCallback(R=>{k.current=typeof R=="function"?R(k.current):R,b(k.current)},[]),B=o.useRef(r),A=o.useRef(s);o.useEffect(()=>{B.current=r,A.current=s},[r,s]);const N=o.useRef([]),E=()=>{N.current.forEach(clearTimeout),N.current=[]},D=(R,q)=>{N.current.push(setTimeout(q,R))};o.useEffect(()=>()=>E(),[]);const H=u[d]?.id??null,$=o.useRef(null),G=o.useCallback(()=>{E(),C("playing"),g([]),h(null),x(0);let R=0;e.forEach((q,S)=>{D(R,()=>{m(S),v(q.id),B.current?.(q)}),D(R+1e3,()=>{v(null),g(P=>[...P,q.id])}),R+=1300}),D(R,()=>{C("done"),A.current?.({score:0,total:e.length})})},[e,x]),L=o.useCallback((R,q)=>{if(q>=R.length){C("done"),A.current?.({score:k.current,total:R.length});return}$.current=null,m(q),h(null),C("playing"),v(R[q].id),B.current?.(R[q]),D(i,()=>{v(null),C("waiting")})},[i]),M=o.useCallback(()=>{E();const R=xa(e);c(R),x(0),g([]),L(R,0)},[e,L,x]),I=o.useCallback(()=>{t==="playback"?(c(e),G()):M()},[t,e,G,M]),K=o.useCallback(()=>{E(),C("idle"),v(null),g([]),h(null),m(0),x(0),c([])},[x]),Y=e.map(R=>R.id).join("|");o.useEffect(()=>(a?I():K(),()=>E()),[t,Y,a]);const z=o.useCallback(R=>{p!=="waiting"||t==="playback"||$.current===d||($.current=d,h(R),R===u[d]?.id&&x(q=>q+1),t==="exam"?(C("playing"),D(400,()=>L(u,d+1))):(C("feedback"),D(l,()=>L(u,d+1))))},[p,t,u,d,L,l,x]),V=t==="playback"?e.length:u.length;return{bind:{activeSpeakerId:y,playedIds:f,selectedId:_,answerId:H,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:z},index:d,total:V,score:w,phase:p,done:p==="done",start:I,reset:K}}function Db({title:e,description:t,actionLabel:a,onAction:r,bg:s,color:i,size:l="medium",actionVariant:u,titleColor:c,descriptionColor:d,className:m=""}){const p=s??i??"main",C=o.useRef(null),[y,v]=o.useState("main"),f=on("(max-width: 767px)"),g=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const w=C.current;if(!w)return;const b=ao(w),k=(x,B,A)=>{if(A!==void 0)w.style.setProperty(B,A),g.current[x]=!0;else if(g.current[x]){const N=b?.[x];N?w.style.setProperty(B,N):w.style.removeProperty(B),g.current[x]=!1}};k("title","--promo-banner-bg-title",c),k("description","--promo-banner-bg-description",d)},[c,d,p]),o.useLayoutEffect(()=>{const w=C.current;if(!w)return;const b=ao(w);v(b?.actionVariant??"main")},[p]);const _=ke("promo-banner",`promo-banner--${l}`,m),h=ll[p];return n.jsxs("div",{ref:C,className:_,role:"note",children:[n.jsx(h,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(me,{htmlType:"button",size:40,variant:u??y,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...f?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function Eb({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=_e.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),c=u.length,[d,m]=o.useState(0),[p,C]=o.useState(!1),[y,v]=o.useState(!1),[f,g]=o.useState(!1),_=o.useRef(null),h=o.useRef(null),w=o.useRef(null),b=Jr(),k=p||y||f,x=c>0?Math.min(d,c-1):0;o.useEffect(()=>{if(c<2||t<=0||k||b)return;const A=window.setInterval(()=>m(N=>(Math.min(N,c-1)+1)%c),t);return()=>window.clearInterval(A)},[c,t,k,b]);const B=A=>{h.current!=null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>{h.current=null,g(!1)},A)};return o.useEffect(()=>()=>{h.current!=null&&window.clearTimeout(h.current)},[]),o.useEffect(()=>{if(!f)return;const A=N=>{N.pointerType==="touch"&&(w.current&&w.current.contains(N.target)||(h.current!=null&&(window.clearTimeout(h.current),h.current=null),g(!1)))};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[f]),c===0?null:n.jsxs("section",{ref:w,className:ke("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:A=>{_.current=A.pointerType},onPointerDown:A=>{_.current=A.pointerType,A.pointerType==="touch"&&(h.current!=null&&(window.clearTimeout(h.current),h.current=null),g(!0))},onPointerUp:A=>{A.pointerType==="touch"&&B(5e3)},onPointerCancel:A=>{A.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{_.current!=="touch"&&C(!0)},onMouseLeave:()=>C(!1),onFocus:A=>{let N=!0;try{N=A.target.matches(":focus-visible")}catch{N=!0}v(N)},onBlur:A=>{A.currentTarget.contains(A.relatedTarget)||v(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${x*100}%)`},children:u.map((A,N)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":N!==x,...N!==x?{inert:!0}:{},children:A},N))})}),c>1&&n.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((A,N)=>n.jsx("button",{type:"button",className:`top-banner__dot${N===x?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:c,index:N+1,defaultValue:`${c}\uAC1C \uC911 ${N+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":N===x,onClick:()=>m(N)},N))})]})}function Sb({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:c}=_e.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${u}`.trim(),role:"listitem",children:[n.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const m=d.currentTarget.closest('[role="list"]');if(!m)return;const p=Array.from(m.querySelectorAll("[data-accordion-header]")),C=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[C+1]:p[C-1])?.focus()}},children:[s&&n.jsx("div",{className:"accordion-item__avatar",children:s}),n.jsx("div",{className:`accordion-item__title ${i}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(tt,{icon:a?"chevron-up":"chevron-down",label:a?c("accordion.collapse","\uC811\uAE30"):c("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function jb({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:s}){const[i,l]=o.useState({index:t}),u=(c,d)=>i.id!=null&&c.id!=null?c.id===i.id:i.id==null&&d===i.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>n.jsx(Sb,{title:c.title,body:c.body,avatar:c.avatar,open:u(c,d),onToggle:()=>l(u(c,d)?{index:-1}:{index:d,id:c.id}),bodyClassName:s},c.id??d))})}function Tb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function Mb(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function Lb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function wt(e){const{t}=_e.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:x,position:B="top-right",onClick:A,animate:N=!1}=e,E=k??"check",D=x!==void 0?"number":E,H=typeof r=="number"?r:32,$=ke("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${H}`,N?"circle-badge--animate":"",A?"circle-badge--clickable":"",s),G=x!==void 0?t("badge.nthSelected",{n:x,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[E];return n.jsxs("span",{className:$,onClick:A,onKeyDown:A?L=>{L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.currentTarget.click())}:void 0,"aria-label":l?void 0:i??G,"aria-hidden":l||void 0,role:A?"button":l?void 0:"img",tabIndex:A?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&n.jsx(Tb,{}),x===void 0&&E==="remove"&&n.jsx(Mb,{}),x===void 0&&E==="minus"&&n.jsx(Lb,{})]})}const{label:u,children:c,variant:d="default",fill:m="filled",minWidth:p,iconLeft:C,iconRight:y,color:v}=e,f=typeof r=="number"?"medium":r??"medium",g={small:"caption-2b",medium:"body-3b",large:"body-2b"}[f]??"body-2b",_={small:12,medium:14,large:16}[f]??14,h=ke("badge",`badge--${d}`,`badge--${f}`,m!=="filled"?`badge--${m}`:"",g,s),w=v?.startsWith("--")?`var(${v})`:v,b=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return n.jsxs("span",{className:h,style:b,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[C&&n.jsx(tt,{icon:C,size:_,className:"badge__icon"}),u??c,y&&n.jsx(tt,{icon:y,size:_,className:"badge__icon"})]})}function Da({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=_e.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),c=o.useMemo(()=>{const g=[{title:null,columns:e}];let _=e;for(const h of l){const w=_?.[h.ci]?.items?.[h.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;_=[{title:null,items:w.children}],g.push({title:w.label||null,columns:_})}return g},[e,l]),d=c[c.length-1],m=c.length-1,p=o.useCallback(()=>u(g=>g.slice(0,Math.max(0,Math.min(g.length,m)-1))),[m]),C=o.useRef(null),y=o.useRef(null),v=c.length;o.useEffect(()=>{y.current||(y.current=document.activeElement);let g=0,_=0;const h=()=>{const w=C.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(g=requestAnimationFrame(h))};return g=requestAnimationFrame(h),()=>cancelAnimationFrame(g)},[v]),o.useEffect(()=>()=>{y.current?.focus?.({preventScroll:!0})},[]);const f=o.useCallback((g,_,h)=>{if(g){if(Array.isArray(g.children)&&g.children.length){u(w=>[...w.slice(0,m),{ci:_,ii:h}]);return}try{typeof g.onClick=="function"&&g.onClick()}catch{}try{g&&g.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,m]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(c.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[c.length>1?n.jsx(me,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:s("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:C,children:d.columns&&d.columns.map((g,_)=>n.jsxs("div",{className:"tooltip-menu__column",children:[g.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:g.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(g.items||[]).map((h,w)=>n.jsxs(o.Fragment,{children:[h.separatorBefore&&w>0&&n.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),n.jsx(me,{htmlType:"button",className:"tooltip-menu__item",size:i,type:h.label?"bar":"dot",icon:h.selected?"check":h.icon||"none",rightIcon:Array.isArray(h.children)&&h.children.length?"chevron-right":h.badgeCount?n.jsx(wt,{type:"dot",position:"inline",number:Math.min(h.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:h.label,ariaLabel:h.label&&h.badgeCount&&h.badgeCount>0?s("nav.badgeLabel",{label:h.label,count:h.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):h.label,onClick:()=>f(h,_,w),selected:h.selected,disabled:h.disabled,showTooltipInfo:h.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const bl=".content-area";function lo(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(bl);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&Gt("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${bl}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const uo=52,Qa=10,yl=e=>e&&e>0?e:0;function vl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=_e.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",m=r==="manager"?u("nav.modeLabelMalgwi","\uB9D0\uADC0"):u("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=o.useRef(null),[C,y]=o.useState(0),v=e.length;o.useEffect(()=>{const R=p.current;if(!R)return;const q=()=>{const j=typeof getComputedStyle=="function"?getComputedStyle(R):null,F=R.clientWidth-(parseFloat(j?.paddingLeft??"")||0)-(parseFloat(j?.paddingRight??"")||0),O=R.querySelector(".bottom-nav__left"),W=O?.nextElementSibling,Q=(O?.offsetWidth??0)+(O&&W?.classList.contains("bottom-nav__divider")?W.offsetWidth:0);y(Math.max(0,F-Q))};if(q(),typeof ResizeObserver>"u")return;const S=new ResizeObserver(q);S.observe(R);const P=R.querySelector(".bottom-nav__left");return P&&S.observe(P),()=>S.disconnect()},[s]);const f=uo+1,g=R=>Math.max(0,Math.floor((R+Qa)/(uo+Qa))),_=v*(uo+Qa)-Qa<=C,h=C<=0||i.length===0&&_?v:Math.min(v,g(C-f)),w=C>0&&h<v,b=w?h:v,k=e.slice(0,b),x=e.slice(b),B=w||i.length>0,A=o.useCallback((R,q)=>({position:"fixed",bottom:window.innerHeight-R.top+8,right:window.innerWidth-R.right,zIndex:ka(q)}),[]),N=o.useId(),{open:E,toggle:D,close:H,style:$,triggerRef:G,menuRef:L}=Na({computeStyle:A,onScroll:"ignore",onResize:"reposition"}),M=o.useCallback((R,q)=>q>0?u("nav.badgeLabel",{label:R,count:q,defaultValue:"{{label}}, {{count}}\uAC1C"}):R,[u]),I=o.useCallback((R,q)=>q>0?u("nav.badgeInsideLabel",{label:R,count:q,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):R,[u]),K=o.useCallback(()=>s?.(c),[s,c]),Y=o.useMemo(()=>x.find(R=>!!R.key&&R.key===t)??i.find(R=>R.selected||R.key&&R.key===t),[x,t,i]),z=o.useMemo(()=>[{items:[...x.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:!!R.key&&R.key===t,closeOnSelect:!0,disabled:R.state==="disabled",onClick:()=>{R.state!=="disabled"&&(R.key&&a&&(a(R.key),lo(l,"BottomNav")),H())}})),...i.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===t),closeOnSelect:!0,onClick:()=>{R.onClick?.(),H()}}))]}],[x,i,t,a,H]),V=[...x,...i].reduce((R,q)=>R+yl(q.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav",ref:p,"aria-label":u("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(me,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:m,className:"bottom-nav-item",onClick:K})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",children:k.map((R,q)=>{const S=yl(R.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(me,{htmlType:"button",size:52,type:"dot",icon:R.icon,ariaLabel:M(R.label,S),selected:!!R.key&&R.key===t,disabled:R.state==="disabled",className:"bottom-nav-item",onClick:()=>{R.key&&(a?.(R.key),lo(l,"BottomNav"))}}),S>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(wt,{type:"dot",position:"top-right",number:Math.min(S,99),size:24})})]},R.key??`__slot-${q}`)})}),B&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:G,className:"bottom-nav__slot",children:[n.jsx(me,{htmlType:"button",size:52,type:"dot",icon:Y?.icon??"ellipsis",ariaLabel:I(Y?.label??u("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!Y,className:"bottom-nav-item",onClick:D,"aria-expanded":E,"aria-controls":E?N:void 0}),V>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(wt,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),E&&en.createPortal(n.jsx("div",{id:N,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:$,ref:L,children:n.jsx(Da,{columns:z,onClose:H})}),document.body)]})})]})]})}function xl(e){if(typeof e!="string")return!1;let t="";for(const r of e){const s=r.charCodeAt(0);s<=32||s>=127&&s<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function _l(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function $b(e){const{t}=_e.useTranslation(),{activeKey:a,unreadCount:r,onDebug:s,onNotification:i,onSetting:l,onHelp:u,onFeedback:c,onAccount:d}=e||{},m="default";return s||i||l||u||c||d?n.jsxs("div",{className:"side-nav__footer",children:[s&&n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:s,selected:a==="debug"}),i&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bell",ariaLabel:_l(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(wt,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),u&&n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:u,selected:a==="help"}),c&&n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:c,selected:a==="feedback"}),d&&n.jsx(me,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function wl(e){const{t}=_e.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:c,state:d,labelStyle:m}=e||{},p=a?.key??r??"",C=a?.label??s??"",y=a?.icon??i??"",v=a?.badge??0,f=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(tt,{icon:y,label:typeof C=="string"?C:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),g=d==="disabled",_=`side-nav__item ${l?"active":""} ${d||""} ${g?"disabled":""} ${a?.child?"side-nav__item--child":""}`,h=o.useCallback(w=>{if(g)return;const b=w.detail>0;if(b)try{w.currentTarget.blur()}catch{}u?.(p,w.currentTarget,b)},[g,p,u]);return n.jsxs("button",{type:"button",className:_,onClick:h,"aria-label":typeof C=="string"?_l(t,C,v):void 0,"aria-current":l?"page":void 0,style:c,"aria-disabled":g,children:[f,n.jsx("span",{className:"side-nav__label button-1 f",style:m,children:C}),v>0&&n.jsx(wt,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Bl(e){const{t}=_e.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:C,onAppModeChange:y,scrollContainer:v}=e||{},f=C==="manager",g=o.useCallback(()=>y?.(f?"malgwi":"manager"),[y,f]),_=o.useRef(null),[h,w]=o.useState(null);o.useEffect(()=>{const A=_.current;if(!A)return;let N=null;const E=()=>{const{scrollHeight:$,clientHeight:G,scrollTop:L}=A;if($<=G+1){w(z=>z===null?z:null);return}const M=Math.max(24,G/$*G),I=G-M,K=$-G,Y={top:Math.round(L/K*I),height:Math.round(M)};w(z=>z&&z.top===Y.top&&z.height===Y.height?z:Y)},D=()=>{if(typeof requestAnimationFrame>"u"){E();return}N===null&&(N=requestAnimationFrame(()=>{N=null,E()}))};E(),A.addEventListener("scroll",D,{passive:!0});const H=typeof ResizeObserver<"u"?new ResizeObserver(D):null;H?.observe(A);for(const $ of Array.from(A.children))H?.observe($);return()=>{N!==null&&cancelAnimationFrame(N),A.removeEventListener("scroll",D),H?.disconnect()}},[a]);const b=o.useRef(null),k=o.useCallback(A=>{const N=_.current;N&&(A.preventDefault(),b.current={y:A.clientY,top:N.scrollTop},A.currentTarget.setPointerCapture(A.pointerId))},[]),x=o.useCallback(A=>{const N=_.current,E=b.current;!N||!E||(N.scrollTop=E.top+(A.clientY-E.y)*(N.scrollHeight/N.clientHeight))},[]),B=o.useCallback(A=>{b.current=null,A.currentTarget.hasPointerCapture(A.pointerId)&&A.currentTarget.releasePointerCapture(A.pointerId)},[]);return n.jsxs("nav",{ref:_,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[h&&n.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:n.jsx("div",{className:"side-nav__scroll-thumb",style:{top:h.top,height:h.height},onPointerDown:k,onPointerMove:x,onPointerUp:B,onPointerCancel:B})}),n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(A=>!A.section&&(A.key||A.label)).map((A,N)=>n.jsxs(o.Fragment,{children:[A.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(wl,{item:A,active:!!A.key&&A.key===r,state:A.disabled?"disabled":void 0,onClick:(E,D,H)=>{if(A.disabled)return;if(A.href){if(xl(A.href)&&window.open(A.href,"_blank","noopener,noreferrer"),H)try{D?.blur()}catch{}return}if(s?.(A.key),lo(v,"SideNav"),!H)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const $=document.querySelector(".header");if($){const G=typeof $.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&G&&$.matches(":hover"))){$.classList.add("header--force-collapsed");const L=()=>{$.classList.remove("header--force-collapsed"),$.removeEventListener("mouseenter",L)};$.addEventListener("mouseenter",L)}}}})]},A.key??`side-nav__item-${N}`)),y&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),y&&n.jsx(wl,{item:{key:"__mode-switch__",label:f?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:f?"arrow-left":"arrow-right"},onClick:g})]}),n.jsx($b,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p})]})}var er='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',co='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Rb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function Al({appMode:e}){const{t}=_e.useTranslation(),a=e==="manager",r=a?co:er,s=Rb;return n.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[n.jsx("img",{src:s,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function kl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:C,onAppModeChange:y,scrollContainer:v}){const{t:f}=_e.useTranslation(),g=on("(max-width: 767px)"),_=o.useMemo(()=>(a??[]).filter($=>!$.section&&($.key||$.label)).map($=>({key:$.key,label:typeof $.label=="string"?$.label:void 0,icon:$.icon,state:$.disabled?"disabled":void 0,badgeCount:$.badge})),[a]),h=o.useCallback($=>{const G=a?.find(L=>L.key===$);if(!G?.disabled){if(G?.href){xl(G.href)&&window.open(G.href,"_blank","noopener,noreferrer");return}t?.($)}},[a,t]),w=o.useMemo(()=>{const $=[];return l&&$.push({key:"debug",icon:"terminal",label:f("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&$.push({key:"notifications",icon:"bell",label:f("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),d&&$.push({key:"settings",icon:"settings",label:f("nav.settings","\uC124\uC815"),onClick:d}),m&&$.push({key:"help",icon:"message-circle-question-mark",label:f("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),p&&$.push({key:"feedback",icon:"bug",label:f("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),c&&$.push({key:"account",icon:"user-round",label:f("nav.account","\uACC4\uC815"),onClick:c}),$},[f,l,u,d,m,p,c,i]),b=o.useCallback(($,G)=>({position:"fixed",top:$.bottom+8,right:Math.max(8,window.innerWidth-$.right),zIndex:ka(G)}),[]),k=o.useId(),{open:x,toggle:B,close:A,style:N,triggerRef:E,menuRef:D}=Na({computeStyle:b,onScroll:"ignore",onResize:"reposition"}),H=o.useMemo(()=>[{items:w.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===e),closeOnSelect:!0,onClick:()=>{$.onClick?.(),A()}}))}],[w,e,A]);return n.jsxs("aside",{className:`header${C==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(Al,{appMode:C}),n.jsxs("div",{className:"header__menu-button",ref:E,children:[n.jsx(me,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&i&&i>0?f("nav.badgeInsideLabel",{label:f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):f("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":x,"aria-controls":x?k:void 0}),!!u&&!!i&&i>0&&n.jsx(wt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&en.createPortal(n.jsx("div",{id:k,role:"group","aria-label":f("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:D,children:n.jsx(Da,{columns:H,onClose:A})}),document.body)]})]}),n.jsx(Bl,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:C,onAppModeChange:y}),g&&n.jsx(vl,{items:_,activeKey:e??void 0,onChange:h,scrollContainer:v,appMode:C,onAppModeChange:y})]})}const Pb=kl,Fb=()=>Tt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Nl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return na(`${t.toLocaleString("ko-KR")}\uC6D0`)}return na(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Ib(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function Ob(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const s=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return s?s[2].toLowerCase()==="year"?`${s[1]}\uB144`:`${s[1]}\uC77C`:a||Fb()}function Hb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function Dl(e){return{type:e.type??Ib(e),plan:Ob(e),label:e.label,price:Nl(e.price),originalPrice:Nl(e.originalPrice),discountLabel:e.discountLabel}}var zb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Vb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Wb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',qb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Ub='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Gb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',El='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Gn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},po=new WeakMap;function Kb(e){if(e)return po.get(e)}function wn(e,t){e&&(e.style.setProperty(Gn.text,t.text),e.style.setProperty(Gn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Gn.copyright,t.copyrightColor),po.set(e,t))}function Bn(e){e&&(e.style.removeProperty(Gn.text),e.style.removeProperty(Gn.sub),e.style.removeProperty(Gn.copyright),po.delete(e))}const Sl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function jl(e={}){const t=_t(Sl,wn,Bn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${El}")`}})]})}const Tl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var Ea='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Yb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Zb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ml(e={}){const t=_t(Yb,wn,Bn),a="var(--color-main)",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Zb.map(({scale:i,opacity:l},u)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:Tl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Ea}")`}})]})}const Xb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Jb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Qb(e={}){const t=_t(Xb,wn,Bn),a="#ffffff",r=270,s=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Jb.map(({scale:i,opacity:l},u)=>n.jsx("g",{transform:`translate(${r} ${s}) scale(${i}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:Tl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${El}")`}})]})}const e4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function t4(e={}){const t=_t(e4,wn,Bn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Ea}")`}})]})}const n4={Logo_speechear_kr:{"":er,_white:zb,_textWhite:Vb,_black:Wb},Logo_speechearManager_kr:{"":co,_white:qb,_textWhite:Ub,_black:Gb}};function a4(e,t){if(e)return n4[e]?.[t??""]??void 0}const r4={speechear:er,manager:co},o4={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Ll=10;function s4(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function $l(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const s=Math.floor(e/60);return s>0?t("passCard.remainingMinute",{n:s}):t("passCard.remainingSecond",{n:Math.floor(e)})}function i4(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),s=a==="\uC624\uD508\uD2B9\uAC00"||a===Tt.t("passCard.specialLabel");return r?n.jsx(t4,{}):s?n.jsx(Qb,{}):n.jsx(Ml,{})}return n.jsx(jl,{})}function Rl({ariaLabel:e,product:t,showPrice:a=!1,plan:r,type:s,endDate:i,remainingSeconds:l,endInclusive:u=!1,state:c="active",bg:d,bgOnly:m=!1,textColor:p,subColor:C,copyrightColor:y,logoSrc:v,label:f,price:g,originalPrice:_,discountLabel:h,onUse:w,onRefund:b,onDelete:k}){const{t:x}=_e.useTranslation(),B=t?Dl(t):void 0,A=s??B?.type??"speechear",N=r??B?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=f??B?.label,D=g??(a?B?.price:void 0),H=_??(a?B?.originalPrice:void 0),$=h??B?.discountLabel,G=o.useMemo(()=>{if(D)return null;const U=t?.durationDays??Hb(t?.code);if(!U||U<=0)return l!=null?{percent:null,remainingLabel:$l(l,x)}:null;const ne=U*86400;let le;if(l!=null)le=l;else if((c==="active"||c==="expired")&&i){const se=new Date(i).getTime();if(Number.isNaN(se))return null;const pe=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),he=/^(\d{4})-(\d{2})-(\d{2})/.exec(_a()),ge=Math.round(pe&&he?(Date.UTC(+pe[1],+pe[2]-1,+pe[3])-Date.UTC(+he[1],+he[2]-1,+he[3]))/864e5:(se-Date.now())/864e5);le=Math.max(0,u?ge+1:ge)*86400}else c==="expired"?le=0:le=ne;const Ee=s4(le),be=Math.max(0,Math.min(100,Math.floor(Math.min(Ee,ne)/ne*100)));return c==="pending"&&be>=100?null:{percent:be,remainingLabel:c==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):$l(le,x)}},[D,c,i,l,u,t?.durationDays,t?.code,x]),L=o.useRef(null),[M,I]=o.useState({}),[K,Y]=o.useState(null),z=!!(w||b||k),V=o.useRef(!1),R=o.useRef(void 0),[q,S]=o.useState(v);o.useLayoutEffect(()=>{S(v)},[v]),o.useLayoutEffect(()=>{const U=L.current;U&&(p!==void 0&&U.style.setProperty("--pass-card-text",p),C!==void 0&&U.style.setProperty("--pass-card-sub",C),y!==void 0&&U.style.setProperty("--pass-card-copyright",y))},[p,C,y]),o.useLayoutEffect(()=>{const U=L.current;if(!U)return;const ne=Kb(U);if(!v){const le=o4[A],Ee=c==="expired"?"_black":ne?.logoColor??"",be=a4(le,Ee);S(be)}},[d,v,A,c]);const P=U=>{const ne=L.current;if(!ne)return null;const{left:le,top:Ee,width:be,height:se}=ne.getBoundingClientRect(),pe=(U.clientX-le)/be-.5;return{rotateX:-((U.clientY-Ee)/se-.5)*Ll,rotateY:pe*Ll}},j=(U,ne)=>{const le=ne*-.7,Ee=U*.7+10,be=20+(Math.abs(U)+Math.abs(ne))*.4;return`${le}px ${Ee}px ${be}px rgba(0, 0, 0, 0.18)`},F=o.useCallback(U=>{if(oa())return;V.current=!0,clearTimeout(R.current),R.current=setTimeout(()=>{V.current=!1},200);const ne=P(U);ne&&I({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:j(ne.rotateX,ne.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),O=o.useCallback(U=>{if(oa())return;const ne=P(U);if(!ne)return;const le=V.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${ne.rotateX}deg) rotateY(${ne.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:j(ne.rotateX,ne.rotateY),transition:le})},[]),W=o.useCallback(()=>{clearTimeout(R.current),V.current=!1,I({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=o.useCallback(()=>Y(null),[]),oe=o.useMemo(()=>{const U=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),ne=N.replace("\uC774\uC6A9\uAD8C","").replace(U==="\uC774\uC6A9\uAD8C"?"":U,"").trim(),le=ne.match(/^(.*?)(일|년)$/);return le?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:le[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:le[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:ne})},[N,x]),de=o.useMemo(()=>{const U=na(D);if(!U)return null;const ne=U.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!ne)return n.jsx("span",{className:"h1",children:U});const[,le,Ee,be]=ne;return n.jsxs(n.Fragment,{children:[le&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:le}),n.jsx("span",{className:"h1 pass-card__price-amount",children:Ee}),be.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:be.trim()})]})},[D]),ae=o.useCallback(()=>{z&&Y(U=>{if(U)return null;const ne=L.current?.getBoundingClientRect();if(!ne)return null;const le=50;return{left:ne.left,right:ne.right,width:ne.width,height:ne.height,x:ne.x,y:ne.y+le,top:ne.top+le,bottom:ne.bottom+le}})},[z]),te=o.useCallback(U=>{z&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),ae())},[z,ae]),Ae=[{items:[...w?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),Y(null)},closeOnSelect:!0}]:[],...b?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{b(),Y(null)},closeOnSelect:!0}]:[],...k?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{k(),Y(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:L,className:`pass-card pass-card--${c}${z?" pass-card--clickable":""}`,style:M,onMouseEnter:F,onMouseMove:O,onMouseLeave:W,onPointerUp:U=>{U.pointerType==="touch"&&W()},onPointerCancel:U=>{U.pointerType==="touch"&&W()},onClick:ae,onKeyDown:z?te:void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-label":e,"aria-haspopup":z?"menu":void 0,"aria-expanded":z?!!K:void 0,children:[d??i4(A,N,E),!m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:q??r4[A],className:"pass-card__logo",alt:A==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:oe}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?x("passCard.labeledPlan",{label:E}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?n.jsxs("div",{className:"pass-card__price-area",children:[$&&n.jsx("span",{className:"pass-card__discount body-3",children:$}),n.jsxs("div",{className:"pass-card__price",children:[H&&n.jsx("span",{className:"pass-card__price-original body-3",children:na(H)}),de]})]}):G?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:G.remainingLabel}),G.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:G.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),K&&n.jsx(cn,{anchorRect:K,onClose:Q,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:n.jsx(Da,{columns:Ae,onClose:Q,size:"small"})})]})}const l4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function u4(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=_t(l4,wn,Bn);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Ea}")`}})]})}const c4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function d4(e={}){const t=_t(c4,wn,Bn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Ea}")`}})]})}function p4(e,t){if(e){if(t==="manager_pro")return n.jsx(d4,{});if(t==="manager_standard")return n.jsx(u4,{});if(t==="manager_lite")return n.jsx(Ml,{})}}function m4(e){const t=na(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,s,i]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),s,i.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function h4(e){const{t}=_e.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:s,onSelect:i,period:l="monthly",ownedCodes:u}=e||{},c=b=>!!b&&!!u?.includes(b),d=b=>b.onceOnly??/오픈\s*특가/.test(b.label??""),m=(s.tiers||[]).some(b=>d(b)&&c(b.code)),p=b=>{const k=b.prices?b.prices[l]:b.price;return k?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===k):!1},C=s.colorToken?`var(--color-${s.colorToken})`:"var(--color-gray)",y=t("payment.plan.freePrice","\uBB34\uB8CC"),v=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=b=>b.prices?b.prices[l]:b.price,g=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const k=f(b);return k==="\uBB34\uB8CC"||k===y||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),_=(s.tiers||[]).length>0&&(s.tiers||[]).every(b=>{const k=f(b);return k==="\uBB38\uC758"||k===v}),h=s.group==="org",w=h?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:C,"--plan-color":C},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(wt,{label:s.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:C},children:s.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:s.tier??s.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:s.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.recommendedFor||[]).map((b,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(tt,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},k))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(s.features||[]).map((b,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(tt,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:C}}),b]},k))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:g?null:_?n.jsx(me,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>s.tiers?.[0]&&i?.({...s.tiers[0],productId:s.id,productTitle:s.title})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(s.tiers||[]).map(b=>{const k=b.label||a,x=d(b),B=x||b.openPromo===!0,A=k.replace(/^오픈\s*특가\s*/,"")||a,N=b.prices?b.prices[l]:b.price,E=b.badge?B?`${r}
|
|
852
|
-
${b.badge}`:b.badge:void 0;if(x&&c(b.code))return null;if(!b.badge&&!m)return p(b)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${b.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:b.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:m4(N)})})]},b.id);const D=s.tier??(h?s.title:void 0),H=n.jsx(Rl,{showPrice:!0,product:{type:w,code:b.code,name:A,label:D,price:N,originalPrice:b.originals?.[l]??void 0,discountLabel:E},bg:p4(h,s.id)}),$=()=>i?.({...b,productId:s.id,productTitle:s.title,preview:H});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:$,onKeyDown:i?G=>{G.target===G.currentTarget&&(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),$())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:H},b.id)})})})})]})}function C4({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var mo='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Pl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function f4(){const e=_t(Pl,wn,Bn);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${mo}")`}})})}const Fl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function g4(e={}){const t=_t(Fl,wn,Bn);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Ea}")`}})]})}function Il({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=Array.isArray(e)?e:[e];return n.jsx("span",{className:ke("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:s.map((i,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}const Sa=(e,t,a)=>e+(t-e)*a;function b4({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:s,selectedId:i=null,answerId:l=null,showFeedback:u=!1,pulseSelected:c=!1,pulseSelectedDuration:d,pulseScale:m,clickable:p=!1,onSelectSpeaker:C,buttonSize:y=40,showIcon:v=!0,onCenterClick:f,centerLabel:g,centerDisabled:_=!1,centerAttention:h=!1,shortcutAnchor:w="top-right",shortcutScale:b,scaleShortcut:k=!1}){const{t:x}=_e.useTranslation(),B=Math.max(0,Math.min(1,a)),A=t/2,N=110/300,E=.18,D=U=>t*(N+(U-1)*E),H=U=>{const ne=D(U.row??1),le=U.angleDeg*Math.PI/180;return{x:A+ne*Math.cos(le),y:A+ne*Math.sin(le)}},$=Math.max(...e.map(U=>U.row??1),1),G=t*.08,L=t*.1,M=t*.24,I=t-2*G,K=t-L-M,Y=t-M/2,z=o.useMemo(()=>[...new Set(e.map(U=>U.deg))].sort((U,ne)=>U-ne),[e]),V=z.length,R=Math.max(68,V>1?I/(V-1):0),q=o.useMemo(()=>new Map(z.map((U,ne)=>[U,ne])),[z]),S=U=>{const ne=q.get(U.deg)??0,le=A+(ne-(V-1)/2)*R,Ee=$>1?Math.min(68,K/($-1)):0,be=Ee*($-1),se=L+(K-be)/2,pe=$===1?L+K*.4:se+($-(U.row??1))*Ee;return{x:le,y:pe}},P=U=>{const ne=H(U),le=S(U);return{x:Sa(ne.x,le.x,B),y:Sa(ne.y,le.y,B)}},j={x:A,y:Sa(A,Y,B)},F=Math.round(y*1.2),O=Math.round(Math.max(16,Math.min(80,y*.7))),W=[],Q=new Map;for(const U of e){const ne=U.row??1;Q.has(ne)||Q.set(ne,[]),Q.get(ne).push(U)}for(const[U,ne]of Q.entries()){if(ne.length<2)continue;const le=[...ne].sort((He,dt)=>He.deg-dt.deg),Ee=le.map(He=>P(He)),be=le.map(He=>He.deg),se=be[be.length-1]-be[0],pe=se/(be.length-1),he=360-se,ge=le.length>=3&&pe>0&&he<=pe*1.5,fe=Math.round(D(U)*1e3)/1e3,Te=(He,dt,ut,ot)=>{const ct=(dt.angleDeg-He.angleDeg+540)%360-180;if(ct===0)return`L ${ot.x} ${ot.y}`;if(B===0)return`A ${fe} ${fe} 0 0 ${ct>0?1:0} ${ot.x} ${ot.y}`;const Ne=(He.angleDeg+ct/2)*Math.PI/180,ze={x:A+fe*Math.cos(Ne),y:A+fe*Math.sin(Ne)},Be={x:(ut.x+ot.x)/2,y:(ut.y+ot.y)/2},Ye={x:Sa(ze.x,Be.x,B),y:Sa(ze.y,Be.y,B)},X={x:2*Ye.x-Be.x,y:2*Ye.y-Be.y};return`Q ${X.x} ${X.y} ${ot.x} ${ot.y}`},Me=ge?[...le,le[0]]:le,Ie=ge?[...Ee,Ee[0]]:Ee;let Oe=`M ${Ie[0].x} ${Ie[0].y}`;for(let He=1;He<Ie.length;He++)Oe+=" "+Te(Me[He-1],Me[He],Ie[He-1],Ie[He]);W.push({key:`arc-${U}`,d:Oe})}const oe=o.useMemo(()=>new Set(s??[]),[s]),de=U=>({idle:"",active:x("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:x("soundCompass.state.played","\uB4E4\uC74C"),correct:x("soundCompass.state.correct","\uC815\uB2F5"),wrong:x("soundCompass.state.wrong","\uC624\uB2F5")})[U],ae=U=>{if(r===U.id)return"active";if(u){if(U.id===l)return"correct";if(U.id===i&&i!==l)return"wrong"}return oe.has(U.id)?"played":"idle"},te=U=>r===U.id?"loop":u?U.id===l?"loop":null:c&&U.id===i?"once":null,Ae=(U,ne)=>{switch(U){case"played":case"correct":return n.jsx(Cs,{size:ne});case"wrong":return n.jsx(As,{size:ne});default:return n.jsx(Bs,{size:ne})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(U=>{const{x:ne,y:le}=P(U);return n.jsx("line",{x1:j.x,y1:j.y,x2:ne,y2:le,stroke:"#dde3ec",strokeWidth:"1"},U.id)}),W.map(U=>n.jsx("path",{d:U.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},U.key))]}),h&&!_&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:F,height:F,left:j.x-F/2,top:j.y-F/2}}),f?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:F,height:F,left:j.x,top:j.y},"aria-label":g,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:f,children:n.jsx(Ar,{size:O,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:F,height:F,left:j.x,top:j.y},children:n.jsx(Ar,{size:O,color:"currentColor",strokeWidth:1.5})}),e.map((U,ne)=>{const{x:le,y:Ee}=P(U),be=ae(U),se=te(U),pe={...b!==void 0||k?{"--shortcut-badge-scale":String(b??Math.max(.75,Math.min(3,y/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:be!=="idle"?10:1},he=y,ge=Math.round(Math.max(10,Math.min(56,he*.38))),fe=Math.round(Math.max(7,Math.min(18,he*.2))),Te=Math.round(Math.max(10,Math.min(56,he*.4))),Me=v==="answered"&&(be==="played"||be==="correct"||be==="wrong"),Ie=v===!0||Me,Oe=!Me;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...pe,left:le-he/2,top:Ee-he/2},children:[se&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${be}`+(se==="once"?" sound-compass__pulse--once":""),style:{width:he,height:he,...se==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...m!==void 0?{"--sc-pulse-scale":String(m)}:null}}),n.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>C?.(U.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${be}`,style:{width:he,height:he},"aria-label":de(be)?`${U.label}, ${de(be)}`:U.label,"aria-pressed":i!=null?U.id===i:void 0,children:[Ie&&Ae(be,ge),Oe&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?fe:Te},children:ne+1})]}),U.shortcut&&n.jsx(Il,{keys:U.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},U.id)})]})})}function y4({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:ke("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function v4({orientation:e="horizontal",label:t,className:a=""}){const r=ke("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function Ol({checked:e,onChange:t,name:a,value:r,disabled:s=!1,label:i,className:l=""}){const u=o.useId();return n.jsxs("label",{className:`radio${s?" radio--disabled":""} ${l}`.trim(),htmlFor:u,children:[n.jsx("input",{id:u,type:"radio",name:a,value:r,checked:e,disabled:s,onChange:c=>t?.(c.target.checked)}),n.jsx("span",{className:"radio__dot"}),i&&n.jsx("span",{className:"radio__label body-2",children:i})]})}function x4({options:e,value:t,onChange:a,name:r,disabled:s=!1,direction:i="vertical",className:l="",ariaLabel:u}){const c=o.useId(),d=r??`radio-group-${c}`;return n.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(m=>n.jsx(Ol,{name:d,value:m.value,checked:t===m.value,disabled:s||m.disabled,label:m.label,onChange:p=>{p&&a?.(m.value)}},m.value))})}const _4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function w4({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:c}=_e.useTranslation(),[d,m]=o.useState(!1),p=o.useRef(null),C=o.useCallback(()=>{const h=p.current;h&&h.contains(document.activeElement)&&Za(h),m(!0),i?.()},[i]);if(d)return null;const y=ke("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),f=v==="assertive"?"alert":v==="polite"?"status":void 0,g=!!t,_=!!(a||r);return n.jsxs("div",{ref:p,className:y,role:f,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(tt,{icon:_4[e],size:20,className:"alert__icon"}),g&&n.jsx("span",{className:"alert__title body-2",children:t}),!g&&_&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),g&&_&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:C,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const B4={ready:"search",guide:"info",error:"circle-alert"};function A4(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let s=0,i=0;for(const l of a){const u=e.indexOf(l,s);u<0||(u>s&&r.push(e.slice(s,u)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),s=u+l.length)}return s<e.length&&r.push(e.slice(s)),r}function k4({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??B4[e],u=ke("search-summary",`search-summary--${e}`,i),c=t??a,d=typeof c=="string"&&r&&r.length>0?A4(c,r):c;return n.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(tt,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function ja({title:e,items:t}){const{t:a}=_e.useTranslation(),{anchorRect:r,openAt:s,close:i}=Aa(),l=o.useRef(null),u=eo(!!r,(c,d)=>{c&&d?s(l.current?.querySelector("button")??d):i()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(me,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:c=>{ra(c)||s(c.currentTarget)},onPointerLeave:c=>{ra(c)||i()},onClick:c=>{u.touchPress(c.currentTarget)},onFocus:c=>{oa()||s(c.currentTarget)},onBlur:i}),r&&n.jsx(qn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function N4({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=_e.useTranslation(),u=o.useRef(null),c=e.find(f=>!f.disabled)?.key,d=e.some(f=>f.key===t)?t:c??e[0]?.key,m=e.find(f=>f.key===d&&!f.disabled)?.key??c,p=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),C=(f,g=p())=>{if(g.length===0)return;const _=(f%g.length+g.length)%g.length;g[_]?.focus(),g[_]?.click()},y=f=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const g=p(),_=g.indexOf(f.currentTarget);f.key==="ArrowRight"||f.key==="ArrowDown"?C(_+1,g):f.key==="ArrowLeft"||f.key==="ArrowUp"?C(_-1,g):f.key==="Home"?C(0,g):C(g.length-1,g)},v=e.find(f=>f.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:u,className:`tabs__list tabs__list--${s}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(f=>n.jsx("button",{id:`tabs__tab-${i}-${f.key}`,type:"button",role:"tab","aria-selected":f.key===d,"aria-controls":`tabs__panel-${i}-${f.key}`,disabled:f.disabled,tabIndex:f.key===m?0:-1,className:`tabs__tab body-2${f.key===d?" tabs__tab--active":""}`,onClick:()=>{f.key!==t&&a?.(f.key)},onKeyDown:y,children:f.label},f.key))}),v&&n.jsx("div",{id:`tabs__panel-${i}-${v.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${v.key}`,tabIndex:0,className:"tabs__panel",children:v.panel},v.key)]})}const D4={xs:12,sm:16,md:20,lg:28,xl:36};function E4(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function S4({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=_e.useTranslation(),[l,u]=o.useState(null),c=!!e&&l===e,d=t?E4(t):"",m=!!e&&!c,p=!m&&!!d,C=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${s}`.trim(),role:"img","aria-label":C,children:[m&&n.jsx("img",{className:"avatar__image",src:e,alt:C,onError:()=>u(e??null)}),!m&&p&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!m&&!p&&n.jsx(tt,{icon:"user-round",size:D4[a],className:"avatar__icon"})]})}function j4(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),s=e.type.toLowerCase();return a.some(i=>{const l=i.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?s.startsWith(l.slice(0,-1)):s===l})}function T4({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:c}=_e.useTranslation(),d=o.useRef(null),[m,p]=o.useState(!1),[C,y]=o.useState([]),v=i??C,f=x=>{if(!x||x.length===0)return;const B=Array.from(x).filter(N=>j4(N,t));if(B.length===0)return;const A=a?B:B.slice(0,1);if(i===void 0){const N=a?[...v,...A]:A;y(N),e?.(N)}else e?.(A)},g=x=>{x.preventDefault(),!r&&p(!0)},_=x=>{x.preventDefault(),p(!1)},h=x=>{x.preventDefault(),p(!1),!r&&f(x.dataTransfer.files)},w=x=>{const B=x.target;try{f(B.files)}finally{B.value=""}},b=()=>{r||d.current?.click()},k=x=>{if(!r&&(l?.(x),i===void 0)){const B=v.filter((A,N)=>N!==x);y(B),l||e?.(B)}};return n.jsxs("div",{className:`file-upload ${u}`.trim(),children:[n.jsxs("div",{className:ke("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:b,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())},onDragOver:g,onDragLeave:_,onDrop:h,children:[n.jsx(tt,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:c("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),b()},children:c("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:w,tabIndex:-1})]}),s&&v.length>0&&n.jsx("ul",{className:"file-upload__list",children:v.map((x,B)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":c("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>k(B),children:n.jsx(tt,{icon:"x",size:14})})]},`${x.name}-${B}`))})]})}function M4({items:e,className:t=""}){const{t:a}=_e.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,s)=>{const i=s===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[i?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!i&&n.jsx(tt,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const L4={small:14,medium:20,large:28};function $4({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=_e.useTranslation(),c=r||!t,[d,m]=o.useState(null),p=c?e:Number.isFinite(e)?Math.round(e):0,C=d??p,y=L4[s],v=x=>{x!==e&&t?.(x)},f=x=>{c||v(x)},g=x=>{c||oa()||m(x)},_=o.useRef(null),h=x=>{const B=Math.min(a,Math.max(1,x));v(B),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(A=>A.dataset.star===String(B))?.focus()},w=x=>{if(!c){switch(x.key){case"ArrowRight":case"ArrowUp":h((p||0)+1);break;case"ArrowLeft":case"ArrowDown":h((p||1)-1);break;case"Home":h(1);break;case"End":h(a);break;default:return}x.preventDefault()}},b=p>=1&&p<=a?Math.round(p):1,k=()=>{c||m(null)};return n.jsx("div",{className:`rating rating--${s}${c?" rating--readOnly":""} ${l}`.trim(),ref:_,onKeyDown:w,role:c?"img":"radiogroup","aria-label":c?u("rating.valueLabel",{value:e,max:a}):i??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:x=>{x.pointerType==="touch"&&k()},onPointerCancel:x=>{x.pointerType==="touch"&&k()},children:Array.from({length:a},(x,B)=>{const A=B+1,N=Math.max(0,Math.min(1,C-B)),E=N>0&&N<1,D=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(tt,{icon:"star",size:y,className:"rating__star rating__star--empty"}),N>0&&n.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${N*100}%`}:void 0,children:n.jsx(tt,{icon:"star",size:y,className:"rating__star rating__star--filled"})})]});return c?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:D},A):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===A,"aria-label":u("rating.starLabel",{n:A}),"data-star":A,tabIndex:A===b?0:-1,onClick:()=>f(A),onMouseEnter:()=>g(A),children:D},A)})})}const R4=20,P4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function F4({value:e,onChange:t,palette:a=P4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=_e.useTranslation();return n.jsx("div",{className:`color-picker ${s}`.trim(),role:"group","aria-label":i,children:a.map(u=>{const c=e?.toLowerCase()===u.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:u},onClick:()=>t(u),"aria-pressed":c,"aria-label":c?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:c&&n.jsx(tt,{icon:"check",size:R4,className:"color-picker__check"})},u)})})}function Hl({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:c}=_e.useTranslation(),d=u==="small",m=ke("category-icon",d?"category-icon--small":""),p=d?16:20,C=o.useRef(null),[y,v]=o.useState(!1),f=o.useMemo(()=>{const A=r&&typeof r=="object"?{...r}:{};return!s&&!i?A:{...A,...s?{color:s,"--t-item-fg":s}:{},...i?{"--t-item-bg":i}:{}}},[r,s,i]),g=a||t,_=l&&!!g,[h,w]=o.useState(null);o.useLayoutEffect(()=>{y&&w(C.current?.getBoundingClientRect()??null)},[y]),o.useEffect(()=>{if(!l&&y)try{v(!1)}catch{}},[l,y]),o.useEffect(()=>{if(!y)return;const A=N=>{const E=C.current;if(!E)return;const D=N.target;D&&!E.contains(D)&&v(!1)};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[y]);const b=o.useCallback(()=>{l&&v(!0)},[l]),k=o.useCallback(()=>{l&&v(!1)},[l]),x=o.useCallback(()=>v(!1),[]),B=o.useCallback(A=>{if(A.key==="Escape"){v(!1);return}(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),v(N=>!N))},[]);return n.jsxs("span",{ref:C,className:ke("category-icon__wrap",_&&"category-icon__wrap--interactive"),onPointerEnter:b,onPointerLeave:k,onFocus:b,onBlur:k,onKeyDown:B,role:"button",tabIndex:0,"aria-label":typeof g=="string"?c("common.descriptionFor",{name:g,defaultValue:`${g} \uC124\uBA85`}):void 0,"aria-haspopup":!!g,"aria-expanded":y,"data-tooltip-ignore":!0,children:[n.jsx(tt,{icon:e,label:t,className:m,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:p}),y&&g&&n.jsx(xn,{anchorRect:h,text:typeof g=="string"?g:void 0,offset:8,onClose:x,className:"category-icon__tooltip",ariaLabel:typeof g=="string"?g:void 0})]})}let $n=null;function tr(e){if($n&&$n!==e)try{$n()}catch{}return $n=e,()=>{$n===e&&($n=null)}}function nr(e){if($n===e){$n=null;try{e()}catch{}}}function ho(e,t){let a=()=>{};const r=new Promise(u=>{a=u});let s=!1;const i=u=>{if(!s){s=!0;try{t?.(u)}catch{}a(u)}};let l;try{l=new Audio(e)}catch{return i(!1),{el:{},stop:()=>{},done:r}}l.onended=()=>i(!0),l.onerror=()=>i(!1);try{l.play().catch(()=>i(!1))}catch{i(!1)}return{el:l,stop:()=>{try{l.pause()}catch{}i(!1)},done:r}}function I4(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(u=>u?.contextCode||u?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}const s=a.sentences||a.items||[],i=r(Array.isArray(s)?s:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function O4(e,t){const[a,r]=o.useState(!1),[s,i]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),c=o.useRef(null),d=o.useRef(!1),m=o.useRef(null),p=o.useRef(null),[C,y]=o.useState(!1),v=o.useRef([]),{previewCodes:f,previewBucket:g}=I4(e,t),_=`${f.join(",")}|${g??""}`,h=o.useMemo(()=>l.key===_?l.urls:[],[l,_]);o.useEffect(()=>{if(!f.length)return;let b=!1;return(async()=>{const k=[],x=[];for(const B of f)try{const A=Qs(B,g);if(!A){k.push("");continue}let N=null;try{N=await ei(A)}catch{}if(!N)try{const E=await ti(A);E&&(N=URL.createObjectURL(E),x.push(N))}catch{}k.push(N??"")}catch{k.push("")}b?x.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(v.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),v.current=x,u({key:_,urls:k}))})(),()=>{b=!0}},[f.join(","),g]),o.useEffect(()=>()=>{v.current.forEach(b=>{try{URL.revokeObjectURL(b)}catch{}}),v.current=[]},[]);const w=o.useCallback(async b=>{if(b.stopPropagation(),b.preventDefault(),d.current){m.current&&nr(m.current),d.current=!1;try{c.current?.pause()}catch{}r(!1),i(-1);return}if(!h.filter(Boolean).length)return;let k=null;const x=()=>{d.current=!1,k?.stop()};m.current=x;const B=tr(x);d.current=!0,r(!0);for(let A=0;A<h.length&&d.current;A++){const N=h[A];if(N&&(i(A),k=ho(N),c.current=k.el,!await k.done))break}B(),m.current===x&&(m.current=null,d.current=!1,r(!1),i(-1))},[h]);return o.useEffect(()=>()=>{m.current&&nr(m.current),d.current=!1;try{c.current?.pause()}catch{}c.current=null},[]),{playing:a,playingIndex:s,previewUrls:h,previewHover:C,setPreviewHover:y,previewBtnRef:p,handlePreview:w}}const H4=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const s=r;return s.sentence||s.text||s.context||s.question||s.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function Co(e){const{index:t,type:a,trainingData:r,ariaLabel:s,depth:i,renderPopup:l,completed:u,completedIds:c,selectedIds:d,tooltipText:m,useDescriptionTooltip:p=!1,onRemove:C,hideCheckBadge:y=!1,showTypeLabel:v=!1,onComplete:f,onSelect:g,onMore:_,countLabelOverride:h,size:w="square"}=e||{},{t:b}=_e.useTranslation(),[k,x]=o.useState(!1),B=o.useRef(null),[A,N]=o.useState(!1);o.useEffect(()=>{B.current?.matches(":hover")&&N(!0)},[]);const{playing:E,playingIndex:D,previewUrls:H,previewHover:$,setPreviewHover:G,previewBtnRef:L,handlePreview:M}=O4(r,a?.key),I=o.useCallback(()=>{g?g():x(!0)},[g]),K=o.useCallback(()=>x(!1),[]),Y=o.useCallback(()=>N(!0),[]),z=o.useCallback(()=>N(!1),[]),V=o.useCallback(()=>G(!0),[G]),R=o.useCallback(()=>G(!1),[G]),[q,S]=o.useState(null);o.useLayoutEffect(()=>{$&&S(L.current?.getBoundingClientRect()??null)},[$,L]);const[P,j]=o.useState(null);o.useLayoutEffect(()=>{A&&!k&&p&&j(B.current?.getBoundingClientRect()??null)},[A,k,p]);const F=o.useCallback(Be=>{Be.target===Be.currentTarget&&(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),I())},[I]),O=r||null,W=o.useMemo(()=>{if(!p)return null;const Be=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,Ye=Be&&Be.length>0?Be:H4(O);return Ye&&Ye.length>0?Ye:null},[p,m,O]),Q=o.useCallback(Be=>{Be.stopPropagation(),C?.()},[C]),oe=o.useCallback(Be=>Be.stopPropagation(),[]),de=o.useCallback(Be=>{typeof f=="function"&&f(Be)},[f]),ae=u||(c&&r?.id!=null?c.has(String(r.id)):!1),te=!ae&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);cl("speechear.popup.close",K);const Ae=xi(),U=`${a?.label||""} ${t+1}`,ne=O?.title||O?.name||U;let le=a?.icon,Ee,be="",se="";try{const Be=O?.category_0||O?.category_main_code||O?.category_main,Ye=O?.category_1||O?.category_sub_code||O?.category_sub,X=Ae.find(ue=>ue.key===Be);X?.icon&&(le=X.icon),!Ee&&X?.color&&(Ee={"--t-item-fg":X.color}),!Ee&&O?.iconColor&&(Ee={"--t-item-fg":O.iconColor}),be=X?b(`topic.${X.key}`,{defaultValue:X.label||""}):"";try{const ue=X?.subs?.find(we=>we.key===Ye);se=ue?b(`topic.sub.${ue.key}`,{defaultValue:ue.label||""}):""}catch{}}catch{}const pe=se?`${be} / ${se}`:be||a?.label||ne,he=Be=>b("training.countQuestions",{n:Be,count:Be}),ge=Be=>b("training.countSentences",{n:Be,count:Be});let fe="";try{if(O)if(a?.key==="LISTEN_IN_NOISE"){let Be=0;Array.isArray(O.items)&&O.items.length>0?Be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0?Be=O.sentences.length:O.sentences&&(Be=1),fe=ge(Be)}else if(a?.key==="SHORT_STORY"){let Be=1;Array.isArray(r?.items)?Be=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Be=r.raw.items.length:Array.isArray(O?.questions)?Be=O.questions.length:Array.isArray(O?.sentences)&&(Be=O.sentences.length),fe=he(Be)}else if(a?.key==="LONG_STORY"){let Be=1;if(Array.isArray(O.items)&&O.items.length>0){const Ye=O.items.reduce((X,ue)=>{const we=ue.questionItems;return Array.isArray(we)?X+we.length:Array.isArray(ue.questions)?X+ue.questions.length:X},0);Be=Ye>0?Ye:O.items.length}else Array.isArray(O.questions)&&O.questions.length>0?Be=O.questions.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(Be=O.sentences.length);fe=he(Be)}else if(a?.key==="ORDERING_SENTENCE"){let Be=1;Array.isArray(O.items)&&O.items.length>0?Be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(Be=O.sentences.length),fe=ge(Be)}else Array.isArray(O.items)&&(fe=O.items.length>0?he(O.items.length):"")}catch{}const Te=w==="row",Me=w==="list"||Te,Ie=w==="compact",Oe=w==="small",He=Oe&&a?.key?af().find(Be=>Be.key===a.key):void 0,dt=He?_i[He.key]:void 0,ut=He?dt?b(`trainingType.${dt}.title`,{defaultValue:He.label}):He.label??"":"",ot=v&&a?.label&&a.label!==String(ne)?String(a.label):Oe&&ut&&ut!==String(ne)?ut:"",ct=!!ot,Ne=h!==void 0?h:fe,ze=[ot,typeof ne=="string"?ne:"",Ne].map(Be=>String(Be??"").trim()).filter(Boolean).join(" ");return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:B,className:`training-block-button${Me?" training-block-button--list":""}${Te?" training-block-button--row":""}${Ie?" training-block-button--compact":""}${Oe?" training-block-button--small":""}${ae?" training-block-button--completed":""}${te?" training-block-button--selected":""}${ct&&!Oe?" training-block-button--withType":""}${Oe&&!ct?" training-block-button--no-type-label":""}`,onClick:I,onPointerEnter:Y,onPointerLeave:z,role:"button",tabIndex:0,onKeyDown:F,"aria-label":typeof s=="string"?s:ze||void 0,title:!p&&m&&(Array.isArray(m)?m.filter(Boolean).join(`
|
|
853
|
-
`):m)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[v&&a?.label&&a.label!==String(ne)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Oe&&ut&&ut!==String(ne)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:ut}),n.jsx(Hl,{icon:le,label:ne,tooltip:pe,wrapperStyle:Ee,iconSize:Oe||Ie?"small":"medium"}),!y&&(ae||te)&&!(C&&A)&&n.jsx(wt,{className:C?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":ae?b("training.completed","\uD6C8\uB828 \uC644\uB8CC"):b("training.selected","\uC120\uD0DD\uB428")}),C&&n.jsx(wt,{className:`training-block-button__remove${A?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":b("common.remove","\uC81C\uAC70"),onClick:Q}),n.jsx("div",{className:`training-block-button__title ${Ie?"body-3":Oe?"body-3b":"h3"}`,children:String(ne)}),n.jsxs("div",{className:"training-block-button__description",children:[Ne?n.jsx("div",{className:`training-block-button__count ${Oe?"caption-2":"caption-1"}`,children:Ne}):null,n.jsx("div",{className:"training-block-button__chevron",children:n.jsx(tt,{icon:"chevron-right",label:b("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:Oe?12:20})})]}),(Me&&!Te||Oe)&&H.length>0&&n.jsx("div",{ref:L,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:oe,onPointerEnter:V,onPointerLeave:R,children:n.jsx(me,{htmlType:"button",size:Oe?28:32,type:"dot",icon:E?"pause":"play",variant:Oe?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(ne).trim()?E?b("training.stopFor",{name:ne,defaultValue:`${ne} \uC815\uC9C0`}):b("training.previewFor",{name:ne,defaultValue:`${ne} \uBBF8\uB9AC \uB4E3\uAE30`}):E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:M})})]}),_&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Be=>{Be.stopPropagation(),_(Be)},children:n.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(ne).trim()?b("common.moreFor",{name:ne}):b("common.more","\uB354\uBCF4\uAE30")})})]}),$&&n.jsx(xn,{anchorRect:q,text:E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:R}),A&&!k&&p&&(W?n.jsx(qn,{anchorRect:P,items:W,activeIndex:D,onClose:z}):O?.subTitle?n.jsx(xn,{anchorRect:P,text:O.subTitle,offset:8,onClose:z}):null),k&&l&&l({trainingData:O,typeKey:a?.key??"",onClose:K,onComplete:de,popupTitle:String(ne),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:le,popupIconTooltip:String(pe),popupWrapperStyle:Ee})]})}const zl=200;function z4(e){return e.itemId?(uf()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function Vl({plan:e,groups:t,anchorRect:a,offset:r=12,onClose:s}){const{t:i}=_e.useTranslation(),l=o.useMemo(()=>t?t.map((c,d)=>({key:c.key??c.type?.key??String(d),label:c.label,type:c.type,data:c.items??[]})).filter(c=>c.data.length>0):df(i).map(c=>{const d=(e?.items??[]).filter(m=>m.trainingType===c.key);return{key:c.key,label:c.label,type:c,\uACE0\uB978\uC218:d.length,data:d.map(z4).filter(m=>m!=null)}}).filter(c=>c.\uACE0\uB978\uC218>0),[t,e?.items,i]);if(l.length===0)return null;const u=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:l.flatMap(({key:c,label:d,type:m,data:p},C)=>[C>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:d})}),n.jsx("div",{className:"tooltip-training__items",children:p.map((y,v)=>n.jsx(Co,{index:v,type:m,trainingData:y,size:"compact",hideCheckBadge:!0},String(y.id??v)))})]},c)])})});return a?n.jsx(cn,{anchorRect:a,offset:r,onClose:s,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:i("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:u}):u}const V4=200;function W4({icon:e,count:t,title:a,plan:r,tooltip:s=!0,hoverAccent:i=!1,className:l="",onClick:u,onMouseEnter:c,onMouseLeave:d}){const m=!!u||!!c||s&&!!r,p=ke("count-tile",m&&"count-tile--interactive",m&&i&&"count-tile--accent",u&&"count-tile--clickable",l),C=o.useRef(null),[y,v]=o.useState(null),f=o.useRef(null),g=o.useRef(null),_=!!(y&&r&&s),h=o.useCallback(()=>{f.current&&(clearTimeout(f.current),f.current=null),g.current&&(clearTimeout(g.current),g.current=null)},[]),w=o.useCallback(()=>{h(),v(null)},[h]),b=o.useCallback(()=>{!s||!r||(h(),f.current=setTimeout(()=>{f.current=null,v(C.current?.getBoundingClientRect()??null)},zl))},[s,r,h]),k=o.useCallback(()=>{f.current&&(clearTimeout(f.current),f.current=null),!g.current&&(g.current=setTimeout(()=>{g.current=null,v(null)},V4))},[]);return o.useEffect(()=>()=>{h()},[h]),o.useEffect(()=>{(!s||!r)&&w()},[s,r,w]),o.useEffect(()=>{if(!_)return;const x=A=>A instanceof Element&&(C.current?.contains(A)||!!A.closest(".tooltip-training")),B=A=>{x(A.target)?h():k()};return document.addEventListener("pointerover",B,!0),()=>document.removeEventListener("pointerover",B,!0)},[_,h,k]),n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:C,className:p,onClick:u?x=>{w(),u(x)}:void 0,onKeyDown:u?x=>{x.key!=="Enter"&&x.key!==" "||(x.preventDefault(),x.currentTarget.click())}:void 0,onPointerEnter:x=>{x.pointerType==="touch"||x.pointerType==="pen"?w():b()},onMouseEnter:c,onMouseLeave:x=>{k(),d?.(x)},role:u?"button":"img",tabIndex:u?0:void 0,"aria-label":`${a} ${t}`,children:[n.jsx(tt,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),y&&r&&n.jsx(Vl,{plan:r,anchorRect:y,onClose:w})]})}let Ta=0,Wl="",fo="",Ma=0;function ql(){return Ul(!1)}function q4(){return Ul(!0)}function Ul(e){const t=typeof document<"u";Ta===0&&t&&(Wl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Ma===0&&(fo=document.body.style.paddingRight),Ma++,document.body.style.paddingRight="0px"),Ta++;let a=!1;return()=>{a||(a=!0,Ta=Math.max(0,Ta-1),e&&t&&(Ma=Math.max(0,Ma-1),Ma===0&&(fo?document.body.style.paddingRight=fo:document.body.style.removeProperty("padding-right"))),Ta===0&&t&&(document.body.style.overflow=Wl))}}function U4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function G4({open:e,onClose:t,ariaLabel:a,title:r,children:s,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:c=!0,className:d,contentClassName:m}){const{t:p}=_e.useTranslation(),C=o.useId(),y=o.useRef(null),v=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const h=document.activeElement,w=ql(),b=y.current;return Zr(b,h),b?.focus(),()=>{w();const k=document.activeElement;(!k||k===document.body||b&&b.contains(k))&&Xr(h)?.focus?.()}},[e]);const f=o.useRef(v),g=o.useRef(u);o.useEffect(()=>{f.current=v,g.current=u}),o.useEffect(()=>{if(e)return Wn(()=>{g.current&&f.current()})},[e]);const _=o.useRef(!1);return Kr(y,e),!e||typeof document>"u"?null:en.createPortal(n.jsx("div",{className:ke("dialog",d),onPointerDown:l?h=>{_.current=h.target===h.currentTarget}:void 0,onMouseDown:h=>{h.target===h.currentTarget&&h.preventDefault()},onClick:l?h=>{const w=_.current;_.current=!1,w&&h.target===h.currentTarget&&v()}:void 0,children:n.jsxs("div",{ref:y,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?C:void 0,tabIndex:-1,className:ke("dialog__surface",`dialog__surface--${i}`,m),onClick:h=>h.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:C,className:"dialog__title h4b",children:r})}):null,c?n.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:v,children:n.jsx(U4,{})}):null,n.jsx("div",{className:"dialog__body",children:s})]})}),document.body)}function K4({columns:e,rows:t,rowKey:a,title:r,toolbar:s,empty:i,loading:l,caption:u,className:c=""}){const{t:d}=_e.useTranslation(),m=!l&&t.length===0;return n.jsxs("div",{className:ke("board",c),children:[r||s?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),s?n.jsx("div",{className:"board__toolbar",children:s}):null]}):null,n.jsxs("table",{className:"board__table",children:[u?n.jsx("caption",{className:"board__caption",children:u}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(p=>n.jsx("th",{scope:"col",className:ke("board__th",`board__cell--${p.headerAlign??p.align??"left"}`),style:p.width?{width:p.width}:void 0,children:p.header},p.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):m?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((p,C)=>n.jsx("tr",{className:"board__row",children:e.map(y=>n.jsx("td",{className:ke("board__td",`board__cell--${y.align??"left"}`),children:y.render(p,C)},y.key))},a(p,C)))})]})]})}function Y4({name:e,role:t,photo:a,media:r,credentials:s,size:i=190,className:l=""}){return n.jsxs("div",{className:ke("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,s?.length?n.jsx("ul",{className:"person-card__credentials",children:s.map(u=>n.jsx("li",{children:u},u))}):null]})}function Z4({groups:e,className:t=""}){return n.jsx("div",{className:ke("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,s)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((i,l)=>n.jsx("p",{children:i},l))})]},`${r.label??""}-${s}`))})]},a.title))})}function X4({title:e,kind:t,body:a,badge:r,badgeSrc:s,footer:i,width:l,className:u=""}){const c=r??(s?n.jsx("img",{src:s,alt:""}):null);return n.jsxs("div",{className:ke("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[c?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:c}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),i?n.jsx("div",{className:"publication-card__footer",children:i}):null]})}function J4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const s=wa(a);return o.useEffect(()=>{const i=setTimeout(()=>s.current?.(),r);return()=>clearTimeout(i)},[r,s]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function Q4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:s=2,tone:i="dark",className:l=""}){const u=s===1?"h1":"h2";return n.jsxs("div",{className:ke("section-header",`section-header--${i}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(u,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function ey({items:e,className:t=""}){return n.jsx("ul",{className:ke("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Gl(e){return typeof e=="string"?e:e.label}function Kl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1,filterSuggestions:s,onSelectSuggestion:i,autoActiveFirst:l=!1}){const u=o.useId(),[c,d]=o.useState(!1),[m,p]=o.useState(-1),C=o.useRef(null),y=o.useMemo(()=>{if(!a.length)return[];const D=e??"";return s===!1?a:D?typeof s=="function"?s(a,D):a.filter(H=>Gl(H).toLowerCase().includes(D.toLowerCase())):r?a:[]},[a,e,r,s]),[v,f]=o.useState(!1),g=o.useRef([]),_=v&&y.length===0?g.current:y;o.useEffect(()=>{_.length&&(g.current=_)},[_]);const h=o.useCallback(()=>f(!0),[]),w=o.useCallback(()=>f(!1),[]),b=l?0:-1;o.useEffect(()=>{c||p(b)},[c,b]),o.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const k=m<_.length?m:b<_.length?b:-1,x=o.useCallback(D=>{i?i(D):t?.(Gl(D)),d(!1)},[t,i]),B=o.useCallback(()=>d(!0),[]),A=o.useCallback(()=>{d(!0),p(b)},[b]),N=o.useCallback(()=>{C.current=setTimeout(()=>d(!1),120)},[]),E=o.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),d(!0),p(H=>Math.min(_.length-1,(H<_.length?H:b)+1))):D.key==="ArrowUp"?(D.preventDefault(),p(H=>Math.max(b,(H<_.length?H:_.length)-1))):D.key==="Enter"?k>=0&&x(_[k]):D.key==="Escape"&&c&&(D.preventDefault(),d(!1)))},[_,k,c,x,b]);return{listId:u,open:c,activeIdx:k,filtered:_,handleFocus:B,handleBlur:N,handleInput:A,handleKeyDown:E,handleSelect:x,handleCompositionStart:h,handleCompositionEnd:w}}const go=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Kn(e){const{value:t,defaultValue:a,name:r,inputRef:s,onChange:i,label:l,ariaLabel:u,ariaDescribedBy:c,required:d,placeholder:m,ghostText:p,ghostHint:C,type:y="text",disabled:v=!1,readOnly:f=!1,error:g,helperText:_,maxLength:h,size:w=48,variant:b="input",fullWidth:k=!1,newline:x=!1,multiline:B=!1,rows:A=3,leftIcon:N,rightIcon:E,clearable:D=!1,list:H,showCount:$=!0,className:G="",onFocus:L,onBlur:M,onKeyDown:I,onEnter:K,inputMode:Y,autoComplete:z,autoFocus:V,suggestions:R,filterSuggestions:q,onSelectSuggestion:S,autoActiveFirst:P,openOnFocus:j=!1}=e,F=f||v?void 0:R,{t:O}=_e.useTranslation(),W=o.useId();!l&&!u&&Gt(`TextField:unnamed:${W}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const Q=`tf-${W}`,oe=`tf-helper-${W}`,de=o.useRef(null),ae=Kl({value:t??"",onChange:i,suggestions:F??[],openOnFocus:j,filterSuggestions:q,onSelectSuggestion:S,autoActiveFirst:P}),te=!!F&&ae.open&&ae.filtered.length>0,Ae=o.useRef(null),[U,ne]=o.useState(null),le=o.useCallback(()=>{const Ne=Ae.current;if(!Ne||typeof window>"u")return;const ze=Ne.getBoundingClientRect(),Be=230,Ye=window.innerHeight-ze.bottom<Be+8&&ze.top>Be+8;ne({position:"fixed",left:ze.left,width:ze.width,...Ye?{bottom:window.innerHeight-ze.top+8}:{top:ze.bottom+8},zIndex:ka(Ne)})},[]);go(()=>{if(!te)return;le();let Ne=null;const ze=()=>{if(typeof requestAnimationFrame>"u"){le();return}Ne===null&&(Ne=requestAnimationFrame(()=>{Ne=null,le()}))},Be=Ye=>{const X=Ye.target;X&&X.nodeType===1&&X.closest?.(".text-field__suggestions")||ze()};return window.addEventListener("scroll",Be,!0),window.addEventListener("resize",ze),()=>{Ne!==null&&cancelAnimationFrame(Ne),window.removeEventListener("scroll",Be,!0),window.removeEventListener("resize",ze)}},[te,le]);const Ee=o.useCallback(Ne=>{de.current=Ne,typeof s=="function"?s(Ne):s&&(s.current=Ne)},[s]),be=p?`${p}${C??O("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:m,se=t!==void 0,pe=se&&y==="password",[he,ge]=o.useState((a??"").length),fe=se?(t??"").length:he,Te=o.useRef(t);go(()=>{Te.current=t}),o.useEffect(()=>{const Ne=de.current;if(!pe||!Ne)return;const ze=t??"";Ne.value!==ze&&(Ne.value=ze)},[pe,t]),o.useEffect(()=>{if(!x||!de.current)return;const Ne=de.current;Ne.style.height="",Ne.scrollHeight>Ne.clientHeight&&(Ne.style.height=`${Ne.scrollHeight}px`)},[t,he,x]);const Me=h!=null&&fe>h,Ie=w===32?16:20,Oe=ke("text-field",`text-field--s${w}`,b==="display"?"text-field--display":"",k?"text-field--full-width":"",v?"text-field--disabled":"",f?"text-field--readonly":"",g?"text-field--error":"",N?"text-field--has-left-icon":"",E||D?"text-field--has-right-icon":"",G),He={id:Q,...pe?{}:se?{value:t}:{defaultValue:a},ref:Ee,placeholder:be,name:r,disabled:v,readOnly:f,autoFocus:V,maxLength:h,list:H,inputMode:Y,autoComplete:z,"aria-label":!l&&u?u:void 0,"aria-required":d,"aria-invalid":!!g,"aria-describedby":[_||g?oe:null,c].filter(Boolean).join(" ")||void 0,role:F?"combobox":void 0,"aria-autocomplete":F?"list":void 0,"aria-haspopup":F?"listbox":void 0,"aria-expanded":F?te:void 0,"aria-controls":te?ae.listId:void 0,"aria-activedescendant":te&&ae.activeIdx>=0?`${ae.listId}-option-${ae.activeIdx}`:void 0,onChange:Ne=>{const ze=Ne.target;se||ge(ze.value.length),i?.(ze.value),F&&ae.handleInput(),pe&&queueMicrotask(()=>{const Be=Te.current??"";ze.value!==Be&&(ze.value=Be)})},onCompositionStart:F?ae.handleCompositionStart:void 0,onCompositionEnd:F?ae.handleCompositionEnd:void 0,onFocus:(Ne=>{L?.(Ne),F&&ae.handleFocus()}),onBlur:(Ne=>{M?.(Ne),F&&ae.handleBlur()}),onKeyDown:(Ne=>{const ze=(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!Ne.nativeEvent.isComposing;if(p&&ze&&!f&&!v&&!(Ne.currentTarget.value??"").trim()){Ne.preventDefault();const Be=Ne.currentTarget;se||(Be.value=p,ge(p.length)),i?.(p);return}F&&Ne.key==="Enter"&&!Ne.nativeEvent.isComposing&&ae.activeIdx>=0?Ne.preventDefault():K&&Ne.key==="Enter"&&!Ne.nativeEvent.isComposing&&(Ne.preventDefault(),K()),I?.(Ne),F&&ae.handleKeyDown(Ne)})},dt=D&&!v&&!f&&fe>0,ut=()=>x?n.jsx("textarea",{...He,className:"text-field__input text-field__input--auto body-2",rows:1}):B?n.jsx("textarea",{...He,className:"text-field__input text-field__input--textarea body-2",rows:A}):n.jsx("input",{...He,type:y,className:"text-field__input body-2"}),ot=b==="display"&&!x&&!B&&!!be,ct=()=>n.jsxs(n.Fragment,{children:[ut(),ot&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:be})]});return n.jsxs("div",{ref:Ae,className:Oe,children:[l&&n.jsxs("label",{htmlFor:Q,className:"text-field__label caption-1",children:[l,d&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[N&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(tt,{icon:N,label:"",className:"",svgClassName:"text-field__icon-svg",size:Ie})}),ct(),h!=null&&$&&n.jsxs("span",{className:`text-field__count caption-2${Me?" text-field__count--over":""}`,children:[fe,"/",h]}),dt&&n.jsx(me,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:O("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ne=>{Ne.preventDefault()},onClick:()=>{!se&&de.current&&(de.current.value="",ge(0)),i?.("")},tabIndex:-1}),E&&!dt&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(tt,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Ie})})]}),!!F&&n.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:ae.open&&(t??"").length>0&&ae.filtered.length===0?O("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),te&&(typeof document>"u"?null:en.createPortal(n.jsx("ul",{id:ae.listId,className:"text-field__suggestions",role:"listbox",style:U??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:ae.filtered.map((Ne,ze)=>n.jsx("li",{id:`${ae.listId}-option-${ze}`,role:"option","aria-selected":ze===ae.activeIdx,className:`text-field__suggestion body-2${ze===ae.activeIdx?" is-active":""}`,onMouseDown:Be=>Be.preventDefault(),onClick:()=>{ae.handleSelect(Ne),de.current?.focus()},children:typeof Ne=="string"?Ne:n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-field__suggestion-label",children:Ne.label}),Ne.hint&&n.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Ne.hint})]})},typeof Ne=="string"?`${Ne}-${ze}`:Ne.id))}),document.body)),(_||g)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:oe,className:"text-field__helper caption-1",role:g?"alert":void 0,children:g||_})})]})}function pn({options:e,value:t,onChange:a,placeholder:r,disabled:s=!1,block:i=!1,size:l=48,error:u=!1,className:c="",ariaLabel:d,ariaDescribedBy:m}){const{t:p}=_e.useTranslation(),C=r??p("dropdown.placeholder","\uC120\uD0DD"),y=o.useId(),v=o.useId(),f=o.useRef(null),g=o.useCallback((L,M)=>{const I=window.innerHeight-L.bottom<260&&L.top>260;return{position:"fixed",left:L.left,minWidth:L.width,...I?{bottom:window.innerHeight-L.top+6}:{top:L.bottom+6},zIndex:ka(M)}},[]),{open:_,setOpen:h,toggle:w,style:b,triggerRef:k,menuRef:x}=Na({computeStyle:g}),[B,A]=o.useState(-1),N=o.useCallback(()=>A(-1),[]),E=e.find(L=>L.value===t);o.useEffect(()=>{if(_){const L=e.findIndex(M=>M.value===t);A(L>=0?L:e.length?0:-1),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const I=M.querySelectorAll(".dropdown__option")[L];I&&(M.scrollTop=Math.max(0,I.offsetTop-M.clientHeight/2+I.clientHeight/2))})}},[_]),o.useEffect(()=>{_&&A(L=>{if(L>=0&&L<e.length)return L;const M=e.findIndex(I=>I.value===t);return M>=0?M:e.length?0:-1})},[_,e.length]);const D=o.useCallback(()=>{s||w()},[s,w]),H=o.useCallback(L=>{L.disabled||s||(L.value!==t&&a?.(L.value),h(!1))},[a,h,s,t]);o.useEffect(()=>{s&&h(!1)},[s,h]);const $=o.useCallback(L=>{if(!s){if(!_){(L.key==="Enter"||L.key===" "||L.key==="ArrowDown")&&(L.preventDefault(),h(!0));return}if(L.key==="Escape"){L.preventDefault(),h(!1);return}L.key==="ArrowDown"?(L.preventDefault(),A(M=>{let I=M+1;for(;I<e.length&&e[I].disabled;)I++;return I<e.length?I:M})):L.key==="ArrowUp"?(L.preventDefault(),A(M=>{let I=M-1;for(;I>=0&&e[I].disabled;)I--;return I>=0?I:M})):(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),e[B]?H(e[B]):h(!1))}},[s,_,e,B,H,h]),G=_?n.jsx("div",{ref:x,id:y,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:b,onMouseLeave:N,onMouseDown:L=>L.preventDefault(),children:e.map((L,M)=>n.jsxs("button",{id:`${y}-option-${M}`,type:"button",role:"option","aria-selected":L.value===t,className:ke("dropdown__option body-2",L.value===t?"dropdown__option--active":"",M===B?"dropdown__option--active":"",L.disabled?"dropdown__option--disabled":""),onMouseDown:I=>I.preventDefault(),onClick:()=>H(L),onMouseEnter:()=>A(M),disabled:L.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:L.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),L.label]},L.value))}):null;return n.jsxs("div",{ref:f,className:ke("dropdown",`dropdown--s${l}`,_?"dropdown--open":"",i?"dropdown--block":"",u?"dropdown--error":"",c),onKeyDown:$,children:[n.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":_,"aria-controls":_?y:void 0,"aria-activedescendant":_&&B>=0?`${y}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&E?v:"",m??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:s,onClick:D,onBlur:L=>{_&&!x.current?.contains(L.relatedTarget)&&h(!1)},children:[n.jsx("span",{id:v,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:C}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&en.createPortal(G,f.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function ar({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:s,className:i=""}){const{t:l}=_e.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),c=s??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),m=()=>a(Math.max(1,Math.min(d,e-1))),p=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:ke("pagination",i),children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:u,disabled:e<=1,onClick:m}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:c,disabled:e>=t,onClick:p})]})}const La=new Map;function An(e){const{t}=_e.useTranslation(),{options:a=[],value:r=a.find(b=>!b.disabled)?.key??a[0]?.key,onChange:s=b=>{},className:i="",size:l=40,shape:u="pill",useBG:c=!0,fullWidth:d=!1,minButtonWidth:m,ariaLabel:p}=e||{},C=o.useRef(null),y=a.filter(b=>!b.disabled),v=o.useId(),f=a.map(b=>b.key).join("\xB7");o.useEffect(()=>{if(!(!Xn||p!=null&&p!=="")){if(La.set(v,f||"(\uBCF4\uAE30 \uC5C6\uC74C)"),La.size>1){const b=[...La.values()].sort();Gt(`segmented-control-unnamed:${b.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${La.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${b.join(" / ")}`)}return()=>{La.delete(v)}}},[p,f,v]);const g=b=>{if(!y.length)return;const k=Math.max(0,y.findIndex(B=>B.key===r)),x=b==="first"?y[0]:b==="last"?y[y.length-1]:y[(k+b+y.length)%y.length];x&&(s(x.key),Array.from(C.current?.querySelectorAll("[data-segkey]")??[]).find(B=>B.dataset.segkey===x.key)?.focus())},_=b=>{switch(b.key){case"ArrowRight":case"ArrowDown":g(1);break;case"ArrowLeft":case"ArrowUp":g(-1);break;case"Home":g("first");break;case"End":g("last");break;default:return}b.preventDefault()},h=b=>{const k=x=>typeof x=="string"||typeof x=="number";if(!(!k(b.label)||b.count==null||b.count===!1||!k(b.count)))return`${b.label}, ${b.count}`},w=y.some(b=>b.key===r)?r:y[0]?.key;return n.jsx("div",{ref:C,onKeyDown:_,className:ke("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,d&&"segmented-control--full",!c&&"segmented-control--no-bg",m!=null&&"segmented-control--min",i),style:m!=null?{"--segmented-min-button-w":`${m}px`}:void 0,role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(b=>n.jsx(me,{htmlType:"button",role:"radio","aria-checked":b.key===r,"data-segkey":b.key,tabIndex:b.key===w?0:-1,label:b.label,count:b.count,ariaLabel:h(b),disabled:b.disabled,className:b.key===r?"is-selected":"",onClick:()=>{b.disabled||s(b.key)},size:l,shape:u,useBorder:!1,useBG:!1},b.key))})}function bo({count:e,search:t,segment:a,filters:r,pageSize:s,pagination:i,actions:l,className:u}){const{t:c}=_e.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??c("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),m=!!(t||r?.length||s||i||l);return n.jsxs("div",{className:ke("toolbar",u),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((p,C)=>n.jsx(An,{size:40,...p},p.ariaLabel??C))]}),m&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(Kn,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??c("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??c("common.search","\uAC80\uC0C9"),autoFocus:t.autoFocus,clearable:!0}),r?.map((p,C)=>n.jsx(pn,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},C)),(s||i)&&n.jsxs("div",{className:"toolbar__pager",children:[s&&n.jsx(pn,{size:40,options:s.options,value:s.value,onChange:s.onChange,ariaLabel:s.ariaLabel??c("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&n.jsx(ar,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}function Yl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Yl).join(""):""}function ty(e){let t=e.replace(/\r\n/g,`
|
|
851
|
+
and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Sicheong-gil, Chuncheon, Gangwon, Korea"},cg={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},dg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},pg={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},mg={answer:"Answer",distractor:"Distractor"},hg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Cg={clearAriaLabel:"Clear input"},fg={ariaLabel:"Select tab"},gg={ariaLabel:"Tabs"},bg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},yg={ariaLabel:"User avatar"},vg={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},xg={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel_one:"{{n}} session",countLabel_other:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},_g={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},wg={manage:{unit:"item(s)"}},Bg={cancelLabel:"Cancel"},Ag={subtitle:"Select a topic to start listening practice."},kg={steps:"Step {{current}} of {{total}}"},Ng={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs_one:"{{count}} run",runs_other:"{{count}} runs",avgDuration:"{{sec}}s avg"},Dg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},Eg={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},Sg={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},jg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Tg={previewRegion:"Report preview \u2014 scrollable sideways"},Mg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Lg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},$g={clearSelection:"Clear selection"},Rg={showResult:"Show {{type}} result"},Pg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Fg={loading:"Loading"},Ig={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Og={ariaLabel:"Breadcrumb"},Hg={empty:"No items yet."},zg={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Vg={common:D2,calendar:E2,passCard:S2,searchField:j2,rating:T2,colorPicker:M2,dropdown:L2,accordion:$2,header:R2,nav:P2,settings:F2,usage:I2,account:O2,help:H2,training:z2,trainingSettings:V2,customers:W2,payment:q2,coupons:U2,visits:G2,company:K2,trainingType:Y2,myWordTraining:Z2,myWordTable:X2,keyWords:J2,wordTable:Q2,wordSearch:eg,wordPrint:tg,topic:ng,accessLinkManager:ag,login:rg,device:og,manager:sg,wordPairs:ig,game:lg,footer:ug,landing:cg,date:dg,trainingSetPage:pg,wordTrainingPreview:mg,wordData:hg,textField:Cg,segmentedControl:fg,tabs:gg,fileUpload:bg,avatar:yg,myHomework:vg,trainingStatus:xg,store:_g,homework:wg,inquiry:Bg,trainingPlanRun:Ag,progress:kg,trainingMiss:Ng,table:Dg,wordScore:Eg,topBanner:Sg,datePicker:jg,report:Tg,tooltip:Mg,phonemeProfile:Lg,bulkBar:$g,debug:Rg,badge:Pg,loader:Fg,soundCompass:Ig,breadcrumb:Og,board:Hg,promoBannerBg:zg};const Wg="0.322.0",qg=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Yr="ko",Ug="ihab_display_language";function wi(){if(typeof window>"u")return Yr;try{const e=localStorage.getItem(Ug);if(e&&qg.some(t=>t.code===e))return e}catch{}return Yr}function Bi(e){try{document.documentElement.lang=e}catch{}}Tt.on("languageChanged",Bi),Bi(wi()),Tt.use(_e.initReactI18next).init({resources:{ko:{translation:N2},en:{translation:Vg}},lng:wi(),fallbackLng:Yr,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Gg=new Map;try{Tt.store?.on?.("added",()=>Gg.clear())}catch{}let Ya=null,Ai=null,ki=null;function Kg(){const e=pi();if(e&&e.entries.length>0){const t=MC();if(Ya&&Ai===e&&ki===t)return Ya;const a=new Set,r=[];for(const i of e.entries)!i.word||a.has(i.word)||(a.add(i.word),r.push({w:i.word,s:i.syllables,p:t?.[i.word]?[...t[i.word].cho??[],...t[i.word].jung??[],...t[i.word].jong??[]]:[],pron:i.pronunciation||i.word,grade:i.grade}));return Ya=r,Ai=e,ki=t,Ya}return[]}new Proxy([],{get(e,t){const a=Kg(),r=a[t];return typeof r=="function"?r.bind(a):r}});function Yg(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function Zg(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&Yg(r.attrValue)&&(r.keepAttr=!1)};$r.addHook("uponSanitizeAttribute",t);try{return $r.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{$r.removeHook("uponSanitizeAttribute",t)}}function Xg(e){const[t,a]=o.useState(null),[r,i]=o.useState(null),[s,l]=o.useState(null),[u,c]=o.useState(null);return o.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),i(null),l(null);return}const d=e.split("/").pop();let m=e;d&&(e.startsWith("/")?m=Rr(e):/^(Logo|Symbol)/i.test(d)?m=Rr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),m=e)),i(null),l(null),a(m)},[e]),o.useEffect(()=>{if(!t)return;let d=!1;async function m(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const h=p.headers.get("content-type")||"";if(d)return;if(h.includes("svg")){i("mask");return}if(h.startsWith("image/")){i("img");return}const v=await fetch(t);if(!v.ok)throw new Error("not ok");const y=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(y)){const g=Zg(y);if(!g){i("none");return}l(g),i("inline");return}i("none")}catch{d||i("none")}}return m(),()=>{d=!0}},[t]),o.useEffect(()=>{let d=!1,m=null;return r==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(m=URL.createObjectURL(p),c(m))}).catch(()=>{d||i("img")}),()=>{d=!0,m&&URL.revokeObjectURL(m),c(null)}},[r,t]),{iconToUse:t,mode:r,svgText:s,blobUrl:u}}function et(e){const{icon:t,label:a,className:r,imgClassName:i,maskClassName:s,svgClassName:l,wrapperStyle:u,size:c}=e||{},d=r??"iconRenderer-icon",m=i??"iconRenderer-icon-image",p=s??"iconRenderer-icon-mask",h=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,y=k0(v),{iconToUse:g,mode:f,svgText:_,blobUrl:C}=Xg(v),w=(A,N={})=>n.jsx("span",{className:d,style:u,...N,children:A}),b=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,k=(A,N={})=>n.jsx("img",{src:A,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:m,...N,style:b?{...N.style,...b}:N.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"></svg>'}}),{"aria-hidden":"true"});if(y)try{return w(o.createElement(y,{className:h,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(f==="mask"){const A={"--icon-url":C?`url(${C})`:`url(${g})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return w(n.jsx("span",{className:p,style:A}),{"aria-hidden":"true"})}return f==="img"?w(k(g,{onError:A=>{A.currentTarget.onerror=null,A.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):f==="inline"?w(n.jsx("span",{className:h,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Rr(t),{style:u,onError:A=>{A.currentTarget.onerror=null,A.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,B=`<svg width="${x}" height="${x}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return w(n.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Ni(e){const[t,a]=o.useState(!1),r=o.useRef(!1),i=o.useRef(!0);o.useEffect(()=>(i.current=!0,()=>{i.current=!1}),[]);const s=o.useCallback(()=>{if(!e||r.current)return;const l=e();if(l&&typeof l.then=="function"){r.current=!0,a(!0);const u=()=>{r.current=!1,i.current&&a(!1)};l.then(u,u)}},[e]);return{pending:t,press:s}}function Jg({icon:e,title:t,message:a,action:r,className:i}){const{pending:s,press:l}=Ni(r?.onClick);return n.jsxs("div",{className:Ae("empty-state",i),children:[e&&n.jsx(et,{icon:e,size:48,className:"empty-state__icon"}),t&&n.jsx("p",{className:"empty-state__title h4",children:t}),a&&n.jsx("p",{className:"empty-state__message body-3",children:a}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:l,disabled:s,"aria-busy":s||void 0,children:[r.icon&&n.jsx(et,{icon:r.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function Qg({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:i,className:s}){const{t:l}=_e.useTranslation(),{pending:u,press:c}=Ni(r);return n.jsxs("div",{className:Ae("empty-state","error-state",s),role:"alert",children:[n.jsx(et,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),n.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&n.jsx("p",{className:"error-state__hint caption-1",children:t}),r&&n.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:c,disabled:u,"aria-busy":u||void 0,children:[n.jsx(et,{icon:"rotate-cw",className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:i??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}function eb({icon:e,title:t,description:a,cta:r,tone:i="main",disabled:s=!1,onClick:l,className:u=""}){const c=o.useId(),d=`${c}-title`,m=`${c}-desc`,p=`${c}-cta`,h=()=>{s||l?.()};return n.jsx("section",{role:"button",tabIndex:s?-1:0,"aria-disabled":s||void 0,"aria-labelledby":d,"aria-describedby":`${m} ${p}`,onClick:h,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),h())},className:Ae("action-card",`action-card--${i}`,s&&"action-card--disabled",u),children:n.jsxs("div",{className:"action-card__body",children:[n.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:n.jsx(et,{icon:e,size:34})}),n.jsxs("div",{className:"action-card__text",children:[n.jsx("h2",{id:d,className:"action-card__title",children:t}),n.jsx("p",{id:m,className:"action-card__desc",children:a})]}),n.jsxs("div",{className:"action-card__cta",children:[n.jsx("span",{id:p,children:r}),n.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:n.jsx(et,{icon:"arrow-right",size:18})})]})]})})}function tb({as:e="div",className:t="",children:a,storage:r,...i}){r&&dC({resolveUrl:r.resolveUrl,download:r.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:r.exists,resolvePath:r.resolvePath,noiseBaseUrl:r.noiseBaseUrl,noiseFileGain:r.noiseFileGain});const s=Ae("ihabdevteam-core-scope",t);return n.jsx(e,{className:s,...i,children:a})}function Zr(e,t=!0){o.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=i=>{if(i.key!=="Tab")return;const s=Array.from(a.querySelectorAll(Cn)).filter(m=>!m.closest('[aria-hidden="true"]'));if(!s.length){i.preventDefault();return}const l=s[0],u=s[s.length-1],c=document.activeElement,d=c===a;i.shiftKey&&(c===l||d)?(i.preventDefault(),u.focus()):!i.shiftKey&&c===u&&(i.preventDefault(),l.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const Cn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Xr=new WeakMap;function Jr(e,t){e&&Xr.set(e,t)}function Qr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Xr.has(r);)r=r.parentElement;if(!r)return t;t=Xr.get(r)??null}return t}function Di(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function Za(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(Di(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const i=Array.from(document.querySelectorAll(Cn)).filter(c=>!(e&&e.contains(c))&&Di(c));let s=null,l=null;for(const c of i)r.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_PRECEDING?s=c:l||(l=c);const u=s??l;return u?.focus(),u}function nb({title:e="",lines:t=[],notices:a=null,children:r,variant:i="default",dismissible:s=!1,className:l=""}){const{t:u}=_e.useTranslation(),[c,d]=o.useState(!1),m=o.useRef(null),p=o.useCallback(()=>{const g=m.current;g&&g.contains(document.activeElement)&&Za(g),d(!0)},[]);if(c)return null;const h=`notice-box notice-box--${i} body-2 ${l}`.trim(),v=s&&n.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return n.jsxs("div",{className:h,role:"note",children:[a.map((g,f)=>n.jsxs("div",{className:"notice-box__inner",children:[g.title?n.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,n.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?n.jsx("div",{children:g.lines.map((_,C)=>n.jsx("span",{className:"notice-box__line body-3",children:_},C))}):g.children??null})]},f)),v]});const y=e||t.length?n.jsxs("div",{className:"notice-box__inner",children:[e?n.jsx("span",{className:"notice-box__title body-1",children:e}):null,n.jsx("div",{className:"notice-box__body",children:t.length?n.jsx("ul",{children:t.map((g,f)=>n.jsx("li",{className:"notice-box__line",children:g},f))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:m,className:h,role:"note",children:[y,v]})}const ra=[];let Xa=!1;function Ei(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=ra[ra.length-1];t&&(e.stopPropagation(),t())}function Wn(e){return ra.push(e),!Xa&&typeof document<"u"&&(document.addEventListener("keydown",Ei),Xa=!0),()=>{const t=ra.lastIndexOf(e);t>=0&&ra.splice(t,1),ra.length===0&&Xa&&typeof document<"u"&&(document.removeEventListener("keydown",Ei),Xa=!1)}}const Si=o.createContext(null);function ab(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const ji=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function rb(e){const t=o.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const r=window.matchMedia(e);return r.addEventListener?r.addEventListener("change",a):r.addListener&&r.addListener(a),()=>{r.removeEventListener?r.removeEventListener("change",a):r.removeListener&&r.removeListener(a)}},[e]);return cs.useSyncExternalStore(t,()=>ji(e),()=>!1)}function ob(e){const[t,a]=o.useState(ji(e));return o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),i=l=>a(l.matches),s=r;return s.addEventListener?s.addEventListener("change",i):s.addListener&&s.addListener(i),a(r.matches),()=>{s.removeEventListener?s.removeEventListener("change",i):s.removeListener&&s.removeListener(i)}},[e]),t}const sb=typeof cs.useSyncExternalStore=="function"?rb:ob;function on(e){const t=o.useContext(Si),a=sb(e);return t&&typeof t.mobile=="boolean"&&ab(e)?t.mobile:a}const ib="(prefers-reduced-motion: reduce)";function eo(){return on(ib)}function un(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:i=20,onClose:s,closeOnOutsideClick:l=!0,className:u="",role:c="dialog",ariaLabel:d="",children:m,backdrop:p=!1,isMobilePopup:h=!1,useBorder:v=!0,header:y,focusOnOpen:g}=e||{},f=o.useRef(null),[_,C]=o.useState({position:"fixed",left:0,top:-9999}),[w,b]=o.useState(!1),[k,x]=o.useState("bottom"),[B,A]=o.useState(!1),[N,E]=o.useState(!1),D=!t&&!a,H=o.useCallback((W=!1)=>{if(N&&h)return;const R=a?a.getBoundingClientRect():t;if(!R||!f.current)return;const q=f.current,{offsetWidth:j,offsetHeight:I}=q,S=window.innerWidth,F=window.innerHeight,O=S-R.right,U=R.left,Q=R.top,oe=F-R.bottom;let me=0,ae=0,te="top";if(Q>=I+r)te="top",ae=R.top-r-I,me=R.left+R.width/2-j/2;else if(oe>=I+r)te="bottom",ae=R.bottom+r,me=R.left+R.width/2-j/2;else if(O>=j+r)te="right",me=R.right+r,ae=R.top+R.height/2-I/2;else if(U>=j+r)te="left",me=R.left-r-j,ae=R.top+R.height/2-I/2;else{const ie=Math.max(Q,oe,O,U);ie===Q?(te="top",ae=R.top-r-I,me=R.left+R.width/2-j/2):ie===oe?(te="bottom",ae=R.bottom+r,me=R.left+R.width/2-j/2):ie===O?(te="right",me=R.right+r,ae=R.top+R.height/2-I/2):(te="left",me=R.left-r-j,ae=R.top+R.height/2-I/2)}const ke=Number.isFinite(Number(i))?Number(i):8;me=Math.min(Math.max(me,ke),S-j-ke),ae=Math.min(Math.max(ae,ke),F-I-ke);const G=Math.round(me),re=Math.round(ae);W&&f.current?(f.current.style.left=`${G}px`,f.current.style.top=`${re}px`,f.current.dataset.placement=te):(x(te||k),C({position:"fixed",left:G,top:re}),A(!0))},[N,h,a,t,r,i,k]);o.useLayoutEffect(()=>{if(D)return;if(N&&h){C({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),A(!0);return}H();const W=requestAnimationFrame(()=>H());return()=>cancelAnimationFrame(W)},[t,a,r,m,i,D,N,h,H]),o.useEffect(()=>{if(D||N&&h||!f.current||typeof ResizeObserver>"u")return;const W=new ResizeObserver(()=>{t&&H()});return W.observe(f.current),()=>W.disconnect()},[t,m,i,D,N,h,H]),o.useEffect(()=>{if(D||N&&h)return;let W=null;const R=()=>{if(typeof requestAnimationFrame>"u"){H(!0);return}W===null&&(W=requestAnimationFrame(()=>{W=null,H(!0)}))},q=j=>{if(!a&&s){const I=j.target;if(I&&f.current&&f.current.contains(I))return;try{if(I&&I.closest&&I.closest("[data-tooltip-ignore]"))return}catch{}$.current(!0);return}R()};return window.addEventListener("resize",R),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{W!==null&&cancelAnimationFrame(W),window.removeEventListener("resize",R),document.removeEventListener("scroll",q,{capture:!0})}},[t,a,s,r,m,i,D,N,h,H]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const W=window.matchMedia("(max-width: 768px)"),R=()=>E(!!W.matches);R();try{W.addEventListener?W.addEventListener("change",R):W.addListener(R)}catch{try{W.addListener(R)}catch{}}return()=>{try{W.removeEventListener?W.removeEventListener("change",R):W.removeListener(R)}catch{}}},[]);const P=o.useRef(!1),Y=o.useRef(null),M=eo(),L=o.useCallback((W=!1)=>{if(s&&!(w||P.current)){if(P.current=!0,W){b(!0);try{s&&s()}catch{P.current=!1,b(!1)}return}b(!0),Y.current=setTimeout(()=>{Y.current=null;try{s&&s()}catch{P.current=!1,b(!1)}},M?0:200)}},[w,s,b,M]);o.useEffect(()=>()=>{Y.current&&clearTimeout(Y.current)},[]),o.useEffect(()=>{if(D)return;const W=j=>{const I=f.current;if(!I)return;const S=j.target;if(S&&!I.contains(S)){try{if(S.closest&&S.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},R=j=>{const I=f.current;if(!I)return;const S=j.target;if(S&&!I.contains(S)){try{if(S.closest&&S.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},q=j=>{if(j.key==="Tab"){const I=f.current;if(!I)return;const S=I.querySelectorAll(Cn);if(!S||S.length===0)return;const F=S[0],O=S[S.length-1],U=document.activeElement;j.shiftKey?U===F&&(j.preventDefault(),O.focus()):U===O&&(j.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",W,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",q),()=>{document.removeEventListener("pointerdown",W,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",q)}},[s,l,L,D]);const $=o.useRef(L);o.useEffect(()=>{$.current=L});const K=!!s;o.useEffect(()=>{if(!(D||!K))return Wn(()=>$.current())},[D,K]),o.useEffect(()=>{const W=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",W),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",W)}},[L]);const V=o.useRef(null);o.useEffect(()=>{if(D||g===!1||!B)return;const W=f.current;if(!W)return;const R=W.querySelector(Cn);if(R)return V.current=document.activeElement,R.focus(),()=>{const q=V.current;V.current=null,q&&document.contains(q)&&q.focus()}},[D,g,B]),o.useEffect(()=>{c==="dialog"&&!d&&Gt("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[c,d]);const z=n.jsxs("div",{ref:f,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${w?"is-closing":""} ${u} ${N&&h?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:D?{}:{..._,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":k,"data-left":D?"":_.left,"data-top":D?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[y!=null&&n.jsx("div",{className:"tooltip-content__header h5",children:y}),m]});if(D||typeof document>"u")return z;if(p||N&&h){const W=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),z]});return Jt.createPortal(W,document.body)}return Jt.createPortal(z,document.body)}function _n(e){const{anchorRect:t,text:a,offset:r=8,onClose:i,className:s="",ariaLabel:l}=e||{};return a?n.jsx(un,{anchorRect:t,offset:r,onClose:i,closeOnOutsideClick:!1,className:`tooltip-info ${s}`,ariaLabel:l||a,children:n.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}function qn(e){const{t}=_e.useTranslation(),{anchorRect:a,title:r,items:i,activeIndex:s=-1,showIndex:l=!0,onClose:u,offset:c=12,closeOnOutsideClick:d=!0}=e||{},m=(Array.isArray(i)?i:i?[i]:[]).map(p=>typeof p=="string"?{text:p}:p);return!m.length&&!r?null:n.jsx(un,{anchorRect:a,offset:c,onClose:u,closeOnOutsideClick:d,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:n.jsxs("div",{className:"tooltip-description__box",children:[r&&n.jsx("span",{className:"tooltip-description__title body-2",children:r}),n.jsx("ol",{className:"tooltip-description__items",children:m.map((p,h)=>n.jsxs("li",{className:`tooltip-description__item body-3${h===s?" tooltip-description__item--active":""}`,children:[l&&m.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),p.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),n.jsx("span",{children:p.text})]},h))})]})})}function Ba(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let to=0,Ti=!1;function Mi(){Ti||typeof document>"u"||(Ti=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(to=Date.now())},!0),document.addEventListener("touchstart",()=>{to=Date.now()},{capture:!0,passive:!0}))}Mi();function oa(e){return!!e&&e.pointerType==="touch"}function sa(e=1e3){return Mi(),Date.now()-to<e}function no(e,t,a,{enabled:r=!0,fallbackOnParent:i=!1}={}){const s=Ba(e),l=Ba(t),u=o.useRef(null),c=o.useRef(0);o.useEffect(()=>{if(!r||typeof document>"u")return;const m=p=>{const h=p,v=p.target,y=a.current,g=!!(v&&y&&y.contains(v));if(h.pointerType!=="touch"){g&&(u.current=null);return}if(g){u.current=s.current;return}u.current=null,s.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,y)};return document.addEventListener("pointerdown",m,!0),()=>document.removeEventListener("pointerdown",m,!0)},[r,a,s,l]);const d=o.useCallback(m=>{const p=u.current;return p===null?!1:(u.current=null,c.current=Date.now(),l.current(!p,m??a.current),!0)},[a,l]);return o.useEffect(()=>{if(!r||!i)return;const m=a.current,p=m?.parentElement;if(!m||!p)return;let h=null;const v=f=>{const _=f.changedTouches?.[0];if(!_)return!1;const C=m.getBoundingClientRect();return _.clientX>=C.left&&_.clientX<=C.right&&_.clientY>=C.top&&_.clientY<=C.bottom},y=f=>{h=v(f)?s.current:null},g=f=>{const _=h;h=null,!(_===null||Date.now()-c.current<700||!v(f))&&(u.current=null,c.current=Date.now(),l.current(!_,m))};return p.addEventListener("touchstart",y,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",y),p.removeEventListener("touchend",g)}},[r,i,a,s,l]),{touchPress:d}}function lb(e,t){const{size:a=48,type:r,htmlType:i,href:s,target:l,rel:u,icon:c,rightIcon:d,label:m,count:p,subLabel:h,children:v,ariaLabel:y,variant:g="default",align:f="center",nowrap:_=!1,selected:C,toggleable:w=!1,ariaExpanded:b,ariaControls:k,disabled:x=!1,useLabel:B=!0,useBorder:A=!0,useBG:N=!0,useDisabledCovered:E=!1,useDisabledInvisible:D=!1,width:H,minWidth:P,onClick:Y,onDisabledClick:M,showTooltipInfo:L=!1,tooltipInfoText:$=null,tooltipDescription:K=null,tooltipOnly:V=!1,iconSize:z="medium",iconColor:W,shape:R="rounded",color:q,className:j,...I}=e,S=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=S.match(/^\d+$/)?`button${S}`:`button-${S}`,O=Number(a),U=!isNaN(O)&&O<40?"button-2":"button-1",Q=m??v,oe=x||!!I.disabled,me=oe?E?"disabled-covered":D?"disabled-invisibled":"disabled":g,ae=me?`button--variant-${me}`:"",te=f?`button--align-${f}`:"",ke=_?"button--nowrap":"",G=R?`button--shape-${R}`:"",re=typeof W=="string"&&W.startsWith("--")?`var(${W})`:W,ie={...H?{width:typeof H=="number"?`${H}px`:H}:{},...P?{minWidth:typeof P=="number"?`${P}px`:P}:{},...A?{}:{"--button-border":oe?"0":"1px solid transparent"},...re?{"--button-icon-color":re}:{},...q?{"--color-main":q}:{}},De=B===!1?"":Q,ye=Array.isArray(De)?De.length>0:!!De,se=!!d,ce=r??(ye||c||se?"bar":"dot"),Ce=`${F}--${ce}`,be=o.useRef(null);o.useEffect(()=>{!Jn||i!==void 0||be.current?.closest("form")&&Gt(`button-in-form:${typeof Q=="string"?Q:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof Q=="string"&&Q?` \uB2E8\uCD94: ${Q}`:""))},[i,Q]);const ge=o.useRef(t);ge.current=t;const je=o.useCallback(Ve=>{be.current=Ve;const Qe=ge.current;typeof Qe=="function"?Qe(Ve):Qe&&(Qe.current=Ve)},[]),Ue=o.useRef(oe),[Se,Ie]=o.useState(!!C),[qe,lt]=o.useState(!1),[st,nt]=o.useState(null),ut=o.useCallback(()=>lt(!1),[]),[Ne,We]=o.useState(!1),Be=o.useId();o.useEffect(()=>{typeof C=="boolean"&&Ie(C)},[C]),o.useEffect(()=>{if(Ue.current&&!oe&&be.current){const Ve=be.current;let Qe=!1;try{Qe=Ve.matches(":focus:not(:focus-visible)")}catch{Qe=!1}Qe&&Ve.blur(),Ve.style.pointerEvents="none";const _t=requestAnimationFrame(()=>{requestAnimationFrame(()=>{be.current&&(be.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(_t)}Ue.current=oe},[oe]);const Ge=typeof C=="boolean"?!!C:Se,J=typeof b=="boolean"?void 0:w||typeof C=="boolean"?Ge?"true":"false":I["aria-pressed"],ue=Ae("button",F,Ce,ae,te,ke,G,Ge?"is-selected":null,N?null:"button--no-bg",V?"button--tooltip-only":null,j),we=`button__icon button__icon--${z}`,Le=Array.isArray(h)?h:h!==void 0?[h]:[],Oe=()=>{if(Array.isArray(De))return De.map((Qe,_t)=>{const Xt=Le[_t];return n.jsxs("span",{className:`button__label-text${Xt!==void 0?" button__label-text--has-sub":""}`,children:[Qe,Xt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:Xt})]},_t)});const Ve=h!==void 0;return n.jsxs("span",{className:`button__label-text${Ve?" button__label-text--has-sub":""}`,children:[De,p!=null&&n.jsx("span",{className:"button__count",children:p}),Ve&&n.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},He=Ve=>{typeof C!="boolean"&&!w&&Ie(!1),Ve.currentTarget.blur()},rt=Ve=>{oe||(typeof I.onMouseLeave=="function"&&I.onMouseLeave(Ve),He(Ve))},ct=Ve=>{if(V&&mt&&Je.touchPress(Ve.currentTarget),oe){mt&&Je.touchPress(Ve.currentTarget),Ve.preventDefault(),M?.(Ve);return}typeof C!="boolean"&&w&&Ie(Qe=>!Qe),Y?.(Ve)},pt=o.useCallback(()=>{(L||K)&&(lt(!0),nt(be.current?.getBoundingClientRect()??null))},[L,K]),xt=o.useCallback(()=>{(L||K)&&(lt(!1),nt(null))},[L,K]),mt=!!(L||K),Je=no(qe,Ve=>{Ve?pt():xt()},be,{enabled:mt&&(oe||V),fallbackOnParent:mt&&oe}),Re={...I};delete Re.disabled,delete Re.className,delete Re.faded,delete Re.useFaded,delete Re.loading,delete Re.onMouseLeave,delete Re.onPointerEnter,delete Re.onPointerLeave,delete Re.onPointerUp,delete Re.onFocus,delete Re.onBlur,oe&&(Object.keys(Re).forEach(Ve=>{/^on[A-Z]/.test(Ve)&&typeof Re[Ve]=="function"&&delete Re[Ve]}),Re["aria-disabled"]="true");const Pe=(typeof L=="string"?L:null)??(typeof $=="string"?$:null)??(typeof y=="string"?y:null)??(typeof Q=="string"?Q:null)??void 0,dt=typeof y=="string"?y:typeof Q=="string"?Q:Pe,tt=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&Pe&&Pe!==dt?Pe:"",gt=[typeof I["aria-describedby"]=="string"?I["aria-describedby"]:void 0,tt?Be:null].filter(Boolean).join(" ")||void 0,Ke=(Ve,Qe)=>n.jsx(et,{icon:Ve,label:Qe??dt,className:we,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),bt=()=>ce==="dot"?n.jsxs(n.Fragment,{children:[Ke(c),ye&&n.jsx("span",{className:`button__label ${U}`,children:Oe()})]}):f==="center"&&c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:Ke(c)}),ye&&n.jsx("span",{className:`button__label ${U}`,children:Oe()})]}),se&&n.jsx("span",{className:"button__right",children:Ke(d)})]}):n.jsxs(n.Fragment,{children:[c&&n.jsx("span",{className:"button__left",children:Ke(c,y??Q)}),ye&&n.jsx("span",{className:`button__label ${U}`,children:Oe()}),se&&n.jsx("span",{className:"button__right",children:Ke(d)})]}),kt=!!s&&!oe;return n.jsxs(n.Fragment,{children:[n.jsxs(kt?"a":"button",{...Re,ref:je,...kt?{href:s,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:i??"button",disabled:oe&&!M&&!Ne},className:ue,"aria-pressed":J,"aria-expanded":typeof b=="boolean"?b:I["aria-expanded"],"aria-controls":k??I["aria-controls"],"aria-label":dt,"aria-disabled":oe&&(kt||M||Ne)?!0:void 0,"aria-describedby":gt,style:ie,onClick:ct,onMouseLeave:rt,onPointerEnter:Ve=>{oa(Ve)||pt(),!oe&&typeof I.onPointerEnter=="function"&&I.onPointerEnter(Ve)},onPointerLeave:Ve=>{oa(Ve)||xt(),!oe&&typeof I.onPointerLeave=="function"&&I.onPointerLeave(Ve)},onPointerUp:Ve=>{oe&&mt&&Je.touchPress(Ve.currentTarget),!oe&&typeof I.onPointerUp=="function"&&I.onPointerUp(Ve)},onFocus:Ve=>{We(!0),sa()||pt(),!oe&&typeof I.onFocus=="function"&&I.onFocus(Ve)},onBlur:Ve=>{We(!1),oe||He(Ve),xt(),!oe&&typeof I.onBlur=="function"&&I.onBlur(Ve)},children:[bt(),tt?n.jsx("span",{id:Be,hidden:!0,"aria-label":tt}):null]}),qe&&K?n.jsx(qn,{anchorRect:st,title:K.title,items:K.items,onClose:ut}):qe&&Pe?n.jsx(_n,{anchorRect:st,text:Pe,onClose:ut}):null]})}const he=o.forwardRef(lb);he.displayName="Button";function Bt(e,t,a){const r=o.useRef(null);return o.useLayoutEffect(()=>{const i=r.current?.parentElement??null;return t(i,e),()=>a(i)},[e,t,a]),r}const Aa={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},ao=new WeakMap;function ro(e){if(e)return ao.get(e)}function zt(e,t){e&&(e.style.setProperty(Aa.title,t.title),e.style.setProperty(Aa.description,t.description),ao.set(e,t))}function Vt(e){e&&(e.style.removeProperty(Aa.title),e.style.removeProperty(Aa.description),ao.delete(e))}const Li={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function $i(){const e=Bt(Li,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Ri={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=Bt(Ri,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Fi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ii(){const e=Bt(Fi,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Oi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Hi(){const e=Bt(Oi,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const zi={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Vi(){const e=Bt(zi,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Wi={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function qi(){const e=Bt(Wi,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Ui={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Gi(){const e=Bt(Ui,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const Ki={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Yi(){const e=Bt(Ki,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Zi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Xi(){const e=Bt(Zi,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ji={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Qi(){const e=Bt(Ji,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const el={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function tl(){const e=Bt(el,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:n.jsx("span",{className:"promo-banner-bg-outline__dot"})})}const nl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function al(){const e=Bt(nl,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const rl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function ol(){const e=Bt(rl,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const sl={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function il(){const e=Bt(sl,zt,Vt);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Zt=(e,t,a)=>({key:e,get label(){return Tt.t(`promoBannerBg.${e}`,t)},textTone:a}),ub=[Zt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("soft","\uC18C\uD504\uD2B8","dark"),Zt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Zt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Zt("warm","\uC6DC(\uAC15\uC870)","dark"),Zt("dark","\uB2E4\uD06C","light"),Zt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Zt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Zt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Zt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Zt("success","\uC131\uACF5/\uC644\uB8CC","light"),Zt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Zt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],ll={main:$i,soft:Pi,sub:Ii,deep:Hi,softSub:Vi,warm:qi,dark:Gi,radial:Yi,diagonal:Xi,dots:Qi,outline:tl,success:al,naver:ol,instagram:il};function ul({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:i=.1,lineHeightRatio:s=1.4}={}){const l=w=>Math.max(a,Math.min(r,Number(w))),u=w=>{try{const b=localStorage.getItem(w),k=b?Number(b):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[c,d]=o.useState(()=>u(e)),[m,p]=o.useState(e);m!==e&&(p(e),d(u(e))),o.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const h=w=>{d(typeof w=="function"?b=>l(w(b)):l(w))},v=()=>h(w=>+(w+i).toFixed(6)),y=()=>h(w=>+(w-i).toFixed(6)),g=c<r-Number.EPSILON,f=c>a+Number.EPSILON,_=Math.round(t*c),C=Math.round(_*s);return{scale:c,setScale:h,increase:v,decrease:y,canIncrease:g,canDecrease:f,fontSize:_,lineHeight:C}}function cl(e,t){const a=Ba(t);o.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const oo=" \xB7 ",dl=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(oo)?e.split(oo).pop()??e:e})(),cb=o.createContext(!1),Un=[];let pl=null;function db(e){const t=o.useContext(cb);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;Un.length===0&&(pl=document.title);const a={text:dl?`${e}${oo}${dl}`:e};return Un.push(a),document.title=a.text,()=>{const r=Un.lastIndexOf(a);r>=0&&Un.splice(r,1),document.title=Un.length?Un[Un.length-1].text:pl??document.title}},[e,t])}const ml=[{value:"10",label:"10\uAC1C\uC529 \uBCF4\uAE30"},{value:"25",label:"25\uAC1C\uC529 \uBCF4\uAE30"},{value:"50",label:"50\uAC1C\uC529 \uBCF4\uAE30"},{value:"100",label:"100\uAC1C\uC529 \uBCF4\uAE30"}],pb=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function tn(e,t){return pb().compare(e,t)}const Ja=new Map;function mb(e){const t=Ja.get(e);if(t)return t;const a=[],r=/-?\d+(?:\.\d+)?/g;let i=0;for(let s=r.exec(e);s;s=r.exec(e)){let l=s.index,u=s[0];u[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,u=u.slice(1)),l>i&&a.push(e.slice(i,l)),a.push(Number(u)),i=s.index+s[0].length}return i<e.length&&a.push(e.slice(i)),Ja.size>5e3&&Ja.clear(),Ja.set(e,a),a}function hb(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function Cb(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),r=a(e),i=a(t);if(r===i)return 0;const s=(d,m)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=hb(m);return p!==null?[p]:mb(m)},l=s(e,r),u=s(t,i),c=Math.min(l.length,u.length);for(let d=0;d<c;d++){const m=l[d],p=u[d];if(typeof m=="number"&&typeof p=="number"){if(m!==p)return m-p;continue}if(typeof m=="number")return-1;if(typeof p=="number")return 1;const h=tn(m,p);if(h!==0)return h}return l.length!==u.length?l.length-u.length:tn(r,i)}const hl=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function so(e,t,a){const r=hl(e),i=hl(t);if(r||i)return r===i?0:r?1:-1;const s=Cb(e,t);return a?s:-s}function fb(e,t,a){const{t:r}=_e.useTranslation(),[i,s]=o.useState(()=>{const y=a?.initialPageSize;return y&&ml.some(g=>g.value===y)?y:"25"}),[l,u]=o.useState(1),[c,d]=o.useState(t);Object.is(c,t)||(d(t),l!==1&&u(1));const m=o.useMemo(()=>ml.map(y=>({...y,label:r("visits.showN",{n:y.value})})),[r]),p=o.useCallback(y=>{s(y),u(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(i)));(l>h||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),h));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),h);return{pageRows:o.useMemo(()=>e.slice((v-1)*Number(i),v*Number(i)),[e,v,i]),pageSizeProps:{options:m,value:i,onChange:p},paginationProps:{page:v,total:h,onChange:u},setPage:u}}function gb(e){const[t,a]=o.useState(null),r=o.useRef(t),i=o.useRef(e?.onSortChange);i.current=e?.onSortChange;const s=o.useCallback(c=>{const d=r.current,m=d?.key===c?{key:c,asc:!d.asc}:{key:c,asc:!0};r.current=m,a(m),i.current?.(m)},[]),l=o.useCallback((c,d)=>({label:c,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>s(d)}),[t,s]),u=o.useCallback((c,d)=>{if(!t)return c;const{key:m,asc:p}=t;return[...c].sort((h,v)=>so(d(h,m),d(v,m),p))},[t]);return{sort:t,field:l,sortRows:u,\uC815\uB82C:t,\uCE78:l}}const cn="\uC804\uCCB4";Object.fromEntries(Object.entries(AC).map(([e,{nucleus:t}])=>[e,t]));const bb={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},yb={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},vb={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function xb(e,t){if("place"in t)return bb[t.place](e);const a=yb[t.vowel](e);return t.glide?`${a} \xB7 ${vb[t.glide](e)}`:a}const _b=(e,{defaultValue:t})=>t,Cl=(e,t)=>({jamos:e,phonetic:t,tooltip:xb(_b,t)}),wn=(e,t)=>t.map(a=>Cl([a],{place:e})),Mt=(e,t,a)=>Cl([...e],a?{vowel:t,glide:a}:{vowel:t}),io={cho:[wn("labial",["\u3142","\u3143","\u314D","\u3141"]),wn("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),wn("alveolar",["\u3145","\u3146"]),wn("palatal",["\u3148","\u3149","\u314A"]),wn("velar",["\u3131","\u3132","\u314B"]),wn("glottal",["\u314E"])],jung:[[Mt("\u3163","frontHigh"),Mt("\u315F","frontHigh","w"),Mt("\u3162","frontHigh","velar")],[Mt("\u3161","backHighUnrounded")],[Mt("\u315C","backHighRounded"),Mt("\u3160","backHighRounded","j")],[Mt("\u3154\u3150","frontMid"),Mt("\u3156\u3152","frontMid","j"),Mt("\u3159\u315A\u315E","frontMid","w")],[Mt("\u3153","backMidUnrounded"),Mt("\u3155","backMidUnrounded","j"),Mt("\u315D","backMidUnrounded","w")],[Mt("\u3157","backMidRounded"),Mt("\u315B","backMidRounded","j")],[Mt("\u314F","low"),Mt("\u3151","low","j"),Mt("\u3158","low","w")]],jong:[wn("labial",["\u3142","\u3141"]),wn("alveolar",["\u3137","\u3134","\u3139"]),wn("velar",["\u3131","\u3147"])]},wb=e=>e===Bb?[]:Array.from(e),Bb="__NO_CODA__",lo=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:i})=>({v:a.join(""),phonetic:r,tooltip:i}))),fl={cho:lo(io.cho),jung:lo(io.jung),jong:lo(io.jong)};fl.jung.flat().forEach(({v:e})=>{for(const t of wb(e));}),new Set(fl.cho.flat().map(e=>e.v));function Ab(e,t=!0){const a=Ba(e);o.useEffect(()=>{if(t)return Wn(()=>{a.current?.()})},[t,a])}function ka(){const[e,t]=o.useState(null),a=o.useCallback(s=>t(s.getBoundingClientRect()),[]),r=o.useCallback(()=>t(null),[]),i=o.useCallback(s=>{const l=s.getBoundingClientRect();t(u=>u?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:i}}function kb(e){const[t,a]=o.useState(null),[r,i]=o.useState(null),s=o.useRef(null);o.useEffect(()=>()=>{s.current&&clearTimeout(s.current)},[]);const l=o.useCallback((c,d)=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{a(c),i(d)},e)},[e]),u=o.useCallback(()=>{s.current&&clearTimeout(s.current),a(null),i(null)},[]);return{payload:t,anchorRect:r,openAfterDelay:l,close:u}}function gl(e="warning"){const[t,a]=o.useState(""),[r,i]=o.useState(e),[s,l]=o.useState(0),u=o.useCallback((p,h)=>{i(h),a(p),l(v=>v+1)},[]),c=o.useCallback(p=>u(p,"warning"),[u]),d=o.useCallback(p=>u(p,"normal"),[u]),m=o.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:s,showToast:u,showWarning:c,showNormal:d,clearToast:m}}function Na(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const r=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(r)&&r>t&&(t=r)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function Da({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[i,s]=o.useState(!1),[l,u]=o.useState({position:"fixed"}),c=o.useRef(null),d=o.useRef(null),m=o.useCallback(()=>{c.current&&u(e(c.current.getBoundingClientRect(),c.current))},[e]);o.useLayoutEffect(()=>{i&&m()},[i,m]),o.useEffect(()=>{if(!i)return;let v=d.current?.offsetHeight??0;v>0&&m();let y=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==v){if(v=B,++y>4){g?.disconnect(),g=null;return}m()}}),g.observe(d.current));const f=B=>{const A=B.target;r&&A.closest?.(r)||c.current?.contains(A)||d.current?.contains(A)||s(!1)};document.addEventListener("mousedown",f),document.addEventListener("pointerdown",f);let _=null;const C=()=>{if(typeof requestAnimationFrame>"u"){m();return}_===null&&(_=requestAnimationFrame(()=>{_=null,m()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?C():t==="close"&&s(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const b=()=>{a==="reposition"?C():a==="close"&&s(!1)};let k=null;const x=()=>{b(),k&&clearTimeout(k),k=setTimeout(()=>{k=null,a==="reposition"&&m()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",x)),()=>{_!==null&&cancelAnimationFrame(_),g?.disconnect(),document.removeEventListener("mousedown",f),document.removeEventListener("pointerdown",f),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",x)),k&&clearTimeout(k)}},[i,m,t,a,r]),o.useEffect(()=>{if(i)return Wn(()=>s(!1))},[i]);const p=o.useCallback(()=>s(v=>!v),[]),h=o.useCallback(()=>s(!1),[]);return{open:i,setOpen:s,toggle:p,close:h,style:l,triggerRef:c,menuRef:d}}function Nb(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:i,playMs:s=1100,feedbackMs:l=1500}={}){const[u,c]=o.useState([]),[d,m]=o.useState(0),[p,h]=o.useState("idle"),[v,y]=o.useState(null),[g,f]=o.useState([]),[_,C]=o.useState(null),[w,b]=o.useState(0),k=o.useRef(0),x=o.useCallback(R=>{k.current=typeof R=="function"?R(k.current):R,b(k.current)},[]),B=o.useRef(r),A=o.useRef(i);o.useEffect(()=>{B.current=r,A.current=i},[r,i]);const N=o.useRef([]),E=()=>{N.current.forEach(clearTimeout),N.current=[]},D=(R,q)=>{N.current.push(setTimeout(q,R))};o.useEffect(()=>()=>E(),[]);const H=u[d]?.id??null,P=o.useRef(null),Y=o.useCallback(()=>{E(),h("playing"),f([]),C(null),x(0);let R=0;e.forEach((q,j)=>{D(R,()=>{m(j),y(q.id),B.current?.(q)}),D(R+1e3,()=>{y(null),f(I=>[...I,q.id])}),R+=1300}),D(R,()=>{h("done"),A.current?.({score:0,total:e.length})})},[e,x]),M=o.useCallback((R,q)=>{if(q>=R.length){h("done"),A.current?.({score:k.current,total:R.length});return}P.current=null,m(q),C(null),h("playing"),y(R[q].id),B.current?.(R[q]),D(s,()=>{y(null),h("waiting")})},[s]),L=o.useCallback(()=>{E();const R=_a(e);c(R),x(0),f([]),M(R,0)},[e,M,x]),$=o.useCallback(()=>{t==="playback"?(c(e),Y()):L()},[t,e,Y,L]),K=o.useCallback(()=>{E(),h("idle"),y(null),f([]),C(null),m(0),x(0),c([])},[x]),V=e.map(R=>R.id).join("|");o.useEffect(()=>(a?$():K(),()=>E()),[t,V,a]);const z=o.useCallback(R=>{p!=="waiting"||t==="playback"||P.current===d||(P.current=d,C(R),R===u[d]?.id&&x(q=>q+1),t==="exam"?(h("playing"),D(400,()=>M(u,d+1))):(h("feedback"),D(l,()=>M(u,d+1))))},[p,t,u,d,M,l,x]),W=t==="playback"?e.length:u.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:_,answerId:H,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:z},index:d,total:W,score:w,phase:p,done:p==="done",start:$,reset:K}}function Db({title:e,description:t,actionLabel:a,onAction:r,bg:i,color:s,size:l="medium",actionVariant:u,titleColor:c,descriptionColor:d,className:m=""}){const p=i??s??"main",h=o.useRef(null),[v,y]=o.useState("main"),g=on("(max-width: 767px)"),f=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const w=h.current;if(!w)return;const b=ro(w),k=(x,B,A)=>{if(A!==void 0)w.style.setProperty(B,A),f.current[x]=!0;else if(f.current[x]){const N=b?.[x];N?w.style.setProperty(B,N):w.style.removeProperty(B),f.current[x]=!1}};k("title","--promo-banner-bg-title",c),k("description","--promo-banner-bg-description",d)},[c,d,p]),o.useLayoutEffect(()=>{const w=h.current;if(!w)return;const b=ro(w);y(b?.actionVariant??"main")},[p]);const _=Ae("promo-banner",`promo-banner--${l}`,m),C=ll[p];return n.jsxs("div",{ref:h,className:_,role:"note",children:[n.jsx(C,{}),n.jsxs("div",{className:"promo-banner__text",children:[n.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&n.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&n.jsx(he,{htmlType:"button",size:40,variant:u??v,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function Eb({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":i}){const{t:s}=_e.useTranslation(),l=i??s("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),c=u.length,[d,m]=o.useState(0),[p,h]=o.useState(!1),[v,y]=o.useState(!1),[g,f]=o.useState(!1),_=o.useRef(null),C=o.useRef(null),w=o.useRef(null),b=eo(),k=p||v||g,x=c>0?Math.min(d,c-1):0;o.useEffect(()=>{if(c<2||t<=0||k||b)return;const A=window.setInterval(()=>m(N=>(Math.min(N,c-1)+1)%c),t);return()=>window.clearInterval(A)},[c,t,k,b]);const B=A=>{C.current!=null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>{C.current=null,f(!1)},A)};return o.useEffect(()=>()=>{C.current!=null&&window.clearTimeout(C.current)},[]),o.useEffect(()=>{if(!g)return;const A=N=>{N.pointerType==="touch"&&(w.current&&w.current.contains(N.target)||(C.current!=null&&(window.clearTimeout(C.current),C.current=null),f(!1)))};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[g]),c===0?null:n.jsxs("section",{ref:w,className:Ae("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:A=>{_.current=A.pointerType},onPointerDown:A=>{_.current=A.pointerType,A.pointerType==="touch"&&(C.current!=null&&(window.clearTimeout(C.current),C.current=null),f(!0))},onPointerUp:A=>{A.pointerType==="touch"&&B(5e3)},onPointerCancel:A=>{A.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{_.current!=="touch"&&h(!0)},onMouseLeave:()=>h(!1),onFocus:A=>{let N=!0;try{N=A.target.matches(":focus-visible")}catch{N=!0}y(N)},onBlur:A=>{A.currentTarget.contains(A.relatedTarget)||y(!1)},children:[n.jsx("div",{className:"top-banner__viewport",children:n.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${x*100}%)`},children:u.map((A,N)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":N!==x,...N!==x?{inert:!0}:{},children:A},N))})}),c>1&&n.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((A,N)=>n.jsx("button",{type:"button",className:`top-banner__dot${N===x?" top-banner__dot--active":""}`,"aria-label":s("topBanner.dotAriaLabel",{count:c,index:N+1,defaultValue:`${c}\uAC1C \uC911 ${N+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":N===x,onClick:()=>m(N)},N))})]})}function Sb({title:e,body:t,open:a=!1,onToggle:r,avatar:i,titleClassName:s="body-2",bodyClassName:l="body-2",className:u=""}){const{t:c}=_e.useTranslation();return n.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${u}`.trim(),role:"listitem",children:[n.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),r?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const m=d.currentTarget.closest('[role="list"]');if(!m)return;const p=Array.from(m.querySelectorAll("[data-accordion-header]")),h=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[h+1]:p[h-1])?.focus()}},children:[i&&n.jsx("div",{className:"accordion-item__avatar",children:i}),n.jsx("div",{className:`accordion-item__title ${s}`,children:e}),n.jsx("div",{className:"accordion-item__chevron",children:n.jsx(et,{icon:a?"chevron-up":"chevron-down",label:a?c("accordion.collapse","\uC811\uAE30"):c("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&n.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?n.jsx("p",{children:t}):t})]})}function jb({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:i}){const[s,l]=o.useState({index:t}),u=(c,d)=>s.id!=null&&c.id!=null?c.id===s.id:s.id==null&&d===s.index;return n.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>n.jsx(Sb,{title:c.title,body:c.body,avatar:c.avatar,open:u(c,d),onToggle:()=>l(u(c,d)?{index:-1}:{index:d,id:c.id}),bodyClassName:i},c.id??d))})}function Tb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("polyline",{points:"2,6 5,9 10,3"})})}function Mb(){return n.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[n.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),n.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function Lb(){return n.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:n.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function At(e){const{t}=_e.useTranslation(),{type:a="bar",size:r,className:i="","aria-label":s,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:x,position:B="top-right",onClick:A,animate:N=!1}=e,E=k??"check",D=x!==void 0?"number":E,H=typeof r=="number"?r:32,P=Ae("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${H}`,N?"circle-badge--animate":"",A?"circle-badge--clickable":"",i),Y=x!==void 0?t("badge.nthSelected",{n:x,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[E];return n.jsxs("span",{className:P,onClick:A,onKeyDown:A?M=>{M.key!=="Enter"&&M.key!==" "||(M.preventDefault(),M.currentTarget.click())}:void 0,"aria-label":l?void 0:s??Y,"aria-hidden":l||void 0,role:A?"button":l?void 0:"img",tabIndex:A?0:void 0,children:[x!==void 0&&x,x===void 0&&E==="check"&&n.jsx(Tb,{}),x===void 0&&E==="remove"&&n.jsx(Mb,{}),x===void 0&&E==="minus"&&n.jsx(Lb,{})]})}const{label:u,children:c,variant:d="default",fill:m="filled",minWidth:p,iconLeft:h,iconRight:v,color:y}=e,g=typeof r=="number"?"medium":r??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",_={small:12,medium:14,large:16}[g]??14,C=Ae("badge",`badge--${d}`,`badge--${g}`,m!=="filled"?`badge--${m}`:"",f,i),w=y?.startsWith("--")?`var(${y})`:y,b=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return n.jsxs("span",{className:C,style:b,"aria-label":l?void 0:s,role:s&&!l?"img":void 0,"aria-hidden":l||void 0,children:[h&&n.jsx(et,{icon:h,size:_,className:"badge__icon"}),u??c,v&&n.jsx(et,{icon:v,size:_,className:"badge__icon"})]})}function Ea({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:i}=_e.useTranslation(),s=r==="small"?40:48,[l,u]=o.useState([]),c=o.useMemo(()=>{const f=[{title:null,columns:e}];let _=e;for(const C of l){const w=_?.[C.ci]?.items?.[C.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;_=[{title:null,items:w.children}],f.push({title:w.label||null,columns:_})}return f},[e,l]),d=c[c.length-1],m=c.length-1,p=o.useCallback(()=>u(f=>f.slice(0,Math.max(0,Math.min(f.length,m)-1))),[m]),h=o.useRef(null),v=o.useRef(null),y=c.length;o.useEffect(()=>{v.current||(v.current=document.activeElement);let f=0,_=0;const C=()=>{const w=h.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(f=requestAnimationFrame(C))};return f=requestAnimationFrame(C),()=>cancelAnimationFrame(f)},[y]),o.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=o.useCallback((f,_,C)=>{if(f){if(Array.isArray(f.children)&&f.children.length){u(w=>[...w.slice(0,m),{ci:_,ii:C}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,m]);return n.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(c.length>1||d.title)&&n.jsxs("div",{className:"tooltip-menu__header",children:[c.length>1?n.jsx(he,{htmlType:"button",size:s,type:"dot",icon:"chevron-left",ariaLabel:i("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,n.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),n.jsx("div",{className:"tooltip-menu__columns",ref:h,children:d.columns&&d.columns.map((f,_)=>n.jsxs("div",{className:"tooltip-menu__column",children:[f.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((C,w)=>n.jsxs(o.Fragment,{children:[C.separatorBefore&&w>0&&n.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),n.jsx(he,{htmlType:"button",className:"tooltip-menu__item",size:s,type:C.label?"bar":"dot",icon:C.selected?"check":C.icon||"none",rightIcon:Array.isArray(C.children)&&C.children.length?"chevron-right":C.badgeCount?n.jsx(At,{type:"dot",position:"inline",number:Math.min(C.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:C.label,ariaLabel:C.label&&C.badgeCount&&C.badgeCount>0?i("nav.badgeLabel",{label:C.label,count:C.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):C.label,onClick:()=>g(C,_,w),selected:C.selected,disabled:C.disabled,showTooltipInfo:C.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const bl=".content-area";function uo(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(bl);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&Gt("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${bl}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const co=52,Qa=10,yl=e=>e&&e>0?e:0;function vl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:i,moreItems:s=[],scrollContainer:l}){const{t:u}=_e.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",m=r==="manager"?u("nav.modeLabelMalgwi","\uB9D0\uADC0"):u("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=o.useRef(null),[h,v]=o.useState(0),y=e.length;o.useEffect(()=>{const R=p.current;if(!R)return;const q=()=>{const S=typeof getComputedStyle=="function"?getComputedStyle(R):null,F=R.clientWidth-(parseFloat(S?.paddingLeft??"")||0)-(parseFloat(S?.paddingRight??"")||0),O=R.querySelector(".bottom-nav__left"),U=O?.nextElementSibling,Q=(O?.offsetWidth??0)+(O&&U?.classList.contains("bottom-nav__divider")?U.offsetWidth:0);v(Math.max(0,F-Q))};if(q(),typeof ResizeObserver>"u")return;const j=new ResizeObserver(q);j.observe(R);const I=R.querySelector(".bottom-nav__left");return I&&j.observe(I),()=>j.disconnect()},[i]);const g=co+1,f=R=>Math.max(0,Math.floor((R+Qa)/(co+Qa))),_=y*(co+Qa)-Qa<=h,C=h<=0||s.length===0&&_?y:Math.min(y,f(h-g)),w=h>0&&C<y,b=w?C:y,k=e.slice(0,b),x=e.slice(b),B=w||s.length>0,A=o.useCallback((R,q)=>({position:"fixed",bottom:window.innerHeight-R.top+8,right:window.innerWidth-R.right,zIndex:Na(q)}),[]),N=o.useId(),{open:E,toggle:D,close:H,style:P,triggerRef:Y,menuRef:M}=Da({computeStyle:A,onScroll:"ignore",onResize:"reposition"}),L=o.useCallback((R,q)=>q>0?u("nav.badgeLabel",{label:R,count:q,defaultValue:"{{label}}, {{count}}\uAC1C"}):R,[u]),$=o.useCallback((R,q)=>q>0?u("nav.badgeInsideLabel",{label:R,count:q,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):R,[u]),K=o.useCallback(()=>i?.(c),[i,c]),V=o.useMemo(()=>x.find(R=>!!R.key&&R.key===t)??s.find(R=>R.selected||R.key&&R.key===t),[x,t,s]),z=o.useMemo(()=>[{items:[...x.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:!!R.key&&R.key===t,closeOnSelect:!0,disabled:R.state==="disabled",onClick:()=>{R.state!=="disabled"&&(R.key&&a&&(a(R.key),uo(l,"BottomNav")),H())}})),...s.map(R=>({label:R.label,icon:R.icon,badgeCount:R.badgeCount,selected:R.selected??(!!R.key&&R.key===t),closeOnSelect:!0,onClick:()=>{R.onClick?.(),H()}}))]}],[x,s,t,a,H]),W=[...x,...s].reduce((R,q)=>R+yl(q.badgeCount),0);return n.jsxs("nav",{className:"bottom-nav",ref:p,"aria-label":u("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[i&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__left",children:n.jsx(he,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:m,className:"bottom-nav-item",onClick:K})}),n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),n.jsx("div",{className:"bottom-nav__items",children:k.map((R,q)=>{const j=yl(R.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(he,{htmlType:"button",size:52,type:"dot",icon:R.icon,ariaLabel:L(R.label,j),selected:!!R.key&&R.key===t,disabled:R.state==="disabled",className:"bottom-nav-item",onClick:()=>{R.key&&(a?.(R.key),uo(l,"BottomNav"))}}),j>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(At,{type:"dot",position:"top-right",number:Math.min(j,99),size:24})})]},R.key??`__slot-${q}`)})}),B&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),n.jsx("div",{className:"bottom-nav__right",children:n.jsxs("div",{ref:Y,className:"bottom-nav__slot",children:[n.jsx(he,{htmlType:"button",size:52,type:"dot",icon:V?.icon??"ellipsis",ariaLabel:$(V?.label??u("nav.more","\uB354\uBCF4\uAE30"),W),selected:!!V,className:"bottom-nav-item",onClick:D,"aria-expanded":E,"aria-controls":E?N:void 0}),W>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(At,{type:"dot",position:"top-right",number:Math.min(W,99),size:24})}),E&&Jt.createPortal(n.jsx("div",{id:N,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:P,ref:M,children:n.jsx(Ea,{columns:z,onClose:H})}),document.body)]})})]})]})}function xl(e){if(typeof e!="string")return!1;let t="";for(const r of e){const i=r.charCodeAt(0);i<=32||i>=127&&i<=159||(t+=r)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function _l(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function $b(e){const{t}=_e.useTranslation(),{activeKey:a,unreadCount:r,onDebug:i,onNotification:s,onSetting:l,onHelp:u,onFeedback:c,onAccount:d}=e||{},m="default";return i||s||l||u||c||d?n.jsxs("div",{className:"side-nav__footer",children:[i&&n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:i,selected:a==="debug"}),s&&n.jsxs("span",{className:"side-nav__notification-wrap",children:[n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bell",ariaLabel:_l(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:s,selected:a==="notifications"}),!!r&&r>0&&n.jsx(At,{type:"dot",number:Math.min(r,99),size:24,"aria-hidden":!0})]}),l&&n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),u&&n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:u,selected:a==="help"}),c&&n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:c,selected:a==="feedback"}),d&&n.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:m,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function wl(e){const{t}=_e.useTranslation(),{item:a,itemKey:r,label:i,icon:s,active:l,onClick:u,style:c,state:d,labelStyle:m}=e||{},p=a?.key??r??"",h=a?.label??i??"",v=a?.icon??s??"",y=a?.badge??0,g=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(et,{icon:v,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),f=d==="disabled",_=`side-nav__item ${l?"active":""} ${d||""} ${f?"disabled":""} ${a?.child?"side-nav__item--child":""}`,C=o.useCallback(w=>{if(f)return;const b=w.detail>0;if(b)try{w.currentTarget.blur()}catch{}u?.(p,w.currentTarget,b)},[f,p,u]);return n.jsxs("button",{type:"button",className:_,onClick:C,"aria-label":typeof h=="string"?_l(t,h,y):void 0,"aria-current":l?"page":void 0,style:c,"aria-disabled":f,children:[g,n.jsx("span",{className:"side-nav__label button-1 f",style:m,children:h}),y>0&&n.jsx(At,{type:"dot",position:"inline",number:Math.min(y,99),size:24,"aria-hidden":!0}),d==="loading"&&n.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Bl(e){const{t}=_e.useTranslation(),{items:a=[],activeKey:r,onChange:i,unreadCount:s,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:v,scrollContainer:y}=e||{},g=h==="manager",f=o.useCallback(()=>v?.(g?"malgwi":"manager"),[v,g]),_=o.useRef(null),[C,w]=o.useState(null);o.useEffect(()=>{const A=_.current;if(!A)return;let N=null;const E=()=>{const{scrollHeight:P,clientHeight:Y,scrollTop:M}=A;if(P<=Y+1){w(z=>z===null?z:null);return}const L=Math.max(24,Y/P*Y),$=Y-L,K=P-Y,V={top:Math.round(M/K*$),height:Math.round(L)};w(z=>z&&z.top===V.top&&z.height===V.height?z:V)},D=()=>{if(typeof requestAnimationFrame>"u"){E();return}N===null&&(N=requestAnimationFrame(()=>{N=null,E()}))};E(),A.addEventListener("scroll",D,{passive:!0});const H=typeof ResizeObserver<"u"?new ResizeObserver(D):null;H?.observe(A);for(const P of Array.from(A.children))H?.observe(P);return()=>{N!==null&&cancelAnimationFrame(N),A.removeEventListener("scroll",D),H?.disconnect()}},[a]);const b=o.useRef(null),k=o.useCallback(A=>{const N=_.current;N&&(A.preventDefault(),b.current={y:A.clientY,top:N.scrollTop},A.currentTarget.setPointerCapture(A.pointerId))},[]),x=o.useCallback(A=>{const N=_.current,E=b.current;!N||!E||(N.scrollTop=E.top+(A.clientY-E.y)*(N.scrollHeight/N.clientHeight))},[]),B=o.useCallback(A=>{b.current=null,A.currentTarget.hasPointerCapture(A.pointerId)&&A.currentTarget.releasePointerCapture(A.pointerId)},[]);return n.jsxs("nav",{ref:_,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[C&&n.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:n.jsx("div",{className:"side-nav__scroll-thumb",style:{top:C.top,height:C.height},onPointerDown:k,onPointerMove:x,onPointerUp:B,onPointerCancel:B})}),n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(A=>!A.section&&(A.key||A.label)).map((A,N)=>n.jsxs(o.Fragment,{children:[A.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(wl,{item:A,active:!!A.key&&A.key===r,state:A.disabled?"disabled":void 0,onClick:(E,D,H)=>{if(A.disabled)return;if(A.href){if(xl(A.href)&&window.open(A.href,"_blank","noopener,noreferrer"),H)try{D?.blur()}catch{}return}if(i?.(A.key),uo(y,"SideNav"),!H)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const P=document.querySelector(".header");if(P){const Y=typeof P.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&Y&&P.matches(":hover"))){P.classList.add("header--force-collapsed");const M=()=>{P.classList.remove("header--force-collapsed"),P.removeEventListener("mouseenter",M)};P.addEventListener("mouseenter",M)}}}})]},A.key??`side-nav__item-${N}`)),v&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),v&&n.jsx(wl,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:f})]}),n.jsx($b,{activeKey:r,unreadCount:s,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p})]})}var er='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2080_3066)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="black"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="black"/>%0A<path d="M46.4288 17.8571H25.0002C15.138 17.8571 7.14307 25.852 7.14307 35.7143V57.1428C7.14307 67.0051 15.138 75 25.0002 75H46.4288C56.291 75 64.2859 67.0051 64.2859 57.1428V35.7143C64.2859 25.852 56.291 17.8571 46.4288 17.8571Z" fill="%234DCDC0"/>%0A<path d="M34.8607 50.7393C25.8285 60.6821 10.6142 61.6678 0.385667 53.1643C-0.0821902 52.775 -0.13219 52.0678 0.278524 51.6178L16.3535 33.925L34.8607 50.7393Z" fill="%234DCDC0"/>%0A<path d="M53.5714 25H32.1428C22.2821 25 14.2856 32.9964 14.2856 42.8571V64.2857C14.2856 74.1464 22.2821 82.1429 32.1428 82.1429H48.2535C49.2178 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7214 51.8928 85.6321C62.8392 84.675 71.4285 75.4821 71.4285 64.2857V42.8571C71.4285 32.9964 63.4321 25 53.5714 25Z" fill="%234DCDC0"/>%0A<path d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23499CDF"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="white"/>%0A<path d="M36.0715 57.1429C35.0287 57.1429 33.9822 56.875 33.0358 56.3286C32.1822 55.8357 31.8894 54.7429 32.3858 53.8893C32.8787 53.0357 33.9715 52.7429 34.8251 53.2393C35.8037 53.8036 37.043 53.6429 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3536 40.4322 35.9107 37.5072 35.7286C36.5215 35.6679 35.5715 35.8464 34.693 36.2679C33.8037 36.6929 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0429C34.5751 32.3714 36.1537 32.0679 37.7322 32.1643C42.4894 32.4607 46.3072 36.4286 46.4251 41.1964C46.4822 43.5286 45.6715 45.7786 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9357C41.8965 53.2464 41.3037 54.4357 40.368 55.375C39.2001 56.5429 37.6465 57.15 36.0751 57.15L36.0715 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2080_3066">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',po='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7374)">%0A<path d="M237.151 26.0393V72.7214H216.65V26.0393H237.151ZM234.408 70.0464V28.7179H219.254V70.0464H234.408ZM261.495 76.3607H258.819V48.9679H247.575V75.4679H244.899V23.9821H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3607Z" fill="black"/>%0A<path d="M299.722 69.2571C302.076 68.775 304.031 68.1464 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.789 72.0357C297.435 72.4929 295.045 72.7214 292.623 72.7214H272.257V25.6964H275V69.975H292.623C294.998 69.975 297.364 69.7357 299.722 69.2536V69.2571ZM311.69 76.4321V23.6393H314.433V76.3643L311.69 76.4321Z" fill="black"/>%0A<path d="M340.556 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.329 62.2643 333.632 65.925C330.935 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.33 63.1107C334.617 59.3572 336.354 54.5179 337.542 48.5893C338.73 42.6643 339.369 36.0393 339.461 28.7143H324.992V26.0357H356.602V28.7143H342.201C342.155 35.9 341.605 42.3072 340.556 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="black"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="black"/>%0A<path d="M181.886 47.8714V57.275C179.097 58.5571 174.73 59.1964 168.791 59.1964H168.174V76.3607H158.299V59.1964H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8714H181.886ZM148.971 34.2786V24.875H177.634V47.05H167.76V34.2821H148.971V34.2786ZM194.64 76.3607H184.765V23.6393H194.64V76.3643V76.3607Z" fill="black"/>%0A<path d="M48.1549 17.8571H26.7511C16.9002 17.8571 8.91455 25.852 8.91455 35.7143V57.1428C8.91455 67.0051 16.9002 75 26.7511 75H48.1549C58.0058 75 65.9915 67.0051 65.9915 57.1428V35.7143C65.9915 25.852 58.0058 17.8571 48.1549 17.8571Z" fill="%234DCDC0"/>%0A<path d="M36.6007 50.7393C27.579 60.6821 12.3823 61.6678 2.1655 53.1643C1.69818 52.775 1.64824 52.0678 2.05848 51.6178L18.1149 33.925L36.6007 50.7393Z" fill="%234DCDC0"/>%0A<path d="M55.2897 25H33.8859C24.0365 25 16.0493 32.9964 16.0493 42.8571V64.2857C16.0493 74.1464 24.0365 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7214 53.6131 85.6321C64.5469 84.675 73.1262 75.4821 73.1262 64.2857V42.8571C73.1262 32.9964 65.139 25 55.2897 25Z" fill="%234DCDC0"/>%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23499CDF"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="white"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7374">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Rb='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65214)">%0A<path d="M57.1427 17.8571H35.7141C25.8518 17.8571 17.8569 25.852 17.8569 35.7143V57.1428C17.8569 67.0051 25.8518 75 35.7141 75H57.1427C67.0049 75 74.9998 67.0051 74.9998 57.1428V35.7143C74.9998 25.852 67.0049 17.8571 57.1427 17.8571Z" fill="%234DCDC0"/>%0A<path d="M45.575 50.7393C36.5429 60.6821 21.3286 61.6678 11.1 53.1643C10.6322 52.775 10.5822 52.0678 10.9929 51.6178L27.0679 33.925L45.575 50.7393Z" fill="%234DCDC0"/>%0A<path d="M64.2857 25H42.8571C32.9964 25 25 32.9964 25 42.8571V64.2857C25 74.1464 32.9964 82.1429 42.8571 82.1429H58.9679C59.9321 82.1429 60.7143 82.925 60.7143 83.8893C60.7143 84.9107 61.5893 85.7214 62.6071 85.6321C73.5536 84.675 82.1429 75.4821 82.1429 64.2857V42.8571C82.1429 32.9964 74.1464 25 64.2857 25Z" fill="%234DCDC0"/>%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23499CDF"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="white"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2359 35.6679 46.2859 35.8464 45.4073 36.2679C44.5145 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2002 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="white"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2175_65214">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';function Al({appMode:e}){const{t}=_e.useTranslation(),a=e==="manager",r=a?po:er,i=Rb;return n.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[n.jsx("img",{src:i,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),n.jsx("img",{src:r,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image brand-identity__image--logo"})]})}function kl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:i,unreadCount:s,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:v,scrollContainer:y}){const{t:g}=_e.useTranslation(),f=on("(max-width: 767px)"),_=o.useMemo(()=>(a??[]).filter(P=>!P.section&&(P.key||P.label)).map(P=>({key:P.key,label:typeof P.label=="string"?P.label:void 0,icon:P.icon,state:P.disabled?"disabled":void 0,badgeCount:P.badge})),[a]),C=o.useCallback(P=>{const Y=a?.find(M=>M.key===P);if(!Y?.disabled){if(Y?.href){xl(Y.href)&&window.open(Y.href,"_blank","noopener,noreferrer");return}t?.(P)}},[a,t]),w=o.useMemo(()=>{const P=[];return l&&P.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&P.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:s,onClick:u}),d&&P.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),m&&P.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),p&&P.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),c&&P.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:c}),P},[g,l,u,d,m,p,c,s]),b=o.useCallback((P,Y)=>({position:"fixed",top:P.bottom+8,right:Math.max(8,window.innerWidth-P.right),zIndex:Na(Y)}),[]),k=o.useId(),{open:x,toggle:B,close:A,style:N,triggerRef:E,menuRef:D}=Da({computeStyle:b,onScroll:"ignore",onResize:"reposition"}),H=o.useMemo(()=>[{items:w.map(P=>({label:P.label,icon:P.icon,badgeCount:P.badgeCount,selected:P.selected??(!!P.key&&P.key===e),closeOnSelect:!0,onClick:()=>{P.onClick?.(),A()}}))}],[w,e,A]);return n.jsxs("aside",{className:`header${h==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(Al,{appMode:h}),n.jsxs("div",{className:"header__menu-button",ref:E,children:[n.jsx(he,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&s&&s>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:s,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":x,"aria-controls":x?k:void 0}),!!u&&!!s&&s>0&&n.jsx(At,{type:"dot",number:Math.min(s,99),size:24,"aria-hidden":!0}),x&&Jt.createPortal(n.jsx("div",{id:k,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:D,children:n.jsx(Ea,{columns:H,onClose:A})}),document.body)]})]}),n.jsx(Bl,{scrollContainer:y,items:a,activeKey:e??void 0,onChange:t,unreadCount:s,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:h,onAppModeChange:v}),f&&n.jsx(vl,{items:_,activeKey:e??void 0,onChange:C,scrollContainer:y,appMode:h,onAppModeChange:v})]})}const Pb=kl,Fb=()=>Tt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Nl(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return aa(`${t.toLocaleString("ko-KR")}\uC6D0`)}return aa(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Ib(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function Ob(e){if(e.durationDays&&e.durationDays>0){const s=e.durationDays;return s%365===0?`${s/365}\uB144`:`${s}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",r=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(r)return r[1].replace(/\s+/g,"");const i=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return i?i[2].toLowerCase()==="year"?`${i[1]}\uB144`:`${i[1]}\uC77C`:a||Fb()}function Hb(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function Dl(e){return{type:e.type??Ib(e),plan:Ob(e),label:e.label,price:Nl(e.price),originalPrice:Nl(e.originalPrice),discountLabel:e.discountLabel}}var zb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7326)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23FAFAFA"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23FAFAFA"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23FAFAFA"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23FAFAFA"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7326">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Vb='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 200 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="200" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M96.43,48.35v-24.1h30.62v24.1h-30.62ZM142.98,69.15v7.21h-44.76v-15.72h34.46v-2.13h-34.6v-7.21h44.35v15.72h-34.33v2.13h34.88,0ZM106.25,32.56v7.41h11.05v-7.41h-11.05ZM148.33,40.39h-5.9v9.06h-9.89v-25.81h9.89v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M185.54,47.87v9.4c-2.79,1.28-7.16,1.92-13.11,1.92h-.62v17.16h-9.89v-17.16h-12.22v-9.4h22.86c5.86,0,10.18-.64,12.98-1.92h0ZM152.59,34.28v-9.4h28.7v22.17h-9.89v-12.77h-18.81ZM198.31,76.36h-9.89V23.64h9.89v52.73h0Z"/>%0A <path class="st1" d="M46.43,17.86h-21.43c-9.86,0-17.86,7.99-17.86,17.86v21.43c0,9.86,7.99,17.86,17.86,17.86h21.43c9.86,0,17.86-7.99,17.86-17.86v-21.43c0-9.86-7.99-17.86-17.86-17.86Z"/>%0A <path class="st1" d="M34.86,50.74c-9.03,9.94-24.25,10.93-34.48,2.42-.47-.39-.52-1.1-.11-1.55l16.07-17.69,18.51,16.81Z"/>%0A <path class="st1" d="M53.57,25h-21.43c-9.86,0-17.86,8-17.86,17.86v21.43c0,9.86,8,17.86,17.86,17.86h16.11c.96,0,1.75.78,1.75,1.75,0,1.02.88,1.83,1.89,1.74,10.95-.96,19.54-10.15,19.54-21.35v-21.43c0-9.86-8-17.86-17.86-17.86Z"/>%0A <path class="st2" d="M25,25c-5.92,0-10.71,4.8-10.71,10.71v28.57c0,3.09.79,6,2.17,8.54,2.54,1.39,5.45,2.17,8.54,2.17h28.57c5.92,0,10.71-4.8,10.71-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.54-1.39-5.45-2.17-8.54-2.17h-28.57Z"/>%0A <path class="st3" d="M25.36,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M36.07,57.14c-1.04,0-2.09-.27-3.04-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.59-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.33-4.44,2.91-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.35-5.56-.99-.06-1.94.12-2.81.54-.89.43-1.96.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.76.3,8.58,4.26,8.69,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Wb='data:image/svg+xml,<svg width="200" height="100" viewBox="0 0 200 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7325)">%0A<path d="M96.4287 48.3536V24.2572H127.047V48.3536H96.4287ZM142.975 69.1536V76.3607H98.2144V60.6393H132.679V58.5107H98.0787V51.3036H142.429V67.025H108.104V69.1536H142.979H142.975ZM106.247 32.5643V39.9786H117.3V32.5643H106.247ZM148.329 40.3893H142.425V49.45H132.539V23.6357H142.425V30.8429H148.329V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M185.536 47.8714V57.275C182.743 58.5571 178.371 59.1964 172.425 59.1964H171.807V76.3607H161.921V59.1964H149.704V49.7929H172.564C178.421 49.7929 182.746 49.1536 185.539 47.8714H185.536ZM152.586 34.2786V24.875H181.282V47.05H171.396V34.2821H152.586V34.2786ZM198.307 76.3607H188.421V23.6393H198.307V76.3643V76.3607Z" fill="%23111111"/>%0A<path opacity="0.1" d="M24.9999 25C19.0821 25 14.2856 29.7964 14.2856 35.7143V64.2857C14.2856 67.3786 15.0749 70.2893 16.4571 72.8286C18.9928 74.2143 21.9035 75 24.9999 75H53.5714C59.4892 75 64.2856 70.2036 64.2856 64.2857V35.7143C64.2856 32.6214 63.4964 29.7107 62.1142 27.1714C59.5785 25.7857 56.6678 25 53.5714 25H24.9999Z" fill="%23111111"/>%0A<path d="M14.2859 64.2857V35.7143C14.2859 29.7964 19.0823 25 25.0002 25H53.5716C56.6645 25 59.5752 25.7893 62.1145 27.1714C59.0859 21.6214 53.1966 17.8571 46.4288 17.8571H25.0002C15.1395 17.8571 7.14304 25.8535 7.14304 35.7143V44.0643L0.278759 51.6214C-0.131955 52.0714 -0.0855263 52.7785 0.385902 53.1678C2.46447 54.8964 4.75019 56.225 7.14304 57.1714C7.15376 63.9285 10.9145 69.8035 16.4573 72.8285C15.0716 70.2928 14.2859 67.3821 14.2859 64.2857Z" fill="%23111111"/>%0A<path d="M25.357 40.7143C25.357 39.5308 24.3976 38.5714 23.2141 38.5714C22.0307 38.5714 21.0713 39.5308 21.0713 40.7143V45C21.0713 46.1834 22.0307 47.1428 23.2141 47.1428C24.3976 47.1428 25.357 46.1834 25.357 45V40.7143Z" fill="%23111111"/>%0A<path d="M36.0715 57.1428C35.0287 57.1428 33.9822 56.875 33.0358 56.3285C32.1822 55.8357 31.8894 54.7428 32.3858 53.8893C32.8787 53.0357 33.9715 52.7428 34.8251 53.2393C35.8037 53.8035 37.043 53.6428 37.8394 52.8464C38.2251 52.4607 38.468 51.9714 38.543 51.4357C38.8644 49.1607 39.868 47 41.4501 45.1857C42.393 44.1071 42.8894 42.7214 42.8537 41.2857C42.7787 38.3535 40.4322 35.9107 37.5072 35.7285C36.518 35.6678 35.5715 35.85 34.693 36.2678C33.8037 36.6893 32.7358 36.3107 32.3144 35.4214C31.8894 34.5321 32.2715 33.4643 33.1608 33.0428C34.5751 32.3714 36.1572 32.0643 37.7322 32.1643C42.4894 32.4607 46.3072 36.4285 46.4251 41.1964C46.4822 43.5285 45.6715 45.7785 44.143 47.5357C43.018 48.825 42.3037 50.3464 42.0822 51.9321C41.8965 53.2428 41.3037 54.4321 40.368 55.3714C39.2001 56.5393 37.6465 57.1464 36.0751 57.1464L36.0715 57.1428Z" fill="%23111111"/>%0A<path d="M62.1142 27.1714C63.4999 29.7072 64.2856 32.6179 64.2856 35.7143V64.2857C64.2856 70.2036 59.4892 75 53.5713 75H24.9999C21.907 75 18.9963 74.2107 16.457 72.8286C19.4856 78.3786 25.3749 82.1429 32.1427 82.1429H48.2535C49.2177 82.1429 49.9999 82.925 49.9999 83.8893C49.9999 84.9107 50.8749 85.7215 51.8927 85.6322C62.8392 84.675 71.4285 75.4822 71.4285 64.2857V42.8572C71.4285 36.0893 67.6642 30.2 62.1142 27.1714Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7325">%0A<rect width="200" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',qb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7395)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23FAFAFA"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23FAFAFA"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23FAFAFA"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23FAFAFA"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23FAFAFA"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23FAFAFA"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23FAFAFA"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23FAFAFA"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7395">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',Ub='data:image/svg+xml,<?xml version="1.0" encoding="UTF-8"?>%0A<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 371 100">%0A <!-- Generator: Adobe Illustrator 30.4.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 226) -->%0A <defs>%0A <style>%0A .st0 {%0A fill: none;%0A }%0A%0A .st1 {%0A fill: %234dcdc0;%0A }%0A%0A .st2 {%0A fill: %23499cdf;%0A }%0A%0A .st3 {%0A fill: %23fff;%0A }%0A%0A .st4 {%0A clip-path: url(%23clippath);%0A }%0A </style>%0A <clipPath id="clippath">%0A <rect class="st0" width="371" height="100"/>%0A </clipPath>%0A </defs>%0A <g class="st4">%0A <g>%0A <path class="st3" d="M237.15,26.04v46.68h-20.5V26.04h20.5ZM234.41,70.05V28.72h-15.15v41.33h15.15ZM261.49,76.36h-2.68v-27.39h-11.24v26.5h-2.68V23.98h2.68v22.31h11.24v-22.65h2.68v52.73h0Z"/>%0A <path class="st3" d="M299.72,69.26c2.35-.48,4.31-1.11,5.86-1.89v2.75c-1.51.82-3.44,1.46-5.79,1.92-2.35.46-4.74.69-7.17.69h-20.37V25.7h2.74v44.28h17.62c2.38,0,4.74-.24,7.1-.72h0ZM311.69,76.43V23.64h2.74v52.73l-2.74.07Z"/>%0A <path class="st3" d="M340.56,47.94l17.62,22.52-2.13,1.65-16.18-20.94c-1.46,6.18-3.54,11.1-6.24,14.76-2.7,3.66-5.9,5.93-9.6,6.8v-2.75c3.25-.82,6.01-3.11,8.3-6.86,2.29-3.75,4.02-8.59,5.21-14.52,1.19-5.92,1.83-12.55,1.92-19.87h-14.47v-2.68h31.61v2.68h-14.4c-.05,7.19-.6,13.59-1.64,19.22h0ZM369.22,76.36h-2.74v-28.9h-14.06v-2.68h14.06v-21.14h2.74v52.73Z"/>%0A <path class="st3" d="M92.88,48.35v-24.1h30.58v24.1h-30.58ZM139.37,69.15v7.21h-44.71v-15.72h34.42v-2.13h-34.56v-7.21h44.3v15.72h-34.28v2.13h34.83,0ZM102.68,32.56v7.41h11.04v-7.41h-11.04ZM144.72,40.39h-5.9v9.06h-9.88v-25.81h9.88v7.21h5.9v9.54h0Z"/>%0A <path class="st3" d="M181.89,47.87v9.4c-2.79,1.28-7.16,1.92-13.1,1.92h-.62v17.16h-9.88v-17.16h-12.2v-9.4h22.83c5.85,0,10.17-.64,12.96-1.92h0ZM148.97,34.28v-9.4h28.66v22.17h-9.87v-12.77h-18.79ZM194.64,76.36h-9.88V23.64h9.88v52.73h0Z"/>%0A <path class="st1" d="M48.15,17.86h-21.4c-9.85,0-17.84,7.99-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h21.4c9.85,0,17.84-7.99,17.84-17.86v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st1" d="M36.6,50.74c-9.02,9.94-24.22,10.93-34.44,2.42-.47-.39-.52-1.1-.11-1.55l16.06-17.69,18.49,16.81Z"/>%0A <path class="st1" d="M55.29,25h-21.4c-9.85,0-17.84,8-17.84,17.86v21.43c0,9.86,7.99,17.86,17.84,17.86h16.09c.96,0,1.74.78,1.74,1.75,0,1.02.87,1.83,1.89,1.74,10.93-.96,19.51-10.15,19.51-21.35v-21.43c0-9.86-7.99-17.86-17.84-17.86Z"/>%0A <path class="st2" d="M26.75,25c-5.91,0-10.7,4.8-10.7,10.71v28.57c0,3.09.79,6,2.17,8.54,2.53,1.39,5.44,2.17,8.53,2.17h28.54c5.91,0,10.7-4.8,10.7-10.71v-28.57c0-3.09-.79-6-2.17-8.54-2.53-1.39-5.44-2.17-8.53-2.17h-28.54Z"/>%0A <path class="st3" d="M27.11,40.71c0-1.18-.96-2.14-2.14-2.14s-2.14.96-2.14,2.14v4.29c0,1.18.96,2.14,2.14,2.14s2.14-.96,2.14-2.14v-4.29Z"/>%0A <path class="st3" d="M37.81,57.14c-1.04,0-2.09-.27-3.03-.81-.85-.49-1.15-1.59-.65-2.44.49-.85,1.58-1.15,2.44-.65.98.56,2.22.4,3.01-.39.39-.39.63-.88.7-1.41.32-2.27,1.32-4.44,2.9-6.25.94-1.08,1.44-2.46,1.4-3.9-.07-2.93-2.42-5.38-5.34-5.56-.99-.06-1.93.12-2.81.54-.89.43-1.95.04-2.38-.85-.42-.89-.04-1.96.85-2.38,1.41-.67,2.99-.97,4.57-.88,4.75.3,8.57,4.26,8.68,9.03.06,2.33-.75,4.58-2.28,6.34-1.12,1.29-1.84,2.81-2.06,4.4-.19,1.31-.78,2.5-1.71,3.44-1.17,1.17-2.72,1.78-4.29,1.78h0Z"/>%0A </g>%0A </g>%0A</svg>',Gb='data:image/svg+xml,<svg width="371" height="100" viewBox="0 0 371 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7394)">%0A<path d="M237.151 26.0393V72.7215H216.65V26.0393H237.151ZM234.408 70.0465V28.7179H219.254V70.0465H234.408ZM261.495 76.3608H258.819V48.9679H247.575V75.4679H244.899V23.9822H247.575V46.2929H258.819V23.6393H261.495V76.3643V76.3608Z" fill="%23111111"/>%0A<path d="M299.722 69.2572C302.076 68.7751 304.031 68.1465 305.583 67.3679V70.1143C304.074 70.9393 302.144 71.5786 299.79 72.0358C297.435 72.4929 295.045 72.7215 292.623 72.7215H272.257V25.6965H275.001V69.9751H292.623C294.999 69.9751 297.364 69.7358 299.722 69.2536V69.2572ZM311.69 76.4322V23.6393H314.434V76.3643L311.69 76.4322Z" fill="%23111111"/>%0A<path d="M340.557 47.9393L358.179 70.4572L356.053 72.1036L339.872 51.1643C338.409 57.3429 336.33 62.2643 333.633 65.925C330.936 69.5857 327.736 71.8536 324.033 72.7215V69.975C327.279 69.15 330.044 66.8643 332.331 63.1107C334.617 59.3572 336.355 54.5179 337.543 48.5893C338.731 42.6643 339.369 36.0393 339.462 28.7143H324.993V26.0357H356.603V28.7143H342.201C342.155 35.9 341.606 42.3072 340.557 47.9357V47.9393ZM369.22 76.3607H366.477V47.4572H352.418V44.7786H366.477V23.6357H369.22V76.3607Z" fill="%23111111"/>%0A<path d="M92.8784 48.3536V24.2572H123.461V48.3536H92.8784ZM139.371 69.1536V76.3607H94.6621V60.6393H129.087V58.5107H94.5265V51.3036H138.825V67.025H104.54V69.1536H139.375H139.371ZM102.685 32.5643V39.9786H113.726V32.5643H102.685ZM144.719 40.3893H138.822V49.45H128.947V23.6357H138.822V30.8429H144.719V40.3857V40.3893Z" fill="%23111111"/>%0A<path d="M181.886 47.8715V57.2751C179.097 58.5572 174.73 59.1965 168.791 59.1965H168.174V76.3608H158.299V59.1965H146.096V49.7929H168.93C174.78 49.7929 179.1 49.1536 181.89 47.8715H181.886ZM148.971 34.2786V24.8751H177.634V47.0501H167.76V34.2822H148.971V34.2786ZM194.64 76.3608H184.765V23.6393H194.64V76.3643V76.3608Z" fill="%23111111"/>%0A<g opacity="0.1">%0A<path d="M26.7512 25C20.8402 25 16.0493 29.7964 16.0493 35.7143V64.2857C16.0493 67.3786 16.8377 70.2893 18.2182 72.8286C20.751 74.2143 23.6584 75 26.7512 75H55.2897C61.2007 75 65.9916 70.2036 65.9916 64.2857V35.7143C65.9916 32.6214 65.2032 29.7107 63.8227 27.1714C61.2899 25.7857 58.3826 25 55.2897 25H26.7512Z" fill="%23111111"/>%0A</g>%0A<path d="M48.155 17.8571H26.7511C16.9018 17.8571 8.91459 25.8536 8.91459 35.7143V44.0643L2.05822 51.6179C1.64798 52.0679 1.69436 52.775 2.16524 53.1643C4.24141 54.8929 6.52449 56.2214 8.91459 57.1679C8.92529 63.925 12.6817 69.8 18.2181 72.825C16.834 70.2893 16.0492 67.3786 16.0492 64.2821V35.7107C16.0492 29.7929 20.8401 24.9964 26.7511 24.9964H55.2896C58.3789 24.9964 61.2862 25.7857 63.8226 27.1679C60.7975 21.6179 54.915 17.8536 48.155 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M63.8227 27.1714C65.2068 29.7072 65.9916 32.6179 65.9916 35.7143V64.2857C65.9916 70.2036 61.2008 75 55.2897 75H26.7513C23.662 75 20.7546 74.2107 18.2183 72.8286C21.2433 78.3786 27.1258 82.1429 33.8859 82.1429H49.978C50.9412 82.1429 51.7224 82.925 51.7224 83.8893C51.7224 84.9107 52.5964 85.7215 53.6131 85.6322C64.5469 84.675 73.1263 75.4822 73.1263 64.2857V42.8572C73.1263 36.0893 69.3663 30.2 63.8227 27.1714Z" fill="%23111111"/>%0A<path d="M27.1079 40.7143C27.1079 39.5308 26.1496 38.5714 24.9675 38.5714C23.7854 38.5714 22.8271 39.5308 22.8271 40.7143V45C22.8271 46.1834 23.7854 47.1428 24.9675 47.1428C26.1496 47.1428 27.1079 46.1834 27.1079 45V40.7143Z" fill="%23111111"/>%0A<path d="M37.8097 57.1429C36.768 57.1429 35.7228 56.875 34.7775 56.3286C33.9249 55.8357 33.6323 54.7429 34.1282 53.8893C34.6205 53.0357 35.7121 52.7429 36.5647 53.2393C37.5421 53.8036 38.78 53.6429 39.5755 52.8464C39.9608 52.4607 40.2033 51.9714 40.2782 51.4357C40.5993 49.1607 41.6017 47 43.182 45.1857C44.1238 44.1071 44.6197 42.7214 44.584 41.2857C44.5091 38.3536 42.1653 35.9107 39.2437 35.7286C38.2556 35.6679 37.3102 35.8464 36.4327 36.2679C35.5444 36.6929 34.4778 36.3107 34.0569 35.4214C33.6323 34.5321 34.014 33.4643 34.9023 33.0429C36.315 32.3714 37.8917 32.0679 39.4685 32.1643C44.2201 32.4607 48.0336 36.4286 48.1513 41.1964C48.2084 43.5286 47.3986 45.7786 45.8718 47.5357C44.7481 48.825 44.0346 50.3464 43.8134 51.9357C43.6279 53.2464 43.0358 54.4357 42.1011 55.375C40.9346 56.5429 39.3828 57.15 37.8132 57.15L37.8097 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7394">%0A<rect width="371" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',El='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2255_7305)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7179 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7179 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="%23FAFAFA"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2255_7305">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Gn={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},mo=new WeakMap;function Kb(e){if(e)return mo.get(e)}function Bn(e,t){e&&(e.style.setProperty(Gn.text,t.text),e.style.setProperty(Gn.sub,t.sub),t.copyrightColor&&e.style.setProperty(Gn.copyright,t.copyrightColor),mo.set(e,t))}function An(e){e&&(e.style.removeProperty(Gn.text),e.style.removeProperty(Gn.sub),e.style.removeProperty(Gn.copyright),mo.delete(e))}const Sl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function jl(e={}){const t=Bt(Sl,Bn,An);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-two-circle__c1"}),n.jsx("div",{className:"pass-card-bg-two-circle__c3"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${El}")`}})]})}const Tl="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464Z";var Sa='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2175_65181)">%0A<path d="M75.2535 24.7464C68.7892 18.2821 59.8606 14.2857 49.9999 14.2857C40.1392 14.2857 37.5214 24.5964 31.0606 31.0607C24.5964 37.525 14.2856 40.1893 14.2856 50C14.2856 59.8107 18.2821 68.7893 24.7464 75.2536C31.2106 81.7178 40.1392 85.7143 49.9999 85.7143C59.8606 85.7143 68.7892 81.7178 75.2535 75.2536C81.7178 68.7893 85.7142 59.8607 85.7142 50C85.7142 40.1393 81.7178 31.2107 75.2535 24.7464ZM62.6285 62.6286C59.3964 65.8607 54.9321 67.8571 49.9999 67.8571C45.0678 67.8571 40.6035 65.8571 37.3714 62.6286C34.1392 59.3964 32.1428 54.9321 32.1428 50C32.1428 45.0678 34.1428 40.6036 37.3714 37.3714C40.6035 34.1393 45.0678 32.1428 49.9999 32.1428C54.9321 32.1428 59.3964 34.1428 62.6285 37.3714C65.8606 40.6036 67.8571 45.0678 67.8571 50C67.8571 54.9321 65.8571 59.3964 62.6285 62.6286Z" fill="url(%23paint0_linear_2175_65181)"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2175_65181" x1="29.6392" y1="29.6393" x2="75.2535" y2="75.2536" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2175_65181">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Yb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Zb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ml(e={}){const t=Bt(Yb,Bn,An),a="var(--color-main)",r=270,i=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Zb.map(({scale:s,opacity:l},u)=>n.jsx("g",{transform:`translate(${r} ${i}) scale(${s}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:Tl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${Sa}")`}})]})}const Xb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Jb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Qb(e={}){const t=Bt(Xb,Bn,An),a="#ffffff",r=270,i=170;return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[n.jsx("svg",{className:"pass-card-bg-sound-move-v1__svg",viewBox:"0 0 300 189",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:Jb.map(({scale:s,opacity:l},u)=>n.jsx("g",{transform:`translate(${r} ${i}) scale(${s}) translate(-50 -50)`,opacity:l,children:n.jsx("path",{d:Tl,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},u))}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${El}")`}})]})}const e4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function t4(e={}){const t=Bt(e4,Bn,An);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${Sa}")`}})]})}const n4={Logo_speechear_kr:{"":er,_white:zb,_textWhite:Vb,_black:Wb},Logo_speechearManager_kr:{"":po,_white:qb,_textWhite:Ub,_black:Gb}};function a4(e,t){if(e)return n4[e]?.[t??""]??void 0}const r4={speechear:er,manager:po},o4={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Ll=10;function s4(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function $l(e,t){if(e<=0)return t("passCard.remainingSecond",{n:0});const a=Math.floor(e/86400);if(a>0)return t("passCard.remainingDay",{n:a});const r=Math.floor(e/3600);if(r>0)return t("passCard.remainingHour",{n:r});const i=Math.floor(e/60);return i>0?t("passCard.remainingMinute",{n:i}):t("passCard.remainingSecond",{n:Math.floor(e)})}function i4(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),i=a==="\uC624\uD508\uD2B9\uAC00"||a===Tt.t("passCard.specialLabel");return r?n.jsx(t4,{}):i?n.jsx(Qb,{}):n.jsx(Ml,{})}return n.jsx(jl,{})}function Rl({ariaLabel:e,product:t,showPrice:a=!1,plan:r,type:i,endDate:s,remainingSeconds:l,endInclusive:u=!1,state:c="active",bg:d,bgOnly:m=!1,textColor:p,subColor:h,copyrightColor:v,logoSrc:y,label:g,price:f,originalPrice:_,discountLabel:C,onUse:w,onRefund:b,onDelete:k}){const{t:x}=_e.useTranslation(),B=t?Dl(t):void 0,A=i??B?.type??"speechear",N=r??B?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=g??B?.label,D=f??(a?B?.price:void 0),H=_??(a?B?.originalPrice:void 0),P=C??B?.discountLabel,Y=o.useMemo(()=>{if(D)return null;const G=t?.durationDays??Hb(t?.code);if(!G||G<=0)return l!=null?{percent:null,remainingLabel:$l(l,x)}:null;const re=G*86400;let ie;if(l!=null)ie=l;else if((c==="active"||c==="expired")&&s){const se=new Date(s).getTime();if(Number.isNaN(se))return null;const ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(s)),Ce=/^(\d{4})-(\d{2})-(\d{2})/.exec(wa()),be=Math.round(ce&&Ce?(Date.UTC(+ce[1],+ce[2]-1,+ce[3])-Date.UTC(+Ce[1],+Ce[2]-1,+Ce[3]))/864e5:(se-Date.now())/864e5);ie=Math.max(0,u?be+1:be)*86400}else c==="expired"?ie=0:ie=re;const De=s4(ie),ye=Math.max(0,Math.min(100,Math.floor(Math.min(De,re)/re*100)));return c==="pending"&&ye>=100?null:{percent:ye,remainingLabel:c==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):$l(ie,x)}},[D,c,s,l,u,t?.durationDays,t?.code,x]),M=o.useRef(null),[L,$]=o.useState({}),[K,V]=o.useState(null),z=!!(w||b||k),W=o.useRef(!1),R=o.useRef(void 0),[q,j]=o.useState(y);o.useLayoutEffect(()=>{j(y)},[y]),o.useLayoutEffect(()=>{const G=M.current;G&&(p!==void 0&&G.style.setProperty("--pass-card-text",p),h!==void 0&&G.style.setProperty("--pass-card-sub",h),v!==void 0&&G.style.setProperty("--pass-card-copyright",v))},[p,h,v]),o.useLayoutEffect(()=>{const G=M.current;if(!G)return;const re=Kb(G);if(!y){const ie=o4[A],De=c==="expired"?"_black":re?.logoColor??"",ye=a4(ie,De);j(ye)}},[d,y,A,c]);const I=G=>{const re=M.current;if(!re)return null;const{left:ie,top:De,width:ye,height:se}=re.getBoundingClientRect(),ce=(G.clientX-ie)/ye-.5;return{rotateX:-((G.clientY-De)/se-.5)*Ll,rotateY:ce*Ll}},S=(G,re)=>{const ie=re*-.7,De=G*.7+10,ye=20+(Math.abs(G)+Math.abs(re))*.4;return`${ie}px ${De}px ${ye}px rgba(0, 0, 0, 0.18)`},F=o.useCallback(G=>{if(sa())return;W.current=!0,clearTimeout(R.current),R.current=setTimeout(()=>{W.current=!1},200);const re=I(G);re&&$({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:S(re.rotateX,re.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),O=o.useCallback(G=>{if(sa())return;const re=I(G);if(!re)return;const ie=W.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";$({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:S(re.rotateX,re.rotateY),transition:ie})},[]),U=o.useCallback(()=>{clearTimeout(R.current),W.current=!1,$({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=o.useCallback(()=>V(null),[]),oe=o.useMemo(()=>{const G=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),re=N.replace("\uC774\uC6A9\uAD8C","").replace(G==="\uC774\uC6A9\uAD8C"?"":G,"").trim(),ie=re.match(/^(.*?)(일|년)$/);return ie?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:ie[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:ie[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:re})},[N,x]),me=o.useMemo(()=>{const G=aa(D);if(!G)return null;const re=G.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!re)return n.jsx("span",{className:"h1",children:G});const[,ie,De,ye]=re;return n.jsxs(n.Fragment,{children:[ie&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ie}),n.jsx("span",{className:"h1 pass-card__price-amount",children:De}),ye.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ye.trim()})]})},[D]),ae=o.useCallback(()=>{z&&V(G=>{if(G)return null;const re=M.current?.getBoundingClientRect();if(!re)return null;const ie=50;return{left:re.left,right:re.right,width:re.width,height:re.height,x:re.x,y:re.y+ie,top:re.top+ie,bottom:re.bottom+ie}})},[z]),te=o.useCallback(G=>{z&&(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),ae())},[z,ae]),ke=[{items:[...w?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),V(null)},closeOnSelect:!0}]:[],...b?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{b(),V(null)},closeOnSelect:!0}]:[],...k?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{k(),V(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:M,className:`pass-card pass-card--${c}${z?" pass-card--clickable":""}`,style:L,onMouseEnter:F,onMouseMove:O,onMouseLeave:U,onPointerUp:G=>{G.pointerType==="touch"&&U()},onPointerCancel:G=>{G.pointerType==="touch"&&U()},onClick:ae,onKeyDown:z?te:void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-label":e,"aria-haspopup":z?"menu":void 0,"aria-expanded":z?!!K:void 0,children:[d??i4(A,N,E),!m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card__top",children:n.jsxs("div",{className:"pass-card__top-left",children:[n.jsx("img",{src:q??r4[A],className:"pass-card__logo",alt:A==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),n.jsxs("div",{className:"pass-card__plan",children:[n.jsx("div",{children:oe}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?x("passCard.labeledPlan",{label:E}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?n.jsxs("div",{className:"pass-card__price-area",children:[P&&n.jsx("span",{className:"pass-card__discount body-3",children:P}),n.jsxs("div",{className:"pass-card__price",children:[H&&n.jsx("span",{className:"pass-card__price-original body-3",children:aa(H)}),me]})]}):Y?n.jsxs("div",{className:"pass-card__usage",children:[n.jsx("span",{className:"h5b pass-card__usage-remaining",children:Y.remainingLabel}),Y.percent!=null&&n.jsxs("span",{className:"pass-card__usage-percent",children:[n.jsx("span",{className:"h1 pass-card__usage-value",children:Y.percent}),n.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):n.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),K&&n.jsx(un,{anchorRect:K,onClose:Q,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:n.jsx(Ea,{columns:ke,onClose:Q,size:"small"})})]})}const l4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function u4(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=Bt(l4,Bn,An);return n.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[n.jsxs("svg",{className:"pass-card-bg-sound-line__svg",viewBox:"0 0 500 300",preserveAspectRatio:"xMidYMid slice",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("defs",{children:n.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[n.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),n.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),n.jsx("g",{transform:"translate(25, 45)",children:n.jsx("path",{d:"M -30 150 C 40 80, 100 220, 160 150 S 280 80, 340 150 S 460 220, 510 150",fill:"none",stroke:`url(#${t})`,strokeWidth:"50",strokeLinecap:"round"})})]}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${Sa}")`}})]})}const c4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function d4(e={}){const t=Bt(c4,Bn,An);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),n.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${Sa}")`}})]})}function p4(e,t){if(e){if(t==="manager_pro")return n.jsx(d4,{});if(t==="manager_standard")return n.jsx(u4,{});if(t==="manager_lite")return n.jsx(Ml,{})}}function m4(e){const t=aa(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,i,s]=a;return n.jsxs(n.Fragment,{children:[r&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),i,s.trim()&&n.jsx("span",{className:"payment-plan__pricing-symbol h4",children:s.trim()})]})}function h4(e){const{t}=_e.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:i,onSelect:s,period:l="monthly",ownedCodes:u}=e||{},c=b=>!!b&&!!u?.includes(b),d=b=>b.onceOnly??/오픈\s*특가/.test(b.label??""),m=(i.tiers||[]).some(b=>d(b)&&c(b.code)),p=b=>{const k=b.prices?b.prices[l]:b.price;return k?(i.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===k):!1},h=i.colorToken?`var(--color-${i.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),y=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=b=>b.prices?b.prices[l]:b.price,f=(i.tiers||[]).length>0&&(i.tiers||[]).every(b=>{const k=g(b);return k==="\uBB34\uB8CC"||k===v||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),_=(i.tiers||[]).length>0&&(i.tiers||[]).every(b=>{const k=g(b);return k==="\uBB38\uC758"||k===y}),C=i.group==="org",w=C?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[i.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(At,{label:i.cardBadge,variant:"main",size:"medium",fill:"soft"})}),n.jsxs("div",{className:"payment-plan__title",children:[n.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:i.quote||"\xA0"}),n.jsx("h3",{className:"payment-plan__title-heading h1",children:i.tier??i.title}),n.jsx("p",{className:"payment-plan__subtitle body-3",children:i.subtitle})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(i.recommendedFor||[]).map((b,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(et,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),b]},k))})]}),n.jsxs("div",{className:"payment-plan__box",children:[n.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),n.jsx("ul",{className:"payment-plan__feature-list",children:(i.features||[]).map((b,k)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(et,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),b]},k))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:f?null:_?n.jsx(he,{htmlType:"button",className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>i.tiers?.[0]&&s?.({...i.tiers[0],productId:i.id,productTitle:i.title})}):n.jsx(n.Fragment,{children:n.jsx("div",{className:"payment-plan__pricing-list",children:(i.tiers||[]).map(b=>{const k=b.label||a,x=d(b),B=x||b.openPromo===!0,A=k.replace(/^오픈\s*특가\s*/,"")||a,N=b.prices?b.prices[l]:b.price,E=b.badge?B?`${r}
|
|
852
|
+
${b.badge}`:b.badge:void 0;if(x&&c(b.code))return null;if(!b.badge&&!m)return p(b)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${b.highlight?" payment-plan__pricing-row--highlight":""}`,children:[n.jsx("div",{className:"payment-plan__pricing-row-title",children:n.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:b.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:m4(N)})})]},b.id);const D=i.tier??(C?i.title:void 0),H=n.jsx(Rl,{showPrice:!0,product:{type:w,code:b.code,name:A,label:D,price:N,originalPrice:b.originals?.[l]??void 0,discountLabel:E},bg:p4(C,i.id)}),P=()=>s?.({...b,productId:i.id,productTitle:i.title,preview:H});return n.jsx("div",{className:"payment-plan__pricing-card",onClick:P,onKeyDown:s?Y=>{Y.target===Y.currentTarget&&(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),P())}:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,children:H},b.id)})})})})]})}function C4({variant:e="default"}){return n.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),n.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var ho='data:image/svg+xml,<svg width="264" height="100" viewBox="0 0 264 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2079_3030)">%0A<path d="M60.9019 24.7464C54.4446 18.2821 45.5257 14.2857 35.6757 14.2857C25.8256 14.2857 23.2106 24.5964 16.7569 31.0607C10.2996 37.5214 0 40.1857 0 50C0 59.8143 3.99211 68.7893 10.4494 75.2536C16.9067 81.7178 25.8256 85.7143 35.6757 85.7143C45.5257 85.7143 54.4446 81.7178 60.9019 75.2536C67.3592 68.7893 71.3513 59.8607 71.3513 50C71.3513 40.1393 67.3592 31.2107 60.9019 24.7464ZM48.2906 62.6286C45.0619 65.8607 40.6025 67.8571 35.6757 67.8571C30.7489 67.8571 26.2894 65.8571 23.0608 62.6286C19.8321 59.3964 17.8378 54.9321 17.8378 50C17.8378 45.0678 19.8357 40.6036 23.0608 37.3714C26.2894 34.1393 30.7489 32.1428 35.6757 32.1428C40.6025 32.1428 45.0619 34.1428 48.2906 37.3714C51.5192 40.6036 53.5135 45.0678 53.5135 50C53.5135 54.9321 51.5157 59.3964 48.2906 62.6286Z" fill="url(%23paint0_linear_2079_3030)"/>%0A<path d="M106.735 74.8322H93.6274V24.8322H106.735V74.8322Z" fill="%23111111"/>%0A<path d="M113.495 24.8322H126.602V44.5143H145.022V24.8322H158.197V74.8322H145.022V55.15H126.602V74.8322H113.495V24.8322Z" fill="%23111111"/>%0A<path d="M163.027 74.8322L179.652 24.8322H197.519L214.076 74.8322H199.934L196.969 65.025H180.205L177.241 74.8322H163.031H163.027ZM193.933 55.0786L188.76 38.2964H188.346L183.241 55.0786H193.933Z" fill="%23111111"/>%0A<path d="M218.906 24.8322H240.29C251.674 24.8322 257.675 29.7357 257.675 37.4C257.675 42.925 253.743 47.1393 248.085 48.3107V48.7929C254.364 49 259.605 53.6286 259.605 60.7393C259.605 68.8893 252.983 74.8286 242.081 74.8286H218.902V24.8322H218.906ZM244.157 40.1643C244.157 36.9857 241.674 35.1929 238.085 35.1929H232.013V45.1393H237.878C241.535 45.1393 244.157 43.3429 244.157 40.1679V40.1643ZM245.741 59.0857C245.741 55.425 243.119 53.3536 238.913 53.3536H232.013V64.2643H238.706C243.397 64.2643 245.741 62.4679 245.741 59.0857Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<linearGradient id="paint0_linear_2079_3030" x1="15.337" y1="29.6393" x2="60.9512" y2="75.2042" gradientUnits="userSpaceOnUse">%0A<stop offset="0.2" stop-color="%23499CDF"/>%0A<stop offset="0.8" stop-color="%234DCDC0"/>%0A</linearGradient>%0A<clipPath id="clip0_2079_3030">%0A<rect width="264" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Pl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function f4(){const e=Bt(Pl,Bn,An);return n.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${ho}")`}})})}const Fl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function g4(e={}){const t=Bt(Fl,Bn,An);return n.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[n.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),n.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),n.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${Sa}")`}})]})}function Il({keys:e,anchor:t="top-right",scale:a,className:r=""}){const i=Array.isArray(e)?e:[e];return n.jsx("span",{className:Ae("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:i.map((s,l)=>n.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&n.jsx("span",{className:"shortcut-badge__plus",children:"+"}),n.jsx("kbd",{className:"shortcut-badge__key",children:s})]},`${s}-${l}`))})}const ja=(e,t,a)=>e+(t-e)*a;function b4({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:i,selectedId:s=null,answerId:l=null,showFeedback:u=!1,pulseSelected:c=!1,pulseSelectedDuration:d,pulseScale:m,clickable:p=!1,onSelectSpeaker:h,buttonSize:v=40,showIcon:y=!0,onCenterClick:g,centerLabel:f,centerDisabled:_=!1,centerAttention:C=!1,shortcutAnchor:w="top-right",shortcutScale:b,scaleShortcut:k=!1}){const{t:x}=_e.useTranslation(),B=Math.max(0,Math.min(1,a)),A=t/2,N=110/300,E=.18,D=G=>t*(N+(G-1)*E),H=G=>{const re=D(G.row??1),ie=G.angleDeg*Math.PI/180;return{x:A+re*Math.cos(ie),y:A+re*Math.sin(ie)}},P=Math.max(...e.map(G=>G.row??1),1),Y=t*.08,M=t*.1,L=t*.24,$=t-2*Y,K=t-M-L,V=t-L/2,z=o.useMemo(()=>[...new Set(e.map(G=>G.deg))].sort((G,re)=>G-re),[e]),W=z.length,R=Math.max(68,W>1?$/(W-1):0),q=o.useMemo(()=>new Map(z.map((G,re)=>[G,re])),[z]),j=G=>{const re=q.get(G.deg)??0,ie=A+(re-(W-1)/2)*R,De=P>1?Math.min(68,K/(P-1)):0,ye=De*(P-1),se=M+(K-ye)/2,ce=P===1?M+K*.4:se+(P-(G.row??1))*De;return{x:ie,y:ce}},I=G=>{const re=H(G),ie=j(G);return{x:ja(re.x,ie.x,B),y:ja(re.y,ie.y,B)}},S={x:A,y:ja(A,V,B)},F=Math.round(v*1.2),O=Math.round(Math.max(16,Math.min(80,v*.7))),U=[],Q=new Map;for(const G of e){const re=G.row??1;Q.has(re)||Q.set(re,[]),Q.get(re).push(G)}for(const[G,re]of Q.entries()){if(re.length<2)continue;const ie=[...re].sort((qe,lt)=>qe.deg-lt.deg),De=ie.map(qe=>I(qe)),ye=ie.map(qe=>qe.deg),se=ye[ye.length-1]-ye[0],ce=se/(ye.length-1),Ce=360-se,be=ie.length>=3&&ce>0&&Ce<=ce*1.5,ge=Math.round(D(G)*1e3)/1e3,je=(qe,lt,st,nt)=>{const ut=(lt.angleDeg-qe.angleDeg+540)%360-180;if(ut===0)return`L ${nt.x} ${nt.y}`;if(B===0)return`A ${ge} ${ge} 0 0 ${ut>0?1:0} ${nt.x} ${nt.y}`;const Ne=(qe.angleDeg+ut/2)*Math.PI/180,We={x:A+ge*Math.cos(Ne),y:A+ge*Math.sin(Ne)},Be={x:(st.x+nt.x)/2,y:(st.y+nt.y)/2},Ge={x:ja(We.x,Be.x,B),y:ja(We.y,Be.y,B)},J={x:2*Ge.x-Be.x,y:2*Ge.y-Be.y};return`Q ${J.x} ${J.y} ${nt.x} ${nt.y}`},Ue=be?[...ie,ie[0]]:ie,Se=be?[...De,De[0]]:De;let Ie=`M ${Se[0].x} ${Se[0].y}`;for(let qe=1;qe<Se.length;qe++)Ie+=" "+je(Ue[qe-1],Ue[qe],Se[qe-1],Se[qe]);U.push({key:`arc-${G}`,d:Ie})}const oe=o.useMemo(()=>new Set(i??[]),[i]),me=G=>({idle:"",active:x("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:x("soundCompass.state.played","\uB4E4\uC74C"),correct:x("soundCompass.state.correct","\uC815\uB2F5"),wrong:x("soundCompass.state.wrong","\uC624\uB2F5")})[G],ae=G=>{if(r===G.id)return"active";if(u){if(G.id===l)return"correct";if(G.id===s&&s!==l)return"wrong"}return oe.has(G.id)?"played":"idle"},te=G=>r===G.id?"loop":u?G.id===l?"loop":null:c&&G.id===s?"once":null,ke=(G,re)=>{switch(G){case"played":case"correct":return n.jsx(Cs,{size:re});case"wrong":return n.jsx(As,{size:re});default:return n.jsx(Bs,{size:re})}};return n.jsx("div",{className:"sound-compass",children:n.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[n.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(G=>{const{x:re,y:ie}=I(G);return n.jsx("line",{x1:S.x,y1:S.y,x2:re,y2:ie,stroke:"#dde3ec",strokeWidth:"1"},G.id)}),U.map(G=>n.jsx("path",{d:G.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},G.key))]}),C&&!_&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:F,height:F,left:S.x-F/2,top:S.y-F/2}}),g?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:F,height:F,left:S.x,top:S.y},"aria-label":f,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:g,children:n.jsx(kr,{size:O,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:F,height:F,left:S.x,top:S.y},children:n.jsx(kr,{size:O,color:"currentColor",strokeWidth:1.5})}),e.map((G,re)=>{const{x:ie,y:De}=I(G),ye=ae(G),se=te(G),ce={...b!==void 0||k?{"--shortcut-badge-scale":String(b??Math.max(.75,Math.min(3,v/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:ye!=="idle"?10:1},Ce=v,be=Math.round(Math.max(10,Math.min(56,Ce*.38))),ge=Math.round(Math.max(7,Math.min(18,Ce*.2))),je=Math.round(Math.max(10,Math.min(56,Ce*.4))),Ue=y==="answered"&&(ye==="played"||ye==="correct"||ye==="wrong"),Se=y===!0||Ue,Ie=!Ue;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...ce,left:ie-Ce/2,top:De-Ce/2},children:[se&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ye}`+(se==="once"?" sound-compass__pulse--once":""),style:{width:Ce,height:Ce,...se==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...m!==void 0?{"--sc-pulse-scale":String(m)}:null}}),n.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>h?.(G.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ye}`,style:{width:Ce,height:Ce},"aria-label":me(ye)?`${G.label}, ${me(ye)}`:G.label,"aria-pressed":s!=null?G.id===s:void 0,children:[Se&&ke(ye,be),Ie&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:y===!0?ge:je},children:re+1})]}),G.shortcut&&n.jsx(Il,{keys:G.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},G.id)})]})})}function y4({children:e,position:t="top-left",size:a=24,className:r=""}){return n.jsx("span",{className:Ae("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}function v4({orientation:e="horizontal",label:t,className:a=""}){const r=Ae("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?n.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?n.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[n.jsx("span",{className:"divider__line"}),n.jsx("span",{className:"divider__label caption-1",children:t}),n.jsx("span",{className:"divider__line"})]}):n.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}function Ol({checked:e,onChange:t,name:a,value:r,disabled:i=!1,label:s,className:l=""}){const u=o.useId();return n.jsxs("label",{className:`radio${i?" radio--disabled":""} ${l}`.trim(),htmlFor:u,children:[n.jsx("input",{id:u,type:"radio",name:a,value:r,checked:e,disabled:i,onChange:c=>t?.(c.target.checked)}),n.jsx("span",{className:"radio__dot"}),s&&n.jsx("span",{className:"radio__label body-2",children:s})]})}function x4({options:e,value:t,onChange:a,name:r,disabled:i=!1,direction:s="vertical",className:l="",ariaLabel:u}){const c=o.useId(),d=r??`radio-group-${c}`;return n.jsx("div",{className:`radio-group radio-group--${s} ${l}`.trim(),role:"radiogroup","aria-label":u,children:e.map(m=>n.jsx(Ol,{name:d,value:m.value,checked:t===m.value,disabled:i||m.disabled,label:m.label,onChange:p=>{p&&a?.(m.value)}},m.value))})}const _4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function w4({tone:e="info",title:t,message:a,children:r,dismissible:i=!1,onDismiss:s,live:l,className:u=""}){const{t:c}=_e.useTranslation(),[d,m]=o.useState(!1),p=o.useRef(null),h=o.useCallback(()=>{const C=p.current;C&&C.contains(document.activeElement)&&Za(C),m(!0),s?.()},[s]);if(d)return null;const v=Ae("alert",`alert--${e}`,u),y=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=y==="assertive"?"alert":y==="polite"?"status":void 0,f=!!t,_=!!(a||r);return n.jsxs("div",{ref:p,className:v,role:g,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(et,{icon:_4[e],size:20,className:"alert__icon"}),f&&n.jsx("span",{className:"alert__title body-2",children:t}),!f&&_&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),f&&_&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),i&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const B4={ready:"search",guide:"info",error:"circle-alert"};function A4(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let i=0,s=0;for(const l of a){const u=e.indexOf(l,i);u<0||(u>i&&r.push(e.slice(i,u)),r.push(n.jsx("strong",{className:"search-summary__em body-2",children:l},s++)),i=u+l.length)}return i<e.length&&r.push(e.slice(i)),r}function k4({status:e="guide",label:t,children:a,emphasis:r,icon:i,className:s=""}){const l=i===!1?null:i??B4[e],u=Ae("search-summary",`search-summary--${e}`,s),c=t??a,d=typeof c=="string"&&r&&r.length>0?A4(c,r):c;return n.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(et,{icon:l,size:18,className:"search-summary__icon"}),n.jsx("span",{className:"search-summary__text body-2",children:d})]})}function Ta({title:e,items:t}){const{t:a}=_e.useTranslation(),{anchorRect:r,openAt:i,close:s}=ka(),l=o.useRef(null),u=no(!!r,(c,d)=>{c&&d?i(l.current?.querySelector("button")??d):s()},l);return n.jsxs("span",{ref:l,style:{display:"contents"},children:[n.jsx(he,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:c=>{oa(c)||i(c.currentTarget)},onPointerLeave:c=>{oa(c)||s()},onClick:c=>{u.touchPress(c.currentTarget)},onFocus:c=>{sa()||i(c.currentTarget)},onBlur:s}),r&&n.jsx(qn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:s})]})}function N4({items:e=[],value:t,onChange:a,className:r="",size:i=40}){const s=o.useId(),{t:l}=_e.useTranslation(),u=o.useRef(null),c=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===t)?t:c??e[0]?.key,m=e.find(g=>g.key===d&&!g.disabled)?.key??c,p=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),h=(g,f=p())=>{if(f.length===0)return;const _=(g%f.length+f.length)%f.length;f[_]?.focus(),f[_]?.click()},v=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const f=p(),_=f.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?h(_+1,f):g.key==="ArrowLeft"||g.key==="ArrowUp"?h(_-1,f):g.key==="Home"?h(0,f):h(f.length-1,f)},y=e.find(g=>g.key===d);return n.jsxs("div",{className:`tabs ${r}`.trim(),children:[n.jsx("div",{ref:u,className:`tabs__list tabs__list--${i}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(g=>n.jsx("button",{id:`tabs__tab-${s}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${s}-${g.key}`,disabled:g.disabled,tabIndex:g.key===m?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>{g.key!==t&&a?.(g.key)},onKeyDown:v,children:g.label},g.key))}),y&&n.jsx("div",{id:`tabs__panel-${s}-${y.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${s}-${y.key}`,tabIndex:0,className:"tabs__panel",children:y.panel},y.key)]})}const D4={xs:12,sm:16,md:20,lg:28,xl:36};function E4(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?[...t[0]].slice(0,2).join("").toUpperCase():([...t[0]][0]+[...t[t.length-1]][0]).toUpperCase()}function S4({src:e,name:t,size:a="md",shape:r="circle",className:i=""}){const{t:s}=_e.useTranslation(),[l,u]=o.useState(null),c=!!e&&l===e,d=t?E4(t):"",m=!!e&&!c,p=!m&&!!d,h=t||s("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return n.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${i}`.trim(),role:"img","aria-label":h,children:[m&&n.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>u(e??null)}),!m&&p&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!m&&!p&&n.jsx(et,{icon:"user-round",size:D4[a],className:"avatar__icon"})]})}function j4(e,t){if(!t)return!0;const a=t.split(",").map(s=>s.trim()).filter(Boolean);if(a.length===0)return!0;const r=e.name.toLowerCase(),i=e.type.toLowerCase();return a.some(s=>{const l=s.toLowerCase();return l.startsWith(".")?r.endsWith(l):l.endsWith("/*")?i.startsWith(l.slice(0,-1)):i===l})}function T4({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:i=!0,files:s,onRemove:l,className:u=""}){const{t:c}=_e.useTranslation(),d=o.useRef(null),[m,p]=o.useState(!1),[h,v]=o.useState([]),y=s??h,g=x=>{if(!x||x.length===0)return;const B=Array.from(x).filter(N=>j4(N,t));if(B.length===0)return;const A=a?B:B.slice(0,1);if(s===void 0){const N=a?[...y,...A]:A;v(N),e?.(N)}else e?.(A)},f=x=>{x.preventDefault(),!r&&p(!0)},_=x=>{x.preventDefault(),p(!1)},C=x=>{x.preventDefault(),p(!1),!r&&g(x.dataTransfer.files)},w=x=>{const B=x.target;try{g(B.files)}finally{B.value=""}},b=()=>{r||d.current?.click()},k=x=>{if(!r&&(l?.(x),s===void 0)){const B=y.filter((A,N)=>N!==x);v(B),l||e?.(B)}};return n.jsxs("div",{className:`file-upload ${u}`.trim(),children:[n.jsxs("div",{className:Ae("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:b,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())},onDragOver:f,onDragLeave:_,onDrop:C,children:[n.jsx(et,{icon:"upload",size:24,className:"file-upload__icon"}),n.jsx("span",{className:"file-upload__prompt body-2",children:c("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),n.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:x=>{x.stopPropagation(),b()},children:c("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),n.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:w,tabIndex:-1})]}),i&&y.length>0&&n.jsx("ul",{className:"file-upload__list",children:y.map((x,B)=>n.jsxs("li",{className:"file-upload__list-item body-3",children:[n.jsx("span",{className:"file-upload__file-name body-3",children:x.name}),n.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":c("fileUpload.removeAriaLabel",{name:x.name}),disabled:r,onClick:()=>k(B),children:n.jsx(et,{icon:"x",size:14})})]},`${x.name}-${B}`))})]})}function M4({items:e,className:t=""}){const{t:a}=_e.useTranslation();return n.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:n.jsx("ol",{className:"breadcrumb__list",children:e.map((r,i)=>{const s=i===e.length-1;return n.jsxs("li",{className:"breadcrumb__item",children:[s?n.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:r.label}):r.href?n.jsx("a",{className:"breadcrumb__link body-3",href:r.href,target:r.target,rel:r.rel??(r.target==="_blank"?"noopener noreferrer":void 0),onClick:r.onClick,children:r.label}):r.onClick?n.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:r.onClick,children:r.label}):n.jsx("span",{className:"breadcrumb__text body-3",children:r.label}),!s&&n.jsx(et,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},i)})})})}const L4={small:14,medium:20,large:28};function $4({value:e,onChange:t,max:a=5,readOnly:r=!1,size:i="medium",ariaLabel:s,className:l=""}){const{t:u}=_e.useTranslation(),c=r||!t,[d,m]=o.useState(null),p=c?e:Number.isFinite(e)?Math.round(e):0,h=d??p,v=L4[i],y=x=>{x!==e&&t?.(x)},g=x=>{c||y(x)},f=x=>{c||sa()||m(x)},_=o.useRef(null),C=x=>{const B=Math.min(a,Math.max(1,x));y(B),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(A=>A.dataset.star===String(B))?.focus()},w=x=>{if(!c){switch(x.key){case"ArrowRight":case"ArrowUp":C((p||0)+1);break;case"ArrowLeft":case"ArrowDown":C((p||1)-1);break;case"Home":C(1);break;case"End":C(a);break;default:return}x.preventDefault()}},b=p>=1&&p<=a?Math.round(p):1,k=()=>{c||m(null)};return n.jsx("div",{className:`rating rating--${i}${c?" rating--readOnly":""} ${l}`.trim(),ref:_,onKeyDown:w,role:c?"img":"radiogroup","aria-label":c?u("rating.valueLabel",{value:e,max:a}):s??u("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:x=>{x.pointerType==="touch"&&k()},onPointerCancel:x=>{x.pointerType==="touch"&&k()},children:Array.from({length:a},(x,B)=>{const A=B+1,N=Math.max(0,Math.min(1,h-B)),E=N>0&&N<1,D=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(et,{icon:"star",size:v,className:"rating__star rating__star--empty"}),N>0&&n.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${N*100}%`}:void 0,children:n.jsx(et,{icon:"star",size:v,className:"rating__star rating__star--filled"})})]});return c?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:D},A):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===A,"aria-label":u("rating.starLabel",{n:A}),"data-star":A,tabIndex:A===b?0:-1,onClick:()=>g(A),onMouseEnter:()=>f(A),children:D},A)})})}const R4=20,P4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function F4({value:e,onChange:t,palette:a=P4,size:r=40,className:i="",ariaLabel:s}){const{t:l}=_e.useTranslation();return n.jsx("div",{className:`color-picker ${i}`.trim(),role:"group","aria-label":s,children:a.map(u=>{const c=e?.toLowerCase()===u.toLowerCase();return n.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:u},onClick:()=>t(u),"aria-pressed":c,"aria-label":c?`${u} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:u,children:c&&n.jsx(et,{icon:"check",size:R4,className:"color-picker__check"})},u)})})}function Hl({icon:e,label:t,tooltip:a,wrapperStyle:r,color:i,bgColor:s,useHover:l=!0,iconSize:u="medium"}){const{t:c}=_e.useTranslation(),d=u==="small",m=Ae("category-icon",d?"category-icon--small":""),p=d?16:20,h=o.useRef(null),[v,y]=o.useState(!1),g=o.useMemo(()=>{const A=r&&typeof r=="object"?{...r}:{};return!i&&!s?A:{...A,...i?{color:i,"--t-item-fg":i}:{},...s?{"--t-item-bg":s}:{}}},[r,i,s]),f=a||t,_=l&&!!f,[C,w]=o.useState(null);o.useLayoutEffect(()=>{v&&w(h.current?.getBoundingClientRect()??null)},[v]),o.useEffect(()=>{if(!l&&v)try{y(!1)}catch{}},[l,v]),o.useEffect(()=>{if(!v)return;const A=N=>{const E=h.current;if(!E)return;const D=N.target;D&&!E.contains(D)&&y(!1)};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[v]);const b=o.useCallback(()=>{l&&y(!0)},[l]),k=o.useCallback(()=>{l&&y(!1)},[l]),x=o.useCallback(()=>y(!1),[]),B=o.useCallback(A=>{if(A.key==="Escape"){y(!1);return}(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),y(N=>!N))},[]);return n.jsxs("span",{ref:h,className:Ae("category-icon__wrap",_&&"category-icon__wrap--interactive"),onPointerEnter:b,onPointerLeave:k,onFocus:b,onBlur:k,onKeyDown:B,role:"button",tabIndex:0,"aria-label":typeof f=="string"?c("common.descriptionFor",{name:f,defaultValue:`${f} \uC124\uBA85`}):void 0,"aria-haspopup":!!f,"aria-expanded":v,"data-tooltip-ignore":!0,children:[n.jsx(et,{icon:e,label:t,className:m,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:p}),v&&f&&n.jsx(_n,{anchorRect:C,text:typeof f=="string"?f:void 0,offset:8,onClose:x,className:"category-icon__tooltip",ariaLabel:typeof f=="string"?f:void 0})]})}let $n=null;function tr(e){if($n&&$n!==e)try{$n()}catch{}return $n=e,()=>{$n===e&&($n=null)}}function nr(e){if($n===e){$n=null;try{e()}catch{}}}function Co(e,t){let a=()=>{};const r=new Promise(u=>{a=u});let i=!1;const s=u=>{if(!i){i=!0;try{t?.(u)}catch{}a(u)}};let l;try{l=new Audio(e)}catch{return s(!1),{el:{},stop:()=>{},done:r}}l.onended=()=>s(!0),l.onerror=()=>s(!1);try{l.play().catch(()=>s(!1))}catch{s(!1)}return{el:l,stop:()=>{try{l.pause()}catch{}s(!1)},done:r}}function I4(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=l=>l.map(u=>u?.contextCode||u?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const l=a.items||a.sentences||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const l=a.sentences||a.items||[],u=Array.isArray(l)&&l.length>0?r(l):[];return u.length===0&&(a.contextCode||a.context_code)&&u.push(String(a.contextCode||a.context_code)),{previewCodes:u,previewBucket:"LIN_D"}}const i=a.sentences||a.items||[],s=r(Array.isArray(i)?i:[]);return s.length===0&&(a.contextCode||a.context_code)&&s.push(String(a.contextCode||a.context_code)),{previewCodes:s,previewBucket:null}}function O4(e,t){const[a,r]=o.useState(!1),[i,s]=o.useState(-1),[l,u]=o.useState({key:"",urls:[]}),c=o.useRef(null),d=o.useRef(!1),m=o.useRef(null),p=o.useRef(null),[h,v]=o.useState(!1),y=o.useRef([]),{previewCodes:g,previewBucket:f}=I4(e,t),_=`${g.join(",")}|${f??""}`,C=o.useMemo(()=>l.key===_?l.urls:[],[l,_]);o.useEffect(()=>{if(!g.length)return;let b=!1;return(async()=>{const k=[],x=[];for(const B of g)try{const A=Qs(B,f);if(!A){k.push("");continue}let N=null;try{N=await ei(A)}catch{}if(!N)try{const E=await ti(A);E&&(N=URL.createObjectURL(E),x.push(N))}catch{}k.push(N??"")}catch{k.push("")}b?x.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(y.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),y.current=x,u({key:_,urls:k}))})(),()=>{b=!0}},[g.join(","),f]),o.useEffect(()=>()=>{y.current.forEach(b=>{try{URL.revokeObjectURL(b)}catch{}}),y.current=[]},[]);const w=o.useCallback(async b=>{if(b.stopPropagation(),b.preventDefault(),d.current){m.current&&nr(m.current),d.current=!1;try{c.current?.pause()}catch{}r(!1),s(-1);return}if(!C.filter(Boolean).length)return;let k=null;const x=()=>{d.current=!1,k?.stop()};m.current=x;const B=tr(x);d.current=!0,r(!0);for(let A=0;A<C.length&&d.current;A++){const N=C[A];if(N&&(s(A),k=Co(N),c.current=k.el,!await k.done))break}B(),m.current===x&&(m.current=null,d.current=!1,r(!1),s(-1))},[C]);return o.useEffect(()=>()=>{m.current&&nr(m.current),d.current=!1;try{c.current?.pause()}catch{}c.current=null},[]),{playing:a,playingIndex:i,previewUrls:C,previewHover:h,setPreviewHover:v,previewBtnRef:p,handlePreview:w}}const H4=e=>{if(!e)return[];const t=typeof e.context=="string"&&e.context.trim()||typeof e.sentence=="string"&&e.sentence.trim()||typeof e.text=="string"&&e.text.trim()||"";if(t)return[String(t)];const a=e.sentences||e.items||e.questions||[];return Array.isArray(a)&&a.length>0?a.map(r=>{if(typeof r=="string")return r;if(r&&typeof r=="object"){const i=r;return i.sentence||i.text||i.context||i.question||i.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function fo(e){const{index:t,type:a,trainingData:r,ariaLabel:i,depth:s,renderPopup:l,completed:u,completedIds:c,selectedIds:d,tooltipText:m,useDescriptionTooltip:p=!1,onRemove:h,hideCheckBadge:v=!1,showTypeLabel:y=!1,onComplete:g,onSelect:f,onMore:_,countLabelOverride:C,size:w="square"}=e||{},{t:b}=_e.useTranslation(),[k,x]=o.useState(!1),B=o.useRef(null),[A,N]=o.useState(!1);o.useEffect(()=>{B.current?.matches(":hover")&&N(!0)},[]);const{playing:E,playingIndex:D,previewUrls:H,previewHover:P,setPreviewHover:Y,previewBtnRef:M,handlePreview:L}=O4(r,a?.key),$=o.useCallback(()=>{f?f():x(!0)},[f]),K=o.useCallback(()=>x(!1),[]),V=o.useCallback(()=>N(!0),[]),z=o.useCallback(()=>N(!1),[]),W=o.useCallback(()=>Y(!0),[Y]),R=o.useCallback(()=>Y(!1),[Y]),[q,j]=o.useState(null);o.useLayoutEffect(()=>{P&&j(M.current?.getBoundingClientRect()??null)},[P,M]);const[I,S]=o.useState(null);o.useLayoutEffect(()=>{A&&!k&&p&&S(B.current?.getBoundingClientRect()??null)},[A,k,p]);const F=o.useCallback(Be=>{Be.target===Be.currentTarget&&(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),$())},[$]),O=r||null,U=o.useMemo(()=>{if(!p)return null;const Be=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,Ge=Be&&Be.length>0?Be:H4(O);return Ge&&Ge.length>0?Ge:null},[p,m,O]),Q=o.useCallback(Be=>{Be.stopPropagation(),h?.()},[h]),oe=o.useCallback(Be=>Be.stopPropagation(),[]),me=o.useCallback(Be=>{typeof g=="function"&&g(Be)},[g]),ae=u||(c&&r?.id!=null?c.has(String(r.id)):!1),te=!ae&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);cl("speechear.popup.close",K);const ke=xi(),G=`${a?.label||""} ${t+1}`,re=O?.title||O?.name||G;let ie=a?.icon,De,ye="",se="";try{const Be=O?.category_0||O?.category_main_code||O?.category_main,Ge=O?.category_1||O?.category_sub_code||O?.category_sub,J=ke.find(ue=>ue.key===Be);J?.icon&&(ie=J.icon),!De&&J?.color&&(De={"--t-item-fg":J.color}),!De&&O?.iconColor&&(De={"--t-item-fg":O.iconColor}),ye=J?b(`topic.${J.key}`,{defaultValue:J.label||""}):"";try{const ue=J?.subs?.find(we=>we.key===Ge);se=ue?b(`topic.sub.${ue.key}`,{defaultValue:ue.label||""}):""}catch{}}catch{}const ce=se?`${ye} / ${se}`:ye||a?.label||re,Ce=Be=>b("training.countQuestions",{n:Be,count:Be}),be=Be=>b("training.countSentences",{n:Be,count:Be});let ge="";try{if(O)if(a?.key==="LISTEN_IN_NOISE"){let Be=0;Array.isArray(O.items)&&O.items.length>0?Be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0?Be=O.sentences.length:O.sentences&&(Be=1),ge=be(Be)}else if(a?.key==="SHORT_STORY"){let Be=1;Array.isArray(r?.items)?Be=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?Be=r.raw.items.length:Array.isArray(O?.questions)?Be=O.questions.length:Array.isArray(O?.sentences)&&(Be=O.sentences.length),ge=Ce(Be)}else if(a?.key==="LONG_STORY"){let Be=1;if(Array.isArray(O.items)&&O.items.length>0){const Ge=O.items.reduce((J,ue)=>{const we=ue.questionItems;return Array.isArray(we)?J+we.length:Array.isArray(ue.questions)?J+ue.questions.length:J},0);Be=Ge>0?Ge:O.items.length}else Array.isArray(O.questions)&&O.questions.length>0?Be=O.questions.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(Be=O.sentences.length);ge=Ce(Be)}else if(a?.key==="ORDERING_SENTENCE"){let Be=1;Array.isArray(O.items)&&O.items.length>0?Be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(Be=O.sentences.length),ge=be(Be)}else Array.isArray(O.items)&&(ge=O.items.length>0?Ce(O.items.length):"")}catch{}const je=w==="row",Ue=w==="list"||je,Se=w==="compact",Ie=w==="small",qe=Ie&&a?.key?af().find(Be=>Be.key===a.key):void 0,lt=qe?_i[qe.key]:void 0,st=qe?lt?b(`trainingType.${lt}.title`,{defaultValue:qe.label}):qe.label??"":"",nt=y&&a?.label&&a.label!==String(re)?String(a.label):Ie&&st&&st!==String(re)?st:"",ut=!!nt,Ne=C!==void 0?C:ge,We=[nt,typeof re=="string"?re:"",Ne].map(Be=>String(Be??"").trim()).filter(Boolean).join(" ");return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:B,className:`training-block-button${Ue?" training-block-button--list":""}${je?" training-block-button--row":""}${Se?" training-block-button--compact":""}${Ie?" training-block-button--small":""}${ae?" training-block-button--completed":""}${te?" training-block-button--selected":""}${ut&&!Ie?" training-block-button--withType":""}${Ie&&!ut?" training-block-button--no-type-label":""}`,onClick:$,onPointerEnter:V,onPointerLeave:z,role:"button",tabIndex:0,onKeyDown:F,"aria-label":typeof i=="string"?i:We||void 0,title:!p&&m&&(Array.isArray(m)?m.filter(Boolean).join(`
|
|
853
|
+
`):m)||void 0,children:[n.jsxs("div",{className:"training-block-button__left",children:[y&&a?.label&&a.label!==String(re)&&n.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Ie&&st&&st!==String(re)&&n.jsx("span",{className:"training-block-button__type-label caption-2",children:st}),n.jsx(Hl,{icon:ie,label:re,tooltip:ce,wrapperStyle:De,iconSize:Ie||Se?"small":"medium"}),!v&&(ae||te)&&!(h&&A)&&n.jsx(At,{className:h?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":ae?b("training.completed","\uD6C8\uB828 \uC644\uB8CC"):b("training.selected","\uC120\uD0DD\uB428")}),h&&n.jsx(At,{className:`training-block-button__remove${A?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":b("common.remove","\uC81C\uAC70"),onClick:Q}),n.jsx("div",{className:`training-block-button__title ${Se?"body-3":Ie?"body-3b":"h3"}`,children:String(re)}),n.jsxs("div",{className:"training-block-button__description",children:[Ne?n.jsx("div",{className:`training-block-button__count ${Ie?"caption-2":"caption-1"}`,children:Ne}):null,n.jsx("div",{className:"training-block-button__chevron",children:n.jsx(et,{icon:"chevron-right",label:b("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:Ie?12:20})})]}),(Ue&&!je||Ie)&&H.length>0&&n.jsx("div",{ref:M,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:oe,onPointerEnter:W,onPointerLeave:R,children:n.jsx(he,{htmlType:"button",size:Ie?28:32,type:"dot",icon:E?"pause":"play",variant:Ie?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(re).trim()?E?b("training.stopFor",{name:re,defaultValue:`${re} \uC815\uC9C0`}):b("training.previewFor",{name:re,defaultValue:`${re} \uBBF8\uB9AC \uB4E3\uAE30`}):E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:L})})]}),_&&n.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Be=>{Be.stopPropagation(),_(Be)},children:n.jsx(he,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(re).trim()?b("common.moreFor",{name:re}):b("common.more","\uB354\uBCF4\uAE30")})})]}),P&&n.jsx(_n,{anchorRect:q,text:E?b("training.stop","\uC815\uC9C0"):b("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:R}),A&&!k&&p&&(U?n.jsx(qn,{anchorRect:I,items:U,activeIndex:D,onClose:z}):O?.subTitle?n.jsx(_n,{anchorRect:I,text:O.subTitle,offset:8,onClose:z}):null),k&&l&&l({trainingData:O,typeKey:a?.key??"",onClose:K,onComplete:me,popupTitle:String(re),popupSubTitle:a?.subTitle,depth:s!=null?String(s):void 0,popupIcon:ie,popupIconTooltip:String(ce),popupWrapperStyle:De})]})}const zl=200;function z4(e){return e.itemId?(uf()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function Vl({plan:e,groups:t,anchorRect:a,offset:r=12,onClose:i}){const{t:s}=_e.useTranslation(),l=o.useMemo(()=>t?t.map((c,d)=>({key:c.key??c.type?.key??String(d),label:c.label,type:c.type,data:c.items??[]})).filter(c=>c.data.length>0):df(s).map(c=>{const d=(e?.items??[]).filter(m=>m.trainingType===c.key);return{key:c.key,label:c.label,type:c,\uACE0\uB978\uC218:d.length,data:d.map(z4).filter(m=>m!=null)}}).filter(c=>c.\uACE0\uB978\uC218>0),[t,e?.items,s]);if(l.length===0)return null;const u=n.jsx("div",{className:"tooltip-training__box",children:n.jsx("div",{className:"tooltip-training__groups",children:l.flatMap(({key:c,label:d,type:m,data:p},h)=>[h>0?n.jsx("div",{className:"tooltip-training__divider"},`div-${c}`):null,n.jsxs("div",{className:"tooltip-training__section",children:[n.jsx("div",{className:"tooltip-training__section-header",children:n.jsx("span",{className:"tooltip-training__type-label body-3b",children:d})}),n.jsx("div",{className:"tooltip-training__items",children:p.map((v,y)=>n.jsx(fo,{index:y,type:m,trainingData:v,size:"compact",hideCheckBadge:!0},String(v.id??y)))})]},c)])})});return a?n.jsx(un,{anchorRect:a,offset:r,onClose:i,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:s("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:u}):u}const V4=200;function W4({icon:e,count:t,title:a,plan:r,tooltip:i=!0,hoverAccent:s=!1,className:l="",onClick:u,onMouseEnter:c,onMouseLeave:d}){const m=!!u||!!c||i&&!!r,p=Ae("count-tile",m&&"count-tile--interactive",m&&s&&"count-tile--accent",u&&"count-tile--clickable",l),h=o.useRef(null),[v,y]=o.useState(null),g=o.useRef(null),f=o.useRef(null),_=!!(v&&r&&i),C=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),f.current&&(clearTimeout(f.current),f.current=null)},[]),w=o.useCallback(()=>{C(),y(null)},[C]),b=o.useCallback(()=>{!i||!r||(C(),g.current=setTimeout(()=>{g.current=null,y(h.current?.getBoundingClientRect()??null)},zl))},[i,r,C]),k=o.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!f.current&&(f.current=setTimeout(()=>{f.current=null,y(null)},V4))},[]);return o.useEffect(()=>()=>{C()},[C]),o.useEffect(()=>{(!i||!r)&&w()},[i,r,w]),o.useEffect(()=>{if(!_)return;const x=A=>A instanceof Element&&(h.current?.contains(A)||!!A.closest(".tooltip-training")),B=A=>{x(A.target)?C():k()};return document.addEventListener("pointerover",B,!0),()=>document.removeEventListener("pointerover",B,!0)},[_,C,k]),n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:h,className:p,onClick:u?x=>{w(),u(x)}:void 0,onKeyDown:u?x=>{x.key!=="Enter"&&x.key!==" "||(x.preventDefault(),x.currentTarget.click())}:void 0,onPointerEnter:x=>{x.pointerType==="touch"||x.pointerType==="pen"?w():b()},onMouseEnter:c,onMouseLeave:x=>{k(),d?.(x)},role:u?"button":"img",tabIndex:u?0:void 0,"aria-label":`${a} ${t}`,children:[n.jsx(et,{icon:e,size:20,className:"count-tile__icon"}),n.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),v&&r&&n.jsx(Vl,{plan:r,anchorRect:v,onClose:w})]})}let Ma=0,Wl="",go="",La=0;function ql(){return Ul(!1)}function q4(){return Ul(!0)}function Ul(e){const t=typeof document<"u";Ma===0&&t&&(Wl=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(La===0&&(go=document.body.style.paddingRight),La++,document.body.style.paddingRight="0px"),Ma++;let a=!1;return()=>{a||(a=!0,Ma=Math.max(0,Ma-1),e&&t&&(La=Math.max(0,La-1),La===0&&(go?document.body.style.paddingRight=go:document.body.style.removeProperty("padding-right"))),Ma===0&&t&&(document.body.style.overflow=Wl))}}function U4(){return n.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function G4({open:e,onClose:t,ariaLabel:a,title:r,children:i,size:s="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,showClose:c=!0,className:d,contentClassName:m}){const{t:p}=_e.useTranslation(),h=o.useId(),v=o.useRef(null),y=o.useCallback(()=>t(),[t]);o.useEffect(()=>{if(!e)return;const C=document.activeElement,w=ql(),b=v.current;return Jr(b,C),b?.focus(),()=>{w();const k=document.activeElement;(!k||k===document.body||b&&b.contains(k))&&Qr(C)?.focus?.()}},[e]);const g=o.useRef(y),f=o.useRef(u);o.useEffect(()=>{g.current=y,f.current=u}),o.useEffect(()=>{if(e)return Wn(()=>{f.current&&g.current()})},[e]);const _=o.useRef(!1);return Zr(v,e),!e||typeof document>"u"?null:Jt.createPortal(n.jsx("div",{className:Ae("dialog",d),onPointerDown:l?C=>{_.current=C.target===C.currentTarget}:void 0,onMouseDown:C=>{C.target===C.currentTarget&&C.preventDefault()},onClick:l?C=>{const w=_.current;_.current=!1,w&&C.target===C.currentTarget&&y()}:void 0,children:n.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?h:void 0,tabIndex:-1,className:Ae("dialog__surface",`dialog__surface--${s}`,m),onClick:C=>C.stopPropagation(),children:[r?n.jsx("div",{className:"dialog__header",children:n.jsx("h2",{id:h,className:"dialog__title h4b",children:r})}):null,c?n.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:y,children:n.jsx(U4,{})}):null,n.jsx("div",{className:"dialog__body",children:i})]})}),document.body)}function K4({columns:e,rows:t,rowKey:a,title:r,toolbar:i,empty:s,loading:l,caption:u,className:c=""}){const{t:d}=_e.useTranslation(),m=!l&&t.length===0;return n.jsxs("div",{className:Ae("board",c),children:[r||i?n.jsxs("div",{className:"board__head",children:[r?n.jsx("h2",{className:"board__title",children:r}):n.jsx("span",{}),i?n.jsx("div",{className:"board__toolbar",children:i}):null]}):null,n.jsxs("table",{className:"board__table",children:[u?n.jsx("caption",{className:"board__caption",children:u}):null,n.jsx("thead",{children:n.jsx("tr",{children:e.map(p=>n.jsx("th",{scope:"col",className:Ae("board__th",`board__cell--${p.headerAlign??p.align??"left"}`),style:p.width?{width:p.width}:void 0,children:p.header},p.key))})}),n.jsx("tbody",{children:l?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):m?n.jsx("tr",{children:n.jsx("td",{className:"board__state",colSpan:e.length,children:s??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((p,h)=>n.jsx("tr",{className:"board__row",children:e.map(v=>n.jsx("td",{className:Ae("board__td",`board__cell--${v.align??"left"}`),children:v.render(p,h)},v.key))},a(p,h)))})]})]})}function Y4({name:e,role:t,photo:a,media:r,credentials:i,size:s=190,className:l=""}){return n.jsxs("div",{className:Ae("person-card",l),children:[n.jsx("div",{className:"person-card__photo",style:{width:s,height:s},children:r??(a?n.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),n.jsx("h3",{className:"person-card__name",children:e}),t?n.jsx("p",{className:"person-card__role",children:t}):null,i?.length?n.jsx("ul",{className:"person-card__credentials",children:i.map(u=>n.jsx("li",{children:u},u))}):null]})}function Z4({groups:e,className:t=""}){return n.jsx("div",{className:Ae("timeline",t),children:e.map(a=>n.jsxs("section",{className:"timeline__group",children:[n.jsx("h3",{className:"timeline__title",children:a.title}),n.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,i)=>n.jsxs("li",{className:"timeline__row",children:[r.label?n.jsx("span",{className:"timeline__label",children:r.label}):null,n.jsx("div",{className:"timeline__items",children:r.items.map((s,l)=>n.jsx("p",{children:s},l))})]},`${r.label??""}-${i}`))})]},a.title))})}function X4({title:e,kind:t,body:a,badge:r,badgeSrc:i,footer:s,width:l,className:u=""}){const c=r??(i?n.jsx("img",{src:i,alt:""}):null);return n.jsxs("div",{className:Ae("publication-card",u),style:l?{width:l,flexShrink:0}:void 0,children:[c?n.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:c}):null,n.jsx("h3",{className:"publication-card__title",children:e}),t?n.jsx("p",{className:"publication-card__kind",children:t}):null,n.jsx("p",{className:"publication-card__body",children:a}),s?n.jsx("div",{className:"publication-card__footer",children:s}):null]})}function J4({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const i=Ba(a);return o.useEffect(()=>{const s=setTimeout(()=>i.current?.(),r);return()=>clearTimeout(s)},[r,i]),n.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:n.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}function Q4({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:i=2,tone:s="dark",className:l=""}){const u=i===1?"h1":"h2";return n.jsxs("div",{className:Ae("section-header",`section-header--${s}`,l),children:[e?n.jsxs("p",{className:"section-header__eyebrow",children:[t?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"section-header__index",children:t}),n.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?n.jsx(u,{className:"section-header__title",children:a}):null,r?n.jsx("div",{className:"section-header__description",children:r}):null]})}function ey({items:e,className:t=""}){return n.jsx("ul",{className:Ae("company-meta",t),children:e.map((a,r)=>n.jsxs("li",{className:"company-meta__item",children:[r>0?n.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Gl(e){return typeof e=="string"?e:e.label}function Kl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1,filterSuggestions:i,onSelectSuggestion:s,autoActiveFirst:l=!1}){const u=o.useId(),[c,d]=o.useState(!1),[m,p]=o.useState(-1),h=o.useRef(null),v=o.useMemo(()=>{if(!a.length)return[];const D=e??"";return i===!1?a:D?typeof i=="function"?i(a,D):a.filter(H=>Gl(H).toLowerCase().includes(D.toLowerCase())):r?a:[]},[a,e,r,i]),[y,g]=o.useState(!1),f=o.useRef([]),_=y&&v.length===0?f.current:v;o.useEffect(()=>{_.length&&(f.current=_)},[_]);const C=o.useCallback(()=>g(!0),[]),w=o.useCallback(()=>g(!1),[]),b=l?0:-1;o.useEffect(()=>{c||p(b)},[c,b]),o.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]);const k=m<_.length?m:b<_.length?b:-1,x=o.useCallback(D=>{s?s(D):t?.(Gl(D)),d(!1)},[t,s]),B=o.useCallback(()=>d(!0),[]),A=o.useCallback(()=>{d(!0),p(b)},[b]),N=o.useCallback(()=>{h.current=setTimeout(()=>d(!1),120)},[]),E=o.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),d(!0),p(H=>Math.min(_.length-1,(H<_.length?H:b)+1))):D.key==="ArrowUp"?(D.preventDefault(),p(H=>Math.max(b,(H<_.length?H:_.length)-1))):D.key==="Enter"?k>=0&&x(_[k]):D.key==="Escape"&&c&&(D.preventDefault(),d(!1)))},[_,k,c,x,b]);return{listId:u,open:c,activeIdx:k,filtered:_,handleFocus:B,handleBlur:N,handleInput:A,handleKeyDown:E,handleSelect:x,handleCompositionStart:C,handleCompositionEnd:w}}const bo=typeof window<"u"?o.useLayoutEffect:o.useEffect;function Kn(e){const{value:t,defaultValue:a,name:r,inputRef:i,onChange:s,label:l,ariaLabel:u,ariaDescribedBy:c,required:d,placeholder:m,ghostText:p,ghostHint:h,type:v="text",disabled:y=!1,readOnly:g=!1,error:f,helperText:_,maxLength:C,size:w=48,variant:b="input",fullWidth:k=!1,newline:x=!1,multiline:B=!1,rows:A=3,leftIcon:N,rightIcon:E,clearable:D=!1,list:H,showCount:P=!0,className:Y="",onFocus:M,onBlur:L,onKeyDown:$,onEnter:K,inputMode:V,autoComplete:z,autoFocus:W,suggestions:R,filterSuggestions:q,onSelectSuggestion:j,autoActiveFirst:I,openOnFocus:S=!1}=e,F=g||y?void 0:R,{t:O}=_e.useTranslation(),U=o.useId();!l&&!u&&Gt(`TextField:unnamed:${U}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const Q=`tf-${U}`,oe=`tf-helper-${U}`,me=o.useRef(null),ae=Kl({value:t??"",onChange:s,suggestions:F??[],openOnFocus:S,filterSuggestions:q,onSelectSuggestion:j,autoActiveFirst:I}),te=!!F&&ae.open&&ae.filtered.length>0,ke=o.useRef(null),[G,re]=o.useState(null),ie=o.useCallback(()=>{const Ne=ke.current;if(!Ne||typeof window>"u")return;const We=Ne.getBoundingClientRect(),Be=230,Ge=window.innerHeight-We.bottom<Be+8&&We.top>Be+8;re({position:"fixed",left:We.left,width:We.width,...Ge?{bottom:window.innerHeight-We.top+8}:{top:We.bottom+8},zIndex:Na(Ne)})},[]);bo(()=>{if(!te)return;ie();let Ne=null;const We=()=>{if(typeof requestAnimationFrame>"u"){ie();return}Ne===null&&(Ne=requestAnimationFrame(()=>{Ne=null,ie()}))},Be=Ge=>{const J=Ge.target;J&&J.nodeType===1&&J.closest?.(".text-field__suggestions")||We()};return window.addEventListener("scroll",Be,!0),window.addEventListener("resize",We),()=>{Ne!==null&&cancelAnimationFrame(Ne),window.removeEventListener("scroll",Be,!0),window.removeEventListener("resize",We)}},[te,ie]);const De=o.useCallback(Ne=>{me.current=Ne,typeof i=="function"?i(Ne):i&&(i.current=Ne)},[i]),ye=p?`${p}${h??O("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:m,se=t!==void 0,ce=se&&v==="password",[Ce,be]=o.useState((a??"").length),ge=se?(t??"").length:Ce,je=o.useRef(t);bo(()=>{je.current=t}),o.useEffect(()=>{const Ne=me.current;if(!ce||!Ne)return;const We=t??"";Ne.value!==We&&(Ne.value=We)},[ce,t]),o.useEffect(()=>{if(!x||!me.current)return;const Ne=me.current;Ne.style.height="",Ne.scrollHeight>Ne.clientHeight&&(Ne.style.height=`${Ne.scrollHeight}px`)},[t,Ce,x]);const Ue=C!=null&&ge>C,Se=w===32?16:20,Ie=Ae("text-field",`text-field--s${w}`,b==="display"?"text-field--display":"",k?"text-field--full-width":"",y?"text-field--disabled":"",g?"text-field--readonly":"",f?"text-field--error":"",N?"text-field--has-left-icon":"",E||D?"text-field--has-right-icon":"",Y),qe={id:Q,...ce?{}:se?{value:t}:{defaultValue:a},ref:De,placeholder:ye,name:r,disabled:y,readOnly:g,autoFocus:W,maxLength:C,list:H,inputMode:V,autoComplete:z,"aria-label":!l&&u?u:void 0,"aria-required":d,"aria-invalid":!!f,"aria-describedby":[_||f?oe:null,c].filter(Boolean).join(" ")||void 0,role:F?"combobox":void 0,"aria-autocomplete":F?"list":void 0,"aria-haspopup":F?"listbox":void 0,"aria-expanded":F?te:void 0,"aria-controls":te?ae.listId:void 0,"aria-activedescendant":te&&ae.activeIdx>=0?`${ae.listId}-option-${ae.activeIdx}`:void 0,onChange:Ne=>{const We=Ne.target;se||be(We.value.length),s?.(We.value),F&&ae.handleInput(),ce&&queueMicrotask(()=>{const Be=je.current??"";We.value!==Be&&(We.value=Be)})},onCompositionStart:F?ae.handleCompositionStart:void 0,onCompositionEnd:F?ae.handleCompositionEnd:void 0,onFocus:(Ne=>{M?.(Ne),F&&ae.handleFocus()}),onBlur:(Ne=>{L?.(Ne),F&&ae.handleBlur()}),onKeyDown:(Ne=>{const We=(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!Ne.nativeEvent.isComposing;if(p&&We&&!g&&!y&&!(Ne.currentTarget.value??"").trim()){Ne.preventDefault();const Be=Ne.currentTarget;se||(Be.value=p,be(p.length)),s?.(p);return}F&&Ne.key==="Enter"&&!Ne.nativeEvent.isComposing&&ae.activeIdx>=0?Ne.preventDefault():K&&Ne.key==="Enter"&&!Ne.nativeEvent.isComposing&&(Ne.preventDefault(),K()),$?.(Ne),F&&ae.handleKeyDown(Ne)})},lt=D&&!y&&!g&&ge>0,st=()=>x?n.jsx("textarea",{...qe,className:"text-field__input text-field__input--auto body-2",rows:1}):B?n.jsx("textarea",{...qe,className:"text-field__input text-field__input--textarea body-2",rows:A}):n.jsx("input",{...qe,type:v,className:"text-field__input body-2"}),nt=b==="display"&&!x&&!B&&!!ye,ut=()=>n.jsxs(n.Fragment,{children:[st(),nt&&n.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:ye})]});return n.jsxs("div",{ref:ke,className:Ie,children:[l&&n.jsxs("label",{htmlFor:Q,className:"text-field__label caption-1",children:[l,d&&n.jsx("span",{className:"text-field__required",children:"*"})]}),n.jsxs("div",{className:"text-field__wrap",children:[N&&n.jsx("span",{className:"text-field__icon text-field__icon--left",children:n.jsx(et,{icon:N,label:"",className:"",svgClassName:"text-field__icon-svg",size:Se})}),ut(),C!=null&&P&&n.jsxs("span",{className:`text-field__count caption-2${Ue?" text-field__count--over":""}`,children:[ge,"/",C]}),lt&&n.jsx(he,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:O("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ne=>{Ne.preventDefault()},onClick:()=>{!se&&me.current&&(me.current.value="",be(0)),s?.("")},tabIndex:-1}),E&&!lt&&n.jsx("span",{className:"text-field__icon text-field__icon--right",children:n.jsx(et,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Se})})]}),!!F&&n.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:ae.open&&(t??"").length>0&&ae.filtered.length===0?O("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),te&&(typeof document>"u"?null:Jt.createPortal(n.jsx("ul",{id:ae.listId,className:"text-field__suggestions",role:"listbox",style:G??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:ae.filtered.map((Ne,We)=>n.jsx("li",{id:`${ae.listId}-option-${We}`,role:"option","aria-selected":We===ae.activeIdx,className:`text-field__suggestion body-2${We===ae.activeIdx?" is-active":""}`,onMouseDown:Be=>Be.preventDefault(),onClick:()=>{ae.handleSelect(Ne),me.current?.focus()},children:typeof Ne=="string"?Ne:n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-field__suggestion-label",children:Ne.label}),Ne.hint&&n.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Ne.hint})]})},typeof Ne=="string"?`${Ne}-${We}`:Ne.id))}),document.body)),(_||f)&&n.jsx("div",{className:"text-field__footer",children:n.jsx("span",{id:oe,className:"text-field__helper caption-1",role:f?"alert":void 0,children:f||_})})]})}function dn({options:e,value:t,onChange:a,placeholder:r,disabled:i=!1,block:s=!1,size:l=48,error:u=!1,className:c="",ariaLabel:d,ariaDescribedBy:m}){const{t:p}=_e.useTranslation(),h=r??p("dropdown.placeholder","\uC120\uD0DD"),v=o.useId(),y=o.useId(),g=o.useRef(null),f=o.useCallback((M,L)=>{const $=window.innerHeight-M.bottom<260&&M.top>260;return{position:"fixed",left:M.left,minWidth:M.width,...$?{bottom:window.innerHeight-M.top+6}:{top:M.bottom+6},zIndex:Na(L)}},[]),{open:_,setOpen:C,toggle:w,style:b,triggerRef:k,menuRef:x}=Da({computeStyle:f}),[B,A]=o.useState(-1),N=o.useCallback(()=>A(-1),[]),E=e.find(M=>M.value===t);o.useEffect(()=>{if(_){const M=e.findIndex(L=>L.value===t);A(M>=0?M:e.length?0:-1),requestAnimationFrame(()=>{const L=x.current;if(!L)return;const $=L.querySelectorAll(".dropdown__option")[M];$&&(L.scrollTop=Math.max(0,$.offsetTop-L.clientHeight/2+$.clientHeight/2))})}},[_]),o.useEffect(()=>{_&&A(M=>{if(M>=0&&M<e.length)return M;const L=e.findIndex($=>$.value===t);return L>=0?L:e.length?0:-1})},[_,e.length]);const D=o.useCallback(()=>{i||w()},[i,w]),H=o.useCallback(M=>{M.disabled||i||(M.value!==t&&a?.(M.value),C(!1))},[a,C,i,t]);o.useEffect(()=>{i&&C(!1)},[i,C]);const P=o.useCallback(M=>{if(!i){if(!_){(M.key==="Enter"||M.key===" "||M.key==="ArrowDown")&&(M.preventDefault(),C(!0));return}if(M.key==="Escape"){M.preventDefault(),C(!1);return}M.key==="ArrowDown"?(M.preventDefault(),A(L=>{let $=L+1;for(;$<e.length&&e[$].disabled;)$++;return $<e.length?$:L})):M.key==="ArrowUp"?(M.preventDefault(),A(L=>{let $=L-1;for(;$>=0&&e[$].disabled;)$--;return $>=0?$:L})):(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),e[B]?H(e[B]):C(!1))}},[i,_,e,B,H,C]),Y=_?n.jsx("div",{ref:x,id:v,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:b,onMouseLeave:N,onMouseDown:M=>M.preventDefault(),children:e.map((M,L)=>n.jsxs("button",{id:`${v}-option-${L}`,type:"button",role:"option","aria-selected":M.value===t,className:Ae("dropdown__option body-2",M.value===t?"dropdown__option--active":"",L===B?"dropdown__option--active":"",M.disabled?"dropdown__option--disabled":""),onMouseDown:$=>$.preventDefault(),onClick:()=>H(M),onMouseEnter:()=>A(L),disabled:M.disabled,children:[n.jsx("span",{className:"dropdown__option-check",children:M.value===t&&n.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),M.label]},M.value))}):null;return n.jsxs("div",{ref:g,className:Ae("dropdown",`dropdown--s${l}`,_?"dropdown--open":"",s?"dropdown--block":"",u?"dropdown--error":"",c),onKeyDown:P,children:[n.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":_,"aria-controls":_?v:void 0,"aria-activedescendant":_&&B>=0?`${v}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&E?y:"",m??""].filter(Boolean).join(" ")||void 0,"aria-invalid":u||void 0,disabled:i,onClick:D,onBlur:M=>{_&&!x.current?.contains(M.relatedTarget)&&C(!1)},children:[n.jsx("span",{id:y,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.label:h}),n.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&Jt.createPortal(Y,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}function ar({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:i,className:s=""}){const{t:l}=_e.useTranslation(),u=r??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),c=i??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),m=()=>a(Math.max(1,Math.min(d,e-1))),p=()=>a(Math.min(d,e+1));return n.jsxs("div",{className:Ae("pagination",s),children:[n.jsx(he,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:u,disabled:e<=1,onClick:m}),n.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),n.jsx(he,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:c,disabled:e>=t,onClick:p})]})}const $a=new Map;function fn(e){const{t}=_e.useTranslation(),{options:a=[],value:r=a.find(b=>!b.disabled)?.key??a[0]?.key,onChange:i=b=>{},className:s="",size:l=40,shape:u="pill",useBG:c=!0,fullWidth:d=!1,minButtonWidth:m,ariaLabel:p}=e||{},h=o.useRef(null),v=a.filter(b=>!b.disabled),y=o.useId(),g=a.map(b=>b.key).join("\xB7");o.useEffect(()=>{if(!(!Jn||p!=null&&p!=="")){if($a.set(y,g||"(\uBCF4\uAE30 \uC5C6\uC74C)"),$a.size>1){const b=[...$a.values()].sort();Gt(`segmented-control-unnamed:${b.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${$a.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${b.join(" / ")}`)}return()=>{$a.delete(y)}}},[p,g,y]);const f=b=>{if(!v.length)return;const k=Math.max(0,v.findIndex(B=>B.key===r)),x=b==="first"?v[0]:b==="last"?v[v.length-1]:v[(k+b+v.length)%v.length];x&&(i(x.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(B=>B.dataset.segkey===x.key)?.focus())},_=b=>{switch(b.key){case"ArrowRight":case"ArrowDown":f(1);break;case"ArrowLeft":case"ArrowUp":f(-1);break;case"Home":f("first");break;case"End":f("last");break;default:return}b.preventDefault()},C=b=>{const k=x=>typeof x=="string"||typeof x=="number";if(!(!k(b.label)||b.count==null||b.count===!1||!k(b.count)))return`${b.label}, ${b.count}`},w=v.some(b=>b.key===r)?r:v[0]?.key;return n.jsx("div",{ref:h,onKeyDown:_,className:Ae("segmented-control",`segmented-control--${u}`,`segmented-control--${l}`,d&&"segmented-control--full",!c&&"segmented-control--no-bg",m!=null&&"segmented-control--min",s),style:m!=null?{"--segmented-min-button-w":`${m}px`}:void 0,role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(b=>n.jsx(he,{htmlType:"button",role:"radio","aria-checked":b.key===r,"data-segkey":b.key,tabIndex:b.key===w?0:-1,label:b.label,count:b.count,ariaLabel:C(b),disabled:b.disabled,className:b.key===r?"is-selected":"",onClick:()=>{b.disabled||i(b.key)},size:l,shape:u,useBorder:!1,useBG:!1},b.key))})}function yo({count:e,search:t,segment:a,filters:r,pageSize:i,pagination:s,actions:l,className:u}){const{t:c}=_e.useTranslation(),d=e!=null&&n.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??c("common.totalPrefix","\uCD1D "),n.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),m=!!(t||r?.length||i||s||l);return n.jsxs("div",{className:Ae("toolbar",u),children:[n.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((p,h)=>n.jsx(fn,{size:40,...p},p.ariaLabel??h))]}),m&&n.jsx("div",{className:"toolbar__row",children:n.jsxs("div",{className:"toolbar__row-end",children:[t&&n.jsx(Kn,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??c("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??c("common.search","\uAC80\uC0C9"),autoFocus:t.autoFocus,clearable:!0}),r?.map((p,h)=>n.jsx(dn,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},h)),(i||s)&&n.jsxs("div",{className:"toolbar__pager",children:[i&&n.jsx(dn,{size:40,options:i.options,value:i.value,onChange:i.onChange,ariaLabel:i.ariaLabel??c("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),s&&n.jsx(ar,{page:s.page,totalPages:s.total,onChange:s.onChange,prevLabel:s.prevLabel,nextLabel:s.nextLabel})]}),l]})})]})}function Yl(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Yl).join(""):""}function ty(e){let t=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|
|
855
855
|
`);t=t.replace(/^\n+/,"").replace(/\n+$/,"");const a=t.split(`
|
|
856
|
-
`).map(
|
|
857
|
-
`)}const ny=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),ay=/^(?:const|let|var|function|return|if|else|for|while|switch|case|break|import|from|export|class|new|try|catch|finally|throw|await|async|null|true|false|this|typeof|instanceof)\b/;function ry(e,t){let a=e;const r=[],
|
|
858
|
-
`),
|
|
859
|
-
`),f=v===-1?a:a.slice(0,v);i("comment",f),a=a.slice(f.length);continue}const u=a.match(/^\/\*[\s\S]*?\*\//);if(u){i("comment",u[0]),a=a.slice(u[0].length);continue}const c=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(c){i("string",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){i("number",d[0]),a=a.slice(d[0].length);continue}const m=a.match(ay);if(m){i("keyword",m[0]),a=a.slice(m[0].length);continue}const p=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(p){const v=p[0];i(s&&ny.has(v)?"command":"identifier",v),a=a.slice(v.length);continue}const C=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(C){i("operator",C[0]),a=a.slice(C[0].length);continue}const y=a.match(/^[()[\]{};.,]/);if(y){i("punctuation",y[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function oy({children:e,language:t="bash",title:a="",showCopy:r=!0,size:s="default",className:i=""}){const{t:l}=_e.useTranslation(),[u,c]=o.useState(!1),d=ty(Yl(e)),m=o.useRef(null);o.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const p=async()=>{try{if(!await YC(d))return;c(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>c(!1),2e3)}catch{}},C=ry(d,t),y=s==="small"?"caption-1":"body-3";return n.jsxs("div",{className:ke("code-box",s==="small"?"code-box--small":"",i),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(me,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:u?"check":"copy",onClick:p,ariaLabel:u?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:C.map((v,f)=>n.jsx("span",{className:`code-token ${v.type} ${y}`,children:v.content},f))})})]})}const sy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function $a(e){const{t}=_e.useTranslation(),{variant:a="spinner",size:r=24,progress:s=null,label:i}=e||{},l=i||t("loader.loading","Loading");if(a==="bar"){const c=s==null||!Number.isFinite(Number(s)),d=c?0:Math.max(0,Math.min(100,Number(s)));return n.jsx("div",{className:`loader-bar${c?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":c?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:c?void 0:{width:`${d}%`}})})}const u=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:u,height:u},role:"status","aria-label":l,children:[n.jsx("span",{style:sy,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function Zl({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:s,labelPosition:i="right",className:l="",id:u}){const c=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[i==="left"&&c,n.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&s?s:void 0}),n.jsx("span",{className:"toggle__slider"}),i==="right"&&c]})}function Xl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:s,size:i="medium",className:l,title:u,ariaLabel:c}){const d=o.useRef(null),m=o.useId(),p=o.useRef(!!r);return p.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:ke("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:m,title:u,children:[n.jsx("input",{ref:d,id:m,type:"checkbox",className:"checkbox__input",checked:e,onChange:C=>{t?.(C.target.checked),d.current&&(d.current.indeterminate=p.current)},disabled:a,"aria-label":!s&&c?c:void 0}),n.jsx("span",{className:"checkbox__box"}),s&&n.jsx("span",{className:"checkbox__label body-3",children:s})]})}function iy({count:e,actions:t,onClear:a,clearLabel:r,visible:s,content:i,max:l}){const{t:u}=_e.useTranslation(),c=s!==void 0?s:e>0,d=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),m=o.useRef(null),p=o.useRef(null),C=o.useRef(null),y=o.useRef(c);o.useLayoutEffect(()=>{const h=p.current,w=y.current;if(y.current=c,c&&!w){const b=typeof document<"u"?document.activeElement:null;C.current=b&&b!==document.body&&!h?.contains(b)?b:null}else!c&&w&&h&&h.contains(document.activeElement)&&Za(h,C.current)},[c]);const[v,f]=o.useState(!1),g=o.useRef(!1),_=o.useRef(null);return o.useEffect(()=>{const h=m.current;if(!h)return;const w=N=>{g.current=N,f(N)},b=()=>{const N=h.firstElementChild??h,E=Array.from(N.children);if(E.length<2){w(!1);return}const D=E[0].offsetTop,H=E.some(I=>I.offsetTop!==D);if(!g.current){_.current=h.clientWidth,H&&w(!0);return}if(H)return;const $=E[0],G=E[E.length-1],L=G.offsetLeft+G.offsetWidth-$.offsetLeft,M=_.current;(M==null||L<=M)&&w(!1)};if(b(),typeof ResizeObserver>"u")return;const k=new ResizeObserver(b);k.observe(h);const x=h.parentElement;let B=x?.clientWidth??0;const A=new ResizeObserver(()=>{const N=x?.clientWidth??0;N!==B&&(B=N,_.current=null,b())});return x&&A.observe(x),()=>{k.disconnect(),A.disconnect()}},[i,e]),n.jsxs("div",{ref:p,className:`bulk-bar ${c?"bulk-bar--visible":""}`,inert:!c||void 0,"aria-hidden":c?void 0:!0,children:[n.jsx("span",{ref:m,className:"bulk-bar__count body-2",role:"status",children:i??n.jsx("b",{children:u("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(wt,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`,"aria-label":u("common.selectedOfMax",{count:e,max:l,defaultValue:`\uCD5C\uB300 ${l}\uAC1C \uC911 ${e}\uAC1C`})}),n.jsxs("div",{className:`bulk-bar__actions${v?" bulk-bar__actions--stacked":""}`,children:[n.jsx(me,{htmlType:"button",size:40,label:d,onClick:a}),t.map((h,w)=>n.jsx(me,{htmlType:"button",size:40,variant:h.variant??"default",icon:h.icon,label:h.label,onClick:h.onClick},w))]})]})}const ly=[{\uC5F4\uC1E0:"edit",icon:"edit-2",\uB2EB\uACE0\uD560\uAE4C:!0},{\uC5F4\uC1E0:"duplicate",icon:"copy",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"publish",icon:"book-marked",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"copyLink",icon:"link",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"remove",icon:"trash-2",\uB2EB\uACE0\uD560\uAE4C:!0}];function uy(e){const{onClose:t,className:a}=e;return n.jsx("div",{className:ke("item-actions",a),children:ly.map(({\uC5F4\uC1E0:r,icon:s,\uB2EB\uACE0\uD560\uAE4C:i})=>{const l=e[r];if(!l)return null;const u=r==="publish"?l.published?l.unpublish:l.publish:l;return n.jsx(me,{htmlType:"button",size:40,type:"dot",icon:s,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{i&&t(),u.onClick()}},r)})})}function Jl(e,t){const a=()=>{if(e){const[f,g]=e.split("-");return{y:+f,m:+g-1}}const[y,v]=qr(t).split("-");return{y:+y,m:+v-1}},[r,s]=o.useState(()=>a().y),[i,l]=o.useState(()=>a().m),u=o.useRef(e);o.useEffect(()=>{if(e===u.current)return;u.current=e;const y=a();s(y.y),l(y.m)},[e]);const c=o.useRef({y:r,m:i});o.useEffect(()=>{c.current={y:r,m:i}},[r,i]);const d=o.useCallback(y=>{const v=c.current.y*12+c.current.m+y,f=Math.floor(v/12),g=v-f*12;c.current={y:f,m:g},s(f),l(g)},[]),m=o.useCallback(()=>d(-1),[d]),p=o.useCallback(()=>d(1),[d]),C=o.useCallback((y,v)=>{c.current={y,m:v},s(y),l(v)},[]);return{viewY:r,viewM:i,prevMonth:m,nextMonth:p,setViewYM:C}}function rr(e,t){return new Date(e,t+1,0).getDate()}function cy(e,t){return new Date(e,t,1).getDay()}function or(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function dy(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function py(e,t,a,r){const s=a?+a.split("-")[0]:e-10,i=r?+r.split("-")[0]:e+10,l=[];for(let u=s;u<=i;u++)for(let c=0;c<12;c++){const d=`${u}-${String(c+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(u,c+1)})}return l}function my({value:e,onChange:t,size:a=48,min:r,max:s,disabled:i,placeholder:l,className:u,today:c}){const{t:d}=_e.useTranslation(),m=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),p=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),C=qr(c),{viewY:y,viewM:v,prevMonth:f,nextMonth:g,setViewYM:_}=Jl(e,c),h=o.useId(),w=o.useCallback((S,P)=>{const j=window.innerHeight,F=window.innerWidth,O=typeof document<"u"?document.getElementById(h):null,W=Math.max(O?.offsetHeight||0,O?.scrollHeight||0)||300,Q=Math.max(S.width,O?.offsetWidth||0,260),oe=j-S.bottom,de=S.top,ae=oe<W&&de>oe,te=8,Ae=(U,ne)=>Math.min(Math.max(te,U),Math.max(te,ne));return{position:"fixed",left:Ae(S.left,F-Q-te),width:S.width,minWidth:260,...ae?{top:"auto",bottom:Ae(j-S.top+6,j-W-te)}:{bottom:"auto",top:Ae(S.bottom+6,j-W-te)},zIndex:ka(P)}},[h]),{open:b,setOpen:k,toggle:x,style:B,triggerRef:A,menuRef:N}=Na({computeStyle:w,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!b)return;const S=N.current;return(S?.querySelector(".date-picker__day--selected:not(:disabled)")??S?.querySelector(".date-picker__day--today:not(:disabled)")??S?.querySelector(".date-picker__day:not(:disabled)")??S?.querySelector(fn)??S)?.focus?.(),()=>{const P=document.activeElement;(!P||P===document.body)&&A.current?.focus?.()}},[b,N,A]);const[E,D]=o.useState(1),H=o.useRef(null),$=o.useRef(null);o.useEffect(()=>{if(!b)return;const S=e&&e.slice(0,7)===`${y}-${String(v+1).padStart(2,"0")}`?+e.slice(8):C.slice(0,7)===`${y}-${String(v+1).padStart(2,"0")}`?+C.slice(8):1;D(S)},[b]),o.useEffect(()=>{if($.current==null)return;const S=$.current;$.current=null,H.current?.querySelector(`[data-day="${S}"]`)?.focus()}),o.useEffect(()=>{D(S=>Math.min(S,rr(y,v)))},[y,v]);const G=o.useCallback(S=>{let P=or(S.getFullYear(),S.getMonth(),S.getDate());r&&P<r&&(P=r),s&&P>s&&(P=s);const[j,F,O]=P.split("-").map(Number);(j!==y||F-1!==v)&&_(j,F-1),D(O),$.current=O},[r,s,y,v,_]),L=o.useCallback(S=>{const P=new Date(y,v,E),j=O=>{P.setDate(P.getDate()+O),G(P)},F=O=>{const W=P.getFullYear()*12+P.getMonth()+O,Q=Math.floor(W/12),oe=W-Q*12;G(new Date(Q,oe,Math.min(P.getDate(),rr(Q,oe))))};switch(S.key){case"ArrowLeft":j(-1);break;case"ArrowRight":j(1);break;case"ArrowUp":j(-7);break;case"ArrowDown":j(7);break;case"Home":j(-P.getDay());break;case"End":j(6-P.getDay());break;case"PageUp":S.shiftKey?F(-12):F(-1);break;case"PageDown":S.shiftKey?F(12):F(1);break;default:return}S.preventDefault()},[y,v,E,G]),M=o.useCallback(S=>{i||(t(or(y,v,S)),k(!1))},[y,v,t,k,i]);o.useEffect(()=>{i&&k(!1)},[i,k]);const I=S=>{const P=or(y,v,S);return!!(r&&P<r||s&&P>s)},K=(()=>{const S=rr(y,v);if(E>=1&&E<=S&&!I(E))return E;for(let P=1;P<=S;P++)if(!I(P))return P;return-1})(),Y=[];for(let S=0;S<cy(y,v);S++)Y.push(null);for(let S=1;S<=rr(y,v);S++)Y.push(S);const z=a===64?20:a===40?16:18,V=py(y,(S,P)=>d("calendar.yearMonth",{year:S,month:P,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,s),R=`${y}-${String(v+1).padStart(2,"0")}`,q=b?en.createPortal(n.jsxs("div",{ref:N,id:h,className:"date-picker__dropdown",style:B,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(fs,{size:16,strokeWidth:2})}),n.jsx(pn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:V,value:R,onChange:S=>{const[P,j]=S.split("-");_(+P,+j-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:g,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(gs,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:H,onKeyDown:L,children:[p.map(S=>n.jsx("div",{className:"date-picker__dow caption-1",children:S},S)),Y.map((S,P)=>{if(S===null)return n.jsx("div",{},`e${P}`);const j=or(y,v,S),F=j===e,O=j===C,W=I(S),Q=P%7;return n.jsx("button",{type:"button",disabled:W,"data-day":S,tabIndex:S===K?0:-1,"aria-current":O?"date":void 0,onClick:()=>!W&&M(S),className:ke("date-picker__day caption-1",F&&"date-picker__day--selected",O&&!F&&"date-picker__day--today",W&&"date-picker__day--disabled",Q===0&&"date-picker__day--sun",Q===6&&"date-picker__day--sat"),children:S},S)})]})]}),document.body):null;return n.jsxs("div",{className:ke("date-picker",`date-picker--s${a}`,b&&"date-picker--open",u),children:[n.jsxs("button",{ref:A,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&x(),disabled:i,"aria-haspopup":"true","aria-expanded":b,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?dy(e):m}),n.jsx(ks,{size:z,className:"date-picker__icon",strokeWidth:1.5})]}),q]})}function Ql({children:e,className:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useEffect(()=>{s(a.current?.parentElement??null)},[]),o.useEffect(()=>{const i=a.current;if(!i||!r)return;const l=()=>{const c=typeof window<"u"&&window.getComputedStyle(i).position==="absolute"?Math.ceil(i.getBoundingClientRect().width):0;c>0?r.style.setProperty("--section-head-float-w",`${c}px`):r.style.removeProperty("--section-head-float-w")};if(l(),typeof ResizeObserver>"u")return()=>{r.style.removeProperty("--section-head-float-w")};const u=new ResizeObserver(()=>l());return u.observe(i),u.observe(r),()=>{u.disconnect(),r.style.removeProperty("--section-head-float-w")}},[r,e]),n.jsx("div",{ref:a,className:ke("section-head-float",t),children:e})}function yo({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Ra({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function vo({title:e,titleClassName:t="h3",titleLevel:a=3,icon:r,disc:s,headRight:i,headFloat:l,headSegment:u,headMenuItems:c,collapseBelow:d=420,onClick:m,ariaLabel:p,tooltip:C,totalNum:y,totalUnit:v,totalLabel:f,subRow:g,subRowAlign:_="start",className:h,inGrid:w=!1,children:b}){const{t:k}=_e.useTranslation(),x=o.useRef(null),{anchorRect:B,openAt:A,close:N}=Aa(),E=o.useCallback(()=>{C&&x.current&&A(x.current)},[C,A]),[D,H]=o.useState(!1);go(()=>{const j=x.current;if(!j||!u)return;const F=W=>H(W>0&&W<d);if(F(j.clientWidth),typeof ResizeObserver>"u")return;const O=new ResizeObserver(W=>F(W[0].contentRect.width));return O.observe(j),()=>O.disconnect()},[u,d]);const[$,G]=o.useState(null),L=o.useCallback(()=>G(null),[]),M=o.useCallback(j=>{const F=j.currentTarget.getBoundingClientRect();G(O=>O?null:{left:F.left,right:F.right,top:F.top,bottom:F.bottom,width:F.width,height:F.height,x:F.x,y:F.y})},[]),I=!!u&&D;o.useEffect(()=>{I||G(null)},[I]);const K=u?[...u.options.map(j=>({label:j.label,icon:j.icon,selected:j.key===u.value,disabled:j.disabled,onClick:()=>u.onChange(j.key),closeOnSelect:!0})),...(c??[]).map((j,F)=>F===0?{...j,separatorBefore:!0}:j)]:[],Y=o.useCallback(j=>{if(!m)return;const F=j.target;F&&typeof F.closest=="function"&&F.closest('button, a, input, select, textarea, [role="radiogroup"]')||m()},[m]),z=o.useCallback(j=>{m&&j.target===j.currentTarget&&(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),m())},[m]),V=typeof i=="function"?i({collapsed:I}):i,R=y!=null||f?n.jsxs(Ra,{label:f,children:[y!=null&&n.jsx("span",{className:"barchart-total__num h0",children:y}),v&&n.jsx("span",{className:"barchart-total__unit h5",children:v})]}):null,q=V||u?n.jsxs("div",{className:"manager-section__head-right",children:[u&&(I?n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??k("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??k("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!$,onClick:M}):n.jsx(An,{size:32,ariaLabel:u.ariaLabel,options:u.options.map(j=>({key:j.key,label:j.label,disabled:j.disabled})),value:u.value,onChange:u.onChange})),V]}):null,S=o.useId(),P=a?`h${a}`:"div";return n.jsxs("section",{ref:x,className:["manager-section",w&&"manager-section--grid",m&&"manager-section--clickable",h].filter(Boolean).join(" "),onClick:m?Y:void 0,onKeyDown:m?z:void 0,onPointerEnter:C?E:void 0,onPointerLeave:C?N:void 0,onFocus:C?E:void 0,onBlur:C?N:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,"aria-label":m?p??(typeof e=="string"?e:void 0):void 0,"aria-labelledby":!m&&e!=null?S:void 0,children:[C&&B&&n.jsx(xn,{anchorRect:{left:B.left,top:B.top+21,right:B.right,bottom:B.bottom,width:B.width,height:B.height},text:C}),l&&n.jsx(Ql,{children:l}),n.jsxs("div",{className:"manager-section__head",children:[n.jsxs("div",{className:"manager-section__title-row",children:[r&&n.jsx(tt,{icon:r,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),n.jsx(P,{id:S,className:["manager-section__title",t].filter(Boolean).join(" "),children:e})]}),q,s&&n.jsx("div",{className:"manager-section__disc body-3",children:s})]}),(R||g)&&n.jsxs("div",{className:["barchart-sub-row",_!=="start"&&`barchart-sub-row--${_}`].filter(Boolean).join(" "),children:[R,g]}),b,$&&n.jsx(cn,{anchorRect:$,onClose:L,ariaLabel:u?.ariaLabel??k("tooltip.menu","\uBA54\uB274"),children:n.jsx(Da,{columns:[{items:K}],onClose:L,size:"small"})})]})}function gn(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function hy(){const e=ta();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<gn(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const s=Math.floor((r-gn(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${s}`}}function Cy(e){const t=ta(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(c,d)=>`${c}\uB144 ${d+1}\uC6D4`,s=new Map;s.set(a,[]);for(const c of e){if(isNaN(c.date.getTime()))continue;const d=r(c.date.getFullYear(),c.date.getMonth());s.has(d)||s.set(d,[]),s.get(d).push(c)}for(const[c,d]of[...s.entries()]){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),C=Number(m[2])-1,y=gn(p,C);if(!(c===a&&t.getDate()<y)&&!d.some(g=>g.date.getDate()<y))continue;const v=new Date(p,C,0),f=r(v.getFullYear(),v.getMonth());s.has(f)||s.set(f,[])}const i=new Map;for(const[c,d]of s){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),C=Number(m[2])-1,y=new Date(p,C+1,0).getDate(),v=d.reduce((b,k)=>Math.max(b,k.parts?.length??0,k.partsB?.length??0),0),f=d.some(b=>b.partsB),g=new Array(y+1).fill(0),_=new Array(y+1).fill(0),h=Array.from({length:y+1},()=>new Array(v).fill(0)),w=Array.from({length:y+1},()=>new Array(v).fill(0));for(const b of d){const k=b.date.getDate();if(g[k]+=b.a,_[k]+=b.b,b.parts)for(let x=0;x<v;x++)h[k][x]+=b.parts[x]??0;if(b.partsB)for(let x=0;x<v;x++)w[k][x]+=b.partsB[x]??0}i.set(c,{year:p,month:C,daysInMonth:y,partsLen:v,hasPartsB:f,dayA:g,dayB:_,dayParts:h,dayPartsB:w})}const l=(c,d,m)=>new Date(c,d,m).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),u={};for(const[c,d]of i){const{year:m,month:p,daysInMonth:C,dayA:y,dayB:v,dayParts:f,dayPartsB:g}=d,_=m===t.getFullYear()&&p===t.getMonth(),h=t.getDate(),w=i.get(r(p===11?m+1:m,(p+1)%12)),b=d.partsLen,k=[];for(let B=1;B<=C;B++){const A=_&&B>h;k.push({label:String(B),...A&&y[B]===0&&v[B]===0?{future:!0}:{},a:A&&y[B]===0&&v[B]===0?-1:y[B],b:v[B],...b?{parts:f[B]}:{},...b&&d.hasPartsB?{partsB:g[B]}:{}})}const x=[];for(let B=gn(m,p);B<=C;B+=7){const A=Math.max(0,B+6-C),N=A&&w?Math.max(b,w.partsLen):b,E=d.hasPartsB||!!(A&&w?.hasPartsB);let D=0,H=0;const $=new Array(N).fill(0),G=new Array(N).fill(0);for(let M=B;M<=Math.min(B+6,C);M++){D+=y[M],H+=v[M];for(let I=0;I<b;I++)$[I]+=f[M][I],G[I]+=g[M][I]}if(A&&w)for(let M=1;M<=A&&!l(w.year,w.month,M);M++){D+=w.dayA[M],H+=w.dayB[M];for(let I=0;I<w.partsLen;I++)$[I]+=w.dayParts[M][I],G[I]+=w.dayPartsB[M][I]}const L=A?`${(p+1)%12+1}/${A}`:`${B+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${B}\uC77C~${L}\uC77C]`,a:D,b:H,...N?{parts:$}:{},...N&&E?{partsB:G}:{}})}u[c]={weekly:x,daily:k}}return u}function eu(){const e=ta(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let s=2024;s<=t;s++){const i=s===t?a:12;for(let l=1;l<=i;l++){const u=`${s}\uB144 ${l}\uC6D4`;r.push({value:u,label:u,year:s,month:l})}}return r.reverse()}eu();function fy(){return eu()}const tu=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function nu(e){const{t,i18n:a}=_e.useTranslation(),[r,s]=o.useState("week"),i=o.useMemo(()=>fy().filter(N=>N.value in e),[e]),l=o.useMemo(()=>{const N=[];for(const E of i){const D=new Date(E.year,E.month,0).getDate(),H=gn(E.year,E.month-1),$=Math.ceil((D-H+1)/7);for(let G=$-1;G>=0;G--)N.push({value:`${E.value}#${G}`,monthKey:E.value,year:E.year,month:E.month,week:G})}return N},[i]),u=o.useCallback(N=>{const E=t("calendar.yearMonth",{year:N.year,month:N.month});return a.language?.startsWith("ko")?`${E} ${tu[N.week]??`${N.week+1}`}\uC8FC`:`${E} Week ${N.week+1}`},[t,a.language]),c=o.useMemo(()=>i.map(N=>({value:N.value,label:t("calendar.yearMonth",{year:N.year,month:N.month})})),[t,i]),d=o.useMemo(()=>l.map(N=>({value:N.value,label:u(N)})),[l,u]),m=o.useMemo(()=>hy(),[e]),p=o.useMemo(()=>i.find(N=>N.value===m.monthKey)?.value??i[0]?.value??"",[i,m]),C=o.useMemo(()=>l.find(N=>N.value===m.value)?.value??l[0]?.value??"",[l,m]),[y,v]=o.useState(""),[f,g]=o.useState("");o.useEffect(()=>{i.find(N=>N.value===y)||v(p)},[i,y,p]),o.useEffect(()=>{l.find(N=>N.value===f)||g(C)},[l,f,C]);const _=r==="month"?c:d,h=r==="month"?y:f,w=r==="month"?v:g,b=o.useMemo(()=>{const N=t("calendar.dow",{returnObjects:!0});return Array.isArray(N)?N:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=_.findIndex(N=>N.value===h),x=o.useCallback(()=>{const N=_.findIndex(E=>E.value===h);N<_.length-1&&w(_[N+1].value)},[_,h,w]),B=o.useCallback(()=>{const N=_.findIndex(E=>E.value===h);N>0&&w(_[N-1].value)},[_,h,w]),A=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:s,range:h,setRange:w,activeOptions:_,activeIdx:k,handlePrev:x,handleNext:B,periodOptions:A,monthRange:y,weekRange:f,weekRanges:l,DOW:b}}const yt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,t=!0){return e.future===!0||t&&e.a===-1}function gy({data:e,colorA:t,colorB:a,labelA:r,labelB:s,barWidth:i=10,barGap:l=1,height:u=140,maxOverride:c,tightMax:d,seriesColors:m,seriesLabels:p,rateLabels:C,grouped:y=!1,baseline:v,focusableBars:f=!1}){const g=!a,_=!!(m&&m.length>0),h=v,w=o.useMemo(()=>_?Math.max(0,...e.filter(z=>!kn(z,h==null)).map(z=>y?Math.max(0,...(z.parts??[]).map(yt)):(z.parts??[]).reduce((V,R)=>V+Math.max(0,yt(R)),0))):Math.max(0,...e.filter(z=>!kn(z,h==null)).flatMap(z=>g?[yt(z.a)]:[yt(z.a),yt(z.b)])),[e,g,_,y]),b=o.useMemo(()=>{if(h==null)return 0;const z=e.filter(V=>!kn(V,h==null)).flatMap(V=>_?(V.parts??[]).map(yt):g?[yt(V.a)]:[yt(V.a),yt(V.b)]);return Math.max(0,...z.map(V=>Math.abs(V-h)))},[e,h,_,g]),k=o.useMemo(()=>{const z=h!=null?b:w;return c??(d?z>0?z:10:Math.ceil(z/10)*10||10)},[w,b,h,c,d]),x=u,B=_?y?Math.max(1,m.length):1:g?1:2,A={"--bar-width":`${o.useMemo(()=>{const z=Math.max(1,e.length);return Math.max(2,Math.min(i,Math.round(120/(z*B)+6)))},[e.length,B,i])}px`},N={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const z=Math.round(k/2);return h!=null?[h+k,...z!==k?[h+z]:[],h,...z!==k?[h-z]:[],h-k]:z!==k?[k,z,0]:[k,0]},[k,h]),D=z=>h!=null?1-(z-(h-k))/(2*k):1-z/k,[H,$]=o.useState(null),G=o.useCallback(()=>$(null),[]),L=o.useCallback((z,V)=>{const R=[z.label,z.sublabel].filter(Boolean).join(" ");let q;if(_&&y&&z.rawPartsB)q=(p??[]).map((S,P)=>{const j=z.rawPartsB[P]??0;return{text:j>0?`${S}: ${V[P]??0}% (${z.rawParts?.[P]??0}/${j})`:`${S}: -`,color:(m??[])[P]}});else if(_&&y)q=(p??[]).map((S,P)=>({text:`${S}: ${K(V[P]??0)}`,color:(m??[])[P]}));else if(_){const S=(p??[]).map((j,F)=>({text:`${j}: ${V[F]??0}`,color:(m??[])[F]})),P=S.filter((j,F)=>(V[F]??0)>0);q=P.length?P:S}else C&&!g?q=[{text:`${r} ${yt(z.a)}%`,color:t},{text:`${s} ${yt(z.b)}%`,color:a}]:C&&z.rawB!==void 0?q=[{text:`${C.total} ${z.rawB}`},{text:`${C.done} ${z.rawA??0}`,color:t}]:g?q=[{text:`${r}: ${yt(z.a)}`,color:t}]:q=[{text:`${r}: ${yt(z.a)}`,color:t},{text:`${s}: ${yt(z.b)}`,color:a}];return{title:R,items:q}},[_,y,p,m,C,g,r,s,t,a,h]),M=o.useCallback((z,V,R)=>{const q=z.getBoundingClientRect(),{title:S,items:P}=L(V,R);$({rect:{left:q.left,top:q.top,right:q.right,bottom:q.bottom,width:q.width,height:q.height},title:S,items:P})},[L]),I=o.useCallback((z,V)=>{const{title:R,items:q}=L(z,V);return[R,...q.map(S=>S.text)].filter(Boolean).join(", ")},[L]),K=z=>h!=null&&z>h?`+${z}`:`${z}`,Y=H!=null;return o.useEffect(()=>{if(!Y)return;const z=()=>$(null),V=R=>{const q=R.target;q&&typeof q.closest=="function"&&q.closest(".manager-bar-chart-col")||$(null)};return window.addEventListener("scroll",z,!0),document.addEventListener("pointerdown",V,!0),()=>{window.removeEventListener("scroll",z,!0),document.removeEventListener("pointerdown",V,!0)}},[Y]),n.jsxs("div",{className:"manager-bar-chart-wrap",style:N,children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:x},children:[E.slice(0,-1).map((z,V)=>n.jsx("div",{className:`manager-bar-chart-gridline${h!=null&&z===h?" manager-bar-chart-gridline--baseline":""}`,style:{top:D(z)*x},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:z})},V)),e.map((z,V)=>{const R=kn(z,h==null),q=x/2,S=O=>h!=null?Math.min(q,Math.abs(yt(O)-h)/k*q):Math.min(x,Math.max(0,yt(O)/k*x)),P=R?0:S(z.a),j=R?0:S(z.b),F=(z.parts??[]).map(yt);return n.jsx("div",{className:`manager-bar-chart-col${y&&_?" manager-bar-chart-col--group":""}`,style:{cursor:R?"default":"pointer"},tabIndex:f&&!R?0:void 0,role:f&&!R?"img":void 0,"aria-label":f&&!R?I(z,F):void 0,onMouseEnter:R?void 0:O=>M(O.currentTarget,z,F),onFocus:R||!f?void 0:O=>M(O.currentTarget,z,F),onBlur:f?G:void 0,onMouseLeave:G,children:!R&&(_&&y?(m??[]).map((O,W)=>{const Q=F[W]??0;if(h==null)return n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:S(Q),background:O}},W);const oe=yt(Q)<h;return n.jsxs("div",{className:"manager-bar-chart-slot",style:A,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!oe&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:S(Q),background:O}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:oe&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:S(Q),background:O}})})]},W)}):_?n.jsx("div",{className:"manager-bar-chart-stack",style:A,children:(()=>{const O=F.reduce((Q,oe,de)=>oe>0?de:Q,-1);let W=x;return F.map((Q,oe)=>{if(Q<=0)return null;const de=Math.min(W,Q/k*x);return W-=de,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:de,background:(m??[])[oe],borderRadius:oe===O?"6px 6px 0 0":void 0}},oe)})})()}):h!=null?n.jsx(n.Fragment,{children:[{v:yt(z.a),c:t},...g?[]:[{v:yt(z.b),c:a}]].map(({v:O,c:W},Q)=>n.jsxs("div",{className:"manager-bar-chart-slot",style:A,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:O>=h&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:S(O),background:W}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:O<h&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:S(O),background:W}})})]},Q))}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:P,background:t}}),!g&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:j,background:a}})]}))},V)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((z,V)=>{const R=kn(z,h==null);return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${R?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[z.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),z.label]}),z.sublabel&&n.jsx("span",{className:"caption-1",children:z.sublabel})]},V)})})]})})}),H&&n.jsx(qn,{anchorRect:H.rect,title:H.title,items:H.items,showIndex:!1,closeOnOutsideClick:!1})]})}function au({control:e}){const{t}=_e.useTranslation(),{activeOptions:a,activeIdx:r,range:s,setRange:i,handlePrev:l,handleNext:u,periodOptions:c,period:d,setPeriod:m}=e,p=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),C=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:p,showTooltipInfo:p,disabled:r===a.length-1,onClick:l}),n.jsx(pn,{value:s,onChange:i,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:C,showTooltipInfo:C,disabled:r<=0,onClick:u}),n.jsx(An,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:c,value:d,onChange:y=>m(y),size:40})]})}function xo(e,t,a,r=!0){const s=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(i,l)=>{const u=new Date(t);u.setDate(t.getDate()+l);const c=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],d=c!=null&&kn(c,r)||u>s;return{dt:u,entry:c,isFuture:d}})}function by(e,t,a,r,s=!0){const{period:i,monthRange:l,weekRange:u,weekRanges:c,DOW:d}=t,m=r?.startsWith("ko"),p=ta(),C=p.getFullYear(),y=p.getMonth()+1,v=p.getDate();if(i==="month"){const _=e[l]??{weekly:[],daily:[]},h=l.match(/^(\d+)년 (\d+)월$/),w=h?Number(h[1]):null,b=h?Number(h[2]):null,k=w&&b?gn(w,b-1):1;return _.weekly.map((x,B)=>{const A=B+1;let N=x.label,E=!1,D=!1;if(w&&b){const H=k+B*7,$=new Date(w,b-1,H+6),G=$.getMonth()+1,L=$.getDate(),M=G===b?`${L}`:`${G}/${L}`;N=a("manager.chart.weekRange",{start:H,end:M});const I=new Date(C,y-1,v).getTime();E=I>=new Date(w,b-1,H).getTime()&&I<=$.getTime(),D=w>C||w===C&&(b>y||b===y&&H>v)}return{...x,label:N,sublabel:m?`${tu[A-1]??A}\uC8FC`:`Week ${A}`,isToday:E,future:x.future===!0||D||void 0,a:D?-1:x.a,b:D?0:x.b}})}const f=c.find(_=>_.value===u);if(!f)return[];const g=new Date(f.year,f.month-1,gn(f.year,f.month-1)+f.week*7);return xo(e,g,p,s).map(({dt:_,entry:h,isFuture:w})=>{const b=_.getMonth()+1,k=_.getDate(),x=_.getFullYear();return{label:b===f.month&&x===f.year?`${k}`:`${b}/${k}`,sublabel:d[_.getDay()]??"",future:w||void 0,a:w?-1:h&&h.a>0?h.a:0,b:w?0:h&&h.b>0?h.b:0,isToday:x===C&&b===y&&k===v,...h?.parts?{parts:w?h.parts.map(()=>0):h.parts}:{},...h?.partsB?{partsB:w?h.partsB.map(()=>0):h.partsB}:{}}})}const yy={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function vy({focusableBars:e,size:t="medium",barWidth:a,titleKey:r,titleLevel:s,data:i,colorA:l,colorB:u,labelAKey:c,labelBKey:d,showTotal:m=!1,totalUnitKey:p,totalLabelKey:C,control:y,hideControls:v=!1,rate:f=!1,rateAgg:g="dayMean",tightMax:_=!1,avgMode:h=!1,totalFormat:w,series:b,seriesMode:k="stack",loading:x=!1,onDetail:B,headExtra:A,headSegment:N,icon:E,disc:D,onClick:H,cardAriaLabel:$,cardTooltip:G,detailSize:L=32,barGap:M,baseline:I,className:K,inGrid:Y=!1}){const{t:z,i18n:V}=_e.useTranslation(),R=yy[t],q=nu(i),S=y??q,P=o.useMemo(()=>by(i,S,z,V.language,I==null),[i,S,z,V.language,I]),j=k==="group"&&!!b&&b.length>0;M!=null&&!j&&Gt("bar-chart-bargap-without-group","[BarChart] barGap \uC740 seriesMode='group' + series \uC5D0\uC11C\uB9CC \uC4F0\uC778\uB2E4 \u2014 \uADF8 \uBC16\uC5D0\uC11C\uB294 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4.");const F=o.useMemo(()=>{if(!f)return P;const te=S.period==="month"?S.monthRange.match(/^(\d+)년 (\d+)월$/):null,Ae=ta(),U=b?.length??0,ne=le=>{const Ee=[],be=[],se=[];for(let pe=0;pe<U;pe++){let he=0,ge=0,fe=0;for(const Te of le){const Me=yt(Te.a[pe]),Ie=yt(Te.b[pe]);Ie<=0||(he+=Me,ge+=Ie,fe+=Me/Ie*100)}Ee.push(g==="weighted"?ge>0?Math.round(he/ge*100):0:le.length?Math.round(fe/le.length):0),be.push(he),se.push(ge)}return{pct:Ee,ra:be,rb:se}};return P.map((le,Ee)=>{let be=le.a===-1?-1:le.b>0?Math.round(le.a/le.b*100):0;if(te&&!kn(le)){const pe=Number(te[1]),he=Number(te[2])-1,ge=xo(i,new Date(pe,he,gn(pe,he)+Ee*7),Ae).filter(fe=>!fe.isFuture);if(g==="weighted"){let fe=0,Te=0;for(const{entry:Me}of ge)Me&&Me.b>0&&(fe+=Me.a,Te+=Me.b);be=Te>0?Math.round(fe/Te*100):0}else be=ge.length?Math.round(ge.reduce((fe,{entry:Te})=>fe+(Te&&Te.b>0?Te.a/Te.b*100:0),0)/ge.length):0}let se=null;if(j&&!kn(le)){let pe;if(te){const ge=Number(te[1]),fe=Number(te[2])-1;pe=xo(i,new Date(ge,fe,gn(ge,fe)+Ee*7),Ae).filter(Te=>!Te.isFuture).map(({entry:Te})=>({a:Te?.parts??[],b:Te?.partsB??[]}))}else pe=[{a:le.parts??[],b:le.partsB??[]}];const he=ne(pe);se={parts:he.pct,rawParts:he.ra,rawPartsB:he.rb}}return{...le,a:be,b:le.a===-1?0:d&&le.parts&&le.parts[1]>0?Math.round(le.parts[0]/le.parts[1]*100):0,rawA:le.a===-1?-1:le.a,rawB:le.b,...se??{}}})},[P,f,g,d,S.period,S.monthRange,i,j,b?.length]),O=o.useMemo(()=>{if(f||h){const Ae=(S.period==="week"?P:i[S.monthRange]?.daily??[]).filter(ne=>ne.a!==-1);if(Ae.length===0)return 0;if(f&&g==="weighted"){let ne=0,le=0;for(const Ee of Ae)Ee.b>0&&(ne+=Ee.a,le+=Ee.b);return le>0?Math.round(ne/le*100):0}const U=f?Ae.reduce((ne,le)=>ne+(le.b>0?le.a/le.b*100:0),0):Ae.reduce((ne,le)=>ne+(le.a>0?le.a:0),0);return Math.round(U/Ae.length)}const te=S.period==="month"?i[S.monthRange]?.daily??[]:F;return I!=null?te.reduce((Ae,U)=>Ae+(kn(U,!1)?0:yt(U.a)+(d?yt(U.b):0)),0):te.reduce((Ae,U)=>Ae+(U.a>0?U.a:0)+(d&&U.b>0?U.b:0),0)},[F,P,f,g,h,I,d,S.period,S.monthRange,i]),W=b&&b.length>0?b.map(te=>({color:te.color,label:te.label})):[{color:l,label:z(c)},...d?[{color:u,label:z(d)}]:[]],Q=t==="small",oe=[Q?"manager-section--compact":t==="large"?"manager-section--full":void 0,K].filter(Boolean).join(" ")||void 0,de=r?z(r):"",ae=de?z("trainingStatus.detailFor",{name:de,defaultValue:"{{name}} \uC0C1\uC138\uBCF4\uAE30"}):z("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30");return n.jsx(vo,{className:oe,inGrid:Y,icon:E,disc:D,onClick:H,ariaLabel:$,tooltip:G,headSegment:N,headMenuItems:B?[{label:ae,icon:"list",onClick:B,closeOnSelect:!0}]:void 0,title:z(r),titleLevel:s,titleClassName:Q?"h5 chart-section-title--small":void 0,headRight:Q?A??void 0:({collapsed:te})=>n.jsxs(n.Fragment,{children:[!v&&n.jsx(au,{control:S}),A,B&&!te&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(me,{htmlType:"button",size:L,type:"dot",icon:"list",ariaLabel:ae,showTooltipInfo:ae,onClick:B})})]}),subRow:n.jsxs(n.Fragment,{children:[m?f||h||C&&w?n.jsx(Ra,{label:Q?void 0:`${z(S.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${z(C??c)}`,children:w?(w(O).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((te,Ae)=>/\d/.test(te)?n.jsx("span",{className:"barchart-total__num h0",children:te},Ae):n.jsx("span",{className:"barchart-total__unit h5",children:te},Ae)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:O}),p&&n.jsx("span",{className:"barchart-total__unit h5",children:z(p)})]})}):n.jsxs(Ra,{children:[n.jsx("span",{className:"barchart-total__num h0",children:O}),n.jsx("span",{className:"barchart-total__unit h5",children:z(c)}),p&&n.jsx("span",{className:"barchart-total__unit h5",children:z(p)})]}):n.jsx("span",{}),n.jsx(yo,{items:W,className:"caption-1"})]}),children:x?n.jsx("div",{className:"manager-bar-chart-wrap manager-bar-chart-loading","aria-busy":"true",children:n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsxs("div",{className:"manager-bar-chart-area manager-bar-chart-area--loading",children:[n.jsx("div",{className:"manager-bar-chart-plot manager-bar-chart-plot--loading",style:{height:R.height},children:n.jsx($a,{size:32})}),n.jsx("div",{className:"manager-bar-chart-x-axis","aria-hidden":"true",children:n.jsxs("span",{className:"manager-bar-chart-x-axis__label",children:[n.jsx("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:"\xA0"}),F.some(te=>!!te.sublabel)&&n.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):n.jsx(gy,{focusableBars:e,data:F,colorA:l,colorB:d?u:void 0,labelA:z(c),labelB:d?z(d):void 0,barWidth:a??R.barWidth,barGap:M,baseline:I,height:R.height,maxOverride:f?100:void 0,tightMax:_,seriesColors:b?.map(te=>te.color),seriesLabels:b?.map(te=>te.label),rateLabels:f?{total:z("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:z("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:j})})}const ru=120,xy={left:38,right:16,top:26,bottom:24};function _y({points:e=[],range:t,ticks:a=[],axisTitle:r,color:s,height:i=156,fallbackWidth:l=320,insets:u,overlay:c,ariaLabel:d,className:m}){const[p,C]=o.useState(null),[y,v]=o.useState(null);o.useEffect(()=>{if(!y)return;const I=Y=>C(Math.round(Y)||null);if(I(y.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const K=new ResizeObserver(([Y])=>I(Y.contentRect.width));return K.observe(y),()=>{K.disconnect()}},[y]);const{payload:f,anchorRect:g,openAfterDelay:_,close:h}=kb(ru),w=o.useCallback((I,K)=>{I&&_(I,K.getBoundingClientRect())},[_]),b=p??l,k=i,{left:x,right:B,top:A,bottom:N}={...xy,...u},[E,D]=t,H=I=>D===E?x:x+(b-x-B)*(I-E)/(D-E),$=I=>A+(k-A-N)*(100-I)/100,G={x:H,y:$,plot:{left:x,right:b-B,top:A,bottom:k-N,width:Math.max(0,b-x-B),height:Math.max(0,k-A-N)}},L=e.filter(I=>!I.hollow),M=s??"var(--color-main)";return n.jsxs(n.Fragment,{children:[n.jsxs("svg",{ref:v,className:ke("line-chart",m),viewBox:`0 0 ${b} ${k}`,role:"img","aria-label":d??e.map(I=>I.description).filter(Boolean).join(", "),children:[r&&n.jsx("text",{className:"line-chart__axis-title",x:0,y:12,children:r}),[0,100].map(I=>n.jsxs("g",{children:[n.jsx("line",{className:"line-chart__grid",x1:x,x2:b-B,y1:$(I),y2:$(I)}),n.jsxs("text",{className:"line-chart__tick",x:x-6,y:$(I)+4,textAnchor:"end",children:[I,"%"]})]},I)),c?.(G),a.map(I=>n.jsx("text",{className:"line-chart__tick",x:H(I.x),y:k-5,textAnchor:"middle",children:I.label},I.x)),L.length>1&&n.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:M,points:L.map(I=>`${H(I.x)},${$(I.pct)}`).join(" ")}),e.map(I=>n.jsxs("g",{className:"line-chart__dot",onPointerEnter:K=>w(I.description,K.currentTarget),onPointerLeave:h,children:[n.jsx("circle",{className:"line-chart__dot-hit",cx:H(I.x),cy:$(I.pct),r:12}),n.jsx("circle",{className:ke("line-chart__dot-main",I.hollow&&"is-hollow"),cx:H(I.x),cy:$(I.pct),r:4,stroke:M,fill:I.hollow?void 0:M})]},I.x))]}),f!=null&&n.jsx(cn,{anchorRect:g,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:f,children:f})]})}function wy({icon:e,iconSize:t=56,title:a,titleClass:r="h2",description:s,tipGroups:i,start:l,className:u}){return n.jsxs("div",{className:ke("game-intro",u),children:[e!=null&&n.jsx("span",{className:"game-intro__icon","aria-hidden":"true",style:{"--game-intro-icon":`${t}px`},children:e}),n.jsx("h2",{className:ke("game-intro__title",r),children:a}),s!=null&&n.jsx("p",{className:"game-intro__description body-3",children:s}),i?.map((c,d)=>n.jsxs("div",{className:"game-intro__tips",children:[c.title!=null&&n.jsx("span",{className:"game-intro__tips-title body-3",children:c.title}),c.tips.map((m,p)=>n.jsxs("span",{className:"game-intro__tip body-3",children:[m.icon!=null&&n.jsx("span",{"aria-hidden":"true",children:m.icon}),n.jsx("span",{children:m.text})]},p))]},d)),l&&n.jsx(me,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const ou=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},su=(e,t,a,r)=>({from:gi(e,t,a),to:new Date(gi(e,t,a+r).getTime()-1),fromYmd:ou(e,t,a),toYmd:ou(e,t,a+r-1)});function By(e,t=0){if(e.period==="month"){const s=e.monthRange.match(/^(\d+)년 (\d+)월$/),i=ta(),l=s?Number(s[1]):i.getFullYear(),u=(s?Number(s[2]):i.getMonth()+1)-1+t,c=new Date(Date.UTC(l,u+1,0)).getUTCDate();return su(l,u,1,c)}const a=e.weekRanges.find(s=>s.value===e.weekRange);if(!a){const s=new Date,i=_a();return{from:s,to:s,fromYmd:i,toYmd:i}}const r=gn(a.year,a.month-1);return su(a.year,a.month-1,r+(a.week+t)*7,7)}const _o={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function iu(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function lu({done:e,total:t,segments:a,color:r="var(--color-main)",size:s="medium",strokeWidth:i,label:l="%",hideCenter:u=!1,hideLabel:c=!1}){const d=typeof s=="number"?s:_o[s].diameter,m=i??(typeof s=="number"?12:_o[s].strokeWidth),p=d/2,C=(d-m)/2,y=2*Math.PI*C;if(a&&a.length>0){const _=a.reduce((h,w)=>{const b=h.length>0?h[h.length-1].acc:0,k=Number.isFinite(w.ratio)?w.ratio:0,x=Math.max(0,Math.min(k,1-b));return h.push({color:w.color,rotate:-90+b*360,dash:y*x,acc:b+x}),h},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:p,cy:p,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),_.map((h,w)=>h.dash>0&&n.jsx("circle",{cx:p,cy:p,r:C,fill:"none",stroke:h.color,strokeWidth:m,strokeDasharray:`${h.dash} ${y}`,strokeLinecap:"round",transform:`rotate(${h.rotate} ${p} ${p})`},w))]})})}const v=(t??0)>0?Math.min((e??0)/t,1):0,f=y*v,g=y-f;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:p,cy:p,r:C,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),v>0&&n.jsx("circle",{cx:p,cy:p,r:C,fill:"none",stroke:r,strokeWidth:m,strokeDasharray:`${f} ${g}`,strokeLinecap:v<.02||v>.98?"butt":"round",transform:`rotate(-90 ${p} ${p})`})]}),!u&&n.jsxs("div",{className:`ring-chart__center${c?"":` ${d<=96?"ring-chart__center--small":s==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:iu(v)}),!c&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||s==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function Ay({titleKey:e,titleLevel:t,headRight:a,icon:r,showTotal:s,totalLabelKey:i,legend:l,loading:u,className:c,inGrid:d=!1,onClick:m,ariaLabel:p,tooltip:C,...y}){const{t:v}=_e.useTranslation();if(!e)return n.jsx(lu,{...y});const f=(y.total??0)>0?iu(Math.min((y.done??0)/y.total,1)):0,g=y.size==="small",_=typeof y.size=="number"?y.size:_o[y.size??"medium"].diameter,h=y.size==="large",w=[c,g?"manager-section--compact":h?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=r&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(tt,{icon:r,className:"chart-section-icon-inner"})});return n.jsx(vo,{className:w,inGrid:d,onClick:m,ariaLabel:p,tooltip:C,title:v(e),titleLevel:t,titleClassName:g?"h5 chart-section-title--small":void 0,headRight:b||(g?void 0:a),subRow:(s||l)&&n.jsxs(n.Fragment,{children:[s?n.jsxs(Ra,{label:!g&&i?v(i):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:f}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),l&&n.jsx(yo,{items:l})]}),children:u?n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx("div",{className:"ring-chart ring-chart--loading",style:{width:_,height:_},"aria-busy":"true",children:n.jsx($a,{size:32})})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(lu,{...y,hideCenter:y.hideCenter??g})})})}function ky({label:e,value:t,change:a,changeType:r,icon:s,tooltip:i,onClick:l,children:u}){const c=o.useRef(null),{anchorRect:d,openAt:m,close:p}=Aa(),C=o.useCallback(()=>{i&&c.current&&m(c.current)},[i,m]),y=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),v=a===void 0?void 0:a>0?`+${a}`:`${a}`,f=o.useCallback(g=>{l&&(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),l())},[l]);return n.jsxs("div",{ref:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?f:void 0,onPointerEnter:C,onPointerLeave:p,onFocus:C,onBlur:p,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,t,v].filter(g=>g!==void 0&&g!=="").join(" "):void 0,children:[i&&d&&n.jsx(xn,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:i}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),s&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(tt,{icon:s,className:"manager-stat-card__icon-inner"})})]}),n.jsxs("div",{className:"manager-stat-card__content",children:[n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),v&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${y??"neutral"} caption-1`,children:v})]}),u&&n.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function uu({value:e,onChange:t,min:a=0,max:r=100,step:s=1,orientation:i="horizontal",size:l=24,disabled:u=!1,ariaLabel:c,length:d,className:m,label:p,formatValue:C,labelPos:y,labelAlign:v="right",showMinMax:f=!1,minLabel:g,maxLabel:_,showBgTick:h=!1,showFillTick:w=!1,tickStep:b,tickShape:k="dot"}){t&&!c&&Gt("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const x=Math.min(r,Math.max(a,e)),B=r>a?(x-a)/(r-a):0,A=i==="vertical",N=!t,E=S=>t?.(Number(S.target.value)),D=typeof d=="number"?`${d}px`:d,H={"--slider-ratio":String(B),"--slider-thumb":`${l}px`,...D?A?{height:D}:{width:D}:{}},$=b??s,G=(h||w)&&$>0&&r>a?Math.floor((r-a)/$+1e-6):0;if(G>0&&G<=100){const S=k!=="dash",P=Q=>S?`radial-gradient(circle, ${Q} 0.5px, transparent 1px)`:A?`linear-gradient(to bottom, transparent calc(50% - 2px), ${Q} calc(50% - 2px), ${Q} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${Q} calc(50% - 2px), ${Q} calc(50% + 2px), transparent calc(50% + 2px))`,j=S?"2px":"4px",F=[],O=[],W=[];for(let Q=0;Q<=G;Q++){const oe=Q*$/(r-a);if(oe>1+1e-6)break;const de=`${((A?1-oe:oe)*100).toFixed(4)}%`,ae=oe<=B+1e-6;if(ae?!w:!h)continue;const te=ae?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";F.push(P(te)),O.push(A?`${j} var(--slider-thumb)`:`var(--slider-thumb) ${j}`),W.push(A?`center ${de}`:`${de} center`)}F.push(A?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),O.push("100% 100%"),W.push("0 0"),H.backgroundImage=F.join(", "),H.backgroundSize=O.join(", "),H.backgroundPosition=W.join(", "),H.backgroundRepeat="no-repeat"}const L=C?C(x):p==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:p==="count"?`${x} / ${r}`:x===a&&g?g:x===r&&_?_:void 0,M=n.jsx("input",{type:"range",className:ke("slider",`slider--${i}`,N&&"slider--static",!p&&!f&&m),min:a,max:r,step:s,value:x,disabled:u,readOnly:N,tabIndex:N?-1:void 0,"aria-label":c,"aria-valuetext":L,"aria-orientation":i,onChange:E,style:H});if(!p&&!f)return M;const I=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:g??a}),K=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??r}),Y=f?n.jsxs("div",{className:ke("slider-track-group",`slider-track-group--${i}`,!p&&m),children:[A?K:I,M,A?I:K]}):M;if(!p)return Y;const z=y??(A?"bottom":"right"),V=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,R=C?C(x):p==="percent"?V:p==="count"?`${x} / ${r}`:String(x),q=n.jsx("span",{className:"slider-wrap__value body-3b",children:R});return n.jsxs("div",{className:ke("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${z}`,`slider-wrap--align-${v}`,m),children:[Y,q]})}const Ny=.86,Dy=250,wo=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),Bo=(e,t,a,r)=>{const s=wo(e,t,a,r);return`${s<0?"-":"+"}${Math.abs(s)} dB`};function Ao({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:s,labelPos:i,labelAlign:l="right",floorDb:u=-60,refDb:c=-35,displayMin:d=-5,displayMax:m=25,className:p,ariaLabel:C}){const y=o.useRef(null),v=o.useRef(null),f=o.useRef(null),g=o.useRef(null),[_,h]=o.useState(null);o.useEffect(()=>{const x=M=>{const I=Bo(M,c,d,m);f.current&&(f.current.textContent=I);const K=y.current;K&&(K.setAttribute("aria-valuenow",String(wo(M,c,d,m))),K.setAttribute("aria-valuetext",I))},B=e??yC(t)??(_&&_.el===t?_.node:null),A=v.current;if(!B||!A){A?.style.setProperty("--meter-level","0"),x(u);let M=!1;return!e&&t&&Va(t).then(I=>{!M&&I&&h({el:t,node:I})}),()=>{M=!0}}Ir();const N=new Float32Array(B.fftSize);let E=0,D=0,H=0,$=0,G=null;const L=M=>{const I=vC(B,N);E=I>E?I:E*Ny;const K=E>1e-5?20*Math.log10(E):-1/0,Y=Math.max(u,K),z=Y-c,V=Math.min(1,Math.max(0,(z-d)/(m-d)));if(A.style.setProperty("--meter-level",V.toFixed(3)),D+=Y,H+=1,M-$>=Dy){const R=D/H;G=G==null?R:G*.6+R*.4,x(G),D=0,H=0,$=M}g.current=requestAnimationFrame(L)};return g.current=requestAnimationFrame(L),()=>{g.current!=null&&cancelAnimationFrame(g.current),g.current=null}},[e,t,_,u,c,d,m]);const w=typeof r=="number"?`${r}px`:r,b=n.jsx("div",{className:"audio-meter__track",style:w?a==="vertical"?{height:w}:{width:w}:{},children:n.jsx("div",{ref:v,className:"audio-meter__fill"})}),k=i??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:y,className:ke("audio-meter",`audio-meter--${a}`,s&&`audio-meter--label-${k}`,s&&`audio-meter--align-${l}`,p),role:"meter","aria-label":C,"aria-valuemin":d,"aria-valuemax":m,"aria-valuenow":wo(u,c,d,m),"aria-valuetext":Bo(u,c,d,m),children:[b,s&&n.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:Bo(u,c,d,m)})]})}const cu=260;function du({message:e,position:t,duration:a,onClose:r}){const[s,i]=o.useState(!1),[l,u]=o.useState(!1),c=o.useRef(l),d=o.useRef(s);o.useEffect(()=>{c.current=l},[l]),o.useEffect(()=>{d.current=s},[s]);const m=o.useRef(null),p=o.useRef(""),C=o.useRef(r);o.useEffect(()=>{C.current=r});const y=a,v=o.useRef(null),f=o.useRef(0),g=o.useRef(0),_=o.useRef(!1),h=o.useRef(null),w=o.useRef(null),b=o.useRef(null),k=o.useRef(null),x=o.useRef(()=>{});x.current=N=>{N<0||(f.current=Date.now(),g.current=N,v.current=setTimeout(()=>{v.current=null,i(!1),h.current=setTimeout(()=>{u(!1);try{C.current()}catch{}},cu)},N))};const B=o.useCallback(()=>{_.current||!v.current||(_.current=!0,clearTimeout(v.current),v.current=null,g.current=Math.max(0,g.current-(Date.now()-f.current)))},[]),A=o.useCallback(()=>{_.current&&(_.current=!1,x.current(g.current))},[]);return o.useEffect(()=>{if(e!==p.current&&(v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)),e){if(d.current)return y>0&&!v.current&&(_.current?g.current=y:x.current(y)),p.current=e,()=>{v.current&&(clearTimeout(v.current),v.current=null),h.current&&(clearTimeout(h.current),h.current=null)};const N=()=>{const E=m.current;if(E)try{E.classList.remove("is-visible"),E.style.transition="none",t==="top"?E.style.transform="translateX(-50%) translateY(-16px)":E.style.transform="translateX(-50%) translateY(16px)",E.style.opacity="0",E.offsetWidth,E.style.transition="",E.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};c.current?(N(),i(!0)):(u(!0),w.current=requestAnimationFrame(()=>{b.current=requestAnimationFrame(()=>{N(),i(!0)})})),y>0&&(_.current=!1,x.current(y))}else i(!1),h.current=setTimeout(()=>u(!1),cu);return p.current=e,()=>{v.current&&clearTimeout(v.current),h.current&&clearTimeout(h.current),w.current&&cancelAnimationFrame(w.current),b.current&&cancelAnimationFrame(b.current),k.current&&clearTimeout(k.current),v.current=null,h.current=null,w.current=null,b.current=null,k.current=null}},[e,y,t]),{mounted:l,showing:s,popupRef:m,pause:B,resume:A}}function sa({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:s=2e3}){const{mounted:i,showing:l,popupRef:u,pause:c,resume:d}=du({message:e,position:t,duration:s,onClose:r}),m=o.useRef(null),[p,C]=o.useState(!1);if(o.useEffect(()=>{l?C(!0):i||C(!1)},[l,i]),!i)return null;const y=a==="notice"||a==="warning"?a:"normal",v=n.jsx("div",{ref:u,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:f=>{m.current=f.pointerType},onMouseEnter:()=>{m.current!=="touch"&&c()},onMouseLeave:d,onFocusCapture:c,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${y} body-2`,"aria-hidden":p||l?void 0:!0,children:n.jsx("span",{className:"toast__text",children:e})})});return typeof document<"u"?en.createPortal(v,document.body):v}const Ey=24;function Sy({value:e,max:t=100,size:a=8,color:r,trackColor:s,label:i,formatValue:l,labelPos:u,labelAlign:c="right",ariaLabel:d,className:m}){const p=Number.isFinite(t)&&t>0?t:1,C=Math.max(0,Math.min(Number.isFinite(e)?e:0,p)),y=C/p*100,v=Number.isFinite(t)&&t>0?t:0,f=u??(a>=Ey?"inside":"bottom"),g=f==="center"?"inside":f,_=g==="inside"&&(c==="left"?y>=15:c==="center"?y>=50:y>=85),h={};return r&&(h["--progress-bar-fill"]=r),s&&(h["--progress-bar-track"]=s),n.jsxs("div",{className:ke("progress-bar",`progress-bar--${a}`,`progress-bar--label-${g}`,i&&`progress-bar--align-${c}`,i&&_&&"progress-bar--label-on-fill",m),style:h,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":C,"aria-valuemin":0,"aria-valuemax":v,"aria-valuetext":i?l?l(C):i==="percent"?void 0:i==="raw"?String(C):`${C} / ${v}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${y}%`}})}),i&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(C):i==="percent"?`${Math.round(y)}%`:i==="raw"?String(C):`${C} / ${v}`})]})}const pu={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},jy="rgba(255, 255, 255, 0.16)";function mu({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:s,variant:i="numbered",announce:l=!1,ariaLabel:u}){const{t:c}=_e.useTranslation(),d=on("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const m=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,p=u??c("progress.steps",{current:m+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),C={};if(a&&(C["--pi-inactive-bg"]=a),r&&(C["--pi-inactive-color"]=r),s&&(a||(C["--pi-inactive-bg"]=jy),r||(C["--pi-inactive-color"]="var(--color-white)")),i==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:C,role:l?"status":"img","aria-label":l?void 0:p,children:[l&&n.jsx("span",{style:pu,children:p}),Array.from({length:e}).map((v,f)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<m?" done":f===m?" active":""}`},f))]});const y=l?n.jsx("span",{role:"status",style:pu,children:p}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:C,role:"list","aria-label":p,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[m+1," / ",e]})}),y]}):n.jsxs(n.Fragment,{children:[y,n.jsx("div",{className:"progress-indicator",style:C,role:"list","aria-label":p,children:Array.from({length:e}).map((v,f)=>n.jsx("span",{role:"listitem","aria-current":f===m?"step":void 0,className:`progress-indicator-dot ${f<m?" done":f===m?" active":""} body-3`,children:f+1},f))})]})}function Ty(e){if(!e)return[];const t=[];let a=0,r="";for(const s of e.trim()){if(s==="("?a++:s===")"&&a--,/\s/.test(s)&&a===0){r&&(t.push(r),r="");continue}r+=s}return r&&t.push(r),t}function My({children:e,className:t,style:a,rowLabel:r,onRowClick:s}){return n.jsx("div",{role:"cell",className:t?`table-cell ${t}`:"table-cell",style:a,children:r&&s?n.jsx("button",{type:"button",className:"table-cell__row-button","aria-label":r,children:e}):e})}function ko({variant:e="default",children:t,className:a,draggable:r,onClick:s,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,expandedContent:d,colSpan:m,describedBy:p,rowHasButton:C}){const y=o.useCallback(v=>{s&&v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s())},[s]);return e==="loading"?n.jsx("div",{role:"presentation",className:"table-row-wrap",children:n.jsx("div",{role:"row",className:"table-row table-row--loading",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:n.jsx($a,{size:28})})})}):e==="empty"?n.jsx("div",{role:"presentation",className:"table-row-wrap",children:n.jsx("div",{role:"row",className:"table-row table-row--empty body-3",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:t})})}):n.jsxs("div",{role:"presentation",className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:s,onKeyDown:s?y:void 0,onMouseEnter:i,onMouseLeave:l,onDragStart:u,onDragEnd:c,role:"row",tabIndex:s&&!C?0:void 0,"aria-describedby":s&&!C?p:void 0,children:t}),d&&n.jsx("div",{role:"row",className:"table-row-expand",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row-expand__cell",children:d})})]})}function Ly({dir:e}){return n.jsx(e==="asc"?Ds:Ns,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function $y({children:e,onClick:t,className:a,sortDir:r,ariaSort:s,onResizeStart:i}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(Ly,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":s,className:ke("table-field body-3",a,r?"table-field--sorted":"",i?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,i&&n.jsx("span",{className:"table-field__resizer",onPointerDown:i,onClick:u=>u.stopPropagation(),"aria-hidden":"true"})]})}function No({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:s,isRowClickable:i,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:c,onRowDragEnd:d,draggingId:m,gridTemplateColumns:p,mobileGridTemplateColumns:C,resizable:y=!1,resizeMode:v="grow",resizeStorageKey:f,size:g="small",title:_,icon:h,count:w,collapsed:b=!1,onToggleCollapse:k,headerActions:x,empty:B,loading:A,dragOver:N=!1,onDragOver:E,onDragLeave:D,onDrop:H,renderExpandedRow:$,expandedId:G}){const{t:L}=_e.useTranslation(),M=o.useId(),I=`table-title-${M}`,K=`table-row-hint-${M}`,Y=on("(max-width: 767px)"),z=C&&Y?C:null,V=y&&!Y,R=48,q=o.useRef(()=>R),S=f?`table-cols:${f}`:null,P=o.useRef(null),j=o.useRef(null),F=o.useRef(null),O=o.useRef(null),[W,Q]=o.useState(!1),oe=o.useCallback(()=>{const X=F.current;X&&Q(X.scrollWidth>X.clientWidth+1)},[]),de=o.useCallback((X,ue)=>{const we=X.current;we&&j.current&&j.current.unobserve(we),X.current=ue,ue?(!j.current&&typeof ResizeObserver<"u"&&(j.current=new ResizeObserver(()=>oe())),j.current?.observe(ue)):!F.current&&!O.current&&(j.current?.disconnect(),j.current=null),oe()},[oe]),ae=o.useCallback(X=>de(F,X),[de]),te=o.useCallback(X=>de(O,X),[de]);o.useEffect(()=>{oe()}),o.useEffect(()=>{if(typeof window>"u")return;const X=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>oe()):null;return window.addEventListener("resize",oe),()=>{X!=null&&cancelAnimationFrame(X),window.removeEventListener("resize",oe)}},[oe]);const Ae=o.useRef(()=>!1),U=o.useRef([]),ne=o.useRef(null),le=X=>{if(!X||typeof window>"u")return null;try{const ue=JSON.parse(window.localStorage.getItem(X)??"null");return Array.isArray(ue)&&ue.length>0&&ue.every(we=>typeof we=="number"&&Number.isFinite(we)&&we>0)?ue:null}catch{return null}},[Ee,be]=o.useState(()=>le(S)),[se,pe]=o.useState(S);se!==S&&(pe(S),be(le(S)));const he=o.useRef(Ee);o.useEffect(()=>{he.current=Ee},[Ee]);const ge=o.useCallback(X=>{const ue=ne.current;if(!ue)return;const we=he.current;if(we){const De=[...we];if(ue.next!=null&&ue.startWNext!=null){const qe=X.clientX-ue.startX,Qe=Math.max(q.current(ue.index)-ue.startW,Math.min(ue.startWNext-q.current(ue.next),qe));De[ue.index]=ue.startW+Qe,De[ue.next]=ue.startWNext-Qe}else De[ue.index]=Math.max(q.current(ue.index),ue.startW+(X.clientX-ue.startX));he.current=De,be(De)}},[]),fe=o.useCallback(()=>{if(ne.current=null,window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",fe),window.removeEventListener("pointercancel",fe),document.body.style.cursor="",document.body.style.userSelect="",S&&he.current)try{window.localStorage.setItem(S,JSON.stringify(he.current))}catch{}},[ge,S]),Te=o.useCallback((X,ue)=>{ue.preventDefault(),ue.stopPropagation();const we=P.current;if(!we)return;const De=Array.from(we.children).map(Qe=>Qe.getBoundingClientRect().width),qe=v==="fit"?e.findIndex((Qe,st)=>st>X&&Qe.resizable!==!1):-1;ne.current=qe>=0?{index:X,startX:ue.clientX,startW:De[X],next:qe,startWNext:De[qe]}:{index:X,startX:ue.clientX,startW:De[X]},he.current=De,be(De),window.addEventListener("pointermove",ge),window.addEventListener("pointerup",fe),window.addEventListener("pointercancel",fe),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[ge,fe,v,e]),Me=o.useCallback(()=>{const X=P.current,ue=X?.closest(".table-wrap");if(!X||!ue)return;const we=ue.style.getPropertyValue("--table-grid-cols");ue.style.setProperty("--table-grid-cols",e.map((Xe,Ve)=>Ae.current(Ve)?U.current[Ve]:"max-content").join(" "));const De=Array.from(ue.querySelectorAll(".table-row")).filter(Xe=>!Xe.classList.contains("table-row--loading")&&!Xe.classList.contains("table-row--empty")),qe=e.map((Xe,Ve)=>{let Pe=X.children[Ve]?.getBoundingClientRect().width??0;for(const ht of De){const Ue=ht.children[Ve];Ue&&(Pe=Math.max(Pe,Ue.getBoundingClientRect().width))}const et=Ae.current(Ve)?parseFloat(U.current[Ve]):NaN;return Number.isFinite(et)?et:Math.max(q.current(Ve),Math.ceil(Pe))}),Qe=window.getComputedStyle(X),st=X.clientWidth-(parseFloat(Qe.paddingLeft)||0)-(parseFloat(Qe.paddingRight)||0);we?ue.style.setProperty("--table-grid-cols",we):ue.style.removeProperty("--table-grid-cols");let pt=qe;const Ct=qe.reduce((Xe,Ve,Pe)=>Xe+(Ae.current(Pe)?Ve:0),0),bt=qe.reduce((Xe,Ve,Pe)=>Xe+(Ae.current(Pe)?0:Ve),0),at=st-Ct;if(st>0&&bt>0&&at>0){const Xe=at/bt;pt=qe.map((Pe,et)=>Ae.current(et)?Pe:Math.max(q.current(et),Math.round(Pe*Xe)));const Ve=Math.round(at-pt.reduce((Pe,et,ht)=>Pe+(Ae.current(ht)?0:et),0));if(Ve!==0){let Pe=-1;pt.forEach((et,ht)=>{!Ae.current(ht)&&(Pe<0||et>pt[Pe])&&(Pe=ht)}),Pe>=0&&(pt[Pe]=Math.max(q.current(Pe),pt[Pe]+Ve))}}if(be(pt),S)try{window.localStorage.setItem(S,JSON.stringify(pt))}catch{}},[e,v,S]);o.useEffect(()=>()=>{ne.current&&(window.removeEventListener("pointermove",ge),window.removeEventListener("pointerup",fe),window.removeEventListener("pointercancel",fe),document.body.style.cursor="",document.body.style.userSelect="")},[ge,fe]);const Ie=Ty(p),Oe=Ie.filter(X=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(X));Oe.length>0&&Gt(`table-content-track:${p}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${Oe.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${p})`);const He=e.findIndex(X=>!!X.sortDir);e.filter(X=>!!X.sortDir).length>1&&Gt("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const dt=X=>X===He?e[X].sortDir==="asc"?"ascending":"descending":e[X].onClick?"none":void 0,ut=X=>/^\d+(\.\d+)?px$/.test(Ie[X]??""),ot=X=>{const ue=Ie[X]??"",we=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(ue)??/^(\d+(?:\.\d+)?)px$/.exec(ue);return we?parseFloat(we[1]):R};Ae.current=ut,q.current=ot,U.current=Ie;const ct=X=>v==="fit"&&!ut(X)?"fr":"px",Ne=Ee&&Ee.length===e.length&&!Y&&(v==="fit"||a.length>0),ze=z??(Ne?e.map((X,ue)=>X.resizable===!1&&Ie[ue]?Ie[ue]:`${Ee[ue]}${ct(ue)}`).join(" "):p),Be=ze?{"--table-grid-cols":ze}:void 0,Ye=_!==void 0;return n.jsxs("div",{ref:ae,className:`table-wrap table-wrap--${g}${V?" table-wrap--resizable":""}${N?" table-wrap--dragover":""}${b?" table-wrap--collapsed":""}`,style:Be,onDragOver:E,onDragLeave:D,onDrop:H,tabIndex:W?0:void 0,role:W?"region":void 0,"aria-label":W?typeof _=="string"?_:L("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:[!!s&&n.jsx("span",{id:K,className:"table-row-hint",children:L("table.rowActionHint","\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4")}),n.jsxs("div",{ref:te,role:"table","aria-labelledby":Ye&&typeof _=="string"?I:void 0,className:"table body-2",children:[Ye&&n.jsxs("div",{className:ke("table-header",k&&"table-header--clickable"),onClick:k,role:"caption",children:[k&&n.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:b?"chevron-right":"chevron-down",ariaLabel:b?L("common.expand","\uD3BC\uCE58\uAE30"):L("common.collapse","\uC811\uAE30"),ariaExpanded:!b,className:"table-header__chevron"}),h&&n.jsx(tt,{icon:h,label:typeof _=="string"?_:void 0,className:"table-header__icon"}),n.jsx("span",{id:I,className:"table-header__title h5b",children:_}),w!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:w}),x&&n.jsx("span",{className:"table-header__actions",onClick:X=>X.stopPropagation(),children:x})]}),!b&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{role:"row",className:"table-fields table-fields--groups",children:t.map((X,ue)=>n.jsx("div",{role:"columnheader","aria-colspan":X.span,className:ke("table-field body-3",X.className),style:{gridColumn:`span ${X.span}`},children:X.label},ue))}),n.jsxs("div",{role:"presentation",className:ke("table-fields-strip",V&&"table-fields-strip--resizable"),children:[n.jsx("div",{role:"row",className:"table-fields",ref:P,children:e.map((X,ue)=>n.jsx($y,{onClick:X.onClick,className:X.className,sortDir:X.sortDir,ariaSort:dt(ue),onResizeStart:V&&ue<e.length-1&&X.resizable!==!1&&(v!=="fit"||e.some((we,De)=>De>ue&&we.resizable!==!1))?we=>Te(ue,we):void 0,children:X.label},ue))}),V&&n.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:L("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:L("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Me})]}),n.jsx("div",{role:"rowgroup",className:"table-body",children:A?n.jsx(ko,{variant:"loading",colSpan:e.length||void 0}):a.length===0&&B?n.jsx(ko,{variant:"empty",colSpan:e.length||void 0,children:B}):a.map((X,ue)=>{const we=m!=null&&X.id===m,De=!!s&&(i?i(X):!0),qe=G!=null&&X.id!=null&&(G instanceof Set?G.has(X.id)||[...G].some(Qe=>String(Qe)===String(X.id)):String(X.id)===String(G));return n.jsx(ko,{className:`${De?" table-row--clickable":""}${c?" table-row--draggable":""}${we?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:De?()=>s(X):void 0,colSpan:e.length||void 0,rowHasButton:r(X).some(Qe=>!!Qe.rowLabel),describedBy:K,onMouseEnter:l?Qe=>l(X,Qe):void 0,onMouseLeave:u?Qe=>u(X,Qe):void 0,onDragStart:c?Qe=>c(X,Qe):void 0,onDragEnd:d?Qe=>d(X,Qe):void 0,expandedContent:qe&&$?$(X):void 0,children:r(X).map((Qe,st)=>n.jsx(My,{className:Qe.className,style:Qe.style,rowLabel:De?Qe.rowLabel:void 0,onRowClick:De?()=>s(X):void 0,children:Qe.content},st))},X.id!=null?`${typeof X.id}:${X.id}`:`__idx:${ue}`)})})]})]})]})}function hu(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const ia=e=>e==null?"":String(e).trim();function Do(e,t,a,r){const s=ia(e),i=ia(t),l=ia(a);if(r&&s&&i&&l){const c=`${s.padStart(4,"0")}-${i.padStart(2,"0")}-${l.padStart(2,"0")}`,d=new Date(c);if(!Number.isNaN(d.getTime())&&d.toISOString().slice(0,10)===c){const m=fi(c,r);if(m)return m}}const u=[s,i,l];for(;u.length>0&&u[u.length-1]==="";)u.pop();return u.join(".")}function Ry(e,t,a){const r=ia(e);return r?`${r}-${ia(t).padStart(2,"0")}-${ia(a).padStart(2,"0")}`:""}const Py={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function Fy(e,t){const a=Py[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Cu(e,t){return t!=="wornAt"?String(e[t]??""):Ry(e.wornYear,e.wornMonth,e.wornDay)}function Iy({rows:e,loading:t,onSelect:a,onDelete:r,onWear:s,onRelease:i,onAdd:l}){const{t:u,i18n:c}=_e.useTranslation(),d=g=>g==="\uC88C"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:m,\uCE78:p}=fb(),C=o.useMemo(()=>{if(!m)return e;const{key:g,asc:_}=m;return[...e].sort((h,w)=>{if(g==="worn"){const b=Number(w.worn)-Number(h.worn);return _?b:-b}return oo(Cu(h,g),Cu(w,g),_)})},[e,m]),{pageRows:y,pageSizeProps:v,paginationProps:f}=Cb(C,m);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(bo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:v,pagination:f,actions:l&&n.jsx(me,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),n.jsx(No,{loading:t,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...p(u("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},p(u("device.direction.label","\uBC29\uD5A5"),"side"),p(u("device.deviceType","\uC885\uB958"),"device"),p(u("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),p(u("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),p(u("device.productName","\uC81C\uD488\uBA85"),"productName"),p(u("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:y.map((g,_)=>({id:g.id??`${g.side}-${_}`,row:g})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:g})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:_=>_.stopPropagation(),children:n.jsx(Xl,{checked:g.worn,disabled:g.worn?!i:!s,ariaLabel:g.worn?u("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):u("customers.device.wear","\uCC29\uC6A9"),onChange:_=>{_?s?.(g):i?.(g)}})})},{content:n.jsx("span",{children:d(g.side)})},{content:g.device?n.jsx(wt,{size:"small",variant:hu(g.device),fill:"soft",label:Fy(g.device,u)}):n.jsx("span",{})},{content:n.jsx("span",{children:g.brand})},{content:n.jsx("span",{children:g.fitType||"-"})},{content:n.jsx("span",{children:g.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:Do(g.wornYear,g.wornMonth,g.wornDay,c.language)||"-"})},...r?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(me,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:u("common.delete","\uC0AD\uC81C"),onClick:_=>{_?.stopPropagation(),r(g)}})})}]:[]],onRowClick:({row:g})=>a(g),empty:u("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function fu(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function Oy(e,t){return new Date(e,t+1,0).getDate()}function Hy(e,t){return new Date(e,t,1).getDay()}function zy({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:s}){const{t:i,i18n:l}=_e.useTranslation(),u=o.useMemo(()=>i("calendar.dow",{returnObjects:!0}),[i]),c=qr(s),[d,m]=o.useState(()=>Number(c.slice(0,4))),[p,C]=o.useState(()=>Number(c.slice(5,7))-1),[y,v]=o.useState(null),f=o.useRef(null),g=o.useMemo(()=>{const x={};return e.forEach(B=>{x[B.date]||(x[B.date]=[]),x[B.date].push(B)}),x},[e]),_=o.useMemo(()=>{const x=Oy(d,p),B=Hy(d,p),A=[];for(let N=0;N<B;N++)A.push(null);for(let N=1;N<=x;N++)A.push(N);for(;A.length<35;)A.push(null);return A},[d,p]),h=o.useCallback(()=>{p===0?(m(x=>x-1),C(11)):C(x=>x-1)},[p]),w=o.useCallback(()=>{p===11?(m(x=>x+1),C(0)):C(x=>x+1)},[p]),b=x=>`${d}-${String(p+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,k=x=>b(x)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:h,"aria-label":i("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(tt,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:i("calendar.yearMonth",{year:d,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:w,"aria-label":i("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(tt,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[u.map(x=>n.jsx("div",{className:"calendar-day-header body-3",children:x},x)),_.map((x,B)=>{if(x===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${B}`);const A=x,N=b(A),E=g[N]??[],D=fi(N,l.language),H=y===N;return n.jsxs("div",{className:`calendar-cell${k(A)?" today":""}${H?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?i("calendar.addOnDate",{date:N}):void 0,"aria-current":k(A)?"date":void 0,onClick:r?()=>r(N):void 0,onKeyDown:r?$=>{$.target===$.currentTarget&&($.key!=="Enter"&&$.key!==" "||($.preventDefault(),r(N)))}:void 0,onDragOver:a?$=>{$.preventDefault(),v(N)}:void 0,onDragLeave:a?$=>{$.currentTarget.contains($.relatedTarget)||v(null)}:void 0,onDrop:a?$=>{$.preventDefault(),f.current!=null&&(a(f.current,N),f.current=null),v(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:A}),E.length>0&&(()=>{const $=[{key:"visited",\uB9D0:i("calendar.legend.visited","\uBC29\uBB38"),\uC218:E.filter(L=>(L.status??"visited")==="visited").length},{key:"scheduled",\uB9D0:i("calendar.legend.scheduled","\uC608\uC57D"),\uC218:E.filter(L=>L.status==="scheduled").length},{key:"noVisit",\uB9D0:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38"),\uC218:E.filter(L=>L.status==="noVisit").length}].filter(L=>L.\uC218>0),G=$.length===1&&$[0].key==="visited"?i("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"}):$.map(L=>i("calendar.statusCount",{label:L.\uB9D0,count:L.\uC218,defaultValue:"{{label}} {{count}}\uAC74"})).join(" \xB7 ");return n.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${D} ${G}`,children:[$.map(L=>n.jsx("span",{className:`calendar-cell__visit-dot calendar-cell__visit-dot--${L.key}`,"aria-hidden":"true"},L.key)),E.length]})})(),n.jsx("div",{className:"calendar-cell__badges",children:E.map(($,G)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${$.status==="noVisit"?" calendar-visit-badge--no-visit":$.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?L=>{f.current=$.id,L.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{f.current=null,v(null)}:void 0,onClick:t?L=>{L.stopPropagation(),t($)}:void 0,...fu(t?()=>t($):void 0),"aria-label":[D,$.time?vi($.time,i):null,$.customer,i($.status==="noVisit"?"calendar.legend.noVisit":$.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[$.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:vi($.time,i)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:$.customer}),$.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:i("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},$.id??G))})]},A)})]})]})}const Vy={page:"h3",pagePopup:"h4",popup:"h5"};function la({type:e="page",title:t,headingLevel:a=2,icon:r,action:s,disc:i,children:l,inGrid:u=!1,className:c,style:d}){const m=Vy[e],p=t||i||s||r,C=a?`h${a}`:"div";return n.jsxs("div",{className:ke("section",`section--${e}`,u&&"section--in-grid",c),style:d,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(tt,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(C,{className:`section__title ${m}`,children:t}),i&&n.jsx("div",{className:"section__disc body-3",children:i})]})]}),s&&n.jsx("div",{className:"section__action",children:s})]}),l]})}let Eo=null,gu=!1;function bu(){if(gu||typeof document>"u")return;gu=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(Eo="keyboard")},!0);const e=()=>{Eo="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}bu();function sr(){return bu(),Eo==="keyboard"}const ir=20;function Wy(e){const{t}=_e.useTranslation(),{type:a,trainingDatas:r,depth:s,renderPopup:i,completedIds:l,selectedIds:u,onItemComplete:c,size:d,useDescriptionTooltip:m,onRemove:p,onMore:C,sectionType:y="page"}=e||{},[,v]=o.useState(0),f=typeof r<"u"?Array.isArray(r)?r:[]:[],g=f.length,[_,h]=o.useState(Math.min(g,ir)),w=o.useMemo(()=>Array.isArray(s)?[...s,a?.label].filter(Boolean).join(" \xB7 "):[s||"",a?.label].filter(Boolean).join(" \xB7 "),[s,a?.label]);o.useEffect(()=>{h(Math.min(g,ir))},[g]),cl("speechear.data.updated",()=>v(B=>B+1));const b=o.useRef(null),k=o.useRef(null);function x(){const B=document.activeElement;k.current=sr()&&B&&B.closest?.(".training-block__more")?_:null,h(A=>Math.min(g,A+ir))}return o.useEffect(()=>{const B=k.current;if(B==null)return;k.current=null;const A=document.activeElement;A&&A!==document.body||b.current?.querySelectorAll(".training-block-button")[B]?.focus()},[_]),n.jsxs(la,{type:y,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:b,children:(f||[]).slice(0,_).map((B,A)=>{const N=B;return n.jsx(Co,{index:A,type:a,trainingData:N,depth:w,renderPopup:i,completedIds:l,selectedIds:u,size:d,useDescriptionTooltip:m,onRemove:typeof p=="function"&&u!=null&&N?.id!=null&&u.has(String(N.id))?()=>p(N):void 0,onComplete:typeof c=="function"&&N?.id!=null?()=>c(String(N.id)):void 0,onMore:typeof C=="function"?E=>C(N,E):void 0},N?.id!=null?`${a?.key||"t"}-${String(N.id)}`:`${a?.key||"t"}-${A}`)})}),g>ir&&_<g&&n.jsx("div",{className:"training-block__more",children:n.jsx(me,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function qy(e){let t=0;const a=r=>{Array.isArray(r)?r.forEach(a):r!=null&&r!==!1&&r!==!0&&r!==""&&t++};return a(e),t}function Uy({gap:e=10,count:t,className:a,children:r}){const s=o.useRef(null),[i,l]=o.useState({\uD3ED:0,\uCE74\uB4DC:0}),u=t??qy(r);o.useLayoutEffect(()=>{const C=s.current;if(!C)return;const y=()=>{const f=C.style.maxWidth;C.style.maxWidth="none";const g=C.clientWidth;C.style.maxWidth=f;const _=C.firstElementChild?.offsetWidth??0;l(h=>h.\uD3ED===g&&h.\uCE74\uB4DC===_?h:{\uD3ED:g,\uCE74\uB4DC:_})};if(y(),typeof ResizeObserver>"u")return;const v=new ResizeObserver(y);return v.observe(C),()=>v.disconnect()},[u,e]);const c=i.\uCE74\uB4DC>0?i.\uCE74\uB4DC:0,d=c>0?LC(i.\uD3ED,c,e):0,m=d>0?$C(u,d):0,p={"--block-grid-gap":`${e}px`,...m>0?{"--block-grid-cols":m,"--block-grid-card":`${c}px`}:{}};return n.jsx("div",{ref:s,className:ke("training-block-grid",m>0&&"training-block-grid--measured",a),style:p,"data-cols":m>0?m:void 0,children:r})}function So(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[s,i]=o.useState(!1);o.useEffect(()=>{i(!1);const c=t.current;r(!!e&&!(c?.complete&&c.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),u=o.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:s,hasImage:!!e&&!s,onLoad:l,onError:u}}var Gy='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Ky=Gy,jo=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:s=!1,onSelect:i,flipDelay:l=0,hideLabel:u=!1,hideAudio:c=!1,orderRank:d=null},m){const{t:p}=_e.useTranslation(),C=e.word||e.title||"",y=t||!C,v=e.audio??e.sound??e.audioKey,f=e.subLabel||e.pronunciation||"",g=e.colloquialLabel||"",[_,h]=o.useState({label:C,subLabel:f,colloquialLabel:g,homonum:e.homonum});C&&(_.label!==C||_.subLabel!==f||_.colloquialLabel!==g||!Object.is(_.homonum,e.homonum))&&h({label:C,subLabel:f,colloquialLabel:g,homonum:e.homonum});const w=o.useRef(null),b=on("(max-width: 767px)"),[k,x]=o.useState(!1),B=`${typeof v=="string"?v:v?.src??""}\0${C}`,[A,N]=o.useState({for:"",url:""}),E=A.for===B?A.url:"",D=pi(),H=e.textOnly??(!e.image&&!!_.label&&!!D&&D.entries.length>0&&!D.byWord.has(_.label)),$=H?"":ea()?.(_.label,_.homonum)??e.image??"",{imgRef:G,loading:L,hasImage:M,onLoad:I,onError:K}=So($);o.useEffect(()=>{let F=!1;return(async()=>{if(v){if(typeof v=="string"){if(v.startsWith("http")||v.includes("/")){N({for:B,url:v});return}}else if(typeof v=="object"&&!Array.isArray(v)){const W=v.src;if(W){N({for:B,url:W});return}}}const O=Rr();if(O&&C)try{const W=await Promise.resolve(O(C));!F&&W&&N({for:B,url:W})}catch{}})(),()=>{F=!0}},[v,C,B]);const Y=o.useRef(!0),z=o.useRef(null);o.useEffect(()=>(Y.current=!0,()=>{Y.current=!1,z.current&&nr(z.current),z.current=null;try{w.current?.pause()}catch{}w.current=null}),[]);const V=o.useCallback(()=>new Promise(F=>{if(typeof window<"u"&&window.speechSynthesis&&C){x(!0),window.speechSynthesis.cancel();const O=new SpeechSynthesisUtterance(C);O.lang="ko-KR",O.onend=()=>{x(!1);try{a?.()}catch{}F()},O.onerror=()=>{x(!1),F()},window.speechSynthesis.speak(O)}else F()}),[C,a]),R=o.useCallback(F=>{const O=ho(F,W=>{if(x(!1),W)try{a?.()}catch{}});return w.current=O.el,O.done},[a]),q=o.useCallback(async()=>{if(t||!Y.current)return;const F=()=>{z.current===F&&(z.current=null);try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},O=tr(F);z.current=F;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await R(E)))return;const W=CC();if(W&&C)try{const Q=await Promise.resolve(W(C));if(!Y.current||z.current!==F||Q&&(x(!0),await R(Q)))return}catch{}if(!Y.current||z.current!==F)return;await V()}finally{O(),z.current===F&&(z.current=null)}},[t,E,C,R,V]);o.useImperativeHandle(m,()=>({play:()=>q()}),[q]);const S=F=>F.stopPropagation(),P=o.useCallback(F=>{if(F.stopPropagation(),!t){if(k){try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}q()}},[t,k,q]),j=ke("training-word-card",t?"training-word-card--disabled":"",y?"training-word-card--flipped":"",r?"training-word-card--selectable":"",s?"training-word-card--selected":"");return n.jsx("div",{className:j,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?s:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?F=>{F.target===F.currentTarget&&(F.key==="Enter"||F.key===" "||F.key==="Spacebar")&&(F.preventDefault(),i?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:y?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[s&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:S,children:n.jsx(wt,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?p("training.nthSelected",{n:d}):p("training.selected","\uC120\uD0DD\uB428")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:H?n.jsx("div",{className:"training-word-card__text-face",children:_.label}):M?n.jsxs(n.Fragment,{children:[L&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:G,className:"training-word-card__image",src:$,alt:_.label||p("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:L?0:1},onLoad:I,onError:K})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!u&&n.jsxs("div",{className:"training-word-card__body",children:[!H&&n.jsx("div",{className:"training-word-card__word",children:_.label}),_.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",_.subLabel,"]"]}),_.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",_.colloquialLabel,"]"]})]}),!c&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?S:void 0,children:n.jsx(me,{htmlType:"button",size:b?40:48,type:b?"dot":"bar",icon:k?"pause":"play",label:b?void 0:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:P,disabled:t,ariaLabel:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:Ky,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),Yy=260;function Rn(e){const{t}=_e.useTranslation(),{title:a,subtitle:r,headerActions:s,headerSegment:i,children:l,buttons:u,footer:c,footerStart:d,footerEnd:m,footerNote:p,footerNoteDivider:C=!1,footerClassName:y="",footerLayout:v="center",onClose:f,closeDisabled:g=!1,beforeClose:_,closeOnBackdrop:h=!0,className:w="",ariaLabel:b,useTitle:k=!0,inline:x=!1,size:B,layer:A="modal",height:N,fillBody:E=!1,resetScrollKey:D}=e||{},[H,$]=o.useState(!1),G=o.useRef(!1),L=o.useRef(null),M=o.useId(),I=o.useRef(null);o.useEffect(()=>{},[x,a,b,w]),o.useEffect(()=>{D!==void 0&&I.current&&(I.current.scrollTop=0)},[D]);const[K,Y]=o.useState(!1);o.useEffect(()=>{const ae=I.current;if(!ae)return;const te=()=>Y(ae.scrollHeight>ae.clientHeight+1);if(te(),typeof ResizeObserver>"u")return;const Ae=new ResizeObserver(te);Ae.observe(ae);const U=ae.firstElementChild;return U&&Ae.observe(U),()=>Ae.disconnect()},[l,D]),o.useEffect(()=>{if(!x)return ql()},[x]),o.useEffect(()=>{if(x)return;const ae=document.activeElement,te=L.current;return Zr(te,ae),te&&!te.contains(document.activeElement)&&(te.querySelector(fn)??te).focus(),()=>{const Ae=document.activeElement;(!Ae||Ae===document.body||te&&te.contains(Ae))&&Xr(ae)?.focus?.()}},[x]),Kr(L,!x);const z=o.useRef(!0),V=Jr(),R=o.useRef(null);o.useEffect(()=>(z.current=!0,()=>{z.current=!1,R.current&&(clearTimeout(R.current),R.current=null)}),[]);const q=o.useCallback(()=>{!z.current||!G.current||(G.current=!1,$(!1))},[]),S=o.useCallback((ae,te=!1)=>{if(te&&!z.current||G.current)return;G.current=!0,$(!0);const Ae=setTimeout(()=>{R.current===Ae&&(R.current=null);let U;try{U=ae?ae():void 0}catch{q();return}U&&typeof U.then=="function"&&U.then(()=>{setTimeout(q,120)},q)},V?0:Yy);te&&(R.current=Ae)},[q,V]),P=o.useCallback(()=>{g||_&&_()===!1||S(f,!0)},[S,f,g,_]),j=o.useRef(P);o.useEffect(()=>{j.current=P});const F=!x&&!!f;o.useEffect(()=>{if(F)return Wn(()=>j.current())},[F]);const O=F&&h,W=o.useRef(!1),Q=ae=>{W.current=ae.target===ae.currentTarget},oe=ae=>{const te=W.current;W.current=!1,te&&ae.target===ae.currentTarget&&P()},de=n.jsx("div",{className:`popup ${x?"popup--inline":""} ${A==="belowPagePopup"?"popup--below-page-popup":""} ${H?"popup--closing":""} ${w}`,onPointerDown:O?Q:void 0,onClick:O?oe:void 0,onMouseDown:x?void 0:ae=>{ae.target===ae.currentTarget&&ae.preventDefault()},children:n.jsxs("div",{ref:L,className:`popup-panel${B?` popup-panel--${B}`:""}${N!=null?" popup-panel--has-height":""}${E?" popup-panel--fill-body":""}`,style:N!=null?{"--popup-height":typeof N=="number"?`${N}px`:N}:void 0,tabIndex:-1,role:x?void 0:"dialog","aria-modal":x?void 0:!0,"aria-labelledby":!x&&k&&a?M:void 0,"aria-label":!x&&!(k&&a)?b??(typeof a=="string"?a:void 0):void 0,children:[!k&&(s||f)?n.jsxs("div",{className:"popup-close-float",children:[s,f&&n.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:P,disabled:g,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||s||f?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[a?n.jsx("h2",{id:M,className:"popup-title popup-title--left h2",children:a}):n.jsx("span",{id:M,className:"popup-title popup-title--left h2"}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),i&&n.jsx("div",{className:"popup-header-segment",children:n.jsx(An,{size:40,ariaLabel:i.ariaLabel,options:i.options.map(ae=>({key:ae.key,label:ae.label,disabled:ae.disabled})),value:i.value,onChange:i.onChange})}),n.jsxs("div",{className:"popup-header-actions",children:[s,f&&n.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:P,disabled:g,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:I,tabIndex:K?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof l=="function"?l({animateThen:S,closeWithAnimation:P}):l})}),p!=null&&p!==!1&&n.jsx("div",{className:`popup-footer-note caption-1${C?" popup-footer-note--divider":""}`,role:"note",children:p}),d||m?n.jsxs("div",{className:`popup-footer popup-footer--bar${y?` ${y}`:""}`,children:[n.jsx("div",{className:"popup-footer__start",children:typeof d=="function"?d({animateThen:S,closeWithAnimation:P}):d}),n.jsx("div",{className:"popup-footer__end",children:typeof m=="function"?m({animateThen:S,closeWithAnimation:P}):m})]}):u?.length?n.jsx("div",{className:`popup-footer popup-footer--buttons${v!=="center"?` popup-footer--${v}`:""}`,children:u.map((ae,te)=>n.jsx(me,{htmlType:"button",size:48,variant:ae.variant??"default",label:ae.label,disabled:ae.disabled,onClick:()=>ae.onClick?.({animateThen:S,closeWithAnimation:P})},te))}):c?n.jsx("div",{className:`popup-footer${v!=="center"?` popup-footer--${v}`:""}${y?` ${y}`:""}`,children:typeof c=="function"?c({animateThen:S,closeWithAnimation:P}):c}):null]})});return x||typeof document>"u"?de:en.createPortal(de,document.body)}function lr(e){return String(e)}const ur=["o","triangle","x"];function yu(e,t){return e===t?null:t}const vu={o:"circle",triangle:"triangle",x:"x"},xu={o:"main",triangle:"warn",x:"danger"};function Zy(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const s=t+a+r;return{marked:s,o:t,triangle:a,x:r,rate:s===0?null:(t+a*.5)/s}}function To(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function _u(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function Xy(e,t){return!t&&e>0}const ua={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function Jy(e="landscape"){Gt("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:t,printW:a,printH:r}=ua[e],s=document.createElement("style");s.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(s);const i=()=>{document.head.removeChild(s),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function wu(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let s=0;s<e.length;s+=a)r.push(e.slice(s,s+a));return r}const Qy={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function e5(e,t){const a=Qy[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),s=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,l;return e==="landscape"?(l=s,i=Math.ceil(r/l)):(i=s,l=Math.ceil(r/i)),(e==="landscape"?i<l:l<i)&&([i,l]=[l,i]),{cols:i,rows:l}}const t5={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},Bu={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},Au={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"},Mo={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},Lo={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function ku(e){return Object.fromEntries(Object.entries(Bu).map(([t,a])=>[t,Mo[t]?e(`wordTable.pos.${Mo[t]}`,{defaultValue:a}):a]))}function Nu(e){return Object.fromEntries(Object.entries(Au).map(([t,a])=>[t,Lo[t]?e(`wordSearch.filter.type.${Lo[t]}`,{defaultValue:a}):a]))}const n5={pos:Mo,wordType:Lo};function $o(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function Du(e,t,a,r){if(r!=="\uC810\uC120")return{};const s=e%t,i=Math.floor(e/t),l=s<t-1,u=i<a-1;if(!l&&!u)return{};const c="#ddd",d=y=>`repeating-linear-gradient(to ${y}, ${c} 0, ${c} 5px, transparent 5px, transparent 10px)`,m=[],p=[],C=[];return l&&(m.push(d("bottom")),p.push("1px 100%"),C.push("right center")),u&&(m.push(d("right")),p.push("100% 1px"),C.push("center bottom")),{backgroundImage:m.join(", "),backgroundSize:p.join(", "),backgroundPosition:C.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const a5=280,r5=240,o5=280,s5=400,i5=120,l5=280;function Eu(e,t){const a=o.useRef(null),[r,s]=o.useState(1),[i,l]=o.useState(0),u=o.useCallback((c,d)=>{if(!(c>0))return;const m=c/e,p=t&&d>0?d/t:1/0,C=Math.min(1,m,p);s(C),l(Math.max(0,(c-e*C)/2))},[e,t]);return o.useEffect(()=>{const c=a.current;if(!c)return;const d=t?c.parentElement??c:c;if(u(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const m=new ResizeObserver(([p])=>u(p.contentRect.width,p.contentRect.height));return m.observe(d),()=>m.disconnect()},[u,t]),{scalerRef:a,scale:r,offset:i}}const u5={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},c5=400,Su=8;function ju({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:s=!0,showImage:i=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:c=40,wordInfo:d}){const{t:m}=_e.useTranslation(),p=o.useRef(null),C=o.useRef(null),y=o.useRef(null),[v,f]=o.useState(1),[g,_]=o.useState(!1),[h,w]=o.useState({for:"",url:""}),[b,k]=o.useState(null),x=t&&t.length>0?t:gC()?.(e,r)??"",B=ea()?.(e,r)??"",{imgRef:A,loading:N,failed:E,onLoad:D,onError:H}=So(B),$=o.useCallback(()=>k(C.current?.getBoundingClientRect()??null),[]),G=o.useCallback(()=>k(null),[]),L=eo(!!b,P=>{P?$():G()},C),M=o.useMemo(()=>{if(!d)return null;const P=[];return d.grade&&P.push(m("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&P.push(m("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&P.push(m("wordTable.info.pos",{v:$o(d.pos,ku(m)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&P.push(m("wordTable.info.wordType",{v:$o(d.wordType,Nu(m)),defaultValue:"\uC720\uD615: {{v}}"})),P.length?P:null},[d,m]),I=x||e,K=h.for===I?h.url:"";o.useEffect(()=>{const P=Rr(),j=x||e;if(!P||!j)return;let F=!1;return Promise.resolve(P(j)).then(O=>{!F&&O&&w({for:j,url:O})}),()=>{F=!0}},[x,e]);const Y=o.useRef(null),z=o.useRef(null);o.useEffect(()=>()=>{y.current?.pause(),z.current?.()},[]);const V=o.useCallback(P=>{if(P.stopPropagation(),g){Y.current?.();return}if(!K)return;_(!0);const j=ho(K,()=>{_(!1),z.current?.()});y.current=j.el,Y.current=j.stop,z.current=tr(j.stop)},[g,K]),R=i&&!!B&&!E,q=R&&s?a5:R?o5:r5,S=R&&s?s5:R?l5:i5;return o.useEffect(()=>{const P=p.current;if(!P||typeof ResizeObserver>"u")return;const j=new ResizeObserver(([F])=>{const{width:O,height:W}=F.contentRect;f(Math.min(O/q,W/S))});return j.observe(P),()=>j.disconnect()},[q,S]),n.jsxs("div",{ref:p,className:ke("word-table-cell",R?"word-table-cell--with-image":""),"data-ref-w":q,"data-ref-h":S,children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${v})`},children:[R&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[N&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:A,className:"word-table-cell__image",src:B,alt:e,draggable:!1,style:{opacity:N?0:1},onLoad:D,onError:H})]}),s&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&x&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",x,"]"]}),u&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":K,children:[n.jsx("span",{"data-play-state":"play",style:{display:g?"none":void 0},children:n.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:m("common.play","\uC7AC\uC0DD"),ariaLabel:e?m("common.playFor",{name:e,defaultValue:`${e} \uC7AC\uC0DD`}):m("common.play","\uC7AC\uC0DD"),onClick:V})}),n.jsx("span",{"data-play-state":"pause",style:{display:g?void 0:"none"},children:n.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:m("common.pause","\uBA48\uCDA4"),ariaLabel:e?m("common.pauseFor",{name:e,defaultValue:`${e} \uBA48\uCDA4`}):m("common.pause","\uBA48\uCDA4"),onClick:V})})]}),d&&n.jsxs("div",{ref:C,className:"word-table-cell__info-button",onPointerEnter:P=>{ra(P)||$()},onPointerLeave:P=>{ra(P)||G()},onFocus:()=>{oa()||$()},onBlur:G,children:[n.jsx(me,{htmlType:"button",size:c,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:m("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:P=>{P.stopPropagation(),L.touchPress()}}),b&&M&&n.jsx(qn,{anchorRect:b,items:M,showIndex:!1})]})]})}function ca({title:e,titleIcon:t,disc:a,className:r,orientation:s="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:u=!0,showDivLine:c=!0,items:d,editCells:m,count:p,activeCell:C=null,onActivateCell:y,onRemoveCell:v,onRemoveItem:f,onReorder:g,renderCellAction:_,showFillerAdd:h=!1,contentRef:w,buttonSize:b=40,brand:k,code:x,pageNumber:B,pageNumberPosition:A="right",fitHeight:N=!1,scoring:E=!1,marks:D,onMarkClick:H,scoreIndexOffset:$=0}){const G=o.useCallback((X,ue)=>{H?.($+X,ue)},[H,$]),L=(X,ue)=>{const we=D?.[lr($+X)]??null;return n.jsx("div",{className:ke("word-table-cell__score",we?"word-table-cell__score--marked":""),style:ze>1?{transform:`translateX(-50%) scale(${ze})`,transformOrigin:"bottom center"}:void 0,children:ur.map(De=>n.jsx("span",{className:ke("word-table-cell__score-slot",we===De?"word-table-cell__score-slot--on":""),children:n.jsx(me,{htmlType:"button",size:b,type:"dot",shape:"pill",icon:vu[De],variant:we===De?xu[De]:"default",selected:we===De,useBorder:!1,...Ne?{}:{tabIndex:-1,role:"img"},showTooltipInfo:M(`wordTable.scoring.markName.${De}`,{defaultValue:De}),ariaLabel:M(`wordTable.scoring.${De}`,{word:ue,defaultValue:`${ue} ${De}`}),onClick:Ne?qe=>{qe.stopPropagation(),G(X,De)}:void 0})},De))})},{t:M}=_e.useTranslation(),I=m!==void 0,K=e!=null||!!t||!!a,Y=on("(max-width: 767px)"),z=o.useRef(null),[V,R]=o.useState(null),q=d?.length??0,[S,P]=o.useState(null),[j,F]=o.useState(""),O=o.useRef(null),W=o.useRef(null),Q=o.useRef(null),oe=o.useRef(null),de=o.useCallback(X=>{W.current=X,typeof w=="function"?w(X):w&&(w.current=X)},[w]),ae=o.useCallback((X,ue)=>{O.current=ue,g?.(X,ue),F(M("wordTable.reorder.moved",{n:ue+1,total:q,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[g,M,q]);o.useEffect(()=>{const X=O.current;X!=null&&(O.current=null,W.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[X]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{oe.current?.()},[]);const te=o.useCallback((X,ue)=>{if(!g||!X.altKey||X.ctrlKey||X.metaKey)return;const we=X.key==="ArrowRight";if(!we&&X.key!=="ArrowLeft")return;X.preventDefault();const De=ue+(we?1:-1);De<0||De>=q||ae(ue,De)},[g,q,ae]),Ae=o.useCallback((X,ue)=>{if(!g||X.pointerType==="mouse")return;const we=X.target.closest?.("button");if(we&&!we.closest(".word-table-block__card-handle"))return;oe.current?.();const De={x:X.clientX,y:X.clientY};let qe=!1;const Qe=Pe=>{qe&&Pe.cancelable&&Pe.preventDefault()};let st=null,pt=null;const Ct=()=>{const Pe=pt;if(!Pe)return;const et=document.elementFromPoint?.(Pe.x,Pe.y)?.closest?.("[data-wordtable-cell]"),ht=et?Number(et.dataset.wordtableCell):NaN,Ue=Number.isInteger(ht)?ht:null;Q.current=Ue,R(mt=>mt===Ue?mt:Ue)},bt=Pe=>{if(!qe){(Math.abs(Pe.clientX-De.x)>Su||Math.abs(Pe.clientY-De.y)>Su)&&Ve();return}if(pt={x:Pe.clientX,y:Pe.clientY},typeof requestAnimationFrame>"u"){Ct();return}st===null&&(st=requestAnimationFrame(()=>{st=null,Ct()}))},at=()=>{st!==null&&(cancelAnimationFrame(st),st=null,Ct());const Pe=Q.current,et=qe;Ve(),et&&Pe!=null&&Pe!==ue&&ae(ue,Pe)},Xe=setTimeout(()=>{qe=!0,P(ue),Q.current=ue,R(ue),window.addEventListener("touchmove",Qe,{passive:!1})},c5);function Ve(){clearTimeout(Xe),window.removeEventListener("pointermove",bt),window.removeEventListener("pointerup",at),window.removeEventListener("pointercancel",at),window.removeEventListener("touchmove",Qe),qe=!1,st!==null&&(cancelAnimationFrame(st),st=null),Q.current=null,oe.current=null,P(null),R(null)}oe.current=Ve,window.addEventListener("pointermove",bt),window.addEventListener("pointerup",at),window.addEventListener("pointercancel",at)},[g,ae]),{width:U,height:ne}=ua[s],le=typeof N=="number"?N:N&&typeof N=="object"?Y?N.narrow:N.wide:null,{scalerRef:Ee,scale:be,offset:se}=Eu(U,N?ne:void 0),pe=I?m?.length??0:d?.length??0,he=Math.max(p??pe,1),{cols:ge,rows:fe}=e5(s,he),Te={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},Me=I?(m??[]).some(X=>X!==null&&X.length>1):(d??[]).some(X=>(X.words??[]).length>1),Ie=!!k?.show,Oe=!!k?.show&&k?.top!==!1,He=!!k?.show&&k?.bottom!==!1,dt=k?.copyright??"\xA9 IHAB, Inc. All rights reserved.",ut=ke("word-table-block__content",t5[l],u&&"word-table-block__content--outline",c&&Me&&"word-table-block__content--div-line",!Ie&&B&&A!=="none"&&"word-table-block__content--page-number",Oe&&"word-table-block__content--brand-top",He&&"word-table-block__content--brand-bottom"),ot={transform:`scale(${1/be})`,transformOrigin:"center center"},ct=b*ur.length+4*(ur.length-1),Ne=!!H,ze=Ne?Math.max(1,Math.min(1/be,U/ge/ct)):1,Be=n.jsxs("div",{ref:Ee,className:"word-table__scaler",style:{height:ne*be},children:[n.jsx("div",{className:ke("word-table",E&&!Ne&&"word-table--score-readonly",!K&&r),style:{width:U,height:ne,transform:`scale(${be})`,transformOrigin:"top left",marginLeft:se},children:n.jsxs("div",{ref:de,className:ut,style:{gridTemplateColumns:`repeat(${ge}, 1fr)`,gridTemplateRows:`repeat(${fe}, 1fr)`},children:[I?n.jsx(n.Fragment,{children:(m??[]).map((X,ue)=>n.jsx("div",{className:ke("word-table-block__edit-cell",X?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",C===ue?"word-table-block__edit-cell--active":""),style:Du(ue,ge,fe,l),children:X?n.jsxs(n.Fragment,{children:[X.map((we,De)=>n.jsxs(o.Fragment,{children:[De>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(ju,{label:we.word,subLabel:we.pronunciation,colloquialLabel:we.colloquialPronunciation,homonum:we.homonum,showWord:Te.word,showImage:Te.image,showPronunciation:Te.pron,showColloquial:Te.colloq,buttonSize:b})]},De)),E&&L(ue,X.map(we=>we.word).join(" / ")),v&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(me,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:X.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:X.length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>v(ue)})})]}):y&&n.jsx("div",{style:ot,children:n.jsx(me,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>y(ue)})})},ue))}):n.jsxs(n.Fragment,{children:[(d??[]).map((X,ue)=>n.jsxs("div",{"data-wordtable-cell":g?ue:void 0,className:`word-table-block__card${g?" word-table-block__card--draggable":""}${V===ue?" word-table-block__card--drag-over":""}${S===ue?" word-table-block__card--dragging":""}`,style:Du(ue,ge,fe,l),draggable:!!g,onPointerDown:g?we=>Ae(we,ue):void 0,onKeyDown:g?we=>te(we,ue):void 0,onDragStart:g?()=>{z.current=ue}:void 0,onDragOver:g?we=>{we.preventDefault(),R(ue)}:void 0,onDragLeave:g?()=>R(null):void 0,onDrop:g?we=>{we.preventDefault(),z.current!==null&&z.current!==ue&&g(z.current,ue),z.current=null,R(null)}:void 0,onDragEnd:g?()=>{z.current=null,R(null)}:void 0,children:[(X.words??[]).map((we,De)=>n.jsxs(o.Fragment,{children:[De>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(ju,{label:we.label,subLabel:we.subLabel,colloquialLabel:we.colloquialLabel,homonum:we.homonum,showWord:Te.word,showImage:Te.image,showPronunciation:Te.pron,showColloquial:Te.colloq,buttonSize:b,wordInfo:we.grade||we.syllables!=null||we.pos||we.wordType?{grade:we.grade,syllables:we.syllables,pos:we.pos,wordType:we.wordType}:void 0})]},De)),E&&L(ue,(X.words??[]).map(we=>we.label).join(" / ")),g&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(me,{htmlType:"button",size:b,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:M("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:M("wordTable.reorder.handle",{word:(X.words??[]).map(we=>we.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(_||f)&&n.jsxs("div",{className:"word-table-block__card-actions",children:[_?.(ue,X),f&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(me,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(X.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(X.words??[]).length>1?M("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):M("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(X.id)})})]})]},X.id)),Array.from({length:Math.max(0,ge*fe-(d?.length??0))}).map((X,ue)=>{const we=(d?.length??0)+ue<he;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:h&&y&&we&&n.jsx("div",{style:ot,children:n.jsx(me,{htmlType:"button",size:b,type:"bar",icon:"plus",label:M("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>y((d?.length??0)+ue)})})},`filler-${ue}`)})]}),Oe&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"word-table__band word-table__band--top",children:[n.jsx("img",{className:"word-table__brand-logo",src:k?.topLogo?.src??er,alt:k?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const X=[k?.title&&n.jsx("span",{className:"word-table__paper-title",children:k.title},"t"),k?.owner&&n.jsx("span",{className:"word-table__owner",children:k.owner},"o"),x&&n.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return X.length===0?null:n.jsx("span",{className:"word-table__ident",children:X.map((ue,we)=>n.jsxs(o.Fragment,{children:[we>0&&n.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),ue]},we))})})()]})}),He&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"word-table__band word-table__band--bottom",children:[n.jsxs("span",{className:"word-table__brand-by",children:[k?.bottomLogo?n.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:k.bottomLogo.src,alt:k.bottomLogo.alt}):n.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),n.jsx("span",{className:"word-table__copyright",children:dt})]}),n.jsxs("span",{className:"word-table__band-end",children:[k?.link&&n.jsx("span",{className:"word-table__link",children:k.link}),B&&A!=="none"&&n.jsx("span",{className:"word-table__page-count",children:M("wordTable.filter.pageIndicator",{current:B.current,total:B.total})})]})]})}),!Ie&&B&&A!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${A}`,children:M("wordTable.filter.pageIndicator",{current:B.current,total:B.total})})]})}),g&&n.jsx("span",{role:"status",style:u5,children:j})]}),Ye=le==null?Be:n.jsx("div",{className:"word-table__frame",style:{height:le},children:Be});return K?n.jsx(la,{type:"page",icon:t,title:e,disc:a,className:ke("word-table-block",r),children:Ye}):Ye}function d5(e,t,a){const r=[];for(const s of e??[]){if(s.type==="note"||s.type==="input")continue;const i=s.displayLabel??s.label,l=p5(s,t?.[s.label],a);l!==null&&r.push(`${i} ${l}`)}return r.join(" \xB7 ")}function p5(e,t,a){const r=(Array.isArray(t)?t:t===void 0?[]:[t]).filter(s=>s!==dn);return r.length===0?e.allOption?e.allLabel??a:null:r.map(s=>m5(e,s)).join(", ")}function m5(e,t){const a=[...e.items??[],...(e.groups??[]).flat()];for(const r of a)if(r!=null){if(typeof r=="string"){if(r===t)return r;continue}if(r.value===t)return r.displayLabel??r.labels?.join(" ")??r.value}return t}function Nn({title:e,titleLevel:t=2,headerAction:a,headerSummary:r,collapsible:s=!1,defaultCollapsed:i=!1,collapsed:l,onCollapsedChange:u,footer:c,sections:d,selected:m={},onSelect:p,align:C,sectionAlign:y,className:v}){const f=(C??(y==="vertical"?"newline":"inline"))==="inline",{t:g}=_e.useTranslation(),[_,h]=o.useState(i),w=l??_,b=()=>{const D=!w;h(D),u?.(D)},k=D=>{if(!s)return;const H=D.target;!H||typeof H.closest!="function"||H.closest(".filter-panel__collapse-toggle")||H.closest('button, a, input, select, textarea, label, [role="radiogroup"], [role="button"], [role="menu"]')||b()},x=o.useMemo(()=>r!==void 0||!w?"":d5(d,m,g("common.all","\uC804\uCCB4")),[r,w,d,m,g]),B=r??(x?n.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),A=e||a||r||s,N=o.useId(),E=t?`h${t}`:"span";return n.jsxs("div",{className:ke("filter-panel",s?"filter-panel--collapsible":"",w?"filter-panel--collapsed":"",v),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?N:void 0,children:[A&&n.jsxs("div",{className:"filter-panel__header",onClick:s?k:void 0,children:[n.jsx("div",{className:"filter-panel__title-row",children:e&&n.jsx(E,{id:N,className:"filter-panel__title h4",children:e})}),n.jsxs("div",{className:"filter-panel__header-actions",children:[w?B:a,s&&n.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:w?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:w?g("common.expand","\uD3BC\uCE58\uAE30"):g("common.collapse","\uC811\uAE30"),showTooltipInfo:w?g("common.expand","\uD3BC\uCE58\uAE30"):g("common.collapse","\uC811\uAE30"),"aria-expanded":!w,onClick:b})]})]}),!w&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:ke("filter-panel__sections",f?"filter-panel__sections--row":""),children:d.map(D=>{const H=m[D.label],$=H===void 0||(Array.isArray(H)?H.length===0:!1),G=(D.items??[]).filter(M=>M!=null);D.allOption&&G.some(M=>(typeof M=="string"?M:M.value)===dn)&&Gt(`filter-panel-all-value:${D.label}`,`[FilterPanel] '${D.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${dn}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const L=M=>{const I=typeof M=="string"?M:M.value,K=typeof M!="string"&&!!M.disabled,Y=typeof M!="string"?M.labels:void 0,z=typeof M!="string"?M.displayLabel:void 0,V=typeof M!="string"?M.tooltip:void 0,R=typeof M!="string"?M.descriptionTooltip:void 0,q=typeof M!="string"?M.shape:void 0,S=Array.isArray(H)?H.includes(I):H===I;return n.jsx(me,{htmlType:"button",size:"keyboard",label:Y??z??I,type:D.itemType??(Y?"bar":I.length===1?"dot":void 0),selected:S,disabled:K,shape:q,showTooltipInfo:!!V,tooltipInfoText:V,tooltipDescription:R,onClick:()=>p?.(I,D.label)},I)};return n.jsxs(o.Fragment,{children:[D.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:D.groupLabel}),D.groupAction]}),n.jsxs("div",{className:ke("filter-panel__section",D.layout==="row"?"filter-panel__section--row":"",D.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:D.displayLabel??D.label}),D.labelAction??(D.labelInfo?n.jsx(ja,{...D.labelInfo}):null)]}),D.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:D.content}):D.type==="input"?n.jsx(Kn,{className:"filter-panel__textfield",placeholder:D.placeholder,ariaLabel:D.displayLabel??D.label,value:m[D.label]??"",onChange:M=>p?.(M,D.label),error:D.error}):!D.multiple&&D.display==="segmented"?n.jsx(An,{ariaLabel:D.displayLabel??D.label,options:[...D.allOption?[{key:dn,label:D.allLabel??g("common.all","\uC804\uCCB4"),disabled:D.allOptionDisabled}]:[],...G.map(M=>{const I=typeof M=="string"?M:M.value,K=typeof M!="string"?M.displayLabel:void 0,Y=typeof M!="string"?M.disabled:void 0;return{key:I,label:K??I,disabled:Y}})],value:$&&D.allOption?dn:m[D.label]??"",onChange:M=>p?.(M,D.label),size:32}):!D.multiple&&D.display==="dropdown"?n.jsx(pn,{className:"filter-panel__dropdown",ariaLabel:typeof D.label=="string"?D.label:void 0,size:40,options:[...D.allOption?[{value:dn,label:D.allLabel??g("common.all","\uC804\uCCB4"),disabled:D.allOptionDisabled}]:[],...G.map(M=>{const I=typeof M=="string"?M:M.value,K=typeof M!="string"?M.displayLabel:void 0,Y=typeof M!="string"?M.disabled:void 0;return{value:I,label:K??I,disabled:Y}})],value:$&&D.allOption?dn:m[D.label],onChange:M=>p?.(M,D.label)}):n.jsxs("div",{className:D.groups?"filter-panel__item-groups":"filter-panel__items",children:[D.allOption&&!D.groups&&n.jsx(me,{htmlType:"button",size:"keyboard",label:D.allLabel??g("common.all","\uC804\uCCB4"),selected:$,disabled:D.allOptionDisabled,onClick:()=>p?.(dn,D.label)}),D.groups?D.groups.map((M,I)=>n.jsxs("div",{className:"filter-panel__item-group",children:[I===0&&D.allOption&&n.jsx(me,{htmlType:"button",size:"keyboard",label:D.allLabel??g("common.all","\uC804\uCCB4"),selected:$,disabled:D.allOptionDisabled,onClick:()=>p?.(dn,D.label)}),M.filter(K=>K!=null).map(L)]},I)):G.map(L)]})]})]},D.label)})}),c!=null&&c!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:c})]})]})}const h5=[1,2,3,4,5,6,7,8,9,10,11,12],Tu=[8,4,2,1];function Mu(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function Lu(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function $u(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Ru(e){return{label:e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Pu(e){return{label:e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Fu(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Iu(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Ou(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...Tu.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Hu(e,t){return e===t||!Tu.includes(e)?Number.POSITIVE_INFINITY:e}function C5(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const zu={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Vu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Wu(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",...t.showTopInfo!=null?{[e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")]:t.showTopInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{},...t.showBottomInfo!=null?{[e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")]:t.showBottomInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{}}}function qu(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===dn?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(s=>s.includes(t)?s.filter(i=>i!==t):[...s,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")?(r.setShowTopInfo?.(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")?(r.setShowBottomInfo?.(t==="\uD45C\uC2DC"),!0):!1}function f5(e){return"sections"in e}function Ro(e){const{t}=_e.useTranslation(),{title:a,className:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c}=e,d={collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c};if(f5(e))return n.jsx(Nn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...d,align:"inline"});const{hasImage:m,hasColloquial:p,contentTypes:C,orientation:y,showOutline:v,cutLine:f,showDivLine:g,setters:_,showCutLine:h=!1,showDivLine2:w=!1,middleSections:b=[],extraSelected:k={},onExtraSelect:x,showPaperBands:B=!1,showTopInfo:A=!0,showBottomInfo:N=!0}=e,E=[Mu(t,{hasImage:m,hasColloquial:p}),Lu(t),...b,$u(t),...h?[Fu(t)]:[],...w?[Iu(t)]:[],...B?[Ru(t),Pu(t)]:[]],D={...Wu(t,{contentTypes:C,orientation:y,showOutline:v,cutLine:f,showDivLine:g,showTopInfo:A,showBottomInfo:N}),...k},H=($,G)=>{qu(t,$,G,_)||x?.($,G)};return n.jsx(Nn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:D,onSelect:H,...d,sectionAlign:"horizontal"})}function Uu(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Po(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let cr=null,da=null;function g5(e,t,a,r="",s=""){if(e.length===0||da&&da.iframe.isConnected&&Date.now()-da.at<1e4)return;const i=r?Po(r):"";cr?.();let l=null;if(i){const d=document.title;document.title=i,l=()=>{document.title=d,window.removeEventListener("afterprint",l),cr===l&&(cr=null)},cr=l,window.addEventListener("afterprint",l)}const u=document.createElement("iframe");u.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(u);const c=u.contentDocument;if(!c){u.remove();return}da={iframe:u,at:Date.now()},c.open(),c.write(Fo(e,t,a,!0,i,s)),c.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),da?.iframe===u&&(da=null)},0)})}function Fo(e,t,a,r=!1,s="",i=""){s=s?Po(s):"";const l=Array.from(document.styleSheets).flatMap(m=>{try{return Array.from(m.cssRules).map(p=>p.cssText)}catch{return[]}}).join(`
|
|
860
|
-
`),u="light",c=
|
|
856
|
+
`).map(s=>s.replace(/\t/g," ")),r=a.filter(s=>s.trim().length>0),i=r.length>0?Math.min(...r.map(s=>s.match(/^ */)?.[0].length??0)):0;return a.map(s=>s.slice(i)).join(`
|
|
857
|
+
`)}const ny=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),ay=/^(?:const|let|var|function|return|if|else|for|while|switch|case|break|import|from|export|class|new|try|catch|finally|throw|await|async|null|true|false|this|typeof|instanceof)\b/;function ry(e,t){let a=e;const r=[],i=/^(?:sh|bash|zsh|shell|console)$/.test(t.toLowerCase()),s=(l,u)=>r.push({type:l,content:u});for(;a.length>0;){const l=a.match(/^\s+/);if(l){s("whitespace",l[0]),a=a.slice(l[0].length);continue}if(!i&&a.startsWith("//")){const y=a.indexOf(`
|
|
858
|
+
`),g=y===-1?a:a.slice(0,y);s("comment",g),a=a.slice(g.length);continue}if(i&&a.startsWith("#")){const y=a.indexOf(`
|
|
859
|
+
`),g=y===-1?a:a.slice(0,y);s("comment",g),a=a.slice(g.length);continue}const u=a.match(/^\/\*[\s\S]*?\*\//);if(u){s("comment",u[0]),a=a.slice(u[0].length);continue}const c=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(c){s("string",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^\d+(?:\.\d+)?/);if(d){s("number",d[0]),a=a.slice(d[0].length);continue}const m=a.match(ay);if(m){s("keyword",m[0]),a=a.slice(m[0].length);continue}const p=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(p){const y=p[0];s(i&&ny.has(y)?"command":"identifier",y),a=a.slice(y.length);continue}const h=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(h){s("operator",h[0]),a=a.slice(h[0].length);continue}const v=a.match(/^[()[\]{};.,]/);if(v){s("punctuation",v[0]),a=a.slice(1);continue}s("other",a[0]),a=a.slice(1)}return r}function oy({children:e,language:t="bash",title:a="",showCopy:r=!0,size:i="default",className:s=""}){const{t:l}=_e.useTranslation(),[u,c]=o.useState(!1),d=ty(Yl(e)),m=o.useRef(null);o.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const p=async()=>{try{if(!await YC(d))return;c(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>c(!1),2e3)}catch{}},h=ry(d,t),v=i==="small"?"caption-1":"body-3";return n.jsxs("div",{className:Ae("code-box",i==="small"?"code-box--small":"",s),children:[(a||r)&&n.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":l("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[n.jsx("div",{className:"code-box__title caption-1",children:a}),r&&n.jsx(he,{htmlType:"button",className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:u?"check":"copy",onClick:p,ariaLabel:u?l("common.copied","\uBCF5\uC0AC\uB428"):l("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),n.jsx("pre",{className:"code-box__inner","data-lang":t,children:n.jsx("code",{children:h.map((y,g)=>n.jsx("span",{className:`code-token ${y.type} ${v}`,children:y.content},g))})})]})}const sy={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0};function Ra(e){const{t}=_e.useTranslation(),{variant:a="spinner",size:r=24,progress:i=null,label:s}=e||{},l=s||t("loader.loading","Loading");if(a==="bar"){const c=i==null||!Number.isFinite(Number(i)),d=c?0:Math.max(0,Math.min(100,Number(i)));return n.jsx("div",{className:`loader-bar${c?" loader-bar--indeterminate":""}`,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":c?void 0:d,"aria-label":l,children:n.jsx("div",{className:"loader-bar__inner",style:c?void 0:{width:`${d}%`}})})}const u=typeof r=="number"?`${r}px`:r;return n.jsxs("div",{className:"loader-spinner",style:{width:u,height:u},role:"status","aria-label":l,children:[n.jsx("span",{style:sy,children:l}),n.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:r,height:r,children:[n.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),n.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})]})}function Zl({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:i,labelPosition:s="right",className:l="",id:u}){const c=r&&n.jsx("span",{className:"toggle__label body-3",children:r});return n.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${l}`.trim(),children:[s==="left"&&c,n.jsx("input",{id:u,type:"checkbox",role:"switch",checked:e,disabled:a,onChange:d=>t?.(d.target.checked),"aria-label":!r&&i?i:void 0}),n.jsx("span",{className:"toggle__slider"}),s==="right"&&c]})}function Xl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:i,size:s="medium",className:l,title:u,ariaLabel:c}){const d=o.useRef(null),m=o.useId(),p=o.useRef(!!r);return p.current=!!r,o.useEffect(()=>{d.current&&(d.current.indeterminate=!!r)}),n.jsxs("label",{className:Ae("checkbox",s==="small"&&"checkbox--small",s==="large"&&"checkbox--large",a&&"checkbox--disabled",l),htmlFor:m,title:u,children:[n.jsx("input",{ref:d,id:m,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>{t?.(h.target.checked),d.current&&(d.current.indeterminate=p.current)},disabled:a,"aria-label":!i&&c?c:void 0}),n.jsx("span",{className:"checkbox__box"}),i&&n.jsx("span",{className:"checkbox__label body-3",children:i})]})}function iy({count:e,actions:t,onClear:a,clearLabel:r,visible:i,content:s,max:l}){const{t:u}=_e.useTranslation(),c=i!==void 0?i:e>0,d=r??u("bulkBar.clearSelection","\uC120\uD0DD \uD574\uC81C"),m=o.useRef(null),p=o.useRef(null),h=o.useRef(null),v=o.useRef(c);o.useLayoutEffect(()=>{const C=p.current,w=v.current;if(v.current=c,c&&!w){const b=typeof document<"u"?document.activeElement:null;h.current=b&&b!==document.body&&!C?.contains(b)?b:null}else!c&&w&&C&&C.contains(document.activeElement)&&Za(C,h.current)},[c]);const[y,g]=o.useState(!1),f=o.useRef(!1),_=o.useRef(null);return o.useEffect(()=>{const C=m.current;if(!C)return;const w=N=>{f.current=N,g(N)},b=()=>{const N=C.firstElementChild??C,E=Array.from(N.children);if(E.length<2){w(!1);return}const D=E[0].offsetTop,H=E.some($=>$.offsetTop!==D);if(!f.current){_.current=C.clientWidth,H&&w(!0);return}if(H)return;const P=E[0],Y=E[E.length-1],M=Y.offsetLeft+Y.offsetWidth-P.offsetLeft,L=_.current;(L==null||M<=L)&&w(!1)};if(b(),typeof ResizeObserver>"u")return;const k=new ResizeObserver(b);k.observe(C);const x=C.parentElement;let B=x?.clientWidth??0;const A=new ResizeObserver(()=>{const N=x?.clientWidth??0;N!==B&&(B=N,_.current=null,b())});return x&&A.observe(x),()=>{k.disconnect(),A.disconnect()}},[s,e]),n.jsxs("div",{ref:p,className:`bulk-bar ${c?"bulk-bar--visible":""}`,inert:!c||void 0,"aria-hidden":c?void 0:!0,children:[n.jsx("span",{ref:m,className:"bulk-bar__count body-2",role:"status",children:s??n.jsx("b",{children:u("common.selectedCount",{count:e})})}),l!==void 0&&n.jsx(At,{size:"small",fill:"soft",variant:"main",label:`${e} / ${l}`,"aria-label":u("common.selectedOfMax",{count:e,max:l,defaultValue:`\uCD5C\uB300 ${l}\uAC1C \uC911 ${e}\uAC1C`})}),n.jsxs("div",{className:`bulk-bar__actions${y?" bulk-bar__actions--stacked":""}`,children:[n.jsx(he,{htmlType:"button",size:40,label:d,onClick:a}),t.map((C,w)=>n.jsx(he,{htmlType:"button",size:40,variant:C.variant??"default",icon:C.icon,label:C.label,onClick:C.onClick},w))]})]})}const ly=[{\uC5F4\uC1E0:"edit",icon:"edit-2",\uB2EB\uACE0\uD560\uAE4C:!0},{\uC5F4\uC1E0:"duplicate",icon:"copy",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"publish",icon:"book-marked",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"copyLink",icon:"link",\uB2EB\uACE0\uD560\uAE4C:!1},{\uC5F4\uC1E0:"remove",icon:"trash-2",\uB2EB\uACE0\uD560\uAE4C:!0}];function uy(e){const{onClose:t,className:a}=e;return n.jsx("div",{className:Ae("item-actions",a),children:ly.map(({\uC5F4\uC1E0:r,icon:i,\uB2EB\uACE0\uD560\uAE4C:s})=>{const l=e[r];if(!l)return null;const u=r==="publish"?l.published?l.unpublish:l.publish:l;return n.jsx(he,{htmlType:"button",size:40,type:"dot",icon:i,ariaLabel:u.label,showTooltipInfo:u.label,onClick:()=>{s&&t(),u.onClick()}},r)})})}function Jl(e,t){const a=()=>{if(e){const[g,f]=e.split("-");return{y:+g,m:+f-1}}const[v,y]=Ur(t).split("-");return{y:+v,m:+y-1}},[r,i]=o.useState(()=>a().y),[s,l]=o.useState(()=>a().m),u=o.useRef(e);o.useEffect(()=>{if(e===u.current)return;u.current=e;const v=a();i(v.y),l(v.m)},[e]);const c=o.useRef({y:r,m:s});o.useEffect(()=>{c.current={y:r,m:s}},[r,s]);const d=o.useCallback(v=>{const y=c.current.y*12+c.current.m+v,g=Math.floor(y/12),f=y-g*12;c.current={y:g,m:f},i(g),l(f)},[]),m=o.useCallback(()=>d(-1),[d]),p=o.useCallback(()=>d(1),[d]),h=o.useCallback((v,y)=>{c.current={y:v,m:y},i(v),l(y)},[]);return{viewY:r,viewM:s,prevMonth:m,nextMonth:p,setViewYM:h}}function rr(e,t){return new Date(e,t+1,0).getDate()}function cy(e,t){return new Date(e,t,1).getDay()}function or(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function dy(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function py(e,t,a,r){const i=a?+a.split("-")[0]:e-10,s=r?+r.split("-")[0]:e+10,l=[];for(let u=i;u<=s;u++)for(let c=0;c<12;c++){const d=`${u}-${String(c+1).padStart(2,"0")}`;a&&d<a.slice(0,7)||r&&d>r.slice(0,7)||l.push({value:d,label:t(u,c+1)})}return l}function my({value:e,onChange:t,size:a=48,min:r,max:i,disabled:s,placeholder:l,className:u,today:c}){const{t:d}=_e.useTranslation(),m=l??d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),p=o.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),h=Ur(c),{viewY:v,viewM:y,prevMonth:g,nextMonth:f,setViewYM:_}=Jl(e,c),C=o.useId(),w=o.useCallback((j,I)=>{const S=window.innerHeight,F=window.innerWidth,O=typeof document<"u"?document.getElementById(C):null,U=Math.max(O?.offsetHeight||0,O?.scrollHeight||0)||300,Q=Math.max(j.width,O?.offsetWidth||0,260),oe=S-j.bottom,me=j.top,ae=oe<U&&me>oe,te=8,ke=(G,re)=>Math.min(Math.max(te,G),Math.max(te,re));return{position:"fixed",left:ke(j.left,F-Q-te),width:j.width,minWidth:260,...ae?{top:"auto",bottom:ke(S-j.top+6,S-U-te)}:{bottom:"auto",top:ke(j.bottom+6,S-U-te)},zIndex:Na(I)}},[C]),{open:b,setOpen:k,toggle:x,style:B,triggerRef:A,menuRef:N}=Da({computeStyle:w,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});o.useEffect(()=>{if(!b)return;const j=N.current;return(j?.querySelector(".date-picker__day--selected:not(:disabled)")??j?.querySelector(".date-picker__day--today:not(:disabled)")??j?.querySelector(".date-picker__day:not(:disabled)")??j?.querySelector(Cn)??j)?.focus?.(),()=>{const I=document.activeElement;(!I||I===document.body)&&A.current?.focus?.()}},[b,N,A]);const[E,D]=o.useState(1),H=o.useRef(null),P=o.useRef(null);o.useEffect(()=>{if(!b)return;const j=e&&e.slice(0,7)===`${v}-${String(y+1).padStart(2,"0")}`?+e.slice(8):h.slice(0,7)===`${v}-${String(y+1).padStart(2,"0")}`?+h.slice(8):1;D(j)},[b]),o.useEffect(()=>{if(P.current==null)return;const j=P.current;P.current=null,H.current?.querySelector(`[data-day="${j}"]`)?.focus()}),o.useEffect(()=>{D(j=>Math.min(j,rr(v,y)))},[v,y]);const Y=o.useCallback(j=>{let I=or(j.getFullYear(),j.getMonth(),j.getDate());r&&I<r&&(I=r),i&&I>i&&(I=i);const[S,F,O]=I.split("-").map(Number);(S!==v||F-1!==y)&&_(S,F-1),D(O),P.current=O},[r,i,v,y,_]),M=o.useCallback(j=>{const I=new Date(v,y,E),S=O=>{I.setDate(I.getDate()+O),Y(I)},F=O=>{const U=I.getFullYear()*12+I.getMonth()+O,Q=Math.floor(U/12),oe=U-Q*12;Y(new Date(Q,oe,Math.min(I.getDate(),rr(Q,oe))))};switch(j.key){case"ArrowLeft":S(-1);break;case"ArrowRight":S(1);break;case"ArrowUp":S(-7);break;case"ArrowDown":S(7);break;case"Home":S(-I.getDay());break;case"End":S(6-I.getDay());break;case"PageUp":j.shiftKey?F(-12):F(-1);break;case"PageDown":j.shiftKey?F(12):F(1);break;default:return}j.preventDefault()},[v,y,E,Y]),L=o.useCallback(j=>{s||(t(or(v,y,j)),k(!1))},[v,y,t,k,s]);o.useEffect(()=>{s&&k(!1)},[s,k]);const $=j=>{const I=or(v,y,j);return!!(r&&I<r||i&&I>i)},K=(()=>{const j=rr(v,y);if(E>=1&&E<=j&&!$(E))return E;for(let I=1;I<=j;I++)if(!$(I))return I;return-1})(),V=[];for(let j=0;j<cy(v,y);j++)V.push(null);for(let j=1;j<=rr(v,y);j++)V.push(j);const z=a===64?20:a===40?16:18,W=py(v,(j,I)=>d("calendar.yearMonth",{year:j,month:I,defaultValue:"{{year}}\uB144 {{month}}\uC6D4"}),r,i),R=`${v}-${String(y+1).padStart(2,"0")}`,q=b?Jt.createPortal(n.jsxs("div",{ref:N,id:C,className:"date-picker__dropdown",style:B,"data-tooltip-ignore":!0,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[n.jsxs("div",{className:"date-picker__nav",children:[n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:g,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(fs,{size:16,strokeWidth:2})}),n.jsx(dn,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:W,value:R,onChange:j=>{const[I,S]=j.split("-");_(+I,+S-1)},block:!0,size:40}),n.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(gs,{size:16,strokeWidth:2})})]}),n.jsxs("div",{className:"date-picker__grid",ref:H,onKeyDown:M,children:[p.map(j=>n.jsx("div",{className:"date-picker__dow caption-1",children:j},j)),V.map((j,I)=>{if(j===null)return n.jsx("div",{},`e${I}`);const S=or(v,y,j),F=S===e,O=S===h,U=$(j),Q=I%7;return n.jsx("button",{type:"button",disabled:U,"data-day":j,tabIndex:j===K?0:-1,"aria-current":O?"date":void 0,onClick:()=>!U&&L(j),className:Ae("date-picker__day caption-1",F&&"date-picker__day--selected",O&&!F&&"date-picker__day--today",U&&"date-picker__day--disabled",Q===0&&"date-picker__day--sun",Q===6&&"date-picker__day--sat"),children:j},j)})]})]}),document.body):null;return n.jsxs("div",{className:Ae("date-picker",`date-picker--s${a}`,b&&"date-picker--open",u),children:[n.jsxs("button",{ref:A,type:"button",className:"date-picker__trigger body-2",onClick:()=>!s&&x(),disabled:s,"aria-haspopup":"true","aria-expanded":b,children:[n.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?dy(e):m}),n.jsx(ks,{size:z,className:"date-picker__icon",strokeWidth:1.5})]}),q]})}function Ql({children:e,className:t}){const a=o.useRef(null),[r,i]=o.useState(null);return o.useEffect(()=>{i(a.current?.parentElement??null)},[]),o.useEffect(()=>{const s=a.current;if(!s||!r)return;const l=()=>{const c=typeof window<"u"&&window.getComputedStyle(s).position==="absolute"?Math.ceil(s.getBoundingClientRect().width):0;c>0?r.style.setProperty("--section-head-float-w",`${c}px`):r.style.removeProperty("--section-head-float-w")};if(l(),typeof ResizeObserver>"u")return()=>{r.style.removeProperty("--section-head-float-w")};const u=new ResizeObserver(()=>l());return u.observe(s),u.observe(r),()=>{u.disconnect(),r.style.removeProperty("--section-head-float-w")}},[r,e]),n.jsx("div",{ref:a,className:Ae("section-head-float",t),children:e})}function vo({items:e,className:t}){return n.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>n.jsxs("span",{className:"manager-bar-chart-legend-item",children:[n.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function Pa({label:e,children:t}){return e?n.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[n.jsx("span",{className:"barchart-total__label body-3",children:e}),n.jsx("span",{className:"barchart-total__value",children:t})]}):n.jsx("div",{className:"barchart-total",children:t})}function xo({title:e,titleClassName:t="h3",titleLevel:a=3,icon:r,disc:i,headRight:s,headFloat:l,headSegment:u,headMenuItems:c,collapseBelow:d=420,onClick:m,ariaLabel:p,tooltip:h,totalNum:v,totalUnit:y,totalLabel:g,subRow:f,subRowAlign:_="start",className:C,inGrid:w=!1,children:b}){const{t:k}=_e.useTranslation(),x=o.useRef(null),{anchorRect:B,openAt:A,close:N}=ka(),E=o.useCallback(()=>{h&&x.current&&A(x.current)},[h,A]),[D,H]=o.useState(!1);bo(()=>{const S=x.current;if(!S||!u)return;const F=U=>H(U>0&&U<d);if(F(S.clientWidth),typeof ResizeObserver>"u")return;const O=new ResizeObserver(U=>F(U[0].contentRect.width));return O.observe(S),()=>O.disconnect()},[u,d]);const[P,Y]=o.useState(null),M=o.useCallback(()=>Y(null),[]),L=o.useCallback(S=>{const F=S.currentTarget.getBoundingClientRect();Y(O=>O?null:{left:F.left,right:F.right,top:F.top,bottom:F.bottom,width:F.width,height:F.height,x:F.x,y:F.y})},[]),$=!!u&&D;o.useEffect(()=>{$||Y(null)},[$]);const K=u?[...u.options.map(S=>({label:S.label,icon:S.icon,selected:S.key===u.value,disabled:S.disabled,onClick:()=>u.onChange(S.key),closeOnSelect:!0})),...(c??[]).map((S,F)=>F===0?{...S,separatorBefore:!0}:S)]:[],V=o.useCallback(S=>{if(!m)return;const F=S.target;F&&typeof F.closest=="function"&&F.closest('button, a, input, select, textarea, [role="radiogroup"]')||m()},[m]),z=o.useCallback(S=>{m&&S.target===S.currentTarget&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),m())},[m]),W=typeof s=="function"?s({collapsed:$}):s,R=v!=null||g?n.jsxs(Pa,{label:g,children:[v!=null&&n.jsx("span",{className:"barchart-total__num h0",children:v}),y&&n.jsx("span",{className:"barchart-total__unit h5",children:y})]}):null,q=W||u?n.jsxs("div",{className:"manager-section__head-right",children:[u&&($?n.jsx(he,{htmlType:"button",size:32,type:"dot",icon:"ellipsis",ariaLabel:u.ariaLabel??k("common.more","\uB354\uBCF4\uAE30"),showTooltipInfo:u.ariaLabel??k("common.more","\uB354\uBCF4\uAE30"),"aria-haspopup":"menu","aria-expanded":!!P,onClick:L}):n.jsx(fn,{size:32,ariaLabel:u.ariaLabel,options:u.options.map(S=>({key:S.key,label:S.label,disabled:S.disabled})),value:u.value,onChange:u.onChange})),W]}):null,j=o.useId(),I=a?`h${a}`:"div";return n.jsxs("section",{ref:x,className:["manager-section",w&&"manager-section--grid",m&&"manager-section--clickable",C].filter(Boolean).join(" "),onClick:m?V:void 0,onKeyDown:m?z:void 0,onPointerEnter:h?E:void 0,onPointerLeave:h?N:void 0,onFocus:h?E:void 0,onBlur:h?N:void 0,role:m?"button":void 0,tabIndex:m?0:void 0,"aria-label":m?p??(typeof e=="string"?e:void 0):void 0,"aria-labelledby":!m&&e!=null?j:void 0,children:[h&&B&&n.jsx(_n,{anchorRect:{left:B.left,top:B.top+21,right:B.right,bottom:B.bottom,width:B.width,height:B.height},text:h}),l&&n.jsx(Ql,{children:l}),n.jsxs("div",{className:"manager-section__head",children:[n.jsxs("div",{className:"manager-section__title-row",children:[r&&n.jsx(et,{icon:r,label:typeof e=="string"?e:void 0,className:"manager-section__icon"}),n.jsx(I,{id:j,className:["manager-section__title",t].filter(Boolean).join(" "),children:e})]}),q,i&&n.jsx("div",{className:"manager-section__disc body-3",children:i})]}),(R||f)&&n.jsxs("div",{className:["barchart-sub-row",_!=="start"&&`barchart-sub-row--${_}`].filter(Boolean).join(" "),children:[R,f]}),b,P&&n.jsx(un,{anchorRect:P,onClose:M,ariaLabel:u?.ariaLabel??k("tooltip.menu","\uBA54\uB274"),children:n.jsx(Ea,{columns:[{items:K}],onClose:M,size:"small"})})]})}function gn(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function hy(){const e=na();let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<gn(t,a)){const l=new Date(t,a,0);t=l.getFullYear(),a=l.getMonth(),r=l.getDate()}const i=Math.floor((r-gn(t,a))/7),s=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:s,value:`${s}#${i}`}}function Cy(e){const t=na(),a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=(c,d)=>`${c}\uB144 ${d+1}\uC6D4`,i=new Map;i.set(a,[]);for(const c of e){if(isNaN(c.date.getTime()))continue;const d=r(c.date.getFullYear(),c.date.getMonth());i.has(d)||i.set(d,[]),i.get(d).push(c)}for(const[c,d]of[...i.entries()]){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),h=Number(m[2])-1,v=gn(p,h);if(!(c===a&&t.getDate()<v)&&!d.some(f=>f.date.getDate()<v))continue;const y=new Date(p,h,0),g=r(y.getFullYear(),y.getMonth());i.has(g)||i.set(g,[])}const s=new Map;for(const[c,d]of i){const m=c.match(/^(\d+)년 (\d+)월$/);if(!m)continue;const p=Number(m[1]),h=Number(m[2])-1,v=new Date(p,h+1,0).getDate(),y=d.reduce((b,k)=>Math.max(b,k.parts?.length??0,k.partsB?.length??0),0),g=d.some(b=>b.partsB),f=new Array(v+1).fill(0),_=new Array(v+1).fill(0),C=Array.from({length:v+1},()=>new Array(y).fill(0)),w=Array.from({length:v+1},()=>new Array(y).fill(0));for(const b of d){const k=b.date.getDate();if(f[k]+=b.a,_[k]+=b.b,b.parts)for(let x=0;x<y;x++)C[k][x]+=b.parts[x]??0;if(b.partsB)for(let x=0;x<y;x++)w[k][x]+=b.partsB[x]??0}s.set(c,{year:p,month:h,daysInMonth:v,partsLen:y,hasPartsB:g,dayA:f,dayB:_,dayParts:C,dayPartsB:w})}const l=(c,d,m)=>new Date(c,d,m).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),u={};for(const[c,d]of s){const{year:m,month:p,daysInMonth:h,dayA:v,dayB:y,dayParts:g,dayPartsB:f}=d,_=m===t.getFullYear()&&p===t.getMonth(),C=t.getDate(),w=s.get(r(p===11?m+1:m,(p+1)%12)),b=d.partsLen,k=[];for(let B=1;B<=h;B++){const A=_&&B>C;k.push({label:String(B),...A&&v[B]===0&&y[B]===0?{future:!0}:{},a:A&&v[B]===0&&y[B]===0?-1:v[B],b:y[B],...b?{parts:g[B]}:{},...b&&d.hasPartsB?{partsB:f[B]}:{}})}const x=[];for(let B=gn(m,p);B<=h;B+=7){const A=Math.max(0,B+6-h),N=A&&w?Math.max(b,w.partsLen):b,E=d.hasPartsB||!!(A&&w?.hasPartsB);let D=0,H=0;const P=new Array(N).fill(0),Y=new Array(N).fill(0);for(let L=B;L<=Math.min(B+6,h);L++){D+=v[L],H+=y[L];for(let $=0;$<b;$++)P[$]+=g[L][$],Y[$]+=f[L][$]}if(A&&w)for(let L=1;L<=A&&!l(w.year,w.month,L);L++){D+=w.dayA[L],H+=w.dayB[L];for(let $=0;$<w.partsLen;$++)P[$]+=w.dayParts[L][$],Y[$]+=w.dayPartsB[L][$]}const M=A?`${(p+1)%12+1}/${A}`:`${B+6}`;x.push({label:`${x.length+1}\uC8FC`,sublabel:`[${B}\uC77C~${M}\uC77C]`,a:D,b:H,...N?{parts:P}:{},...N&&E?{partsB:Y}:{}})}u[c]={weekly:x,daily:k}}return u}function eu(){const e=na(),t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let i=2024;i<=t;i++){const s=i===t?a:12;for(let l=1;l<=s;l++){const u=`${i}\uB144 ${l}\uC6D4`;r.push({value:u,label:u,year:i,month:l})}}return r.reverse()}eu();function fy(){return eu()}const tu=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function nu(e){const{t,i18n:a}=_e.useTranslation(),[r,i]=o.useState("week"),s=o.useMemo(()=>fy().filter(N=>N.value in e),[e]),l=o.useMemo(()=>{const N=[];for(const E of s){const D=new Date(E.year,E.month,0).getDate(),H=gn(E.year,E.month-1),P=Math.ceil((D-H+1)/7);for(let Y=P-1;Y>=0;Y--)N.push({value:`${E.value}#${Y}`,monthKey:E.value,year:E.year,month:E.month,week:Y})}return N},[s]),u=o.useCallback(N=>{const E=t("calendar.yearMonth",{year:N.year,month:N.month});return a.language?.startsWith("ko")?`${E} ${tu[N.week]??`${N.week+1}`}\uC8FC`:`${E} Week ${N.week+1}`},[t,a.language]),c=o.useMemo(()=>s.map(N=>({value:N.value,label:t("calendar.yearMonth",{year:N.year,month:N.month})})),[t,s]),d=o.useMemo(()=>l.map(N=>({value:N.value,label:u(N)})),[l,u]),m=o.useMemo(()=>hy(),[e]),p=o.useMemo(()=>s.find(N=>N.value===m.monthKey)?.value??s[0]?.value??"",[s,m]),h=o.useMemo(()=>l.find(N=>N.value===m.value)?.value??l[0]?.value??"",[l,m]),[v,y]=o.useState(""),[g,f]=o.useState("");o.useEffect(()=>{s.find(N=>N.value===v)||y(p)},[s,v,p]),o.useEffect(()=>{l.find(N=>N.value===g)||f(h)},[l,g,h]);const _=r==="month"?c:d,C=r==="month"?v:g,w=r==="month"?y:f,b=o.useMemo(()=>{const N=t("calendar.dow",{returnObjects:!0});return Array.isArray(N)?N:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=_.findIndex(N=>N.value===C),x=o.useCallback(()=>{const N=_.findIndex(E=>E.value===C);N<_.length-1&&w(_[N+1].value)},[_,C,w]),B=o.useCallback(()=>{const N=_.findIndex(E=>E.value===C);N>0&&w(_[N-1].value)},[_,C,w]),A=o.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:i,range:C,setRange:w,activeOptions:_,activeIdx:k,handlePrev:x,handleNext:B,periodOptions:A,monthRange:v,weekRange:g,weekRanges:l,DOW:b}}const yt=e=>typeof e=="number"&&Number.isFinite(e)?e:0;function kn(e,t=!0){return e.future===!0||t&&e.a===-1}function gy({data:e,colorA:t,colorB:a,labelA:r,labelB:i,barWidth:s=10,barGap:l=1,height:u=140,maxOverride:c,tightMax:d,seriesColors:m,seriesLabels:p,rateLabels:h,grouped:v=!1,baseline:y,focusableBars:g=!1}){const f=!a,_=!!(m&&m.length>0),C=y,w=o.useMemo(()=>_?Math.max(0,...e.filter(z=>!kn(z,C==null)).map(z=>v?Math.max(0,...(z.parts??[]).map(yt)):(z.parts??[]).reduce((W,R)=>W+Math.max(0,yt(R)),0))):Math.max(0,...e.filter(z=>!kn(z,C==null)).flatMap(z=>f?[yt(z.a)]:[yt(z.a),yt(z.b)])),[e,f,_,v]),b=o.useMemo(()=>{if(C==null)return 0;const z=e.filter(W=>!kn(W,C==null)).flatMap(W=>_?(W.parts??[]).map(yt):f?[yt(W.a)]:[yt(W.a),yt(W.b)]);return Math.max(0,...z.map(W=>Math.abs(W-C)))},[e,C,_,f]),k=o.useMemo(()=>{const z=C!=null?b:w;return c??(d?z>0?z:10:Math.ceil(z/10)*10||10)},[w,b,C,c,d]),x=u,B=_?v?Math.max(1,m.length):1:f?1:2,A={"--bar-width":`${o.useMemo(()=>{const z=Math.max(1,e.length);return Math.max(2,Math.min(s,Math.round(120/(z*B)+6)))},[e.length,B,s])}px`},N={"--bar-group-gap":`${Math.max(0,l)}px`},E=o.useMemo(()=>{const z=Math.round(k/2);return C!=null?[C+k,...z!==k?[C+z]:[],C,...z!==k?[C-z]:[],C-k]:z!==k?[k,z,0]:[k,0]},[k,C]),D=z=>C!=null?1-(z-(C-k))/(2*k):1-z/k,[H,P]=o.useState(null),Y=o.useCallback(()=>P(null),[]),M=o.useCallback((z,W)=>{const R=[z.label,z.sublabel].filter(Boolean).join(" ");let q;if(_&&v&&z.rawPartsB)q=(p??[]).map((j,I)=>{const S=z.rawPartsB[I]??0;return{text:S>0?`${j}: ${W[I]??0}% (${z.rawParts?.[I]??0}/${S})`:`${j}: -`,color:(m??[])[I]}});else if(_&&v)q=(p??[]).map((j,I)=>({text:`${j}: ${K(W[I]??0)}`,color:(m??[])[I]}));else if(_){const j=(p??[]).map((S,F)=>({text:`${S}: ${W[F]??0}`,color:(m??[])[F]})),I=j.filter((S,F)=>(W[F]??0)>0);q=I.length?I:j}else h&&!f?q=[{text:`${r} ${yt(z.a)}%`,color:t},{text:`${i} ${yt(z.b)}%`,color:a}]:h&&z.rawB!==void 0?q=[{text:`${h.total} ${z.rawB}`},{text:`${h.done} ${z.rawA??0}`,color:t}]:f?q=[{text:`${r}: ${yt(z.a)}`,color:t}]:q=[{text:`${r}: ${yt(z.a)}`,color:t},{text:`${i}: ${yt(z.b)}`,color:a}];return{title:R,items:q}},[_,v,p,m,h,f,r,i,t,a,C]),L=o.useCallback((z,W,R)=>{const q=z.getBoundingClientRect(),{title:j,items:I}=M(W,R);P({rect:{left:q.left,top:q.top,right:q.right,bottom:q.bottom,width:q.width,height:q.height},title:j,items:I})},[M]),$=o.useCallback((z,W)=>{const{title:R,items:q}=M(z,W);return[R,...q.map(j=>j.text)].filter(Boolean).join(", ")},[M]),K=z=>C!=null&&z>C?`+${z}`:`${z}`,V=H!=null;return o.useEffect(()=>{if(!V)return;const z=()=>P(null),W=R=>{const q=R.target;q&&typeof q.closest=="function"&&q.closest(".manager-bar-chart-col")||P(null)};return window.addEventListener("scroll",z,!0),document.addEventListener("pointerdown",W,!0),()=>{window.removeEventListener("scroll",z,!0),document.removeEventListener("pointerdown",W,!0)}},[V]),n.jsxs("div",{className:"manager-bar-chart-wrap",style:N,children:[n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsx("div",{className:"manager-bar-chart-scroll",children:n.jsxs("div",{className:"manager-bar-chart-area",children:[n.jsxs("div",{className:"manager-bar-chart-plot",style:{height:x},children:[E.slice(0,-1).map((z,W)=>n.jsx("div",{className:`manager-bar-chart-gridline${C!=null&&z===C?" manager-bar-chart-gridline--baseline":""}`,style:{top:D(z)*x},children:n.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:z})},W)),e.map((z,W)=>{const R=kn(z,C==null),q=x/2,j=O=>C!=null?Math.min(q,Math.abs(yt(O)-C)/k*q):Math.min(x,Math.max(0,yt(O)/k*x)),I=R?0:j(z.a),S=R?0:j(z.b),F=(z.parts??[]).map(yt);return n.jsx("div",{className:`manager-bar-chart-col${v&&_?" manager-bar-chart-col--group":""}`,style:{cursor:R?"default":"pointer"},tabIndex:g&&!R?0:void 0,role:g&&!R?"img":void 0,"aria-label":g&&!R?$(z,F):void 0,onMouseEnter:R?void 0:O=>L(O.currentTarget,z,F),onFocus:R||!g?void 0:O=>L(O.currentTarget,z,F),onBlur:g?Y:void 0,onMouseLeave:Y,children:!R&&(_&&v?(m??[]).map((O,U)=>{const Q=F[U]??0;if(C==null)return n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:j(Q),background:O}},U);const oe=yt(Q)<C;return n.jsxs("div",{className:"manager-bar-chart-slot",style:A,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:!oe&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:j(Q),background:O}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:oe&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:j(Q),background:O}})})]},U)}):_?n.jsx("div",{className:"manager-bar-chart-stack",style:A,children:(()=>{const O=F.reduce((Q,oe,me)=>oe>0?me:Q,-1);let U=x;return F.map((Q,oe)=>{if(Q<=0)return null;const me=Math.min(U,Q/k*x);return U-=me,n.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:me,background:(m??[])[oe],borderRadius:oe===O?"6px 6px 0 0":void 0}},oe)})})()}):C!=null?n.jsx(n.Fragment,{children:[{v:yt(z.a),c:t},...f?[]:[{v:yt(z.b),c:a}]].map(({v:O,c:U},Q)=>n.jsxs("div",{className:"manager-bar-chart-slot",style:A,children:[n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--up",children:O>=C&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full",style:{height:j(O),background:U}})}),n.jsx("div",{className:"manager-bar-chart-slot__half manager-bar-chart-slot__half--down",children:O<C&&n.jsx("div",{className:"manager-bar-chart-bar manager-bar-chart-bar--full manager-bar-chart-bar--down",style:{height:j(O),background:U}})})]},Q))}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:I,background:t}}),!f&&n.jsx("div",{className:"manager-bar-chart-bar",style:{...A,height:S,background:a}})]}))},W)})]}),n.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((z,W)=>{const R=kn(z,C==null);return n.jsxs("span",{className:`manager-bar-chart-x-axis__label${R?" manager-bar-chart-x-axis__label--future":""}`,children:[n.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[z.isToday&&n.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),z.label]}),z.sublabel&&n.jsx("span",{className:"caption-1",children:z.sublabel})]},W)})})]})})}),H&&n.jsx(qn,{anchorRect:H.rect,title:H.title,items:H.items,showIndex:!1,closeOnOutsideClick:!1})]})}function au({control:e}){const{t}=_e.useTranslation(),{activeOptions:a,activeIdx:r,range:i,setRange:s,handlePrev:l,handleNext:u,periodOptions:c,period:d,setPeriod:m}=e,p=d==="week"?t("calendar.prevWeek","\uC774\uC804 \uC8FC"):t("calendar.prevMonth","\uC774\uC804 \uB2EC"),h=d==="week"?t("calendar.nextWeek","\uB2E4\uC74C \uC8FC"):t("calendar.nextMonth","\uB2E4\uC74C \uB2EC");return n.jsxs("div",{className:"manager-section-controls",children:[n.jsx(he,{htmlType:"button",size:32,type:"dot",icon:"chevron-left",ariaLabel:p,showTooltipInfo:p,disabled:r===a.length-1,onClick:l}),n.jsx(dn,{value:i,onChange:s,options:a,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),n.jsx(he,{htmlType:"button",size:32,type:"dot",icon:"chevron-right",ariaLabel:h,showTooltipInfo:h,disabled:r<=0,onClick:u}),n.jsx(fn,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:c,value:d,onChange:v=>m(v),size:40})]})}function _o(e,t,a,r=!0){const i=new Date(a.getFullYear(),a.getMonth(),a.getDate());return Array.from({length:7},(s,l)=>{const u=new Date(t);u.setDate(t.getDate()+l);const c=(e[`${u.getFullYear()}\uB144 ${u.getMonth()+1}\uC6D4`]?.daily??[])[u.getDate()-1],d=c!=null&&kn(c,r)||u>i;return{dt:u,entry:c,isFuture:d}})}function by(e,t,a,r,i=!0){const{period:s,monthRange:l,weekRange:u,weekRanges:c,DOW:d}=t,m=r?.startsWith("ko"),p=na(),h=p.getFullYear(),v=p.getMonth()+1,y=p.getDate();if(s==="month"){const _=e[l]??{weekly:[],daily:[]},C=l.match(/^(\d+)년 (\d+)월$/),w=C?Number(C[1]):null,b=C?Number(C[2]):null,k=w&&b?gn(w,b-1):1;return _.weekly.map((x,B)=>{const A=B+1;let N=x.label,E=!1,D=!1;if(w&&b){const H=k+B*7,P=new Date(w,b-1,H+6),Y=P.getMonth()+1,M=P.getDate(),L=Y===b?`${M}`:`${Y}/${M}`;N=a("manager.chart.weekRange",{start:H,end:L});const $=new Date(h,v-1,y).getTime();E=$>=new Date(w,b-1,H).getTime()&&$<=P.getTime(),D=w>h||w===h&&(b>v||b===v&&H>y)}return{...x,label:N,sublabel:m?`${tu[A-1]??A}\uC8FC`:`Week ${A}`,isToday:E,future:x.future===!0||D||void 0,a:D?-1:x.a,b:D?0:x.b}})}const g=c.find(_=>_.value===u);if(!g)return[];const f=new Date(g.year,g.month-1,gn(g.year,g.month-1)+g.week*7);return _o(e,f,p,i).map(({dt:_,entry:C,isFuture:w})=>{const b=_.getMonth()+1,k=_.getDate(),x=_.getFullYear();return{label:b===g.month&&x===g.year?`${k}`:`${b}/${k}`,sublabel:d[_.getDay()]??"",future:w||void 0,a:w?-1:C&&C.a>0?C.a:0,b:w?0:C&&C.b>0?C.b:0,isToday:x===h&&b===v&&k===y,...C?.parts?{parts:w?C.parts.map(()=>0):C.parts}:{},...C?.partsB?{partsB:w?C.partsB.map(()=>0):C.partsB}:{}}})}const yy={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function vy({focusableBars:e,size:t="medium",barWidth:a,titleKey:r,titleLevel:i,data:s,colorA:l,colorB:u,labelAKey:c,labelBKey:d,showTotal:m=!1,totalUnitKey:p,totalLabelKey:h,control:v,hideControls:y=!1,rate:g=!1,rateAgg:f="dayMean",tightMax:_=!1,avgMode:C=!1,totalFormat:w,series:b,seriesMode:k="stack",loading:x=!1,onDetail:B,headExtra:A,headSegment:N,icon:E,disc:D,onClick:H,cardAriaLabel:P,cardTooltip:Y,detailSize:M=32,barGap:L,baseline:$,className:K,inGrid:V=!1}){const{t:z,i18n:W}=_e.useTranslation(),R=yy[t],q=nu(s),j=v??q,I=o.useMemo(()=>by(s,j,z,W.language,$==null),[s,j,z,W.language,$]),S=k==="group"&&!!b&&b.length>0;L!=null&&!S&&Gt("bar-chart-bargap-without-group","[BarChart] barGap \uC740 seriesMode='group' + series \uC5D0\uC11C\uB9CC \uC4F0\uC778\uB2E4 \u2014 \uADF8 \uBC16\uC5D0\uC11C\uB294 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4.");const F=o.useMemo(()=>{if(!g)return I;const te=j.period==="month"?j.monthRange.match(/^(\d+)년 (\d+)월$/):null,ke=na(),G=b?.length??0,re=ie=>{const De=[],ye=[],se=[];for(let ce=0;ce<G;ce++){let Ce=0,be=0,ge=0;for(const je of ie){const Ue=yt(je.a[ce]),Se=yt(je.b[ce]);Se<=0||(Ce+=Ue,be+=Se,ge+=Ue/Se*100)}De.push(f==="weighted"?be>0?Math.round(Ce/be*100):0:ie.length?Math.round(ge/ie.length):0),ye.push(Ce),se.push(be)}return{pct:De,ra:ye,rb:se}};return I.map((ie,De)=>{let ye=ie.a===-1?-1:ie.b>0?Math.round(ie.a/ie.b*100):0;if(te&&!kn(ie)){const ce=Number(te[1]),Ce=Number(te[2])-1,be=_o(s,new Date(ce,Ce,gn(ce,Ce)+De*7),ke).filter(ge=>!ge.isFuture);if(f==="weighted"){let ge=0,je=0;for(const{entry:Ue}of be)Ue&&Ue.b>0&&(ge+=Ue.a,je+=Ue.b);ye=je>0?Math.round(ge/je*100):0}else ye=be.length?Math.round(be.reduce((ge,{entry:je})=>ge+(je&&je.b>0?je.a/je.b*100:0),0)/be.length):0}let se=null;if(S&&!kn(ie)){let ce;if(te){const be=Number(te[1]),ge=Number(te[2])-1;ce=_o(s,new Date(be,ge,gn(be,ge)+De*7),ke).filter(je=>!je.isFuture).map(({entry:je})=>({a:je?.parts??[],b:je?.partsB??[]}))}else ce=[{a:ie.parts??[],b:ie.partsB??[]}];const Ce=re(ce);se={parts:Ce.pct,rawParts:Ce.ra,rawPartsB:Ce.rb}}return{...ie,a:ye,b:ie.a===-1?0:d&&ie.parts&&ie.parts[1]>0?Math.round(ie.parts[0]/ie.parts[1]*100):0,rawA:ie.a===-1?-1:ie.a,rawB:ie.b,...se??{}}})},[I,g,f,d,j.period,j.monthRange,s,S,b?.length]),O=o.useMemo(()=>{if(g||C){const ke=(j.period==="week"?I:s[j.monthRange]?.daily??[]).filter(re=>re.a!==-1);if(ke.length===0)return 0;if(g&&f==="weighted"){let re=0,ie=0;for(const De of ke)De.b>0&&(re+=De.a,ie+=De.b);return ie>0?Math.round(re/ie*100):0}const G=g?ke.reduce((re,ie)=>re+(ie.b>0?ie.a/ie.b*100:0),0):ke.reduce((re,ie)=>re+(ie.a>0?ie.a:0),0);return Math.round(G/ke.length)}const te=j.period==="month"?s[j.monthRange]?.daily??[]:F;return $!=null?te.reduce((ke,G)=>ke+(kn(G,!1)?0:yt(G.a)+(d?yt(G.b):0)),0):te.reduce((ke,G)=>ke+(G.a>0?G.a:0)+(d&&G.b>0?G.b:0),0)},[F,I,g,f,C,$,d,j.period,j.monthRange,s]),U=b&&b.length>0?b.map(te=>({color:te.color,label:te.label})):[{color:l,label:z(c)},...d?[{color:u,label:z(d)}]:[]],Q=t==="small",oe=[Q?"manager-section--compact":t==="large"?"manager-section--full":void 0,K].filter(Boolean).join(" ")||void 0,me=r?z(r):"",ae=me?z("trainingStatus.detailFor",{name:me,defaultValue:"{{name}} \uC0C1\uC138\uBCF4\uAE30"}):z("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30");return n.jsx(xo,{className:oe,inGrid:V,icon:E,disc:D,onClick:H,ariaLabel:P,tooltip:Y,headSegment:N,headMenuItems:B?[{label:ae,icon:"list",onClick:B,closeOnSelect:!0}]:void 0,title:z(r),titleLevel:i,titleClassName:Q?"h5 chart-section-title--small":void 0,headRight:Q?A??void 0:({collapsed:te})=>n.jsxs(n.Fragment,{children:[!y&&n.jsx(au,{control:j}),A,B&&!te&&n.jsx("span",{className:"manager-bar-chart-detail-btn",children:n.jsx(he,{htmlType:"button",size:M,type:"dot",icon:"list",ariaLabel:ae,showTooltipInfo:ae,onClick:B})})]}),subRow:n.jsxs(n.Fragment,{children:[m?g||C||h&&w?n.jsx(Pa,{label:Q?void 0:`${z(j.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${z(h??c)}`,children:w?(w(O).match(/([+-]?\d[\d.,]*|[^\d]+)/g)??[]).map((te,ke)=>/\d/.test(te)?n.jsx("span",{className:"barchart-total__num h0",children:te},ke):n.jsx("span",{className:"barchart-total__unit h5",children:te},ke)):n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"barchart-total__num h0",children:O}),p&&n.jsx("span",{className:"barchart-total__unit h5",children:z(p)})]})}):n.jsxs(Pa,{children:[n.jsx("span",{className:"barchart-total__num h0",children:O}),n.jsx("span",{className:"barchart-total__unit h5",children:z(c)}),p&&n.jsx("span",{className:"barchart-total__unit h5",children:z(p)})]}):n.jsx("span",{}),n.jsx(vo,{items:U,className:"caption-1"})]}),children:x?n.jsx("div",{className:"manager-bar-chart-wrap manager-bar-chart-loading","aria-busy":"true",children:n.jsx("div",{className:"manager-bar-chart-inner",children:n.jsxs("div",{className:"manager-bar-chart-area manager-bar-chart-area--loading",children:[n.jsx("div",{className:"manager-bar-chart-plot manager-bar-chart-plot--loading",style:{height:R.height},children:n.jsx(Ra,{size:32})}),n.jsx("div",{className:"manager-bar-chart-x-axis","aria-hidden":"true",children:n.jsxs("span",{className:"manager-bar-chart-x-axis__label",children:[n.jsx("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:"\xA0"}),F.some(te=>!!te.sublabel)&&n.jsx("span",{className:"caption-1",children:"\xA0"})]})})]})})}):n.jsx(gy,{focusableBars:e,data:F,colorA:l,colorB:d?u:void 0,labelA:z(c),labelB:d?z(d):void 0,barWidth:a??R.barWidth,barGap:L,baseline:$,height:R.height,maxOverride:g?100:void 0,tightMax:_,seriesColors:b?.map(te=>te.color),seriesLabels:b?.map(te=>te.label),rateLabels:g?{total:z("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:z("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0,grouped:S})})}const ru=120,xy={left:38,right:16,top:26,bottom:24};function _y({points:e=[],range:t,ticks:a=[],axisTitle:r,color:i,height:s=156,fallbackWidth:l=320,insets:u,overlay:c,ariaLabel:d,className:m}){const[p,h]=o.useState(null),[v,y]=o.useState(null);o.useEffect(()=>{if(!v)return;const $=V=>h(Math.round(V)||null);if($(v.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const K=new ResizeObserver(([V])=>$(V.contentRect.width));return K.observe(v),()=>{K.disconnect()}},[v]);const{payload:g,anchorRect:f,openAfterDelay:_,close:C}=kb(ru),w=o.useCallback(($,K)=>{$&&_($,K.getBoundingClientRect())},[_]),b=p??l,k=s,{left:x,right:B,top:A,bottom:N}={...xy,...u},[E,D]=t,H=$=>D===E?x:x+(b-x-B)*($-E)/(D-E),P=$=>A+(k-A-N)*(100-$)/100,Y={x:H,y:P,plot:{left:x,right:b-B,top:A,bottom:k-N,width:Math.max(0,b-x-B),height:Math.max(0,k-A-N)}},M=e.filter($=>!$.hollow),L=i??"var(--color-main)";return n.jsxs(n.Fragment,{children:[n.jsxs("svg",{ref:y,className:Ae("line-chart",m),viewBox:`0 0 ${b} ${k}`,role:"img","aria-label":d??e.map($=>$.description).filter(Boolean).join(", "),children:[r&&n.jsx("text",{className:"line-chart__axis-title",x:0,y:12,children:r}),[0,100].map($=>n.jsxs("g",{children:[n.jsx("line",{className:"line-chart__grid",x1:x,x2:b-B,y1:P($),y2:P($)}),n.jsxs("text",{className:"line-chart__tick",x:x-6,y:P($)+4,textAnchor:"end",children:[$,"%"]})]},$)),c?.(Y),a.map($=>n.jsx("text",{className:"line-chart__tick",x:H($.x),y:k-5,textAnchor:"middle",children:$.label},$.x)),M.length>1&&n.jsx("polyline",{className:"line-chart__line",fill:"none",stroke:L,points:M.map($=>`${H($.x)},${P($.pct)}`).join(" ")}),e.map($=>n.jsxs("g",{className:"line-chart__dot",onPointerEnter:K=>w($.description,K.currentTarget),onPointerLeave:C,children:[n.jsx("circle",{className:"line-chart__dot-hit",cx:H($.x),cy:P($.pct),r:12}),n.jsx("circle",{className:Ae("line-chart__dot-main",$.hollow&&"is-hollow"),cx:H($.x),cy:P($.pct),r:4,stroke:L,fill:$.hollow?void 0:L})]},$.x))]}),g!=null&&n.jsx(un,{anchorRect:f,offset:10,closeOnOutsideClick:!1,className:"line-chart__tip",role:"tooltip",ariaLabel:g,children:g})]})}function wy({icon:e,iconSize:t=56,title:a,titleClass:r="h2",description:i,tipGroups:s,start:l,className:u}){return n.jsxs("div",{className:Ae("game-intro",u),children:[e!=null&&n.jsx("span",{className:"game-intro__icon","aria-hidden":"true",style:{"--game-intro-icon":`${t}px`},children:e}),n.jsx("h2",{className:Ae("game-intro__title",r),children:a}),i!=null&&n.jsx("p",{className:"game-intro__description body-3",children:i}),s?.map((c,d)=>n.jsxs("div",{className:"game-intro__tips",children:[c.title!=null&&n.jsx("span",{className:"game-intro__tips-title body-3",children:c.title}),c.tips.map((m,p)=>n.jsxs("span",{className:"game-intro__tip body-3",children:[m.icon!=null&&n.jsx("span",{"aria-hidden":"true",children:m.icon}),n.jsx("span",{children:m.text})]},p))]},d)),l&&n.jsx(he,{htmlType:"button",className:l.className,variant:"main",color:l.color,size:48,width:"100%",disabled:l.disabled,onClick:l.onClick,children:l.label})]})}const ou=(e,t,a)=>{const r=new Date(Date.UTC(e,t,a));return`${r.getUTCFullYear()}-${String(r.getUTCMonth()+1).padStart(2,"0")}-${String(r.getUTCDate()).padStart(2,"0")}`},su=(e,t,a,r)=>({from:gi(e,t,a),to:new Date(gi(e,t,a+r).getTime()-1),fromYmd:ou(e,t,a),toYmd:ou(e,t,a+r-1)});function By(e,t=0){if(e.period==="month"){const i=e.monthRange.match(/^(\d+)년 (\d+)월$/),s=na(),l=i?Number(i[1]):s.getFullYear(),u=(i?Number(i[2]):s.getMonth()+1)-1+t,c=new Date(Date.UTC(l,u+1,0)).getUTCDate();return su(l,u,1,c)}const a=e.weekRanges.find(i=>i.value===e.weekRange);if(!a){const i=new Date,s=wa();return{from:i,to:i,fromYmd:s,toYmd:s}}const r=gn(a.year,a.month-1);return su(a.year,a.month-1,r+(a.week+t)*7,7)}const wo={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function iu(e){return!Number.isFinite(e)||e<=0?0:e>=1?100:Math.min(99,Math.max(1,Math.round(e*100)))}function lu({done:e,total:t,segments:a,color:r="var(--color-main)",size:i="medium",strokeWidth:s,label:l="%",hideCenter:u=!1,hideLabel:c=!1}){const d=typeof i=="number"?i:wo[i].diameter,m=s??(typeof i=="number"?12:wo[i].strokeWidth),p=d/2,h=(d-m)/2,v=2*Math.PI*h;if(a&&a.length>0){const _=a.reduce((C,w)=>{const b=C.length>0?C[C.length-1].acc:0,k=Number.isFinite(w.ratio)?w.ratio:0,x=Math.max(0,Math.min(k,1-b));return C.push({color:w.color,rotate:-90+b*360,dash:v*x,acc:b+x}),C},[]);return n.jsx("div",{className:"ring-chart",style:{width:d,height:d},children:n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),_.map((C,w)=>C.dash>0&&n.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:C.color,strokeWidth:m,strokeDasharray:`${C.dash} ${v}`,strokeLinecap:"round",transform:`rotate(${C.rotate} ${p} ${p})`},w))]})})}const y=(t??0)>0?Math.min((e??0)/t,1):0,g=v*y,f=v-g;return n.jsxs("div",{className:"ring-chart",style:{width:d,height:d},children:[n.jsxs("svg",{width:d,height:d,viewBox:`0 0 ${d} ${d}`,"aria-hidden":"true",children:[n.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),y>0&&n.jsx("circle",{cx:p,cy:p,r:h,fill:"none",stroke:r,strokeWidth:m,strokeDasharray:`${g} ${f}`,strokeLinecap:y<.02||y>.98?"butt":"round",transform:`rotate(-90 ${p} ${p})`})]}),!u&&n.jsxs("div",{className:`ring-chart__center${c?"":` ${d<=96?"ring-chart__center--small":i==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[n.jsx("span",{className:`ring-chart__pct ${d<=96?"h2":"h1"}`,children:iu(y)}),!c&&n.jsx("span",{className:`ring-chart__label ${d<=96?"caption-2":"caption-1"}${d<=96||i==="medium"?" ring-chart__label--tight":""}`,children:l})]})]})}function Ay({titleKey:e,titleLevel:t,headRight:a,icon:r,showTotal:i,totalLabelKey:s,legend:l,loading:u,className:c,inGrid:d=!1,onClick:m,ariaLabel:p,tooltip:h,...v}){const{t:y}=_e.useTranslation();if(!e)return n.jsx(lu,{...v});const g=(v.total??0)>0?iu(Math.min((v.done??0)/v.total,1)):0,f=v.size==="small",_=typeof v.size=="number"?v.size:wo[v.size??"medium"].diameter,C=v.size==="large",w=[c,f?"manager-section--compact":C?"manager-section--full":""].filter(Boolean).join(" ")||void 0,b=r&&n.jsx("span",{className:"chart-section-icon",children:n.jsx(et,{icon:r,className:"chart-section-icon-inner"})});return n.jsx(xo,{className:w,inGrid:d,onClick:m,ariaLabel:p,tooltip:h,title:y(e),titleLevel:t,titleClassName:f?"h5 chart-section-title--small":void 0,headRight:b||(f?void 0:a),subRow:(i||l)&&n.jsxs(n.Fragment,{children:[i?n.jsxs(Pa,{label:!f&&s?y(s):void 0,children:[n.jsx("span",{className:"barchart-total__num h0",children:g}),n.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):n.jsx("span",{}),l&&n.jsx(vo,{items:l})]}),children:u?n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx("div",{className:"ring-chart ring-chart--loading",style:{width:_,height:_},"aria-busy":"true",children:n.jsx(Ra,{size:32})})}):n.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:n.jsx(lu,{...v,hideCenter:v.hideCenter??f})})})}function ky({label:e,value:t,change:a,changeType:r,icon:i,tooltip:s,onClick:l,children:u}){const c=o.useRef(null),{anchorRect:d,openAt:m,close:p}=ka(),h=o.useCallback(()=>{s&&c.current&&m(c.current)},[s,m]),v=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),y=a===void 0?void 0:a>0?`+${a}`:`${a}`,g=o.useCallback(f=>{l&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),l())},[l]);return n.jsxs("div",{ref:c,className:`manager-stat-card${l?" manager-stat-card--clickable":""}`,onClick:l,onKeyDown:l?g:void 0,onPointerEnter:h,onPointerLeave:p,onFocus:h,onBlur:p,role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":l?[e,t,y].filter(f=>f!==void 0&&f!=="").join(" "):void 0,children:[s&&d&&n.jsx(_n,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:s}),n.jsxs("div",{className:"manager-stat-card__label-row",children:[n.jsx("span",{className:"manager-stat-card__label h5",children:e}),i&&n.jsx("span",{className:"manager-stat-card__icon",children:n.jsx(et,{icon:i,className:"manager-stat-card__icon-inner"})})]}),n.jsxs("div",{className:"manager-stat-card__content",children:[n.jsxs("div",{className:"manager-stat-card__left",children:[n.jsx("div",{className:"manager-stat-card__value h2",children:t}),y&&n.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${v??"neutral"} caption-1`,children:y})]}),u&&n.jsx("div",{className:"manager-stat-card__body",children:u})]})]})}function uu({value:e,onChange:t,min:a=0,max:r=100,step:i=1,orientation:s="horizontal",size:l=24,disabled:u=!1,ariaLabel:c,length:d,className:m,label:p,formatValue:h,labelPos:v,labelAlign:y="right",showMinMax:g=!1,minLabel:f,maxLabel:_,showBgTick:C=!1,showFillTick:w=!1,tickStep:b,tickShape:k="dot"}){t&&!c&&Gt("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const x=Math.min(r,Math.max(a,e)),B=r>a?(x-a)/(r-a):0,A=s==="vertical",N=!t,E=j=>t?.(Number(j.target.value)),D=typeof d=="number"?`${d}px`:d,H={"--slider-ratio":String(B),"--slider-thumb":`${l}px`,...D?A?{height:D}:{width:D}:{}},P=b??i,Y=(C||w)&&P>0&&r>a?Math.floor((r-a)/P+1e-6):0;if(Y>0&&Y<=100){const j=k!=="dash",I=Q=>j?`radial-gradient(circle, ${Q} 0.5px, transparent 1px)`:A?`linear-gradient(to bottom, transparent calc(50% - 2px), ${Q} calc(50% - 2px), ${Q} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${Q} calc(50% - 2px), ${Q} calc(50% + 2px), transparent calc(50% + 2px))`,S=j?"2px":"4px",F=[],O=[],U=[];for(let Q=0;Q<=Y;Q++){const oe=Q*P/(r-a);if(oe>1+1e-6)break;const me=`${((A?1-oe:oe)*100).toFixed(4)}%`,ae=oe<=B+1e-6;if(ae?!w:!C)continue;const te=ae?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";F.push(I(te)),O.push(A?`${S} var(--slider-thumb)`:`var(--slider-thumb) ${S}`),U.push(A?`center ${me}`:`${me} center`)}F.push(A?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),O.push("100% 100%"),U.push("0 0"),H.backgroundImage=F.join(", "),H.backgroundSize=O.join(", "),H.backgroundPosition=U.join(", "),H.backgroundRepeat="no-repeat"}const M=h?h(x):p==="percent"?`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`:p==="count"?`${x} / ${r}`:x===a&&f?f:x===r&&_?_:void 0,L=n.jsx("input",{type:"range",className:Ae("slider",`slider--${s}`,N&&"slider--static",!p&&!g&&m),min:a,max:r,step:i,value:x,disabled:u,readOnly:N,tabIndex:N?-1:void 0,"aria-label":c,"aria-valuetext":M,"aria-orientation":s,onChange:E,style:H});if(!p&&!g)return L;const $=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:f??a}),K=n.jsx("span",{className:"slider-wrap__minmax caption-1",children:_??r}),V=g?n.jsxs("div",{className:Ae("slider-track-group",`slider-track-group--${s}`,!p&&m),children:[A?K:$,L,A?$:K]}):L;if(!p)return V;const z=v??(A?"bottom":"right"),W=`${Math.round(r>a?(x-a)/(r-a)*100:0)}%`,R=h?h(x):p==="percent"?W:p==="count"?`${x} / ${r}`:String(x),q=n.jsx("span",{className:"slider-wrap__value body-3b",children:R});return n.jsxs("div",{className:Ae("slider-wrap",`slider-wrap--${s}`,`slider-wrap--label-${z}`,`slider-wrap--align-${y}`,m),children:[V,q]})}const Ny=.86,Dy=250,Bo=(e,t,a,r)=>Math.round(Math.min(r,Math.max(a,e-t))),Ao=(e,t,a,r)=>{const i=Bo(e,t,a,r);return`${i<0?"-":"+"}${Math.abs(i)} dB`};function ko({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:i,labelPos:s,labelAlign:l="right",floorDb:u=-60,refDb:c=-35,displayMin:d=-5,displayMax:m=25,className:p,ariaLabel:h}){const v=o.useRef(null),y=o.useRef(null),g=o.useRef(null),f=o.useRef(null),[_,C]=o.useState(null);o.useEffect(()=>{const x=L=>{const $=Ao(L,c,d,m);g.current&&(g.current.textContent=$);const K=v.current;K&&(K.setAttribute("aria-valuenow",String(Bo(L,c,d,m))),K.setAttribute("aria-valuetext",$))},B=e??yC(t)??(_&&_.el===t?_.node:null),A=y.current;if(!B||!A){A?.style.setProperty("--meter-level","0"),x(u);let L=!1;return!e&&t&&Va(t).then($=>{!L&&$&&C({el:t,node:$})}),()=>{L=!0}}Or();const N=new Float32Array(B.fftSize);let E=0,D=0,H=0,P=0,Y=null;const M=L=>{const $=vC(B,N);E=$>E?$:E*Ny;const K=E>1e-5?20*Math.log10(E):-1/0,V=Math.max(u,K),z=V-c,W=Math.min(1,Math.max(0,(z-d)/(m-d)));if(A.style.setProperty("--meter-level",W.toFixed(3)),D+=V,H+=1,L-P>=Dy){const R=D/H;Y=Y==null?R:Y*.6+R*.4,x(Y),D=0,H=0,P=L}f.current=requestAnimationFrame(M)};return f.current=requestAnimationFrame(M),()=>{f.current!=null&&cancelAnimationFrame(f.current),f.current=null}},[e,t,_,u,c,d,m]);const w=typeof r=="number"?`${r}px`:r,b=n.jsx("div",{className:"audio-meter__track",style:w?a==="vertical"?{height:w}:{width:w}:{},children:n.jsx("div",{ref:y,className:"audio-meter__fill"})}),k=s??(a==="vertical"?"bottom":"right");return n.jsxs("div",{ref:v,className:Ae("audio-meter",`audio-meter--${a}`,i&&`audio-meter--label-${k}`,i&&`audio-meter--align-${l}`,p),role:"meter","aria-label":h,"aria-valuemin":d,"aria-valuemax":m,"aria-valuenow":Bo(u,c,d,m),"aria-valuetext":Ao(u,c,d,m),children:[b,i&&n.jsx("span",{ref:g,className:"audio-meter__value caption-2",children:Ao(u,c,d,m)})]})}const cu=260;function du({message:e,position:t,duration:a,onClose:r}){const[i,s]=o.useState(!1),[l,u]=o.useState(!1),c=o.useRef(l),d=o.useRef(i);o.useEffect(()=>{c.current=l},[l]),o.useEffect(()=>{d.current=i},[i]);const m=o.useRef(null),p=o.useRef(""),h=o.useRef(r);o.useEffect(()=>{h.current=r});const v=a,y=o.useRef(null),g=o.useRef(0),f=o.useRef(0),_=o.useRef(!1),C=o.useRef(null),w=o.useRef(null),b=o.useRef(null),k=o.useRef(null),x=o.useRef(()=>{});x.current=N=>{N<0||(g.current=Date.now(),f.current=N,y.current=setTimeout(()=>{y.current=null,s(!1),C.current=setTimeout(()=>{u(!1);try{h.current()}catch{}},cu)},N))};const B=o.useCallback(()=>{_.current||!y.current||(_.current=!0,clearTimeout(y.current),y.current=null,f.current=Math.max(0,f.current-(Date.now()-g.current)))},[]),A=o.useCallback(()=>{_.current&&(_.current=!1,x.current(f.current))},[]);return o.useEffect(()=>{if(e!==p.current&&(y.current&&(clearTimeout(y.current),y.current=null),C.current&&(clearTimeout(C.current),C.current=null)),e){if(d.current)return v>0&&!y.current&&(_.current?f.current=v:x.current(v)),p.current=e,()=>{y.current&&(clearTimeout(y.current),y.current=null),C.current&&(clearTimeout(C.current),C.current=null)};const N=()=>{const E=m.current;if(E)try{E.classList.remove("is-visible"),E.style.transition="none",t==="top"?E.style.transform="translateX(-50%) translateY(-16px)":E.style.transform="translateX(-50%) translateY(16px)",E.style.opacity="0",E.offsetWidth,E.style.transition="",E.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{E.style.opacity="",E.style.transform="",E.style.transition=""}catch{}},60)}catch{}};c.current?(N(),s(!0)):(u(!0),w.current=requestAnimationFrame(()=>{b.current=requestAnimationFrame(()=>{N(),s(!0)})})),v>0&&(_.current=!1,x.current(v))}else s(!1),C.current=setTimeout(()=>u(!1),cu);return p.current=e,()=>{y.current&&clearTimeout(y.current),C.current&&clearTimeout(C.current),w.current&&cancelAnimationFrame(w.current),b.current&&cancelAnimationFrame(b.current),k.current&&clearTimeout(k.current),y.current=null,C.current=null,w.current=null,b.current=null,k.current=null}},[e,v,t]),{mounted:l,showing:i,popupRef:m,pause:B,resume:A}}function ia({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:i=2e3}){const{mounted:s,showing:l,popupRef:u,pause:c,resume:d}=du({message:e,position:t,duration:i,onClose:r}),m=o.useRef(null),[p,h]=o.useState(!1);if(o.useEffect(()=>{l?h(!0):s||h(!1)},[l,s]),!s)return null;const v=a==="notice"||a==="warning"?a:"normal",y=n.jsx("div",{ref:u,className:`toast toast--${t} ${l?"is-visible":""}`,role:"status","aria-live":"polite",onPointerEnter:g=>{m.current=g.pointerType},onMouseEnter:()=>{m.current!=="touch"&&c()},onMouseLeave:d,onFocusCapture:c,onBlurCapture:d,children:n.jsx("div",{className:`toast__inner toast__inner--${v} body-2`,"aria-hidden":p||l?void 0:!0,children:n.jsx("span",{className:"toast__text",children:e})})});return typeof document<"u"?Jt.createPortal(y,document.body):y}const Ey=24;function Sy({value:e,max:t=100,size:a=8,color:r,trackColor:i,label:s,formatValue:l,labelPos:u,labelAlign:c="right",ariaLabel:d,className:m}){const p=Number.isFinite(t)&&t>0?t:1,h=Math.max(0,Math.min(Number.isFinite(e)?e:0,p)),v=h/p*100,y=Number.isFinite(t)&&t>0?t:0,g=u??(a>=Ey?"inside":"bottom"),f=g==="center"?"inside":g,_=f==="inside"&&(c==="left"?v>=15:c==="center"?v>=50:v>=85),C={};return r&&(C["--progress-bar-fill"]=r),i&&(C["--progress-bar-track"]=i),n.jsxs("div",{className:Ae("progress-bar",`progress-bar--${a}`,`progress-bar--label-${f}`,s&&`progress-bar--align-${c}`,s&&_&&"progress-bar--label-on-fill",m),style:C,children:[n.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":h,"aria-valuemin":0,"aria-valuemax":y,"aria-valuetext":s?l?l(h):s==="percent"?void 0:s==="raw"?String(h):`${h} / ${y}`:void 0,"aria-label":d,children:n.jsx("div",{className:"progress-bar__fill",style:{width:`${v}%`}})}),s&&n.jsx("span",{className:"progress-bar__label caption-1b",children:l?l(h):s==="percent"?`${Math.round(v)}%`:s==="raw"?String(h):`${h} / ${y}`})]})}const pu={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},jy="rgba(255, 255, 255, 0.16)";function mu({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:i,variant:s="numbered",announce:l=!1,ariaLabel:u}){const{t:c}=_e.useTranslation(),d=on("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const m=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,p=u??c("progress.steps",{current:m+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),h={};if(a&&(h["--pi-inactive-bg"]=a),r&&(h["--pi-inactive-color"]=r),i&&(a||(h["--pi-inactive-bg"]=jy),r||(h["--pi-inactive-color"]="var(--color-white)")),s==="dot")return n.jsxs("div",{className:"progress-indicator progress-indicator--dot",style:h,role:l?"status":"img","aria-label":l?void 0:p,children:[l&&n.jsx("span",{style:pu,children:p}),Array.from({length:e}).map((y,g)=>n.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${g<m?" done":g===m?" active":""}`},g))]});const v=l?n.jsx("span",{role:"status",style:pu,children:p}):null;return d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:h,role:"list","aria-label":p,children:n.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[m+1," / ",e]})}),v]}):n.jsxs(n.Fragment,{children:[v,n.jsx("div",{className:"progress-indicator",style:h,role:"list","aria-label":p,children:Array.from({length:e}).map((y,g)=>n.jsx("span",{role:"listitem","aria-current":g===m?"step":void 0,className:`progress-indicator-dot ${g<m?" done":g===m?" active":""} body-3`,children:g+1},g))})]})}function Ty(e){if(!e)return[];const t=[];let a=0,r="";for(const i of e.trim()){if(i==="("?a++:i===")"&&a--,/\s/.test(i)&&a===0){r&&(t.push(r),r="");continue}r+=i}return r&&t.push(r),t}function My({children:e,className:t,style:a,rowLabel:r,onRowClick:i}){return n.jsx("div",{role:"cell",className:t?`table-cell ${t}`:"table-cell",style:a,children:r&&i?n.jsx("button",{type:"button",className:"table-cell__row-button","aria-label":r,children:e}):e})}function No({variant:e="default",children:t,className:a,draggable:r,onClick:i,onMouseEnter:s,onMouseLeave:l,onDragStart:u,onDragEnd:c,expandedContent:d,colSpan:m,describedBy:p,rowHasButton:h}){const v=o.useCallback(y=>{i&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),i())},[i]);return e==="loading"?n.jsx("div",{role:"presentation",className:"table-row-wrap",children:n.jsx("div",{role:"row",className:"table-row table-row--loading",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:n.jsx(Ra,{size:28})})})}):e==="empty"?n.jsx("div",{role:"presentation",className:"table-row-wrap",children:n.jsx("div",{role:"row",className:"table-row table-row--empty body-3",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row__full-cell",children:t})})}):n.jsxs("div",{role:"presentation",className:"table-row-wrap",children:[n.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:i,onKeyDown:i?v:void 0,onMouseEnter:s,onMouseLeave:l,onDragStart:u,onDragEnd:c,role:"row",tabIndex:i&&!h?0:void 0,"aria-describedby":i&&!h?p:void 0,children:t}),d&&n.jsx("div",{role:"row",className:"table-row-expand",children:n.jsx("div",{role:"cell","aria-colspan":m,className:"table-row-expand__cell",children:d})})]})}function Ly({dir:e}){return n.jsx(e==="asc"?Ds:Ns,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function $y({children:e,onClick:t,className:a,sortDir:r,ariaSort:i,onResizeStart:s}){const l=n.jsxs(n.Fragment,{children:[e,r&&n.jsx(Ly,{dir:r})]});return n.jsxs("div",{onClick:t,role:"columnheader","aria-sort":i,className:Ae("table-field body-3",a,r?"table-field--sorted":"",s?"table-field--resizable":""),children:[t?n.jsx("button",{type:"button",className:"table-field__button",children:l}):l,s&&n.jsx("span",{className:"table-field__resizer",onPointerDown:s,onClick:u=>u.stopPropagation(),"aria-hidden":"true"})]})}function Do({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:i,isRowClickable:s,onRowMouseEnter:l,onRowMouseLeave:u,onRowDragStart:c,onRowDragEnd:d,draggingId:m,gridTemplateColumns:p,mobileGridTemplateColumns:h,resizable:v=!1,resizeMode:y="grow",resizeStorageKey:g,size:f="small",title:_,icon:C,count:w,collapsed:b=!1,onToggleCollapse:k,headerActions:x,empty:B,loading:A,dragOver:N=!1,onDragOver:E,onDragLeave:D,onDrop:H,renderExpandedRow:P,expandedId:Y}){const{t:M}=_e.useTranslation(),L=o.useId(),$=`table-title-${L}`,K=`table-row-hint-${L}`,V=on("(max-width: 767px)"),z=h&&V?h:null,W=v&&!V,R=48,q=o.useRef(()=>R),j=g?`table-cols:${g}`:null,I=o.useRef(null),S=o.useRef(null),F=o.useRef(null),O=o.useRef(null),[U,Q]=o.useState(!1),oe=o.useCallback(()=>{const J=F.current;J&&Q(J.scrollWidth>J.clientWidth+1)},[]),me=o.useCallback((J,ue)=>{const we=J.current;we&&S.current&&S.current.unobserve(we),J.current=ue,ue?(!S.current&&typeof ResizeObserver<"u"&&(S.current=new ResizeObserver(()=>oe())),S.current?.observe(ue)):!F.current&&!O.current&&(S.current?.disconnect(),S.current=null),oe()},[oe]),ae=o.useCallback(J=>me(F,J),[me]),te=o.useCallback(J=>me(O,J),[me]);o.useEffect(()=>{oe()}),o.useEffect(()=>{if(typeof window>"u")return;const J=typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>oe()):null;return window.addEventListener("resize",oe),()=>{J!=null&&cancelAnimationFrame(J),window.removeEventListener("resize",oe)}},[oe]);const ke=o.useRef(()=>!1),G=o.useRef([]),re=o.useRef(null),ie=J=>{if(!J||typeof window>"u")return null;try{const ue=JSON.parse(window.localStorage.getItem(J)??"null");return Array.isArray(ue)&&ue.length>0&&ue.every(we=>typeof we=="number"&&Number.isFinite(we)&&we>0)?ue:null}catch{return null}},[De,ye]=o.useState(()=>ie(j)),[se,ce]=o.useState(j);se!==j&&(ce(j),ye(ie(j)));const Ce=o.useRef(De);o.useEffect(()=>{Ce.current=De},[De]);const be=o.useCallback(J=>{const ue=re.current;if(!ue)return;const we=Ce.current;if(we){const Le=[...we];if(ue.next!=null&&ue.startWNext!=null){const Oe=J.clientX-ue.startX,He=Math.max(q.current(ue.index)-ue.startW,Math.min(ue.startWNext-q.current(ue.next),Oe));Le[ue.index]=ue.startW+He,Le[ue.next]=ue.startWNext-He}else Le[ue.index]=Math.max(q.current(ue.index),ue.startW+(J.clientX-ue.startX));Ce.current=Le,ye(Le)}},[]),ge=o.useCallback(()=>{if(re.current=null,window.removeEventListener("pointermove",be),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="",j&&Ce.current)try{window.localStorage.setItem(j,JSON.stringify(Ce.current))}catch{}},[be,j]),je=o.useCallback((J,ue)=>{ue.preventDefault(),ue.stopPropagation();const we=I.current;if(!we)return;const Le=Array.from(we.children).map(He=>He.getBoundingClientRect().width),Oe=y==="fit"?e.findIndex((He,rt)=>rt>J&&He.resizable!==!1):-1;re.current=Oe>=0?{index:J,startX:ue.clientX,startW:Le[J],next:Oe,startWNext:Le[Oe]}:{index:J,startX:ue.clientX,startW:Le[J]},Ce.current=Le,ye(Le),window.addEventListener("pointermove",be),window.addEventListener("pointerup",ge),window.addEventListener("pointercancel",ge),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[be,ge,y,e]),Ue=o.useCallback(()=>{const J=I.current,ue=J?.closest(".table-wrap");if(!J||!ue)return;const we=ue.style.getPropertyValue("--table-grid-cols");ue.style.setProperty("--table-grid-cols",e.map((Je,Re)=>ke.current(Re)?G.current[Re]:"max-content").join(" "));const Le=Array.from(ue.querySelectorAll(".table-row")).filter(Je=>!Je.classList.contains("table-row--loading")&&!Je.classList.contains("table-row--empty")),Oe=e.map((Je,Re)=>{let Pe=J.children[Re]?.getBoundingClientRect().width??0;for(const tt of Le){const gt=tt.children[Re];gt&&(Pe=Math.max(Pe,gt.getBoundingClientRect().width))}const dt=ke.current(Re)?parseFloat(G.current[Re]):NaN;return Number.isFinite(dt)?dt:Math.max(q.current(Re),Math.ceil(Pe))}),He=window.getComputedStyle(J),rt=J.clientWidth-(parseFloat(He.paddingLeft)||0)-(parseFloat(He.paddingRight)||0);we?ue.style.setProperty("--table-grid-cols",we):ue.style.removeProperty("--table-grid-cols");let ct=Oe;const pt=Oe.reduce((Je,Re,Pe)=>Je+(ke.current(Pe)?Re:0),0),xt=Oe.reduce((Je,Re,Pe)=>Je+(ke.current(Pe)?0:Re),0),mt=rt-pt;if(rt>0&&xt>0&&mt>0){const Je=mt/xt;ct=Oe.map((Pe,dt)=>ke.current(dt)?Pe:Math.max(q.current(dt),Math.round(Pe*Je)));const Re=Math.round(mt-ct.reduce((Pe,dt,tt)=>Pe+(ke.current(tt)?0:dt),0));if(Re!==0){let Pe=-1;ct.forEach((dt,tt)=>{!ke.current(tt)&&(Pe<0||dt>ct[Pe])&&(Pe=tt)}),Pe>=0&&(ct[Pe]=Math.max(q.current(Pe),ct[Pe]+Re))}}if(ye(ct),j)try{window.localStorage.setItem(j,JSON.stringify(ct))}catch{}},[e,y,j]);o.useEffect(()=>()=>{re.current&&(window.removeEventListener("pointermove",be),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge),document.body.style.cursor="",document.body.style.userSelect="")},[be,ge]);const Se=Ty(p),Ie=Se.filter(J=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(J));Ie.length>0&&Gt(`table-content-track:${p}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${Ie.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${p})`);const qe=e.findIndex(J=>!!J.sortDir);e.filter(J=>!!J.sortDir).length>1&&Gt("table-multi-sort","[ihabdevteam-core] Table \uC758 fields \uC5D0 sortDir \uC774 \uB458 \uC774\uC0C1 \uC788\uC2B5\uB2C8\uB2E4. aria-sort \uB294 \uD45C \uD558\uB098\uC5D0 \uD55C \uCE78\uB9CC \uAC00\uC9C8 \uC218 \uC788\uC5B4 \uCCAB \uCE78\uB9CC \uBC29\uD5A5\uC73C\uB85C \uC54C\uB9AC\uACE0 \uB098\uBA38\uC9C0\uB294 none \uC73C\uB85C \uB461\uB2C8\uB2E4.");const lt=J=>J===qe?e[J].sortDir==="asc"?"ascending":"descending":e[J].onClick?"none":void 0,st=J=>/^\d+(\.\d+)?px$/.test(Se[J]??""),nt=J=>{const ue=Se[J]??"",we=/^minmax\(\s*(\d+(?:\.\d+)?)px\s*,/.exec(ue)??/^(\d+(?:\.\d+)?)px$/.exec(ue);return we?parseFloat(we[1]):R};ke.current=st,q.current=nt,G.current=Se;const ut=J=>y==="fit"&&!st(J)?"fr":"px",Ne=De&&De.length===e.length&&!V&&(y==="fit"||a.length>0),We=z??(Ne?e.map((J,ue)=>J.resizable===!1&&Se[ue]?Se[ue]:`${De[ue]}${ut(ue)}`).join(" "):p),Be=We?{"--table-grid-cols":We}:void 0,Ge=_!==void 0;return n.jsxs("div",{ref:ae,className:`table-wrap table-wrap--${f}${W?" table-wrap--resizable":""}${N?" table-wrap--dragover":""}${b?" table-wrap--collapsed":""}`,style:Be,onDragOver:E,onDragLeave:D,onDrop:H,tabIndex:U?0:void 0,role:U?"region":void 0,"aria-label":U?typeof _=="string"?_:M("table.scrollRegion","\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C"):void 0,children:[!!i&&n.jsx("span",{id:K,className:"table-row-hint",children:M("table.rowActionHint","\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4")}),n.jsxs("div",{ref:te,role:"table","aria-labelledby":Ge&&typeof _=="string"?$:void 0,className:"table body-2",children:[Ge&&n.jsxs("div",{className:Ae("table-header",k&&"table-header--clickable"),onClick:k,role:"caption",children:[k&&n.jsx(he,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:b?"chevron-right":"chevron-down",ariaLabel:b?M("common.expand","\uD3BC\uCE58\uAE30"):M("common.collapse","\uC811\uAE30"),ariaExpanded:!b,className:"table-header__chevron"}),C&&n.jsx(et,{icon:C,label:typeof _=="string"?_:void 0,className:"table-header__icon"}),n.jsx("span",{id:$,className:"table-header__title h5b",children:_}),w!==void 0&&n.jsx("span",{className:"table-header__count body-3b",children:w}),x&&n.jsx("span",{className:"table-header__actions",onClick:J=>J.stopPropagation(),children:x})]}),!b&&n.jsxs(n.Fragment,{children:[t&&t.length>0&&n.jsx("div",{role:"row",className:"table-fields table-fields--groups",children:t.map((J,ue)=>n.jsx("div",{role:"columnheader","aria-colspan":J.span,className:Ae("table-field body-3",J.className),style:{gridColumn:`span ${J.span}`},children:J.label},ue))}),n.jsxs("div",{role:"presentation",className:Ae("table-fields-strip",W&&"table-fields-strip--resizable"),children:[n.jsx("div",{role:"row",className:"table-fields",ref:I,children:e.map((J,ue)=>n.jsx($y,{onClick:J.onClick,className:J.className,sortDir:J.sortDir,ariaSort:lt(ue),onResizeStart:W&&ue<e.length-1&&J.resizable!==!1&&(y!=="fit"||e.some((we,Le)=>Le>ue&&we.resizable!==!1))?we=>je(ue,we):void 0,children:J.label},ue))}),W&&n.jsx(he,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:M("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:M("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:Ue})]}),n.jsx("div",{role:"rowgroup",className:"table-body",children:A?n.jsx(No,{variant:"loading",colSpan:e.length||void 0}):a.length===0&&B?n.jsx(No,{variant:"empty",colSpan:e.length||void 0,children:B}):a.map((J,ue)=>{const we=m!=null&&J.id===m,Le=!!i&&(s?s(J):!0),Oe=Y!=null&&J.id!=null&&(Y instanceof Set?Y.has(J.id)||[...Y].some(He=>String(He)===String(J.id)):String(J.id)===String(Y));return n.jsx(No,{className:`${Le?" table-row--clickable":""}${c?" table-row--draggable":""}${we?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:Le?()=>i(J):void 0,colSpan:e.length||void 0,rowHasButton:r(J).some(He=>!!He.rowLabel),describedBy:K,onMouseEnter:l?He=>l(J,He):void 0,onMouseLeave:u?He=>u(J,He):void 0,onDragStart:c?He=>c(J,He):void 0,onDragEnd:d?He=>d(J,He):void 0,expandedContent:Oe&&P?P(J):void 0,children:r(J).map((He,rt)=>n.jsx(My,{className:He.className,style:He.style,rowLabel:Le?He.rowLabel:void 0,onRowClick:Le?()=>i(J):void 0,children:He.content},rt))},J.id!=null?`${typeof J.id}:${J.id}`:`__idx:${ue}`)})})]})]})]})}function hu(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}const la=e=>e==null?"":String(e).trim();function Eo(e,t,a,r){const i=la(e),s=la(t),l=la(a);if(r&&i&&s&&l){const c=`${i.padStart(4,"0")}-${s.padStart(2,"0")}-${l.padStart(2,"0")}`,d=new Date(c);if(!Number.isNaN(d.getTime())&&d.toISOString().slice(0,10)===c){const m=fi(c,r);if(m)return m}}const u=[i,s,l];for(;u.length>0&&u[u.length-1]==="";)u.pop();return u.join(".")}function Ry(e,t,a){const r=la(e);return r?`${r}-${la(t).padStart(2,"0")}-${la(a).padStart(2,"0")}`:""}const Py={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function Fy(e,t){const a=Py[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}function Cu(e,t){return t!=="wornAt"?String(e[t]??""):Ry(e.wornYear,e.wornMonth,e.wornDay)}function Iy({rows:e,loading:t,onSelect:a,onDelete:r,onWear:i,onRelease:s,onAdd:l}){const{t:u,i18n:c}=_e.useTranslation(),d=f=>f==="left"?u("device.direction.left","\uC88C"):u("device.direction.right","\uC6B0"),{\uC815\uB82C:m,\uCE78:p}=gb(),h=o.useMemo(()=>{if(!m)return e;const{key:f,asc:_}=m;return[...e].sort((C,w)=>{if(f==="worn"){const b=Number(w.worn)-Number(C.worn);return _?b:-b}return so(Cu(C,f),Cu(w,f),_)})},[e,m]),{pageRows:v,pageSizeProps:y,paginationProps:g}=fb(h,m);return n.jsxs("div",{className:"dlp-side-table",children:[n.jsx(yo,{count:{value:e.length,unit:u("customers.device.unit","\uAC1C")},pageSize:y,pagination:g,actions:l&&n.jsx(he,{htmlType:"button",size:40,type:"bar",variant:"main",icon:"plus",label:u("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:l})}),n.jsx(Do,{loading:t,resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...p(u("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},p(u("device.direction.label","\uBC29\uD5A5"),"side"),p(u("device.deviceType","\uC885\uB958"),"device"),p(u("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),p(u("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),p(u("device.productName","\uC81C\uD488\uBA85"),"productName"),p(u("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...r?[{label:"",resizable:!1}]:[]],items:v.map((f,_)=>({id:f.id??`${f.side}-${_}`,row:f})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${r?" 80px":""}`,renderRow:({row:f})=>[{content:n.jsx("span",{className:"dlp-worn-check",onClick:_=>_.stopPropagation(),children:n.jsx(Xl,{checked:f.worn,disabled:f.worn?!s:!i,ariaLabel:f.worn?u("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):u("customers.device.wear","\uCC29\uC6A9"),onChange:_=>{_?i?.(f):s?.(f)}})})},{content:n.jsx("span",{children:d(f.side)})},{content:f.device?n.jsx(At,{size:"small",variant:hu(f.device),fill:"soft",label:Fy(f.device,u)}):n.jsx("span",{})},{content:n.jsx("span",{children:f.brand})},{content:n.jsx("span",{children:f.fitType||"-"})},{content:n.jsx("span",{children:f.productName||"-"})},{content:n.jsx("span",{className:"dlp-date",children:Eo(f.wornYear,f.wornMonth,f.wornDay,c.language)||"-"})},...r?[{content:n.jsx("span",{className:"dlp-row-actions",children:n.jsx(he,{htmlType:"button",size:28,type:"bar",variant:"transparent-gray",label:u("common.delete","\uC0AD\uC81C"),onClick:_=>{_?.stopPropagation(),r(f)}})})}]:[]],onRowClick:({row:f})=>a(f),empty:u("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}function fu(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.target===a.currentTarget&&(a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a)))}}:{}}function Oy(e,t){return new Date(e,t+1,0).getDate()}function Hy(e,t){return new Date(e,t,1).getDay()}function zy({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r,today:i}){const{t:s,i18n:l}=_e.useTranslation(),u=o.useMemo(()=>s("calendar.dow",{returnObjects:!0}),[s]),c=Ur(i),[d,m]=o.useState(()=>Number(c.slice(0,4))),[p,h]=o.useState(()=>Number(c.slice(5,7))-1),[v,y]=o.useState(null),g=o.useRef(null),f=o.useMemo(()=>{const x={};return e.forEach(B=>{x[B.date]||(x[B.date]=[]),x[B.date].push(B)}),x},[e]),_=o.useMemo(()=>{const x=Oy(d,p),B=Hy(d,p),A=[];for(let N=0;N<B;N++)A.push(null);for(let N=1;N<=x;N++)A.push(N);for(;A.length<35;)A.push(null);return A},[d,p]),C=o.useCallback(()=>{p===0?(m(x=>x-1),h(11)):h(x=>x-1)},[p]),w=o.useCallback(()=>{p===11?(m(x=>x+1),h(0)):h(x=>x+1)},[p]),b=x=>`${d}-${String(p+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,k=x=>b(x)===c;return n.jsxs("div",{children:[n.jsxs("div",{className:"calendar-nav",children:[n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:C,"aria-label":s("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:n.jsx(et,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsx("span",{className:"calendar-nav__title h5","aria-live":"polite",children:s("calendar.yearMonth",{year:d,month:p+1})}),n.jsx("button",{type:"button",className:"calendar-nav__button",onClick:w,"aria-label":s("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:n.jsx(et,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),n.jsxs("div",{className:"calendar-nav__legend",children:[n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),n.jsx("span",{className:"caption-1",children:s("calendar.legend.visited","\uBC29\uBB38")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),n.jsx("span",{className:"caption-1",children:s("calendar.legend.scheduled","\uC608\uC57D")}),n.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),n.jsx("span",{className:"caption-1",children:s("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),n.jsxs("div",{className:"calendar-grid",children:[u.map(x=>n.jsx("div",{className:"calendar-day-header body-3",children:x},x)),_.map((x,B)=>{if(x===null)return n.jsx("div",{className:"calendar-cell empty"},`empty-${B}`);const A=x,N=b(A),E=f[N]??[],D=fi(N,l.language),H=v===N;return n.jsxs("div",{className:`calendar-cell${k(A)?" today":""}${H?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?s("calendar.addOnDate",{date:N}):void 0,"aria-current":k(A)?"date":void 0,onClick:r?()=>r(N):void 0,onKeyDown:r?P=>{P.target===P.currentTarget&&(P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),r(N)))}:void 0,onDragOver:a?P=>{P.preventDefault(),y(N)}:void 0,onDragLeave:a?P=>{P.currentTarget.contains(P.relatedTarget)||y(null)}:void 0,onDrop:a?P=>{P.preventDefault(),g.current!=null&&(a(g.current,N),g.current=null),y(null)}:void 0,children:[n.jsx("div",{className:"calendar-cell__number body-3",children:A}),E.length>0&&(()=>{const P=[{key:"visited",\uB9D0:s("calendar.legend.visited","\uBC29\uBB38"),\uC218:E.filter(M=>(M.status??"visited")==="visited").length},{key:"scheduled",\uB9D0:s("calendar.legend.scheduled","\uC608\uC57D"),\uC218:E.filter(M=>M.status==="scheduled").length},{key:"noVisit",\uB9D0:s("calendar.legend.noVisit","\uBBF8\uBC29\uBB38"),\uC218:E.filter(M=>M.status==="noVisit").length}].filter(M=>M.\uC218>0),Y=P.length===1&&P[0].key==="visited"?s("calendar.visitCount",{count:E.length,defaultValue:"\uBC29\uBB38 {{count}}\uAC74"}):P.map(M=>s("calendar.statusCount",{label:M.\uB9D0,count:M.\uC218,defaultValue:"{{label}} {{count}}\uAC74"})).join(" \xB7 ");return n.jsxs("span",{className:"calendar-cell__visit-count caption-1","aria-label":`${D} ${Y}`,children:[P.map(M=>n.jsx("span",{className:`calendar-cell__visit-dot calendar-cell__visit-dot--${M.key}`,"aria-hidden":"true"},M.key)),E.length]})})(),n.jsx("div",{className:"calendar-cell__badges",children:E.map((P,Y)=>n.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${P.status==="noVisit"?" calendar-visit-badge--no-visit":P.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?M=>{g.current=P.id,M.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{g.current=null,y(null)}:void 0,onClick:t?M=>{M.stopPropagation(),t(P)}:void 0,...fu(t?()=>t(P):void 0),"aria-label":[D,P.time?vi(P.time,s):null,P.customer,s(P.status==="noVisit"?"calendar.legend.noVisit":P.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[P.time&&n.jsx("span",{className:"calendar-visit-badge__time body-3",children:vi(P.time,s)}),n.jsx("span",{className:"calendar-visit-badge__name body-3",children:P.customer}),P.status==="noVisit"&&n.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:s("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},P.id??Y))})]},A)})]})]})}const Vy={page:"h3",pagePopup:"h4",popup:"h5"};function ua({type:e="page",title:t,headingLevel:a=2,icon:r,action:i,disc:s,children:l,inGrid:u=!1,className:c,style:d}){const m=Vy[e],p=t||s||i||r,h=a?`h${a}`:"div";return n.jsxs("div",{className:Ae("section",`section--${e}`,u&&"section--in-grid",c),style:d,children:[p&&n.jsxs("div",{className:"section__header",children:[n.jsxs("div",{className:"section__title-row",children:[r&&n.jsx(et,{icon:r,label:typeof t=="string"?t:void 0,className:"section__icon"}),n.jsxs("div",{className:"section__title-group",children:[t&&n.jsx(h,{className:`section__title ${m}`,children:t}),s&&n.jsx("div",{className:"section__disc body-3",children:s})]})]}),i&&n.jsx("div",{className:"section__action",children:i})]}),l]})}let So=null,gu=!1;function bu(){if(gu||typeof document>"u")return;gu=!0,document.addEventListener("keydown",t=>{t.metaKey||t.ctrlKey||t.altKey||(So="keyboard")},!0);const e=()=>{So="pointer"};document.addEventListener("pointerdown",e,!0),document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,{capture:!0,passive:!0})}bu();function sr(){return bu(),So==="keyboard"}const ir=20;function Wy(e){const{t}=_e.useTranslation(),{type:a,trainingDatas:r,depth:i,renderPopup:s,completedIds:l,selectedIds:u,onItemComplete:c,size:d,useDescriptionTooltip:m,onRemove:p,onMore:h,sectionType:v="page"}=e||{},[,y]=o.useState(0),g=typeof r<"u"?Array.isArray(r)?r:[]:[],f=g.length,[_,C]=o.useState(Math.min(f,ir)),w=o.useMemo(()=>Array.isArray(i)?[...i,a?.label].filter(Boolean).join(" \xB7 "):[i||"",a?.label].filter(Boolean).join(" \xB7 "),[i,a?.label]);o.useEffect(()=>{C(Math.min(f,ir))},[f]),cl("speechear.data.updated",()=>y(B=>B+1));const b=o.useRef(null),k=o.useRef(null);function x(){const B=document.activeElement;k.current=sr()&&B&&B.closest?.(".training-block__more")?_:null,C(A=>Math.min(f,A+ir))}return o.useEffect(()=>{const B=k.current;if(B==null)return;k.current=null;const A=document.activeElement;A&&A!==document.body||b.current?.querySelectorAll(".training-block-button")[B]?.focus()},[_]),n.jsxs(ua,{type:v,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[n.jsx("div",{className:"training-list",ref:b,children:(g||[]).slice(0,_).map((B,A)=>{const N=B;return n.jsx(fo,{index:A,type:a,trainingData:N,depth:w,renderPopup:s,completedIds:l,selectedIds:u,size:d,useDescriptionTooltip:m,onRemove:typeof p=="function"&&u!=null&&N?.id!=null&&u.has(String(N.id))?()=>p(N):void 0,onComplete:typeof c=="function"&&N?.id!=null?()=>c(String(N.id)):void 0,onMore:typeof h=="function"?E=>h(N,E):void 0},N?.id!=null?`${a?.key||"t"}-${String(N.id)}`:`${a?.key||"t"}-${A}`)})}),f>ir&&_<f&&n.jsx("div",{className:"training-block__more",children:n.jsx(he,{htmlType:"button",size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function qy(e){let t=0;const a=r=>{Array.isArray(r)?r.forEach(a):r!=null&&r!==!1&&r!==!0&&r!==""&&t++};return a(e),t}function Uy({gap:e=10,count:t,className:a,children:r}){const i=o.useRef(null),[s,l]=o.useState({\uD3ED:0,\uCE74\uB4DC:0}),u=t??qy(r);o.useLayoutEffect(()=>{const h=i.current;if(!h)return;const v=()=>{const g=h.style.maxWidth;h.style.maxWidth="none";const f=h.clientWidth;h.style.maxWidth=g;const _=h.firstElementChild?.offsetWidth??0;l(C=>C.\uD3ED===f&&C.\uCE74\uB4DC===_?C:{\uD3ED:f,\uCE74\uB4DC:_})};if(v(),typeof ResizeObserver>"u")return;const y=new ResizeObserver(v);return y.observe(h),()=>y.disconnect()},[u,e]);const c=s.\uCE74\uB4DC>0?s.\uCE74\uB4DC:0,d=c>0?LC(s.\uD3ED,c,e):0,m=d>0?$C(u,d):0,p={"--block-grid-gap":`${e}px`,...m>0?{"--block-grid-cols":m,"--block-grid-card":`${c}px`}:{}};return n.jsx("div",{ref:i,className:Ae("training-block-grid",m>0&&"training-block-grid--measured",a),style:p,"data-cols":m>0?m:void 0,children:r})}function jo(e){const t=o.useRef(null),[a,r]=o.useState(!!e),[i,s]=o.useState(!1);o.useEffect(()=>{s(!1);const c=t.current;r(!!e&&!(c?.complete&&c.naturalWidth>0))},[e]);const l=o.useCallback(()=>r(!1),[]),u=o.useCallback(()=>{r(!1),s(!0)},[]);return{imgRef:t,loading:a,failed:i,hasImage:!!e&&!i,onLoad:l,onError:u}}var Gy='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A';const Ky=Gy,To=o.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:i=!1,onSelect:s,flipDelay:l=0,hideLabel:u=!1,hideAudio:c=!1,orderRank:d=null},m){const{t:p}=_e.useTranslation(),h=e.word||e.title||"",v=t||!h,y=e.audio??e.sound??e.audioKey,g=e.subLabel||e.pronunciation||"",f=e.colloquialLabel||"",[_,C]=o.useState({label:h,subLabel:g,colloquialLabel:f,homonum:e.homonum});h&&(_.label!==h||_.subLabel!==g||_.colloquialLabel!==f||!Object.is(_.homonum,e.homonum))&&C({label:h,subLabel:g,colloquialLabel:f,homonum:e.homonum});const w=o.useRef(null),b=on("(max-width: 767px)"),[k,x]=o.useState(!1),B=`${typeof y=="string"?y:y?.src??""}\0${h}`,[A,N]=o.useState({for:"",url:""}),E=A.for===B?A.url:"",D=pi(),H=e.textOnly??(!e.image&&!!_.label&&!!D&&D.entries.length>0&&!D.byWord.has(_.label)),P=H?"":ta()?.(_.label,_.homonum)??e.image??"",{imgRef:Y,loading:M,hasImage:L,onLoad:$,onError:K}=jo(P);o.useEffect(()=>{let F=!1;return(async()=>{if(y){if(typeof y=="string"){if(y.startsWith("http")||y.includes("/")){N({for:B,url:y});return}}else if(typeof y=="object"&&!Array.isArray(y)){const U=y.src;if(U){N({for:B,url:U});return}}}const O=Pr();if(O&&h)try{const U=await Promise.resolve(O(h));!F&&U&&N({for:B,url:U})}catch{}})(),()=>{F=!0}},[y,h,B]);const V=o.useRef(!0),z=o.useRef(null);o.useEffect(()=>(V.current=!0,()=>{V.current=!1,z.current&&nr(z.current),z.current=null;try{w.current?.pause()}catch{}w.current=null}),[]);const W=o.useCallback(()=>new Promise(F=>{if(typeof window<"u"&&window.speechSynthesis&&h){x(!0),window.speechSynthesis.cancel();const O=new SpeechSynthesisUtterance(h);O.lang="ko-KR",O.onend=()=>{x(!1);try{a?.()}catch{}F()},O.onerror=()=>{x(!1),F()},window.speechSynthesis.speak(O)}else F()}),[h,a]),R=o.useCallback(F=>{const O=Co(F,U=>{if(x(!1),U)try{a?.()}catch{}});return w.current=O.el,O.done},[a]),q=o.useCallback(async()=>{if(t||!V.current)return;const F=()=>{z.current===F&&(z.current=null);try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1)},O=tr(F);z.current=F;try{window.speechSynthesis?.cancel()}catch{}try{if(E&&(x(!0),await R(E)))return;const U=CC();if(U&&h)try{const Q=await Promise.resolve(U(h));if(!V.current||z.current!==F||Q&&(x(!0),await R(Q)))return}catch{}if(!V.current||z.current!==F)return;await W()}finally{O(),z.current===F&&(z.current=null)}},[t,E,h,R,W]);o.useImperativeHandle(m,()=>({play:()=>q()}),[q]);const j=F=>F.stopPropagation(),I=o.useCallback(F=>{if(F.stopPropagation(),!t){if(k){try{w.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}x(!1);return}q()}},[t,k,q]),S=Ae("training-word-card",t?"training-word-card--disabled":"",v?"training-word-card--flipped":"",r?"training-word-card--selectable":"",i?"training-word-card--selected":"");return n.jsx("div",{className:S,onClick:r&&!t?s:void 0,role:r?"button":void 0,"aria-pressed":r?i:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?F=>{F.target===F.currentTarget&&(F.key==="Enter"||F.key===" "||F.key==="Spacebar")&&(F.preventDefault(),s?.())}:void 0,children:n.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:v?"0ms":`${l}ms`},children:[n.jsxs("div",{className:"training-word-card__front",children:[i&&n.jsx("div",{className:"training-word-card__selected-badge",onClick:j,children:n.jsx(At,{type:"dot",size:40,position:"inline",animate:!0,icon:d!=null?void 0:"check",number:d??void 0,"aria-label":d!=null?p("training.nthSelected",{n:d}):p("training.selected","\uC120\uD0DD\uB428")})}),n.jsx("div",{className:"training-word-card__image-wrap",children:H?n.jsx("div",{className:"training-word-card__text-face",children:_.label}):L?n.jsxs(n.Fragment,{children:[M&&n.jsx("div",{className:"training-word-card__spinner"}),n.jsx("img",{ref:Y,className:"training-word-card__image",src:P,alt:_.label||p("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:M?0:1},onLoad:$,onError:K})]}):n.jsx("div",{className:"training-word-card__placeholder"})}),!u&&n.jsxs("div",{className:"training-word-card__body",children:[!H&&n.jsx("div",{className:"training-word-card__word",children:_.label}),_.subLabel&&n.jsxs("div",{className:"training-word-card__pronunciation",children:["[",_.subLabel,"]"]}),_.colloquialLabel&&n.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",_.colloquialLabel,"]"]})]}),!c&&n.jsx("div",{className:"training-word-card__bottom",onClick:r?j:void 0,children:n.jsx(he,{htmlType:"button",size:b?40:48,type:b?"dot":"bar",icon:k?"pause":"play",label:b?void 0:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:I,disabled:t,ariaLabel:p("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),n.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:n.jsx("img",{src:Ky,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})}),Yy=260;function Rn(e){const{t}=_e.useTranslation(),{title:a,subtitle:r,headerActions:i,headerSegment:s,children:l,buttons:u,footer:c,footerStart:d,footerEnd:m,footerNote:p,footerNoteDivider:h=!1,footerClassName:v="",footerLayout:y="center",onClose:g,closeDisabled:f=!1,beforeClose:_,closeOnBackdrop:C=!0,className:w="",ariaLabel:b,useTitle:k=!0,inline:x=!1,size:B,layer:A="modal",height:N,fillBody:E=!1,resetScrollKey:D}=e||{},[H,P]=o.useState(!1),Y=o.useRef(!1),M=o.useRef(null),L=o.useId(),$=o.useRef(null);o.useEffect(()=>{},[x,a,b,w]),o.useEffect(()=>{D!==void 0&&$.current&&($.current.scrollTop=0)},[D]);const[K,V]=o.useState(!1);o.useEffect(()=>{const ae=$.current;if(!ae)return;const te=()=>V(ae.scrollHeight>ae.clientHeight+1);if(te(),typeof ResizeObserver>"u")return;const ke=new ResizeObserver(te);ke.observe(ae);const G=ae.firstElementChild;return G&&ke.observe(G),()=>ke.disconnect()},[l,D]),o.useEffect(()=>{if(!x)return ql()},[x]),o.useEffect(()=>{if(x)return;const ae=document.activeElement,te=M.current;return Jr(te,ae),te&&!te.contains(document.activeElement)&&(te.querySelector(Cn)??te).focus(),()=>{const ke=document.activeElement;(!ke||ke===document.body||te&&te.contains(ke))&&Qr(ae)?.focus?.()}},[x]),Zr(M,!x);const z=o.useRef(!0),W=eo(),R=o.useRef(null);o.useEffect(()=>(z.current=!0,()=>{z.current=!1,R.current&&(clearTimeout(R.current),R.current=null)}),[]);const q=o.useCallback(()=>{!z.current||!Y.current||(Y.current=!1,P(!1))},[]),j=o.useCallback((ae,te=!1)=>{if(te&&!z.current||Y.current)return;Y.current=!0,P(!0);const ke=setTimeout(()=>{R.current===ke&&(R.current=null);let G;try{G=ae?ae():void 0}catch{q();return}G&&typeof G.then=="function"&&G.then(()=>{setTimeout(q,120)},q)},W?0:Yy);te&&(R.current=ke)},[q,W]),I=o.useCallback(()=>{f||_&&_()===!1||j(g,!0)},[j,g,f,_]),S=o.useRef(I);o.useEffect(()=>{S.current=I});const F=!x&&!!g;o.useEffect(()=>{if(F)return Wn(()=>S.current())},[F]);const O=F&&C,U=o.useRef(!1),Q=ae=>{U.current=ae.target===ae.currentTarget},oe=ae=>{const te=U.current;U.current=!1,te&&ae.target===ae.currentTarget&&I()},me=n.jsx("div",{className:`popup ${x?"popup--inline":""} ${A==="belowPagePopup"?"popup--below-page-popup":""} ${H?"popup--closing":""} ${w}`,onPointerDown:O?Q:void 0,onClick:O?oe:void 0,onMouseDown:x?void 0:ae=>{ae.target===ae.currentTarget&&ae.preventDefault()},children:n.jsxs("div",{ref:M,className:`popup-panel${B?` popup-panel--${B}`:""}${N!=null?" popup-panel--has-height":""}${E?" popup-panel--fill-body":""}`,style:N!=null?{"--popup-height":typeof N=="number"?`${N}px`:N}:void 0,tabIndex:-1,role:x?void 0:"dialog","aria-modal":x?void 0:!0,"aria-labelledby":!x&&k&&a?L:void 0,"aria-label":!x&&!(k&&a)?b??(typeof a=="string"?a:void 0):void 0,children:[!k&&(i||g)?n.jsxs("div",{className:"popup-close-float",children:[i,g&&n.jsx(he,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:I,disabled:f,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||i||g?n.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[n.jsxs("div",{className:"popup-header-main",children:[a?n.jsx("h2",{id:L,className:"popup-title popup-title--left h2",children:a}):n.jsx("span",{id:L,className:"popup-title popup-title--left h2"}),r&&n.jsx("span",{className:"popup-subtitle body-3",children:r})]}),s&&n.jsx("div",{className:"popup-header-segment",children:n.jsx(fn,{size:40,ariaLabel:s.ariaLabel,options:s.options.map(ae=>({key:ae.key,label:ae.label,disabled:ae.disabled})),value:s.value,onChange:s.onChange})}),n.jsxs("div",{className:"popup-header-actions",children:[i,g&&n.jsx(he,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:I,disabled:f,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,n.jsx("div",{className:"popup-content",ref:$,tabIndex:K?0:void 0,children:n.jsx("div",{className:"popup-content__inner",children:typeof l=="function"?l({animateThen:j,closeWithAnimation:I}):l})}),p!=null&&p!==!1&&n.jsx("div",{className:`popup-footer-note caption-1${h?" popup-footer-note--divider":""}`,role:"note",children:p}),d||m?n.jsxs("div",{className:`popup-footer popup-footer--bar${v?` ${v}`:""}`,children:[n.jsx("div",{className:"popup-footer__start",children:typeof d=="function"?d({animateThen:j,closeWithAnimation:I}):d}),n.jsx("div",{className:"popup-footer__end",children:typeof m=="function"?m({animateThen:j,closeWithAnimation:I}):m})]}):u?.length?n.jsx("div",{className:`popup-footer popup-footer--buttons${y!=="center"?` popup-footer--${y}`:""}`,children:u.map((ae,te)=>n.jsx(he,{htmlType:"button",size:48,variant:ae.variant??"default",label:ae.label,disabled:ae.disabled,onClick:()=>ae.onClick?.({animateThen:j,closeWithAnimation:I})},te))}):c?n.jsx("div",{className:`popup-footer${y!=="center"?` popup-footer--${y}`:""}${v?` ${v}`:""}`,children:typeof c=="function"?c({animateThen:j,closeWithAnimation:I}):c}):null]})});return x||typeof document>"u"?me:Jt.createPortal(me,document.body)}function lr(e){return String(e)}const ur=["o","triangle","x"];function yu(e,t){return e===t?null:t}const vu={o:"circle",triangle:"triangle",x:"x"},xu={o:"main",triangle:"warn",x:"danger"};function Zy(e){let t=0,a=0,r=0;for(const s of Object.values(e))s==="o"?t++:s==="triangle"?a++:s==="x"&&r++;const i=t+a+r;return{marked:i,o:t,triangle:a,x:r,rate:i===0?null:(t+a*.5)/i}}function Mo(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function _u(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function Xy(e,t){return!t&&e>0}const ca={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function Jy(e="landscape"){Gt("print-word-table-deprecated","[printWordTable] @deprecated \u2014 WordTablePopup renderButtons \uC758 print(\uB610\uB294 useWordTablePrint().print)\uB97C \uC4F0\uC138\uC694. \uC804\uC5ED \uC778\uC1C4\uB294 \uD654\uBA74\uC758 \uBAA8\uB4E0 \uB2E8\uC5B4\uD45C\uB97C \uD568\uAED8 \uCC0D\uC2B5\uB2C8\uB2E4.");const{printSize:t,printW:a,printH:r}=ca[e],i=document.createElement("style");i.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(i);const s=()=>{document.head.removeChild(i),window.removeEventListener("afterprint",s)};window.addEventListener("afterprint",s),window.print()}function wu(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let i=0;i<e.length;i+=a)r.push(e.slice(i,i+a));return r}const Qy={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function e5(e,t){const a=Qy[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),i=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let s,l;return e==="landscape"?(l=i,s=Math.ceil(r/l)):(s=i,l=Math.ceil(r/s)),(e==="landscape"?s<l:l<s)&&([s,l]=[l,s]),{cols:s,rows:l}}const t5={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},Bu={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},Au={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"},Lo={\uBA85:"noun",\uB3D9:"verb",\uD615:"adjective",\uBD80:"adverb",\uC218:"numeral",\uAD00:"determiner",\uAC10:"interjection",\uC870:"particle",\uC811:"affix",\uC758:"dependentNoun",\uB300:"pronoun",\uBCF4\uB3D9:"auxVerb",\uBCF4\uD615:"auxAdjective"},$o={\uACE0\uC720:"native",\uD55C\uC790:"sino",\uC678\uB798:"foreign",\uD63C\uC885:"mixed"};function ku(e){return Object.fromEntries(Object.entries(Bu).map(([t,a])=>[t,Lo[t]?e(`wordTable.pos.${Lo[t]}`,{defaultValue:a}):a]))}function Nu(e){return Object.fromEntries(Object.entries(Au).map(([t,a])=>[t,$o[t]?e(`wordSearch.filter.type.${$o[t]}`,{defaultValue:a}):a]))}const n5={pos:Lo,wordType:$o};function Ro(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function Du(e,t,a,r){if(r!=="\uC810\uC120")return{};const i=e%t,s=Math.floor(e/t),l=i<t-1,u=s<a-1;if(!l&&!u)return{};const c="#ddd",d=v=>`repeating-linear-gradient(to ${v}, ${c} 0, ${c} 5px, transparent 5px, transparent 10px)`,m=[],p=[],h=[];return l&&(m.push(d("bottom")),p.push("1px 100%"),h.push("right center")),u&&(m.push(d("right")),p.push("100% 1px"),h.push("center bottom")),{backgroundImage:m.join(", "),backgroundSize:p.join(", "),backgroundPosition:h.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const a5=280,r5=240,o5=280,s5=400,i5=120,l5=280;function Eu(e,t){const a=o.useRef(null),[r,i]=o.useState(1),[s,l]=o.useState(0),u=o.useCallback((c,d)=>{if(!(c>0))return;const m=c/e,p=t&&d>0?d/t:1/0,h=Math.min(1,m,p);i(h),l(Math.max(0,(c-e*h)/2))},[e,t]);return o.useEffect(()=>{const c=a.current;if(!c)return;const d=t?c.parentElement??c:c;if(u(d.clientWidth,d.clientHeight),typeof ResizeObserver>"u")return;const m=new ResizeObserver(([p])=>u(p.contentRect.width,p.contentRect.height));return m.observe(d),()=>m.disconnect()},[u,t]),{scalerRef:a,scale:r,offset:s}}const u5={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},c5=400,Su=8;function ju({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:i=!0,showImage:s=!0,showPronunciation:l=!0,showColloquial:u=!0,buttonSize:c=40,wordInfo:d}){const{t:m}=_e.useTranslation(),p=o.useRef(null),h=o.useRef(null),v=o.useRef(null),[y,g]=o.useState(1),[f,_]=o.useState(!1),[C,w]=o.useState({for:"",url:""}),[b,k]=o.useState(null),x=t&&t.length>0?t:gC()?.(e,r)??"",B=ta()?.(e,r)??"",{imgRef:A,loading:N,failed:E,onLoad:D,onError:H}=jo(B),P=o.useCallback(()=>k(h.current?.getBoundingClientRect()??null),[]),Y=o.useCallback(()=>k(null),[]),M=no(!!b,I=>{I?P():Y()},h),L=o.useMemo(()=>{if(!d)return null;const I=[];return d.grade&&I.push(m("wordTable.info.grade",{n:d.grade,defaultValue:"\uB09C\uC774\uB3C4: {{n}}\uB4F1\uAE09"})),d.syllables&&I.push(m("wordTable.info.syllables",{n:d.syllables,defaultValue:"\uC74C\uC808 \uC218: {{n}}\uC74C\uC808"})),d.pos&&I.push(m("wordTable.info.pos",{v:Ro(d.pos,ku(m)),defaultValue:"\uD488\uC0AC: {{v}}"})),d.wordType&&I.push(m("wordTable.info.wordType",{v:Ro(d.wordType,Nu(m)),defaultValue:"\uC720\uD615: {{v}}"})),I.length?I:null},[d,m]),$=x||e,K=C.for===$?C.url:"";o.useEffect(()=>{const I=Pr(),S=x||e;if(!I||!S)return;let F=!1;return Promise.resolve(I(S)).then(O=>{!F&&O&&w({for:S,url:O})}),()=>{F=!0}},[x,e]);const V=o.useRef(null),z=o.useRef(null);o.useEffect(()=>()=>{v.current?.pause(),z.current?.()},[]);const W=o.useCallback(I=>{if(I.stopPropagation(),f){V.current?.();return}if(!K)return;_(!0);const S=Co(K,()=>{_(!1),z.current?.()});v.current=S.el,V.current=S.stop,z.current=tr(S.stop)},[f,K]),R=s&&!!B&&!E,q=R&&i?a5:R?o5:r5,j=R&&i?s5:R?l5:i5;return o.useEffect(()=>{const I=p.current;if(!I||typeof ResizeObserver>"u")return;const S=new ResizeObserver(([F])=>{const{width:O,height:U}=F.contentRect;g(Math.min(O/q,U/j))});return S.observe(I),()=>S.disconnect()},[q,j]),n.jsxs("div",{ref:p,className:Ae("word-table-cell",R?"word-table-cell--with-image":""),"data-ref-w":q,"data-ref-h":j,children:[n.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${y})`},children:[R&&n.jsxs("div",{className:"word-table-cell__image-wrap",children:[N&&n.jsx("div",{className:"word-table-cell__spinner"}),n.jsx("img",{ref:A,className:"word-table-cell__image",src:B,alt:e,draggable:!1,style:{opacity:N?0:1},onLoad:D,onError:H})]}),i&&n.jsx("span",{className:"word-table-cell__word h0",children:e}),l&&x&&n.jsxs("span",{className:"word-table-cell__sub h3",children:["[",x,"]"]}),u&&a&&n.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),n.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":K,children:[n.jsx("span",{"data-play-state":"play",style:{display:f?"none":void 0},children:n.jsx(he,{htmlType:"button",size:c,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:m("common.play","\uC7AC\uC0DD"),ariaLabel:e?m("common.playFor",{name:e,defaultValue:`${e} \uC7AC\uC0DD`}):m("common.play","\uC7AC\uC0DD"),onClick:W})}),n.jsx("span",{"data-play-state":"pause",style:{display:f?void 0:"none"},children:n.jsx(he,{htmlType:"button",size:c,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:m("common.pause","\uBA48\uCDA4"),ariaLabel:e?m("common.pauseFor",{name:e,defaultValue:`${e} \uBA48\uCDA4`}):m("common.pause","\uBA48\uCDA4"),onClick:W})})]}),d&&n.jsxs("div",{ref:h,className:"word-table-cell__info-button",onPointerEnter:I=>{oa(I)||P()},onPointerLeave:I=>{oa(I)||Y()},onFocus:()=>{sa()||P()},onBlur:Y,children:[n.jsx(he,{htmlType:"button",size:c,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:m("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:I=>{I.stopPropagation(),M.touchPress()}}),b&&L&&n.jsx(qn,{anchorRect:b,items:L,showIndex:!1})]})]})}function da({title:e,titleIcon:t,disc:a,className:r,orientation:i="landscape",contentTypes:s=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:l="\uD45C\uC2DC",showOutline:u=!0,showDivLine:c=!0,items:d,editCells:m,count:p,activeCell:h=null,onActivateCell:v,onRemoveCell:y,onRemoveItem:g,onReorder:f,renderCellAction:_,showFillerAdd:C=!1,contentRef:w,buttonSize:b=40,brand:k,code:x,pageNumber:B,pageNumberPosition:A="right",fitHeight:N=!1,scoring:E=!1,marks:D,onMarkClick:H,scoreIndexOffset:P=0}){const Y=o.useCallback((J,ue)=>{H?.(P+J,ue)},[H,P]),M=(J,ue)=>{const we=D?.[lr(P+J)]??null;return n.jsx("div",{className:Ae("word-table-cell__score",we?"word-table-cell__score--marked":""),style:We>1?{transform:`translateX(-50%) scale(${We})`,transformOrigin:"bottom center"}:void 0,children:ur.map(Le=>n.jsx("span",{className:Ae("word-table-cell__score-slot",we===Le?"word-table-cell__score-slot--on":""),children:n.jsx(he,{htmlType:"button",size:b,type:"dot",shape:"pill",icon:vu[Le],variant:we===Le?xu[Le]:"default",selected:we===Le,useBorder:!1,...Ne?{}:{tabIndex:-1,role:"img"},showTooltipInfo:L(`wordTable.scoring.markName.${Le}`,{defaultValue:Le}),ariaLabel:L(`wordTable.scoring.${Le}`,{word:ue,defaultValue:`${ue} ${Le}`}),onClick:Ne?Oe=>{Oe.stopPropagation(),Y(J,Le)}:void 0})},Le))})},{t:L}=_e.useTranslation(),$=m!==void 0,K=e!=null||!!t||!!a,V=on("(max-width: 767px)"),z=o.useRef(null),[W,R]=o.useState(null),q=d?.length??0,[j,I]=o.useState(null),[S,F]=o.useState(""),O=o.useRef(null),U=o.useRef(null),Q=o.useRef(null),oe=o.useRef(null),me=o.useCallback(J=>{U.current=J,typeof w=="function"?w(J):w&&(w.current=J)},[w]),ae=o.useCallback((J,ue)=>{O.current=ue,f?.(J,ue),F(L("wordTable.reorder.moved",{n:ue+1,total:q,defaultValue:"{{total}}\uCE78 \uAC00\uC6B4\uB370 {{n}}\uBC88\uC9F8\uB85C \uC62E\uAE40"}))},[f,L,q]);o.useEffect(()=>{const J=O.current;J!=null&&(O.current=null,U.current?.querySelectorAll(".word-table-block__card:not(.word-table-block__card--filler)")?.[J]?.querySelector(".word-table-block__card-handle button")?.focus())}),o.useEffect(()=>()=>{oe.current?.()},[]);const te=o.useCallback((J,ue)=>{if(!f||!J.altKey||J.ctrlKey||J.metaKey)return;const we=J.key==="ArrowRight";if(!we&&J.key!=="ArrowLeft")return;J.preventDefault();const Le=ue+(we?1:-1);Le<0||Le>=q||ae(ue,Le)},[f,q,ae]),ke=o.useCallback((J,ue)=>{if(!f||J.pointerType==="mouse")return;const we=J.target.closest?.("button");if(we&&!we.closest(".word-table-block__card-handle"))return;oe.current?.();const Le={x:J.clientX,y:J.clientY};let Oe=!1;const He=Pe=>{Oe&&Pe.cancelable&&Pe.preventDefault()};let rt=null,ct=null;const pt=()=>{const Pe=ct;if(!Pe)return;const dt=document.elementFromPoint?.(Pe.x,Pe.y)?.closest?.("[data-wordtable-cell]"),tt=dt?Number(dt.dataset.wordtableCell):NaN,gt=Number.isInteger(tt)?tt:null;Q.current=gt,R(Ke=>Ke===gt?Ke:gt)},xt=Pe=>{if(!Oe){(Math.abs(Pe.clientX-Le.x)>Su||Math.abs(Pe.clientY-Le.y)>Su)&&Re();return}if(ct={x:Pe.clientX,y:Pe.clientY},typeof requestAnimationFrame>"u"){pt();return}rt===null&&(rt=requestAnimationFrame(()=>{rt=null,pt()}))},mt=()=>{rt!==null&&(cancelAnimationFrame(rt),rt=null,pt());const Pe=Q.current,dt=Oe;Re(),dt&&Pe!=null&&Pe!==ue&&ae(ue,Pe)},Je=setTimeout(()=>{Oe=!0,I(ue),Q.current=ue,R(ue),window.addEventListener("touchmove",He,{passive:!1})},c5);function Re(){clearTimeout(Je),window.removeEventListener("pointermove",xt),window.removeEventListener("pointerup",mt),window.removeEventListener("pointercancel",mt),window.removeEventListener("touchmove",He),Oe=!1,rt!==null&&(cancelAnimationFrame(rt),rt=null),Q.current=null,oe.current=null,I(null),R(null)}oe.current=Re,window.addEventListener("pointermove",xt),window.addEventListener("pointerup",mt),window.addEventListener("pointercancel",mt)},[f,ae]),{width:G,height:re}=ca[i],ie=typeof N=="number"?N:N&&typeof N=="object"?V?N.narrow:N.wide:null,{scalerRef:De,scale:ye,offset:se}=Eu(G,N?re:void 0),ce=$?m?.length??0:d?.length??0,Ce=Math.max(p??ce,1),{cols:be,rows:ge}=e5(i,Ce),je={word:s.length===0||s.includes("\uB2E8\uC5B4"),image:s.length===0||s.includes("\uC774\uBBF8\uC9C0"),pron:s.length===0||s.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:s.length===0||s.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},Ue=$?(m??[]).some(J=>J!==null&&J.length>1):(d??[]).some(J=>(J.words??[]).length>1),Se=!!k?.show,Ie=!!k?.show&&k?.top!==!1,qe=!!k?.show&&k?.bottom!==!1,lt=k?.copyright??"\xA9 IHAB, Inc. All rights reserved.",st=Ae("word-table-block__content",t5[l],u&&"word-table-block__content--outline",c&&Ue&&"word-table-block__content--div-line",!Se&&B&&A!=="none"&&"word-table-block__content--page-number",Ie&&"word-table-block__content--brand-top",qe&&"word-table-block__content--brand-bottom"),nt={transform:`scale(${1/ye})`,transformOrigin:"center center"},ut=b*ur.length+4*(ur.length-1),Ne=!!H,We=Ne?Math.max(1,Math.min(1/ye,G/be/ut)):1,Be=n.jsxs("div",{ref:De,className:"word-table__scaler",style:{height:re*ye},children:[n.jsx("div",{className:Ae("word-table",E&&!Ne&&"word-table--score-readonly",!K&&r),style:{width:G,height:re,transform:`scale(${ye})`,transformOrigin:"top left",marginLeft:se},children:n.jsxs("div",{ref:me,className:st,style:{gridTemplateColumns:`repeat(${be}, 1fr)`,gridTemplateRows:`repeat(${ge}, 1fr)`},children:[$?n.jsx(n.Fragment,{children:(m??[]).map((J,ue)=>n.jsx("div",{className:Ae("word-table-block__edit-cell",J?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",h===ue?"word-table-block__edit-cell--active":""),style:Du(ue,be,ge,l),children:J?n.jsxs(n.Fragment,{children:[J.map((we,Le)=>n.jsxs(o.Fragment,{children:[Le>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(ju,{label:we.word,subLabel:we.pronunciation,colloquialLabel:we.colloquialPronunciation,homonum:we.homonum,showWord:je.word,showImage:je.image,showPronunciation:je.pron,showColloquial:je.colloq,buttonSize:b})]},Le)),E&&M(ue,J.map(we=>we.word).join(" / ")),y&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(he,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:J.length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:J.length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>y(ue)})})]}):v&&n.jsx("div",{style:nt,children:n.jsx(he,{htmlType:"button",size:"48",type:"bar",icon:"plus",label:L("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>v(ue)})})},ue))}):n.jsxs(n.Fragment,{children:[(d??[]).map((J,ue)=>n.jsxs("div",{"data-wordtable-cell":f?ue:void 0,className:`word-table-block__card${f?" word-table-block__card--draggable":""}${W===ue?" word-table-block__card--drag-over":""}${j===ue?" word-table-block__card--dragging":""}`,style:Du(ue,be,ge,l),draggable:!!f,onPointerDown:f?we=>ke(we,ue):void 0,onKeyDown:f?we=>te(we,ue):void 0,onDragStart:f?()=>{z.current=ue}:void 0,onDragOver:f?we=>{we.preventDefault(),R(ue)}:void 0,onDragLeave:f?()=>R(null):void 0,onDrop:f?we=>{we.preventDefault(),z.current!==null&&z.current!==ue&&f(z.current,ue),z.current=null,R(null)}:void 0,onDragEnd:f?()=>{z.current=null,R(null)}:void 0,children:[(J.words??[]).map((we,Le)=>n.jsxs(o.Fragment,{children:[Le>0&&n.jsx("div",{className:"word-table-block__pair-divider"}),n.jsx(ju,{label:we.label,subLabel:we.subLabel,colloquialLabel:we.colloquialLabel,homonum:we.homonum,showWord:je.word,showImage:je.image,showPronunciation:je.pron,showColloquial:je.colloq,buttonSize:b,wordInfo:we.grade||we.syllables!=null||we.pos||we.wordType?{grade:we.grade,syllables:we.syllables,pos:we.pos,wordType:we.wordType}:void 0})]},Le)),E&&M(ue,(J.words??[]).map(we=>we.label).join(" / ")),f&&n.jsx("div",{className:"word-table-block__card-handle",children:n.jsx(he,{htmlType:"button",size:b,type:"dot",icon:"grip-vertical",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:L("wordTable.reorder.hint","Alt + \u2190 \u2192 \uB85C \uC21C\uC11C \uBC14\uAFB8\uAE30"),ariaLabel:L("wordTable.reorder.handle",{word:(J.words??[]).map(we=>we.label).join(" / "),defaultValue:"{{word}} \uC21C\uC11C \uBC14\uAFB8\uAE30 (Alt + \uD654\uC0B4\uD45C)"})})}),(_||g)&&n.jsxs("div",{className:"word-table-block__card-actions",children:[_?.(ue,J),g&&n.jsx("div",{className:"word-table-block__card-close",children:n.jsx(he,{htmlType:"button",size:b,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:(J.words??[]).length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:(J.words??[]).length>1?L("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):L("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>g(J.id)})})]})]},J.id)),Array.from({length:Math.max(0,be*ge-(d?.length??0))}).map((J,ue)=>{const we=(d?.length??0)+ue<Ce;return n.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:C&&v&&we&&n.jsx("div",{style:nt,children:n.jsx(he,{htmlType:"button",size:b,type:"bar",icon:"plus",label:L("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>v((d?.length??0)+ue)})})},`filler-${ue}`)})]}),Ie&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"word-table__band word-table__band--top",children:[n.jsx("img",{className:"word-table__brand-logo",src:k?.topLogo?.src??er,alt:k?.topLogo?.alt??"\uB9D0\uADC0"}),(()=>{const J=[k?.title&&n.jsx("span",{className:"word-table__paper-title",children:k.title},"t"),k?.owner&&n.jsx("span",{className:"word-table__owner",children:k.owner},"o"),x&&n.jsx("span",{className:"word-table__code",children:x},"c")].filter(Boolean);return J.length===0?null:n.jsx("span",{className:"word-table__ident",children:J.map((ue,we)=>n.jsxs(o.Fragment,{children:[we>0&&n.jsx("span",{className:"word-table__ident-dot","aria-hidden":"true",children:"\xB7"}),ue]},we))})})()]})}),qe&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"word-table__band word-table__band--bottom",children:[n.jsxs("span",{className:"word-table__brand-by",children:[k?.bottomLogo?n.jsx("img",{className:"word-table__brand-logo--ihab word-table__brand-logo--given",src:k.bottomLogo.src,alt:k.bottomLogo.alt}):n.jsx("span",{className:"word-table__brand-logo--ihab",role:"img","aria-label":"IHAB"}),n.jsx("span",{className:"word-table__copyright",children:lt})]}),n.jsxs("span",{className:"word-table__band-end",children:[k?.link&&n.jsx("span",{className:"word-table__link",children:k.link}),B&&A!=="none"&&n.jsx("span",{className:"word-table__page-count",children:L("wordTable.filter.pageIndicator",{current:B.current,total:B.total})})]})]})}),!Se&&B&&A!=="none"&&n.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${A}`,children:L("wordTable.filter.pageIndicator",{current:B.current,total:B.total})})]})}),f&&n.jsx("span",{role:"status",style:u5,children:S})]}),Ge=ie==null?Be:n.jsx("div",{className:"word-table__frame",style:{height:ie},children:Be});return K?n.jsx(ua,{type:"page",icon:t,title:e,disc:a,className:Ae("word-table-block",r),children:Ge}):Ge}function d5(e,t,a){const r=[];for(const i of e??[]){if(i.type==="note"||i.type==="input")continue;const s=i.displayLabel??i.label,l=p5(i,t?.[i.label],a);l!==null&&r.push(`${s} ${l}`)}return r.join(" \xB7 ")}function p5(e,t,a){const r=(Array.isArray(t)?t:t===void 0?[]:[t]).filter(i=>i!==cn);return r.length===0?e.allOption?e.allLabel??a:null:r.map(i=>m5(e,i)).join(", ")}function m5(e,t){const a=[...e.items??[],...(e.groups??[]).flat()];for(const r of a)if(r!=null){if(typeof r=="string"){if(r===t)return r;continue}if(r.value===t)return r.displayLabel??r.labels?.join(" ")??r.value}return t}function Nn({title:e,titleLevel:t=2,headerAction:a,headerSummary:r,collapsible:i=!1,defaultCollapsed:s=!1,collapsed:l,onCollapsedChange:u,footer:c,sections:d,selected:m={},onSelect:p,align:h,sectionAlign:v,className:y}){const g=(h??(v==="vertical"?"newline":"inline"))==="inline",{t:f}=_e.useTranslation(),[_,C]=o.useState(s),w=l??_,b=()=>{const D=!w;C(D),u?.(D)},k=D=>{if(!i)return;const H=D.target;!H||typeof H.closest!="function"||H.closest(".filter-panel__collapse-toggle")||H.closest('button, a, input, select, textarea, label, [role="radiogroup"], [role="button"], [role="menu"]')||b()},x=o.useMemo(()=>r!==void 0||!w?"":d5(d,m,f("common.all","\uC804\uCCB4")),[r,w,d,m,f]),B=r??(x?n.jsx("span",{className:"filter-panel__header-summary body-3",children:x}):null),A=e||a||r||i,N=o.useId(),E=t?`h${t}`:"span";return n.jsxs("div",{className:Ae("filter-panel",i?"filter-panel--collapsible":"",w?"filter-panel--collapsed":"",y),role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?N:void 0,children:[A&&n.jsxs("div",{className:"filter-panel__header",onClick:i?k:void 0,children:[n.jsx("div",{className:"filter-panel__title-row",children:e&&n.jsx(E,{id:N,className:"filter-panel__title h4",children:e})}),n.jsxs("div",{className:"filter-panel__header-actions",children:[w?B:a,i&&n.jsx(he,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:w?"chevron-down":"chevron-up",className:"filter-panel__collapse-toggle",ariaLabel:w?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),showTooltipInfo:w?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),"aria-expanded":!w,onClick:b})]})]}),!w&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:Ae("filter-panel__sections",g?"filter-panel__sections--row":""),children:d.map(D=>{const H=m[D.label],P=H===void 0||(Array.isArray(H)?H.length===0:!1),Y=(D.items??[]).filter(L=>L!=null);D.allOption&&Y.some(L=>(typeof L=="string"?L:L.value)===cn)&&Gt(`filter-panel-all-value:${D.label}`,`[FilterPanel] '${D.label}' \uC808\uC5D0 allOption \uACFC \uAC12 '${cn}' \uC778 \uBCF4\uAE30\uAC00 \uD568\uAED8 \uC788\uB2E4 \u2014 \uB450 \uC120\uD0DD\uC774 \uAD6C\uBCC4\uB418\uC9C0 \uC54A\uB294\uB2E4. \uBCF4\uAE30 \uAC12\uC744 \uBC14\uAFD4\uB77C.`);const M=L=>{const $=typeof L=="string"?L:L.value,K=typeof L!="string"&&!!L.disabled,V=typeof L!="string"?L.labels:void 0,z=typeof L!="string"?L.displayLabel:void 0,W=typeof L!="string"?L.tooltip:void 0,R=typeof L!="string"?L.descriptionTooltip:void 0,q=typeof L!="string"?L.shape:void 0,j=Array.isArray(H)?H.includes($):H===$;return n.jsx(he,{htmlType:"button",size:"keyboard",label:V??z??$,type:D.itemType??(V?"bar":$.length===1?"dot":void 0),selected:j,disabled:K,shape:q,showTooltipInfo:!!W,tooltipInfoText:W,tooltipDescription:R,onClick:()=>p?.($,D.label)},$)};return n.jsxs(o.Fragment,{children:[D.groupLabel&&n.jsxs("div",{className:"filter-panel__group-label-row",children:[n.jsx("div",{className:"filter-panel__group-label body-2",children:D.groupLabel}),D.groupAction]}),n.jsxs("div",{className:Ae("filter-panel__section",D.layout==="row"?"filter-panel__section--row":"",D.block?"filter-panel__section--block":""),children:[n.jsxs("div",{className:"filter-panel__section-label-row",children:[n.jsx("span",{className:"filter-panel__section-label body-3",children:D.displayLabel??D.label}),D.labelAction??(D.labelInfo?n.jsx(Ta,{...D.labelInfo}):null)]}),D.type==="note"?n.jsx("div",{className:"filter-panel__note body-3",children:D.content}):D.type==="input"?n.jsx(Kn,{className:"filter-panel__textfield",placeholder:D.placeholder,ariaLabel:D.displayLabel??D.label,value:m[D.label]??"",onChange:L=>p?.(L,D.label),error:D.error}):!D.multiple&&D.display==="segmented"?n.jsx(fn,{ariaLabel:D.displayLabel??D.label,options:[...D.allOption?[{key:cn,label:D.allLabel??f("common.all","\uC804\uCCB4"),disabled:D.allOptionDisabled}]:[],...Y.map(L=>{const $=typeof L=="string"?L:L.value,K=typeof L!="string"?L.displayLabel:void 0,V=typeof L!="string"?L.disabled:void 0;return{key:$,label:K??$,disabled:V}})],value:P&&D.allOption?cn:m[D.label]??"",onChange:L=>p?.(L,D.label),size:32}):!D.multiple&&D.display==="dropdown"?n.jsx(dn,{className:"filter-panel__dropdown",ariaLabel:typeof D.label=="string"?D.label:void 0,size:40,options:[...D.allOption?[{value:cn,label:D.allLabel??f("common.all","\uC804\uCCB4"),disabled:D.allOptionDisabled}]:[],...Y.map(L=>{const $=typeof L=="string"?L:L.value,K=typeof L!="string"?L.displayLabel:void 0,V=typeof L!="string"?L.disabled:void 0;return{value:$,label:K??$,disabled:V}})],value:P&&D.allOption?cn:m[D.label],onChange:L=>p?.(L,D.label)}):n.jsxs("div",{className:D.groups?"filter-panel__item-groups":"filter-panel__items",children:[D.allOption&&!D.groups&&n.jsx(he,{htmlType:"button",size:"keyboard",label:D.allLabel??f("common.all","\uC804\uCCB4"),selected:P,disabled:D.allOptionDisabled,onClick:()=>p?.(cn,D.label)}),D.groups?D.groups.map((L,$)=>n.jsxs("div",{className:"filter-panel__item-group",children:[$===0&&D.allOption&&n.jsx(he,{htmlType:"button",size:"keyboard",label:D.allLabel??f("common.all","\uC804\uCCB4"),selected:P,disabled:D.allOptionDisabled,onClick:()=>p?.(cn,D.label)}),L.filter(K=>K!=null).map(M)]},$)):Y.map(M)]})]})]},D.label)})}),c!=null&&c!==!1&&n.jsx("div",{className:"filter-panel__footer body-3",children:c})]})]})}const h5=[1,2,3,4,5,6,7,8,9,10,11,12],Tu=[8,4,2,1];function Mu(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function Lu(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function $u(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Ru(e){return{label:e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Pu(e){return{label:e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Fu(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Iu(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Ou(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...Tu.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Hu(e,t){return e===t||!Tu.includes(e)?Number.POSITIVE_INFINITY:e}function C5(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const zu={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Vu(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Wu(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",...t.showTopInfo!=null?{[e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")]:t.showTopInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{},...t.showBottomInfo!=null?{[e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")]:t.showBottomInfo?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}:{}}}function qu(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===cn?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(i=>i.includes(t)?i.filter(s=>s!==t):[...i,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.topInfo","\uC0C1\uB2E8 \uC815\uBCF4")?(r.setShowTopInfo?.(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.bottomInfo","\uD558\uB2E8 \uC815\uBCF4")?(r.setShowBottomInfo?.(t==="\uD45C\uC2DC"),!0):!1}function f5(e){return"sections"in e}function Po(e){const{t}=_e.useTranslation(),{title:a,className:r,collapsible:i,defaultCollapsed:s,collapsed:l,onCollapsedChange:u,headerSummary:c}=e,d={collapsible:i,defaultCollapsed:s,collapsed:l,onCollapsedChange:u,headerSummary:c};if(f5(e))return n.jsx(Nn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,...d,align:"inline"});const{hasImage:m,hasColloquial:p,contentTypes:h,orientation:v,showOutline:y,cutLine:g,showDivLine:f,setters:_,showCutLine:C=!1,showDivLine2:w=!1,middleSections:b=[],extraSelected:k={},onExtraSelect:x,showPaperBands:B=!1,showTopInfo:A=!0,showBottomInfo:N=!0}=e,E=[Mu(t,{hasImage:m,hasColloquial:p}),Lu(t),...b,$u(t),...C?[Fu(t)]:[],...w?[Iu(t)]:[],...B?[Ru(t),Pu(t)]:[]],D={...Wu(t,{contentTypes:h,orientation:v,showOutline:y,cutLine:g,showDivLine:f,showTopInfo:A,showBottomInfo:N}),...k},H=(P,Y)=>{qu(t,P,Y,_)||x?.(P,Y)};return n.jsx(Nn,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:E,selected:D,onSelect:H,...d,sectionAlign:"horizontal"})}function Uu(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Fo(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}let cr=null,pa=null;function g5(e,t,a,r="",i=""){if(e.length===0||pa&&pa.iframe.isConnected&&Date.now()-pa.at<1e4)return;const s=r?Fo(r):"";cr?.();let l=null;if(s){const d=document.title;document.title=s,l=()=>{document.title=d,window.removeEventListener("afterprint",l),cr===l&&(cr=null)},cr=l,window.addEventListener("afterprint",l)}const u=document.createElement("iframe");u.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(u);const c=u.contentDocument;if(!c){u.remove();return}pa={iframe:u,at:Date.now()},c.open(),c.write(Io(e,t,a,!0,s,i)),c.close(),u.contentWindow?.addEventListener("afterprint",()=>{l?.(),setTimeout(()=>{u.remove(),pa?.iframe===u&&(pa=null)},0)})}function Io(e,t,a,r=!1,i="",s=""){i=i?Fo(i):"";const l=Array.from(document.styleSheets).flatMap(m=>{try{return Array.from(m.cssRules).map(p=>p.cssText)}catch{return[]}}).join(`
|
|
860
|
+
`),u="light",c=s?`<div class="paper-head">${Uu(s)}</div>`:"",d=e.map(m=>{const p=m.cloneNode(!0);return p.querySelectorAll('[data-play-state="play"]').forEach(h=>h.style.display=""),p.querySelectorAll('[data-play-state="pause"]').forEach(h=>h.style.display="none"),p.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(h=>h.remove()),p.querySelectorAll(".word-table-cell__spinner").forEach(h=>h.remove()),p.querySelectorAll("img").forEach(h=>{h.style.opacity==="0"&&(h.setAttribute("onload","this.style.opacity=''"),h.setAttribute("onerror","this.style.visibility='hidden'"))}),`<div class="paper-wrap">${c}${p.outerHTML}</div>`}).join(`
|
|
861
861
|
`);return`<!DOCTYPE html>
|
|
862
862
|
<html data-theme="${u}">
|
|
863
863
|
<head>
|
|
864
864
|
<meta charset="utf-8">
|
|
865
|
-
${
|
|
865
|
+
${i?`<title>${Uu(i)}</title>`:""}
|
|
866
866
|
<style>${l}</style>
|
|
867
867
|
<style>
|
|
868
868
|
* { box-sizing: border-box; }
|
|
@@ -1047,10 +1047,10 @@ ${b.badge}`:b.badge:void 0;if(x&&c(b.code))return null;if(!b.badge&&!m)return p(
|
|
|
1047
1047
|
`:""}
|
|
1048
1048
|
<\/script>
|
|
1049
1049
|
</body>
|
|
1050
|
-
</html>`}const b5=1e3;function Io({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=_e.useTranslation(),u=o.useCallback(()=>{g5(e(),t,a,r,i)},[e,t,a,r,i]),c=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=window.open("","_blank");if(!p){s?.();return}p.document.write(Fo(m,t,a,!1,r,i)),p.document.close()},[e,t,a,r,s,i]),d=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=Fo(m,t,a,!1,r,i),C=new Blob([p],{type:"text/html;charset=utf-8"}),y=URL.createObjectURL(C),v=(r?Po(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),f=Object.assign(document.createElement("a"),{href:y,download:`${v}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(y),b5)},[e,t,a,r,i,l]);return{print:u,openNewWindow:c,downloadHtml:d}}function Gu(e,t){const{t:a}=_e.useTranslation(),r=t?.paperBands===!0,[s,i]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[c,d]=o.useState("\uD45C\uC2DC"),[m,p]=o.useState(!0),[C,y]=o.useState(!0),[v,f]=o.useState(!0),[g,_]=o.useState(!0),[h,w]=o.useState(8),[b,k]=o.useState("right"),x=e.length,B=e.some(K=>(K.words??[]).length>1),A=e.some(K=>(K.words??[]).some(Y=>!!Y.colloquialLabel)),N=Math.min(h,Math.max(x,1)),E=o.useMemo(()=>wu(e,N),[e,N]),D=E.length>1,H=N,[$,G]=o.useState(!1);o.useEffect(()=>{let K=!1;if(!ea()){G(!1);return}return Promise.all(e.flatMap(Y=>(Y.words??[]).map(z=>ii(z.label,z.homonum)))).then(Y=>{K||G(Y.some(Boolean))},()=>{}),()=>{K=!0}},[e]);const L=o.useMemo(()=>[Mu(a,{hasImage:$,hasColloquial:A}),Lu(a),...x>0?[Ou(a,{hasPairs:B,itemCount:x})]:[],$u(a),...H>1?[Fu(a)]:[],...B?[Iu(a)]:[],...r?[Ru(a),Pu(a)]:[]],[a,$,A,x,B,D,H,r]),M={...Wu(a,{contentTypes:l,orientation:s,showOutline:m,cutLine:c,showDivLine:g,showTopInfo:C,showBottomInfo:v}),...x>0?{[a(B?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${N}\uAC1C`}:{},...D?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:zu[b]}:{}},I=o.useCallback((K,Y)=>{qu(a,K,Y,{setContentTypes:u,setOrientation:i,setShowOutline:p,setCutLine:d,setShowDivLine:_,setShowTopInfo:y,setShowBottomInfo:f})||(Y===a("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||Y===a("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?w(Hu(parseInt(K),x)):Y===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&k(Vu(K)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:c,showOutline:m,showDivLine:g,count:H,showTopInfo:C,showBottomInfo:v},filterSections:L,filterSelected:M,handleSelect:I,pages:E,isPaginated:D,pageNumberPosition:b}}function y5({items:e,words:t,title:a,subtitle:r,emptyText:s,buttons:i,renderButtons:l,renderFooter:u,footerClassName:c,footerLayout:d,printFileName:m,showSettings:p,autoPrint:C,className:y,onClose:v,scoring:f=!1,onScoreChange:g,printHeader:_,brand:h,code:w,beforeClose:b}){const{t:k}=_e.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(te=>typeof te=="string"&&te.length>0).map((te,Ae)=>({id:`${te}-${Ae}`,words:[{label:te}]})),[e,t]),{settings:B,filterSections:A,filterSelected:N,handleSelect:E,pages:D,isPaginated:H,pageNumberPosition:$}=Gu(x,{paperBands:!!h?.show}),G=o.useMemo(()=>_u(D.map(te=>te.length)),[D]),[L,M]=o.useState({}),I=o.useCallback((te,Ae)=>{M(U=>({...U,[lr(te)]:yu(U[lr(te)]??null,Ae)}))},[]),K=o.useRef(g);o.useEffect(()=>{K.current=g});const Y=o.useRef(L);o.useEffect(()=>{Y.current!==L&&(Y.current=L,K.current?.(To(L)))},[L]);const z=o.useMemo(()=>To(L),[L]),V=o.useRef(null),{toastMessage:R,toastKey:q,showWarning:S,clearToast:P}=gl("warning"),j=o.useRef([]),F=o.useCallback(()=>H?j.current.filter(te=>te!==null):V.current?[V.current]:[],[H]),{print:O,openNewWindow:W}=Io({getElements:F,paperW:ua[B.orientation].width,paperH:ua[B.orientation].height,fileName:m??"",header:_??"",onPopupBlocked:()=>S(k("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),Q=o.useMemo(()=>u?void 0:l?l({print:O,openNewWindow:W}):m?[{label:k("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>W()},{label:k("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>O()},...i??[]]:i,[u,l,m,i,k,O,W]),oe=o.useMemo(()=>u?u({print:O,openNewWindow:W}):void 0,[u,O,W]),de=o.useRef(!1),ae=o.useRef(O);return o.useEffect(()=>{ae.current=O},[O]),o.useEffect(()=>{if(!C||de.current)return;const te=window.setTimeout(()=>{de.current=!0,ae.current()},100);return()=>window.clearTimeout(te)},[C]),n.jsxs(Rn,{title:a??k("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:ke("word-table-popup",y),buttons:Q,footer:oe,footerClassName:c,footerLayout:d,beforeClose:b,onClose:v,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(Ro,{sections:A,selected:N,onSelect:E}),H?n.jsx("div",{className:"word-table-popup__pages",children:D.map((te,Ae)=>n.jsx(ca,{items:te,orientation:B.orientation,contentTypes:B.contentTypes,cutLine:B.cutLine,showOutline:B.showOutline,showDivLine:B.showDivLine,count:B.count,contentRef:U=>{j.current[Ae]=U},pageNumber:{current:Ae+1,total:D.length},pageNumberPosition:$,brand:h&&{...h,top:B.showTopInfo,bottom:B.showBottomInfo},code:w,scoring:f,scoreIndexOffset:G[Ae],marks:z,onMarkClick:I},Ae))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(ca,{items:x,orientation:B.orientation,contentTypes:B.contentTypes,cutLine:B.cutLine,showOutline:B.showOutline,showDivLine:B.showDivLine,count:B.count,contentRef:V,fitHeight:!0,scoring:f,marks:z,onMarkClick:I,brand:h&&{...h,top:B.showTopInfo,bottom:B.showBottomInfo},code:w})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??k("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(sa,{message:R,position:"top",onClose:P},q)]})}const v5=new Set(["x","triangle"]);function x5(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&v5.has(s)&&a.push(e[r])}return a}const _5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Ku(e){const t=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const i=Math.floor(a);if(i===0)return{\uBC14\uD0D5:t,\uD68C\uCC28:1};const l=(i===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${i}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:i+1}}let r=t,s=1;for(;;){const i=_5.exec(r);if(!i)break;s=Math.max(s,(i[1]?Number(i[1]):1)+1),r=r.slice(0,i.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:s}}function w5(e,t){const[,a,r]=Ur(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=Ku(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function B5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Ku(e).\uD68C\uCC28}}function A5(e,t){const a={};for(const[r,s]of Object.entries(t)){if(s!=="o"&&s!=="triangle"&&s!=="x")continue;const i=Number(r),l=e[i];l&&(a[r]=l)}return a}function k5(e){return e.map(t=>t.label).join(" / ")}function N5(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Yu(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function D5(e,t,a){const r=yi(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Zu(e,t,a){return a===0?0:(e+t*.5)/a}function E5(e){const t=new Map,a=[...e].sort((s,i)=>s.scoredAt.localeCompare(i.scoredAt));for(const s of a)for(const[i,l]of Object.entries(s.marks)){const u=s.labels?.[i];if(!u)continue;const c=t.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:s.scoredAt};if(l==="o")c.o++;else if(l==="triangle")c.triangle++;else if(l==="x")c.x++;else continue;c.latest=l,c.latestAt=s.scoredAt,t.set(u,c)}const r=[];for(const[s,i]of t){const l=i.o+i.triangle+i.x;r.push({label:Yu(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Zu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||an(s.label,i.label)||an(s.key??s.label,i.key??i.label)),r}function S5(e){const t=new Map;for(const r of e){const s=r.tableId??`name:${r.tableName}`,i=t.get(s)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(s,i)}const a=[];for(const r of t.values()){const s=u=>Object.values(u.marks).filter(c=>c==="o"||c==="triangle"||c==="x").length,i=r.rows.filter(u=>s(u)>0).sort((u,c)=>u.scoredAt.localeCompare(c.scoredAt));if(i.length===0)continue;const l=i.map(u=>{const c=Object.values(u.marks),d=c.filter(p=>p==="o").length,m=c.filter(p=>p==="triangle").length;return Zu(d,m,s(u))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:i.map(u=>u.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,s)=>(s.times[s.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function j5(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function T5(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function M5(e){const t=new Map;let a=0,r=0;const s=e.map((l,u)=>({r:l,\uC790\uB9AC:u})).sort((l,u)=>l.r.answeredAt.localeCompare(u.r.answeredAt)||T5(l.r.id,u.r.id)||l.\uC790\uB9AC-u.\uC790\uB9AC).map(l=>l.r);for(const l of s){if(l.isCorrect==null)continue;const u=l.itemTitle?.trim();if(!u){r++;continue}a++;const c=l.itemId?.trim()||u,d=`${l.trainingType}|${c}`,m=t.get(d)??{trainingType:l.trainingType,itemId:c,title:u,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(m.tried++,l.isCorrect||m.wrong++,m.title=u,m.latestCorrect=l.isCorrect,m.latestAt=l.answeredAt,m.lastSelected=l.selected,l.setId){const p=m.setIds.indexOf(l.setId);p>0&&m.setIds.splice(p,1),p!==0&&m.setIds.unshift(l.setId)}t.set(d,m)}const i=[...t.entries()].map(([l,u])=>({key:l,trainingType:u.trainingType,itemId:u.itemId,title:u.title,tried:u.tried,wrong:u.wrong,rate:u.tried===0?0:(u.tried-u.wrong)/u.tried,latestCorrect:u.latestCorrect,latestAt:u.latestAt,lastSelected:u.lastSelected,setIds:u.setIds}));return i.sort((l,u)=>l.rate-u.rate||u.tried-l.tried||an(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function L5(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function $5(e){const t=new Map;for(const r of e){const s=t.get(r.trainingType)??[];s.push(r),t.set(r.trainingType,s)}const a=[...t.entries()].map(([r,s])=>({trainingType:r,items:s,pending:s.filter(i=>!i.latestCorrect).length}));return a.sort((r,s)=>s.pending-r.pending||r.trainingType.localeCompare(s.trainingType)),a}const Oo=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function R5(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const l=i.setIds[0];if(!l){a++;continue}const u=`${i.trainingType}|${l}`,c=t.get(u)??{setId:l,trainingType:i.trainingType,pending:0};c.pending++,t.set(u,c)}const r=(i,l)=>l.pending-i.pending||i.trainingType.localeCompare(l.trainingType)||i.setId.localeCompare(l.setId),s=[...t.values()];return{sentence:s.filter(i=>Oo.includes(i.trainingType)).sort(r),word:s.filter(i=>!Oo.includes(i.trainingType)).sort(r),noSet:a}}function P5(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const s=[];for(const i of e){const l=new Set,u=[];for(const c of i.cellLabels)r.has(c)&&!l.has(c)&&(l.add(c),u.push(c));u.length!==0&&s.push({id:i.id,name:i.name,kind:i.kind,covered:u,totalCells:i.cellLabels.length})}return s.sort((i,l)=>l.covered.length-i.covered.length||i.totalCells-l.totalCells||an(i.name,l.name)),s.slice(0,Math.max(0,a))}function F5(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function I5(e,t){const a=new Map;for(const s of e)for(const i of s.cells){const l=s.labelOf(i);a.has(l)||a.set(l,i)}const r=[];for(const s of t){const i=a.get(s);i!==void 0&&r.push(i)}return r}function Ho(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function O5(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),s=a%60;return t?t(r,s):r>0&&s>0?Ho(Tt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?Ho(Tt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):Ho(Tt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function H5(e,t){const a=[],r=new Set;for(const s of e){const i=t(s);r.has(i)||(r.add(i),a.push({key:i,value:s,pinned:!1}))}return a}function z5(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function V5(e,t){return e.filter(a=>a.key!==t)}function W5(e,t,a){const r=e.filter(d=>d.pinned),s=new Set(r.map(d=>d.key)),i=e.length-r.length,l=[],u=new Set(s);for(const d of t){if(l.length>=i)break;const m=a(d);u.has(m)||(u.add(m),l.push({key:m,value:d,pinned:!1}))}const c=[...l];return e.map(d=>d.pinned?d:c.shift()).filter(d=>d!==void 0)}function q5(e){return e.map(t=>t.value)}function U5(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},s=t?.key?` icon-grid-menu__button--${t.key}`:"",i=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${s}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,children:n.jsx(tt,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),n.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function G5(e){const{categories:t=[],selected:a,onSelect:r,size:s="medium"}=e||{},i=a!==void 0,[l,u]=o.useState(()=>i?null:(t&&t[0]?.key)??null),c=i?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const m=o.useRef(!1),p=(t&&t[0]?.key)??null;o.useEffect(()=>{if(i||m.current||!p)return;m.current=!0;const y=l??p;l==null&&u(y),d.current?.(y)},[i,p]);const C=o.useCallback(y=>{const v=c===y?null:y;m.current=!0,i||u(v),r?.(v)},[c,i,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${s}`,children:(t||[]).map(y=>n.jsx(U5,{category:y,isSelected:c===y.key,onClick:()=>C(y.key)},y.key))})}function K5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const s=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(i=>n.jsx(me,{htmlType:"button",size:s,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}function Y5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=_e.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1050
|
+
</html>`}const b5=1e3;function Oo({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:i,header:s=""}){const{t:l}=_e.useTranslation(),u=o.useCallback(()=>{g5(e(),t,a,r,s)},[e,t,a,r,s]),c=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=window.open("","_blank");if(!p){i?.();return}p.document.write(Io(m,t,a,!1,r,s)),p.document.close()},[e,t,a,r,i,s]),d=o.useCallback(()=>{const m=e();if(m.length===0)return;const p=Io(m,t,a,!1,r,s),h=new Blob([p],{type:"text/html;charset=utf-8"}),v=URL.createObjectURL(h),y=(r?Fo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),g=Object.assign(document.createElement("a"),{href:v,download:`${y}.html`});document.body.appendChild(g),g.click(),document.body.removeChild(g),setTimeout(()=>URL.revokeObjectURL(v),b5)},[e,t,a,r,s,l]);return{print:u,openNewWindow:c,downloadHtml:d}}function Gu(e,t){const{t:a}=_e.useTranslation(),r=t?.paperBands===!0,[i,s]=o.useState("landscape"),[l,u]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[c,d]=o.useState("\uD45C\uC2DC"),[m,p]=o.useState(!0),[h,v]=o.useState(!0),[y,g]=o.useState(!0),[f,_]=o.useState(!0),[C,w]=o.useState(8),[b,k]=o.useState("right"),x=e.length,B=e.some(K=>(K.words??[]).length>1),A=e.some(K=>(K.words??[]).some(V=>!!V.colloquialLabel)),N=Math.min(C,Math.max(x,1)),E=o.useMemo(()=>wu(e,N),[e,N]),D=E.length>1,H=N,[P,Y]=o.useState(!1);o.useEffect(()=>{let K=!1;if(!ta()){Y(!1);return}return Promise.all(e.flatMap(V=>(V.words??[]).map(z=>ii(z.label,z.homonum)))).then(V=>{K||Y(V.some(Boolean))},()=>{}),()=>{K=!0}},[e]);const M=o.useMemo(()=>[Mu(a,{hasImage:P,hasColloquial:A}),Lu(a),...x>0?[Ou(a,{hasPairs:B,itemCount:x})]:[],$u(a),...H>1?[Fu(a)]:[],...B?[Iu(a)]:[],...r?[Ru(a),Pu(a)]:[]],[a,P,A,x,B,D,H,r]),L={...Wu(a,{contentTypes:l,orientation:i,showOutline:m,cutLine:c,showDivLine:f,showTopInfo:h,showBottomInfo:y}),...x>0?{[a(B?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${N}\uAC1C`}:{},...D?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:zu[b]}:{}},$=o.useCallback((K,V)=>{qu(a,K,V,{setContentTypes:u,setOrientation:s,setShowOutline:p,setCutLine:d,setShowDivLine:_,setShowTopInfo:v,setShowBottomInfo:g})||(V===a("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||V===a("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?w(Hu(parseInt(K),x)):V===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&k(Vu(K)))},[a,x]);return{settings:{orientation:i,contentTypes:l,cutLine:c,showOutline:m,showDivLine:f,count:H,showTopInfo:h,showBottomInfo:y},filterSections:M,filterSelected:L,handleSelect:$,pages:E,isPaginated:D,pageNumberPosition:b}}function y5({items:e,words:t,title:a,subtitle:r,emptyText:i,buttons:s,renderButtons:l,renderFooter:u,footerClassName:c,footerLayout:d,printFileName:m,showSettings:p,autoPrint:h,className:v,onClose:y,scoring:g=!1,onScoreChange:f,printHeader:_,brand:C,code:w,beforeClose:b}){const{t:k}=_e.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(te=>typeof te=="string"&&te.length>0).map((te,ke)=>({id:`${te}-${ke}`,words:[{label:te}]})),[e,t]),{settings:B,filterSections:A,filterSelected:N,handleSelect:E,pages:D,isPaginated:H,pageNumberPosition:P}=Gu(x,{paperBands:!!C?.show}),Y=o.useMemo(()=>_u(D.map(te=>te.length)),[D]),[M,L]=o.useState({}),$=o.useCallback((te,ke)=>{L(G=>({...G,[lr(te)]:yu(G[lr(te)]??null,ke)}))},[]),K=o.useRef(f);o.useEffect(()=>{K.current=f});const V=o.useRef(M);o.useEffect(()=>{V.current!==M&&(V.current=M,K.current?.(Mo(M)))},[M]);const z=o.useMemo(()=>Mo(M),[M]),W=o.useRef(null),{toastMessage:R,toastKey:q,showWarning:j,clearToast:I}=gl("warning"),S=o.useRef([]),F=o.useCallback(()=>H?S.current.filter(te=>te!==null):W.current?[W.current]:[],[H]),{print:O,openNewWindow:U}=Oo({getElements:F,paperW:ca[B.orientation].width,paperH:ca[B.orientation].height,fileName:m??"",header:_??"",onPopupBlocked:()=>j(k("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}),Q=o.useMemo(()=>u?void 0:l?l({print:O,openNewWindow:U}):m?[{label:k("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>U()},{label:k("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>O()},...s??[]]:s,[u,l,m,s,k,O,U]),oe=o.useMemo(()=>u?u({print:O,openNewWindow:U}):void 0,[u,O,U]),me=o.useRef(!1),ae=o.useRef(O);return o.useEffect(()=>{ae.current=O},[O]),o.useEffect(()=>{if(!h||me.current)return;const te=window.setTimeout(()=>{me.current=!0,ae.current()},100);return()=>window.clearTimeout(te)},[h]),n.jsxs(Rn,{title:a??k("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Ae("word-table-popup",v),buttons:Q,footer:oe,footerClassName:c,footerLayout:d,beforeClose:b,onClose:y,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(Po,{sections:A,selected:N,onSelect:E}),H?n.jsx("div",{className:"word-table-popup__pages",children:D.map((te,ke)=>n.jsx(da,{items:te,orientation:B.orientation,contentTypes:B.contentTypes,cutLine:B.cutLine,showOutline:B.showOutline,showDivLine:B.showDivLine,count:B.count,contentRef:G=>{S.current[ke]=G},pageNumber:{current:ke+1,total:D.length},pageNumberPosition:P,brand:C&&{...C,top:B.showTopInfo,bottom:B.showBottomInfo},code:w,scoring:g,scoreIndexOffset:Y[ke],marks:z,onMarkClick:$},ke))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(da,{items:x,orientation:B.orientation,contentTypes:B.contentTypes,cutLine:B.cutLine,showOutline:B.showOutline,showDivLine:B.showDivLine,count:B.count,contentRef:W,fitHeight:!0,scoring:g,marks:z,onMarkClick:$,brand:C&&{...C,top:B.showTopInfo,bottom:B.showBottomInfo},code:w})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:i??k("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(ia,{message:R,position:"top",onClose:I},q)]})}const v5=new Set(["x","triangle"]);function x5(e,t){const a=[];for(let r=0;r<e.length;r++){const i=t[String(r)];i&&v5.has(i)&&a.push(e[r])}return a}const _5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function Ku(e){const t=e.name.trim(),a=e.reviewRound;if(typeof a=="number"&&Number.isFinite(a)&&a>=0){const s=Math.floor(a);if(s===0)return{\uBC14\uD0D5:t,\uD68C\uCC28:1};const l=(s===1?/\s*복습\s*\d{2}\.\d{2}$/:new RegExp(`(?:^|\\s)${s}\uCC28\\s*\uBCF5\uC2B5\\s*\\d{2}\\.\\d{2}$`)).exec(t);return{\uBC14\uD0D5:l?t.slice(0,l.index).trim():t,\uD68C\uCC28:s+1}}let r=t,i=1;for(;;){const s=_5.exec(r);if(!s)break;i=Math.max(i,(s[1]?Number(s[1]):1)+1),r=r.slice(0,s.index).trim()}return{\uBC14\uD0D5:r,\uD68C\uCC28:i}}function w5(e,t){const[,a,r]=Gr(t).split("-"),i=`${a}.${r}`,{\uBC14\uD0D5:s,\uD68C\uCC28:l}=Ku(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${s||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${i}`}function B5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:Ku(e).\uD68C\uCC28}}function A5(e,t){const a={};for(const[r,i]of Object.entries(t)){if(i!=="o"&&i!=="triangle"&&i!=="x")continue;const s=Number(r),l=e[s];l&&(a[r]=l)}return a}function k5(e){return e.map(t=>t.label).join(" / ")}function N5(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Yu(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function D5(e,t,a){const r=yi(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Zu(e,t,a){return a===0?0:(e+t*.5)/a}function E5(e){const t=new Map,a=[...e].sort((i,s)=>i.scoredAt.localeCompare(s.scoredAt));for(const i of a)for(const[s,l]of Object.entries(i.marks)){const u=i.labels?.[s];if(!u)continue;const c=t.get(u)??{o:0,triangle:0,x:0,latest:l,latestAt:i.scoredAt};if(l==="o")c.o++;else if(l==="triangle")c.triangle++;else if(l==="x")c.x++;else continue;c.latest=l,c.latestAt=i.scoredAt,t.set(u,c)}const r=[];for(const[i,s]of t){const l=s.o+s.triangle+s.x;r.push({label:Yu(i),key:i,tried:l,o:s.o,triangle:s.triangle,x:s.x,rate:Zu(s.o,s.triangle,l),latest:s.latest,latestAt:s.latestAt})}return r.sort((i,s)=>i.rate-s.rate||s.tried-i.tried||tn(i.label,s.label)||tn(i.key??i.label,s.key??s.label)),r}function S5(e){const t=new Map;for(const r of e){const i=r.tableId??`name:${r.tableName}`,s=t.get(i)??{tableName:r.tableName,tableId:r.tableId,rows:[]};s.rows.push(r),t.set(i,s)}const a=[];for(const r of t.values()){const i=u=>Object.values(u.marks).filter(c=>c==="o"||c==="triangle"||c==="x").length,s=r.rows.filter(u=>i(u)>0).sort((u,c)=>u.scoredAt.localeCompare(c.scoredAt));if(s.length===0)continue;const l=s.map(u=>{const c=Object.values(u.marks),d=c.filter(p=>p==="o").length,m=c.filter(p=>p==="triangle").length;return Zu(d,m,i(u))});a.push({tableName:r.tableName,tableId:r.tableId,rates:l,times:s.map(u=>u.scoredAt),delta:l.length>=2?l[l.length-1]-l[0]:null})}return a.sort((r,i)=>(i.times[i.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function j5(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function T5(e,t){if(e==null||t==null||e===""||t==="")return 0;if(typeof e=="number"&&typeof t=="number")return e-t;const a=String(e),r=String(t);return+(a>r)-+(a<r)}function M5(e){const t=new Map;let a=0,r=0;const i=e.map((l,u)=>({r:l,\uC790\uB9AC:u})).sort((l,u)=>l.r.answeredAt.localeCompare(u.r.answeredAt)||T5(l.r.id,u.r.id)||l.\uC790\uB9AC-u.\uC790\uB9AC).map(l=>l.r);for(const l of i){if(l.isCorrect==null)continue;const u=l.itemTitle?.trim();if(!u){r++;continue}a++;const c=l.itemId?.trim()||u,d=`${l.trainingType}|${c}`,m=t.get(d)??{trainingType:l.trainingType,itemId:c,title:u,tried:0,wrong:0,latestCorrect:l.isCorrect,latestAt:l.answeredAt,lastSelected:l.selected,setIds:[]};if(m.tried++,l.isCorrect||m.wrong++,m.title=u,m.latestCorrect=l.isCorrect,m.latestAt=l.answeredAt,m.lastSelected=l.selected,l.setId){const p=m.setIds.indexOf(l.setId);p>0&&m.setIds.splice(p,1),p!==0&&m.setIds.unshift(l.setId)}t.set(d,m)}const s=[...t.entries()].map(([l,u])=>({key:l,trainingType:u.trainingType,itemId:u.itemId,title:u.title,tried:u.tried,wrong:u.wrong,rate:u.tried===0?0:(u.tried-u.wrong)/u.tried,latestCorrect:u.latestCorrect,latestAt:u.latestAt,lastSelected:u.lastSelected,setIds:u.setIds}));return s.sort((l,u)=>l.rate-u.rate||u.tried-l.tried||tn(l.title,u.title)),{items:s,counted:a,skippedNoTitle:r}}function L5(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function $5(e){const t=new Map;for(const r of e){const i=t.get(r.trainingType)??[];i.push(r),t.set(r.trainingType,i)}const a=[...t.entries()].map(([r,i])=>({trainingType:r,items:i,pending:i.filter(s=>!s.latestCorrect).length}));return a.sort((r,i)=>i.pending-r.pending||r.trainingType.localeCompare(i.trainingType)),a}const Ho=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function R5(e){const t=new Map;let a=0;for(const s of e){if(s.latestCorrect)continue;const l=s.setIds[0];if(!l){a++;continue}const u=`${s.trainingType}|${l}`,c=t.get(u)??{setId:l,trainingType:s.trainingType,pending:0};c.pending++,t.set(u,c)}const r=(s,l)=>l.pending-s.pending||s.trainingType.localeCompare(l.trainingType)||s.setId.localeCompare(l.setId),i=[...t.values()];return{sentence:i.filter(s=>Ho.includes(s.trainingType)).sort(r),word:i.filter(s=>!Ho.includes(s.trainingType)).sort(r),noSet:a}}function P5(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const i=[];for(const s of e){const l=new Set,u=[];for(const c of s.cellLabels)r.has(c)&&!l.has(c)&&(l.add(c),u.push(c));u.length!==0&&i.push({id:s.id,name:s.name,kind:s.kind,covered:u,totalCells:s.cellLabels.length})}return i.sort((s,l)=>l.covered.length-s.covered.length||s.totalCells-l.totalCells||tn(s.name,l.name)),i.slice(0,Math.max(0,a))}function F5(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function I5(e,t){const a=new Map;for(const i of e)for(const s of i.cells){const l=i.labelOf(s);a.has(l)||a.set(l,s)}const r=[];for(const i of t){const s=a.get(i);s!==void 0&&r.push(s)}return r}function zo(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,i)=>String(a[i]))}function O5(e,t){const a=Number.isFinite(e)?Math.round(e):0;if(!a||a<=0)return"-";const r=Math.floor(a/60),i=a%60;return t?t(r,i):r>0&&i>0?zo(Tt.t("customers.duration.minSec",{m:r,s:i,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s:i}):r>0?zo(Tt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):zo(Tt.t("customers.duration.sec",{s:i,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s:i})}function H5(e,t){const a=[],r=new Set;for(const i of e){const s=t(i);r.has(s)||(r.add(s),a.push({key:s,value:i,pinned:!1}))}return a}function z5(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function V5(e,t){return e.filter(a=>a.key!==t)}function W5(e,t,a){const r=e.filter(d=>d.pinned),i=new Set(r.map(d=>d.key)),s=e.length-r.length,l=[],u=new Set(i);for(const d of t){if(l.length>=s)break;const m=a(d);u.has(m)||(u.add(m),l.push({key:m,value:d,pinned:!1}))}const c=[...l];return e.map(d=>d.pinned?d:c.shift()).filter(d=>d!==void 0)}function q5(e){return e.map(t=>t.value)}function U5(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},i=t?.key?` icon-grid-menu__button--${t.key}`:"",s=o.useId();return n.jsxs("div",{className:`icon-grid-menu__button-wrapper${i}`,children:[n.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":s,children:n.jsx(et,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),n.jsx("span",{id:s,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function G5(e){const{categories:t=[],selected:a,onSelect:r,size:i="medium"}=e||{},s=a!==void 0,[l,u]=o.useState(()=>s?null:(t&&t[0]?.key)??null),c=s?a:l,d=o.useRef(r);o.useEffect(()=>{d.current=r});const m=o.useRef(!1),p=(t&&t[0]?.key)??null;o.useEffect(()=>{if(s||m.current||!p)return;m.current=!0;const v=l??p;l==null&&u(v),d.current?.(v)},[s,p]);const h=o.useCallback(v=>{const y=c===v?null:v;m.current=!0,s||u(y),r?.(y)},[c,s,r]);return n.jsx("div",{className:`icon-grid-menu icon-grid-menu--${i}`,children:(t||[]).map(v=>n.jsx(U5,{category:v,isSelected:c===v.key,onClick:()=>h(v.key)},v.key))})}function K5({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const i=r==="small"?32:40;return n.jsx("div",{className:`choice-chips choice-chips--${r}`,children:n.jsx("div",{className:"choice-chips__list",children:e.map(s=>n.jsx(he,{htmlType:"button",size:i,type:"bar",label:s.label,selected:t===s.key,className:"choice-chips__button",onClick:()=>a?.(s.key)},s.key))})})}function Y5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",i=a?.tel??"031-380-3724",{t:s}=_e.useTranslation();return n.jsx("footer",{className:"site-footer",children:n.jsxs("div",{className:"safearea",children:[n.jsxs("div",{className:"site-footer__top",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("div",{className:"site-footer__lead h3",children:s("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
1051
1051
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
1052
1052
|
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
|
|
1053
|
-
`).map((l,u,c)=>n.jsxs(o.Fragment,{children:[l,u<c.length-1&&n.jsx("br",{})]},u))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:mo,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")})," ",n.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")})," ",n.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")})," ",n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",s]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function Z5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=_e.useTranslation(),m=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,C]=o.useState(!1),y=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!p)return;const _=Wn(()=>{const b=document.getElementById(y);b&&b.contains(document.activeElement)&&v.current?.focus(),C(!1)}),h=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=b=>{b.matches&&C(!1)};return h&&(h.matches&&C(!1),h.addEventListener?.("change",w)),()=>{_(),h?.removeEventListener?.("change",w)}},[p,y]);const f=l?`${l} landing-header__inner`:"landing-header__inner",g=(_,h)=>u?u(_,{onClick:h}):n.jsx("a",{href:_.href,onClick:h,"aria-current":_.current?"page":void 0,children:_.label});return n.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[n.jsxs("div",{className:f,children:[e!=null&&(()=>{const _=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:_}):n.jsx("div",{className:"landing-header__brand",children:_})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((_,h)=>n.jsx("span",{children:g(_)},`${h}:${_.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:v,type:"button",onClick:()=>C(_=>!_),"aria-expanded":p,"aria-controls":y,"aria-label":p?m.close:m.open,className:p?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:y,hidden:!p,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((_,h)=>n.jsx("span",{className:"landing-header__drawer-item",children:g(_,()=>C(!1))},`${h}:${_.href}`))})})]})}function X5({children:e,action:t,onClick:a,className:r}){const s=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:s,onClick:a,...fu(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function J5({mountedRef:e}){const t=o.useRef({phase:"sound",at:0}),a=o.useRef(0),r=o.useRef(null),s=o.useRef(null),i=o.useCallback(()=>{const f=t.current,g=f.phase!=="sound"&&f.at>0;s.current=g?{phase:f.phase,\uD750\uB978:Math.max(0,Date.now()-f.at)}:null},[]),l=o.useCallback(()=>{const f=s.current;return s.current=null,f},[]),u=o.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),c=o.useCallback((f,g,_=0)=>{if(!(f>0))return Promise.resolve(!0);const h=a.current;return t.current={phase:g,at:Date.now()-Math.max(0,_)},new Promise(w=>{const b=setTimeout(()=>{r.current===b&&(r.current=null),w(!!e.current&&h===a.current)},f);r.current=b})},[e]),d=o.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),m=o.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=o.useCallback(()=>{const f=t.current;return f.phase!=="sound"&&f.at>0},[]),C=o.useCallback(()=>a.current,[]),y=o.useCallback(f=>f===a.current,[]),v=o.useCallback(()=>{a.current+=1},[]);return o.useEffect(()=>()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]),o.useMemo(()=>({positionRef:t,isRunning:p,generation:C,isCurrent:y,abort:u,waitPad:c,enterSound:d,leave:m,pause:i,resume:l,__bumpGenerationForTest:v}),[p,C,y,u,c,d,m,i,l,v])}const pa=9,Q5=e=>Math.round(Math.min(pa,Math.max(0,e))/pa*100),e3=e=>e/100*pa,Pa=2,Xu=.1,t3=e=>Math.min(Pa,Math.max(0,e)),n3=.1,a3=e=>Math.round(e*1e6)/1e6;function Fa(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return t3(t);const a=Math.min(pa,Math.max(0,Number(e.level)||0))/pa,r=Number(e.mainVolume);return r>0?a>0?a3(Math.min(Pa,Math.max(n3,a/r))):0:1}const Ju=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Qu(e){return Ju(e)}function zo(e){return Ju(e)*Fa(e)}function Vo(e,t=mC()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,zo(e)/a)}function Ia(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Fa({level:a.level,mainVolume:a.mainVolume})),a}const Oa={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Wo=o.createContext(null);function dr(){return o.useContext(Wo)}const qo=e=>`${pC()}/${e}`,ec=e=>Array.from({length:10},(t,a)=>qo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),pr={get defaultNoise(){return qo("noise1.mp3")},get street(){return ec("noise2")},get restaurant(){return ec("noise3")},get buzz(){return qo("noise4.mp3")}};function r3(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return pr.defaultNoise;case"street":return pr.street[t];case"restaurant":return pr.restaurant[t];case"buzz":return pr.buzz;default:return null}}function o3({noisePlayer:e,audioRef:t,playbackStateRef:a,sequencer:r}){const s=o.useRef(e?.registerAnalyser);s.current=e?.registerAnalyser;const i=o.useRef(null),[l,u]=o.useState(null),c=o.useRef(null),d=o.useRef(null),m=o.useRef(null),p=o.useRef(null),C=o.useRef(0),y=o.useRef(null),v=o.useCallback(()=>!!r?.isRunning(),[r]),f=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),y.current!==null&&(clearTimeout(y.current),y.current=null)},[]),g=o.useCallback((k,x=250)=>{const B=i.current;if(!B)return;const A=d.current;if(A){d.current=null;try{B.pause()}catch{}B.src=A,B.load()}if(!B.src)return;C.current+=1,f();try{Ir(),Va(B).then(H=>{if(i.current===B)try{s.current?.("noise",H)}catch{}})}catch{}const N=B.paused?0:Wa(B);B.paused&&Ln(B,0),B.play().catch(()=>{});const E=performance.now(),D=()=>{const H=Math.min(1,(performance.now()-E)/x);try{Ln(B,N+(k-N)*H)}catch{}H<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)},[f]),_=o.useCallback((k=250,x)=>{const B=i.current;if(!B||B.paused){x?.();return}const A=++C.current;f();const N=performance.now(),E=Wa(B),D=()=>{const H=Math.min(1,(performance.now()-N)/k);try{Ln(B,E*(1-H))}catch{}if(H<1)p.current=requestAnimationFrame(D);else{p.current=null,y.current!==null&&(clearTimeout(y.current),y.current=null);try{B.pause()}catch{}x?.()}};p.current=requestAnimationFrame(D),y.current=setTimeout(()=>{if(y.current=null,C.current===A){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{B.paused||(Ln(B,0),B.pause(),x?.())}catch{}}},k+150)},[f]);o.useEffect(()=>{const k=document.createElement("audio");return k.loop=!0,k.crossOrigin="anonymous",i.current=k,()=>{f();try{k.pause(),k.removeAttribute("src"),k.load()}catch{}i.current=null,c.current=null,d.current=null}},[f]);const h=e?Vo(e.settings):0,w=!!e?.settings.enabled&&h>0;o.useEffect(()=>{if(!w)return;let k=0;const x=setInterval(()=>{const B=i.current;if(!B||B.paused){k=0;return}const A=t.current;if(A&&!A.paused&&!A.ended||v()||a.current==="playing"){k=0;return}k+=1,k>=2&&(k=0,_())},400);return()=>clearInterval(x)},[_,w,t,a,v]),o.useEffect(()=>{const k=()=>{const x=i.current;if(document.hidden){if(x&&!x.paused){f();try{x.pause()}catch{}}return}if(!x||!x.paused)return;const B=t.current,A=!!B&&!B.paused&&!B.ended||v()||a.current==="playing",N=m.current;A&&N?.enabled&&N.volume>0&&g(N.volume)};return document.addEventListener("visibilitychange",k),()=>document.removeEventListener("visibilitychange",k)},[f,g,t,a,v]),o.useEffect(()=>{m.current=e?{enabled:e.settings.enabled,volume:h,type:e.settings.type}:null},[e,e?.settings.enabled,h,e?.settings.type]);const b=o.useRef(null);return o.useEffect(()=>()=>{b.current?.(),b.current=null},[]),o.useEffect(()=>{const k=e?.settings,x=i.current;if(!x)return;const B=k?Vo(k):0;if(!k||!k.enabled||B===0){_();return}if(c.current!==k.type){const A=r3(k.type);A&&(c.current=k.type,u(A),d.current=A,_(150,()=>{if(d.current!==A)return;d.current=null,x.src=A,x.load();const N=t.current;if(N&&!N.paused||v()){b.current?.();const E=()=>{x.removeEventListener("canplay",E),b.current===D&&(b.current=null);const H=t.current,$=m.current;(H&&!H.paused&&!H.ended||v())&&$?.enabled&&$.volume>0&&g($.volume)},D=()=>x.removeEventListener("canplay",E);b.current=D,x.addEventListener("canplay",E)}}))}else{const A=t.current,N=!!A&&!A.paused&&!A.ended||v()||a.current==="playing";if(N&&d.current)g(B);else if(N&&x.paused&&x.src)g(B);else if(!x.paused)if(!N)_();else{f();const E=Wa(x),D=performance.now(),H=()=>{const $=Math.min(1,(performance.now()-D)/150);try{Ln(x,E+(B-E)*$)}catch{}$<1?p.current=requestAnimationFrame(H):p.current=null};p.current=requestAnimationFrame(H)}}},[e?.settings,e?.settings.enabled,h,e?.settings.type,f,g,_,t,a,m,v]),o.useEffect(()=>{const k=i.current;if(k)try{k.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:m,cancelNoiseFade:f,fadeInNoise:g,fadeOutNoise:_}}function s3({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:s,setProgress:i,setPlaybackState:l,setStateLocal:u,fadeInNoise:c,fadeOutNoise:d,noiseSettingsRef:m,onDoneRef:p,handleEndRef:C}){const y=o.useRef(null),v=o.useRef(0),f=o.useRef(null),g=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{g.current++;try{if(f.current&&(cancelAnimationFrame(f.current),f.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const h=(k,x=1)=>{try{const B=(k||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(k||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,x)))}catch{return 1200}},w=o.useCallback(k=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const x=window.speechSynthesis,B=++g.current;try{try{x.cancel()}catch{}const A=k??e,N=Array.isArray(A)?A.filter(L=>!!L):[A||""];N.length===0&&N.push("");const E=Math.max(.3,Math.min(3,t));v.current=N.reduce((L,M)=>L+h(M,E||1),0),y.current=performance.now(),i(0),l("playing"),u("playMode");const D=m.current;D?.enabled&&(D?.volume??0)>0&&c(D.volume);const H=()=>{try{const L=y.current||performance.now(),M=performance.now()-L,I=v.current||1200,K=Math.min(1,M/I);try{r.current&&(r.current.style.left=`${K*100}%`),s.current&&s.current.style.setProperty("--progress",String(K))}catch{}K<1&&(f.current=requestAnimationFrame(H))}catch{}},$=()=>{if(B===g.current)try{f.current&&(cancelAnimationFrame(f.current),f.current=null),i(1),l("stopped");try{C.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},G=L=>{const M=new SpeechSynthesisUtterance(N[L]);try{M.rate=E}catch{}try{M.volume=Math.max(0,Math.min(1,a))}catch{}M.onend=()=>{if(B===g.current){if(L<N.length-1){try{G(L+1)}catch{$()}return}$()}},M.onerror=()=>{$()},M.onstart=()=>{if(!(L>0))try{f.current&&(cancelAnimationFrame(f.current),f.current=null),f.current=requestAnimationFrame(H)}catch{}},_.current=!0,x.speak(M)};try{G(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,t,a,c,r,s,i,l,u,m,p,C]),b=o.useCallback(()=>{g.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}f.current&&(cancelAnimationFrame(f.current),f.current=null),d(),y.current=null}catch{}l("stopped"),u("active"),i(0)},[d,l,u,i]);return{startTTS:w,stopTTS:b}}const i3=.01,l3=.3;async function u3(e,t,a,r=!1){let s=null;try{const i=window.AudioContext||window.webkitAudioContext;s=new i;const l=await s.decodeAudioData(e.slice(0)),u=l.numberOfChannels>0?l.getChannelData(0):null;if(!u)return null;let c=0;if(r){const y=Math.floor(l3*l.sampleRate),v=Math.min(u.length,y);for(;c<v&&Math.abs(u[c])<=i3;)c++;c>=v&&(c=0)}const d=u.length-c,m=a&&a>0?Math.min(d,Math.floor(a*l.sampleRate)):d,p=Math.max(t,m),C=Math.floor(p/t)||1;return new Array(t).fill(0).map((y,v)=>{const f=c+v*C,g=Math.min(f+C,c+p,u.length);let _=0;for(let h=f;h<g;h++){const w=Math.abs(u[h]);w>_&&(_=w)}return _})}catch{return null}finally{try{s?.close?.()}catch{}}}async function tc(e,t,a,r=!1){try{const s=await fetch(e);if(s.ok===!1)return null;const i=await s.arrayBuffer();return await u3(i,t,a,r)}catch(s){try{const i=di(s)}catch{}return null}}const Uo=45,c3=74,d3=2;function mr(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function hr(e){return mr(e)/45}const p3=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),nc=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function ac({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const r=nc(t),s=nc(a),i=[];let l=0;return e.forEach((u,c)=>{for(const[d,m]of[["lead",r],["sound",p3(u)],["tail",s]])i.push({kind:d,track:c,startMs:l,durMs:m}),l+=m}),{segments:i,totalMs:l,trackCount:e.length}}function rc(e,t){const a=(t|0)*3;if(t<0||a+2>=e.segments.length)return null;const[r,s,i]=[e.segments[a],e.segments[a+1],e.segments[a+2]];return{lead:r,sound:s,tail:i,totalMs:r.durMs+s.durMs+i.durMs}}function m3(e,t){const a=rc(e,t.track);if(!a||!(a.totalMs>0))return 0;const r=a[t.kind],s=Math.min(Math.max(0,Number.isFinite(t.elapsedMs)?t.elapsedMs:0),r.durMs);return Math.max(0,Math.min(1,(r.startMs-a.lead.startMs+s)/a.totalMs))}function h3(e,t,a){const r=Math.max(0,Math.floor(a)),s=rc(e,t);if(!s||r===0||!(s.totalMs>0)||s.lead.durMs===0&&s.tail.durMs===0||!(s.sound.durMs>0))return{lead:0,sound:r,tail:0};const i=Math.round(s.lead.durMs/s.totalMs*r),l=Math.round(s.tail.durMs/s.totalMs*r),u=Math.max(1,r-i-l),c=i+u+l-r;return{lead:Math.max(0,i-Math.ceil(c/2)),sound:u,tail:Math.max(0,l-Math.floor(c/2))}}function C3({currentTime:e,sources:t,index:a,audioDuration:r}){const s=a||0,i=Array.isArray(t)&&t.length>0?t[s]:void 0,l=i?i.duration||r||0:r||0;if(!(l>0))return 0;const u=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,u/l))}function f3({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:r,leadInMs:s,tailMs:i}){const l=ac({durationsSec:[r],leadInMs:s,tailMs:i});return m3(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function g3({bars:e,trackDurationSec:t,leadInMs:a,tailMs:r}){return h3(ac({durationsSec:[t],leadInMs:a,tailMs:r}),0,e)}function b3(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function y3({ended:e,completedByEnd:t}){return!!e||!!t}function v3(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function x3(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function _3(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],s=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const l=i;s.push({code:l.code??null,src:l.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){s.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const l=String(i),u=a(l,t);u&&s.push({code:l,resolvedPath:u})}}return s}const oc=4,w3=hr(oc/Uo);function B3(e){const{src:t,segments:a,progress:r=0,waveProgressRef:s,noiseSrc:i,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:c=0,mainVolume:d=1,onReadyChange:m,showSoundWaveForm:p=!0,leadInMs:C=0,tailMs:y=0,trackDurationSec:v=0}=e,f=o.useRef(null),g=o.useRef(null),[_,h]=o.useState(null),[w,b]=o.useState(!1),[k,x]=o.useState(null),[B,A]=o.useState(2),[N,E]=o.useState(0),[D,H]=o.useState(null),[$,G]=o.useState(!1),[L,M]=o.useState(!1),I=3,K=3,Y=1,z=300,V=o.useRef(0),R=o.useCallback(()=>{const be=f.current,se=g&&g.current?g.current:be?be.closest(".audio-player__wave"):null,pe=se?se.getBoundingClientRect():be?be.getBoundingClientRect():null,he=pe?pe.width:0,ge=pe?Math.max(100,pe.width):320,fe=pe?pe.height:0,Te=Math.max(Y,Math.min(z,Math.floor((ge+K)/(I+K)))),Me=Te*I,Ie=Math.max(0,Te-1),Oe=Math.max(0,Ie>0?(ge-Me)/Ie:K);return{bars:Te,gap:Oe,height:fe,width:he}},[]),q=o.useRef(void 0),S=o.useRef(null),P=o.useCallback(async(be,se,{quiet:pe=!1}={})=>{const he=++V.current,ge=()=>V.current===he;try{if(pe||b(!1),q.current=be,!be){ge()&&h(null);return}let fe=se;if(!fe)try{for(let Ie=0;Ie<4&&!(f.current||g.current);Ie++)await new Promise(Oe=>requestAnimationFrame(Oe));await new Promise(Ie=>requestAnimationFrame(Ie));const Me=R();Me.height>0&&E(Me.height),fe=Me.bars,A(Me.gap)}catch{fe=120}S.current=fe;const Te=await tc(be,fe);if(!ge())return;if(!Te){h(null),b(!1);return}h(Te),x(fe),b(!0)}catch{if(!ge())return;h(null),b(!1)}},[b,h,E,A,x,R]);o.useEffect(()=>{const be=g.current;if(!be||typeof ResizeObserver>"u")return;let se=null;const pe=new ResizeObserver(()=>{se!==null&&cancelAnimationFrame(se),se=requestAnimationFrame(()=>{se=null;try{const he=R();if(he.width<=0||(he.height>0&&E(he.height),S.current===null||he.bars===S.current))return;const ge=q.current;A(he.gap),ge?P(ge,he.bars,{quiet:!0}).catch(()=>{}):S.current=he.bars}catch{}})});return pe.observe(be),()=>{pe.disconnect(),se!==null&&cancelAnimationFrame(se)}},[R,P]),o.useEffect(()=>{const be=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;P(typeof be=="string"?be:void 0).catch(()=>{}),M(!1)},[t,a,P]),o.useEffect(()=>{let be=!1;if(G(!1),!i||!k){H(null);return}const se=c>0?c*(u||1):void 0;return tc(i,k,se,!0).then(pe=>{be||(H(pe),pe||G(!0))}).catch(()=>{be||(H(null),G(!0))}),()=>{be=!0}},[i,k,c,u]);const j=Math.max(0,Math.min(1,d)),F=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),O=k||40,W=o.useMemo(()=>g3({bars:O,trackDurationSec:v,leadInMs:C,tailMs:y}),[O,v,C,y]),Q=o.useMemo(()=>Array.from({length:O}).map((be,se)=>{const pe=se>=W.lead&&se<W.lead+W.sound,he=W.sound>0&&pe?Math.min(O-1,Math.round((se-W.lead)/W.sound*O)):-1,ge=pe?_&&_[he]!=null?_[he]:null:_?0:null,fe=ge==null?null:Math.min(1,ge/F*j),Te=fe!=null&&N>0&&mr(fe)<=oc,Me=fe==null?.15:Te?0:hr(fe),Ie=Te,Oe=O>1?se/(O-1):0;return n.jsx("div",{className:Ie?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Me,"--i":se,"--mix":Oe}},se)}),[O,_,F,j,N,W]),oe={"--progress":String(Math.max(0,Math.min(1,r)))},de=o.useMemo(()=>D&&D.length&&Math.max(...D.map(be=>Number.isFinite(be)?Math.abs(be):0))||1,[D]),ae=j*Math.max(0,l),te=!i||!D||!D.length?1:Math.max(1,ae),Ae={"--bar-gap":`${B}px`,"--wave-h":`${mr(te)}px`,"--wave-h1":`${Uo}px`},U=w&&(i?!!D||$:!0);o.useEffect(()=>{U&&M(!0)},[U]);const ne=L?w:U;o.useEffect(()=>{m?.(ne)},[ne,m]);const le=k||40,Ee=o.useMemo(()=>Array.from({length:le}).map((be,se)=>{const pe=D&&D[se]!=null?D[se]:null,he=pe==null?0:Math.abs(pe)/de*ae,ge=Math.max(w3,hr(he)),fe=le>1?se/(le-1):0;return n.jsx("div",{className:"audio-player__bar",style:{"--val":ge,"--i":se,"--mix":fe}},se)}),[le,D,de,ae,N]);return n.jsxs("div",{className:"audio-player__wave",ref:g,style:Ae,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${U?"is-ready":""}`,"aria-hidden":"true",children:Ee}),p&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ne?"is-ready":""}`,ref:f,children:Q}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ne?"is-ready":""}`,ref:s,style:oe,children:Q})]})]})}const A3={idle:"\uB300\uAE30",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"},sc={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function Go(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.removeAttribute("src"),s.load()}catch{}},u=()=>{if(i)return;i=!0;const d=isFinite(s.duration)&&s.duration||0;l(),a(d)},c=d=>{i||(i=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};s.addEventListener("loadedmetadata",u),s.addEventListener("error",()=>c("audio load failed")),setTimeout(()=>c("audio load timeout"),t.timeoutMs),s.src=e})}const k3=2e3;function ic(e,t=k3){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.addEventListener("canplay",s,{once:!0}),e.addEventListener("error",s,{once:!0}),setTimeout(s,t)})}function N3({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),s=o.useRef([]),i=o.useCallback(c=>{if(r.current=c,!c||!s.current.length)return;const d=s.current;s.current=[];for(const m of d)m(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(c=>{const d=p=>{clearTimeout(m),s.current=s.current.filter(C=>C!==d),c(p)},m=setTimeout(()=>d(!0),a);s.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const c=s.current;s.current=[];for(const d of c)d(!1)},[]),{onReadyChange:i,waitForReady:u,markNotReady:l}}function D3(){const e=o.useRef([]),t=o.useCallback(s=>(e.current.push(s),s),[]),a=o.useCallback(s=>{const i=new Set([...s].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const s of e.current)try{URL.revokeObjectURL(s)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function E3({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),s=o.useCallback(()=>r(null),[]),i=o.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[a,s]),{ref:t,rect:a,show:i,hide:s}}function S3(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}const j3=400,T3=2e3,lc=5;function M3({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:s,sequencer:i,leadInMs:l=0,tailMs:u=0}){const c=o.useRef(null),d=o.useRef(0),m=o.useRef(null),p=o.useCallback(()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)},[]),C=o.useCallback(()=>{if(c.current!==null)return;let v=0;const f=()=>{if(Xn){const g=typeof performance<"u"&&performance.now?performance.now():Date.now();if(v>0&&g-v>j3){const _=m.current===null||g-m.current>T3;if(m.current=g,_&&d.current<lc){d.current+=1;const h=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Gt(`progress-ticker-slow-frames#${h}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(g-v)}ms \uC785\uB2C8\uB2E4(\uBCF4\uD1B5 16ms).`,w==="hidden"?"\uC774 \uCE78\uC774 **\uC228\uC5B4 \uC788\uC5B4** \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD2C0\uC744 \uC904\uC600\uC2B5\uB2C8\uB2E4 \u2014 \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC740 \uD2C0\uB9C8\uB2E4 \uADF8\uB824\uC9C0\uBBC0\uB85C, \uC9C0\uAE08 \uC7AC\uB294 \uAC12\uC740 **\uC0AC\uB78C\uC774 \uBCF4\uB294 \uD654\uBA74\uACFC \uB2E4\uB985\uB2C8\uB2E4.** \uCE78\uC744 \uC55E\uC73C\uB85C \uAEBC\uB0B4\uACE0 \uB2E4\uC2DC \uC7AC\uC2ED\uC2DC\uC624.":"\uCE78\uC740 \uBCF4\uC774\uB294\uB370 \uD2C0\uC774 \uB290\uB9BD\uB2C8\uB2E4 \u2014 \uAC19\uC740 \uD654\uBA74\uC5D0\uC11C \uBB34\uAC70\uC6B4 \uC77C\uC774 \uB3C4\uB294\uC9C0 \uBCF4\uC2ED\uC2DC\uC624. \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC774 \uB04A\uACA8 \uBCF4\uC774\uB294 \uAC83\uC740 \uC774 \uD0D3\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.",h>=lc?`(${h}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${h}\uBC88\uC9F8)`)}}v=g}try{const g=e.current,_=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=!!_&&Number.isFinite(_.duration)&&(_.duration??0)>0,w=h?0:S3(g),b=t.current,k=(l||0)>0||(u||0)>0,x=k&&(i?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!x)try{b&&b.style.visibility!=="hidden"&&(b.style.visibility="hidden")}catch{}else{const B=h?_.duration:w||0;Xn&&x&&!(B>0)&&Gt("progress-ticker-pad-without-duration","[ihab-core] \uB738\uC774 \uB3C4\uB294\uB370 **\uC18C\uB9AC \uAE38\uC774\uB97C \uBAA8\uB985\uB2C8\uB2E4** \u2014 \uC7AC\uC0DD\uBC14\uAC00 \uB738\uB9CC\uC73C\uB85C \uC5B4\uB9BC\uC7A1\uC544 \uC6C0\uC9C1\uC785\uB2C8\uB2E4.","\uC18C\uB9AC \uAE38\uC774 \uC7AC\uAE30(measureAudioDuration)\uAC00 0 \uC744 \uC92C\uAC70\uB098 `<audio>` \uAC00 \uC544\uC9C1 \uC548 \uC2E4\uB838\uC2B5\uB2C8\uB2E4. \uAE38\uC774\uB97C \uC54C\uAC8C \uB418\uBA74 \uB9C8\uCEE4\uAC00 \uADF8 \uC21C\uAC04 **\uB4A4\uB85C \uBB3C\uB7EC\uB0A9\uB2C8\uB2E4**(\uC5B4\uB9BC\uC740 \uB298 \uCC38\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4). \uC774 \uC904\uC774 \uBCF4\uC774\uBA74 \uADF8 \uC790\uB9AC\uB97C \uC54C\uB824 \uC8FC\uC2ED\uC2DC\uC624 \u2014 \uD3C9\uC18C \uAE38\uC5D0\uC11C\uB294 \uC548 \uB098\uC640\uC57C \uD569\uB2C8\uB2E4.");const A=k?f3({phase:i?.positionRef.current?.phase??"sound",phaseElapsedMs:i?.positionRef.current?Math.max(0,Date.now()-i.positionRef.current.at):0,currentTime:g&&typeof g.currentTime=="number"?g.currentTime:0,trackDurationSec:B,leadInMs:l||0,tailMs:u||0}):C3({currentTime:g&&typeof g.currentTime=="number"?g.currentTime:0,sources:r.current,index:s.current,audioDuration:w??0});try{b&&(b.style.visibility&&(b.style.visibility=""),b.style.left=`${A*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(A))}catch{}}}catch{}c.current=requestAnimationFrame(f)};c.current=requestAnimationFrame(f)},[e,t,a,r,s,i,l,u]),y=o.useCallback(v=>{p();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${v*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(v))}catch{}},[p,t,a]);return o.useEffect(()=>p,[p]),{start:C,stop:p,settleTo:y}}function Ko({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:s=!1,ttsText:i=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:c=!0,leadInMs:d=0,tailMs:m=0}){const{t:p}=_e.useTranslation(),C=e,y=dr(),v=o.useRef(y?.registerAnalyser);o.useEffect(()=>{v.current=y?.registerAnalyser});const f=o.useRef(null),g=o.useRef(null),_=o.useRef(null),h=D3(),w=o.useRef(null),b=o.useRef(!1),k=o.useRef(null),{ref:x,rect:B,show:A,hide:N}=E3();o.useEffect(()=>()=>{v.current?.("main",null),v.current?.("noise",null)},[]);const[E,D]=o.useState(!1),[H,$]=o.useState("idle"),[G,L]=o.useState("stopped"),M=o.useRef("stopped");o.useEffect(()=>{M.current=G},[G]);const[I,K]=o.useState(0),[Y,z]=o.useState("active"),V=o.useRef(!1);o.useEffect(()=>{if(Y!=="playMode"||!V.current)return;V.current=!1;const J=typeof document<"u"?document.activeElement:null;if(J&&J!==document.body)return;const ye=_.current?.querySelectorAll("button")[1];try{ye?.focus()}catch{}},[Y]);const[R,q]=o.useState(null),[S,P]=o.useState(null),[j,F]=o.useState(0),[O,W]=o.useState(!1),[Q,oe]=o.useState(0),de=y?.playbackRate??1,ae=y?.mainVolume??1,te=y?zo(y.settings):0,Ae=y?Qu(y.settings):ae,[U,ne]=o.useState("idle"),[le,Ee]=o.useState(""),[be]=o.useState("top"),se=o.useRef(null),pe=o.useRef(0),he=o.useRef(null),ge=o.useRef(!0),fe=J5({mountedRef:ge}),Te=o.useRef(null),Me=o.useRef(d),Ie=o.useRef(m);o.useEffect(()=>{Me.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{Ie.current=Math.max(0,m||0)},[m]);const{start:Oe,stop:He,settleTo:dt}=M3({audioRef:f,fillRef:g,waveProgressRef:he,sourcesRef:se,currentIndexRef:pe,sequencer:fe,leadInMs:d,tailMs:m}),{onReadyChange:ut,waitForReady:ot,markNotReady:ct}=N3({showSoundWaveForm:u,showNoiseWaveForm:c}),Ne=o.useRef(null),ze=o.useRef(s),Be=o.useRef(r),Ye=o.useRef(null),X=o.useRef(!1),[ue,we]=o.useState(!1),De=o.useCallback(J=>{X.current=J,we(J)},[]),qe=o.useRef(null),{activeNoiseUrl:Qe,noiseSettingsRef:st,fadeInNoise:pt,fadeOutNoise:Ct}=o3({noisePlayer:y,audioRef:f,playbackStateRef:M,sequencer:fe}),{startTTS:bt,stopTTS:at}=s3({ttsText:i,playbackRate:de,mainVolume:Ae,fillRef:g,waveProgressRef:he,setProgress:K,setPlaybackState:L,setStateLocal:z,fadeInNoise:pt,fadeOutNoise:Ct,noiseSettingsRef:st,onDoneRef:Be,handleEndRef:qe});o.useEffect(()=>{mt.current=at});const Xe=J=>{if(typeof window>"u"||!window.speechSynthesis){try{Ee(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}bt(J);return}nt("tts"),bt(J)},Ve=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Pe=(!Ve||Ve.length===0)&&!!i,et=Array.isArray(R)&&R.length>0?R:Array.isArray(S)&&S.length>0?S:null,ht=Math.max(Array.isArray(et)?et.length:0,Ve.length);o.useEffect(()=>(ge.current=!0,()=>{ge.current=!1}),[]);const Ue=()=>{fe.abort()},mt=o.useRef(null),Nt=o.useRef(null),Et=o.useRef(null),$e=o.useRef(null);$e.current||($e.current=()=>{Et.current=null;const J=f.current;if(Nt.current==="audio"&&J&&(!J.paused||fe.isRunning())){Ue();try{J.pause()}catch{}ge.current&&(L("paused"),He(),Ct())}else if(Nt.current==="tts")try{mt.current?.()}catch{}});const nt=J=>{Nt.current=J,Et.current=tr($e.current)},Lt=()=>{Et.current?.(),Et.current=null};o.useEffect(()=>()=>{$e.current&&nr($e.current)},[]);const Xt=o.useRef(de);o.useEffect(()=>{Xt.current=de||1},[de]);const rt=o.useCallback(J=>{const ye=Xt.current||1;try{J.defaultPlaybackRate=ye}catch{}try{J.playbackRate=ye}catch{}},[]),Bt=o.useCallback((J,ye)=>{J.src=ye,rt(J),J.load(),rt(J)},[rt]),At=o.useCallback(()=>{Ye.current&&(clearTimeout(Ye.current),Ye.current=null),ne("idle")},[]),vt=o.useCallback(async(J,ye=3,re=50,ve=0)=>{At();const Le=fe.generation(),We=!!J&&J.currentTime>0&&!J.ended,it=Math.max(0,Me.current-Math.max(0,ve));if(it>0&&!We){nt("audio"),Oe(),L("playing");const ft=st.current;if(ft?.enabled&&(ft.volume??0)>0)try{pt(ft.volume)}catch{}if(!await fe.waitPad(it,"lead",ve)||!ge.current||!fe.isCurrent(Le))return!1}fe.enterSound();for(let ft=0;ft<ye;ft++){if(!ge.current||!fe.isCurrent(Le))return!1;try{return nt("audio"),await J.play(),!0}catch(Ce){if((Ce instanceof Error||typeof Ce=="object"&&Ce&&"name"in Ce?Ce.name:void 0)==="AbortError"){if(!fe.isCurrent(Le))return!1;await new Promise(T=>setTimeout(T,re));continue}try{Ee(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{Ee(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,Oe,fe,pt,st,At]),rn=o.useCallback(J=>{const ye=fe.generation(),re=Math.max(0,Ie.current-Math.max(0,J));Oe();const ve=st.current;if(ve?.enabled&&(ve.volume??0)>0)try{pt(ve.volume)}catch{}const Le=()=>{try{Te.current?.()}catch{}};if(re<=0){fe.leave(),Le();return}fe.waitPad(re,"tail",J).then(We=>{fe.leave(),We&&fe.isCurrent(ye)&&Le()}).catch(()=>{})},[fe,Oe,pt,st]),bn=o.useCallback(()=>{const J=f.current;if(!J)return;const ye=()=>{L("playing"),z("playMode"),W(!0),Oe();try{Ir(),Va(J).then(We=>{if(ge.current)try{v.current?.("main",We)}catch{}})}catch{}const Le=st.current;Le?.enabled&&(Le?.volume??0)>0&&pt(Le.volume)},re=()=>{y3({ended:!!J?.ended,completedByEnd:X.current})||(L("paused"),He(),Ct())},ve=()=>{const Le=()=>{try{const We=se.current,it=b3(We,pe.current);if(it!==null){pe.current=it,F(it),W(!0);const ft=We?.[it]&&We[it].src;if(ft&&J){Bt(J,ft),vt(J).catch(()=>{});return}}}catch{}L("stopped"),K(1);try{if(J)try{J.currentTime=0}catch{}}catch{}He(),W(!1),Ct();try{!ze.current&&qe.current&&qe.current()}catch{}};if(Te.current=Le,Ie.current>0){Oe(),fe.waitPad(Ie.current,"tail").then(We=>{fe.leave(),We&&Le()}).catch(()=>{});return}Le()};return J.addEventListener("play",ye),J.addEventListener("pause",re),J.addEventListener("ended",ve),()=>{try{J.removeEventListener("play",ye),J.removeEventListener("pause",re),J.removeEventListener("ended",ve),He()}catch{}}},[pt,Ct,vt,st,Oe,He,fe]);o.useEffect(()=>bn(),[bn]),o.useEffect(()=>{ze.current=s},[s]),o.useEffect(()=>{Be.current=r},[r]),o.useEffect(()=>{if(s||Y!=="active")return;const J=k.current;if(!J)return;let ye=null;const re=requestAnimationFrame(()=>{try{const ve=J.getTotalLength();if(!ve)return;const Le=ve*.2;J.style.strokeDasharray=`${ve-Le} ${Le}`;const We="triFlow_"+Math.random().toString(36).slice(2);ye=document.createElement("style"),ye.textContent=`@keyframes ${We}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ve}}}`,document.head.appendChild(ye),J.style.animation=`${We} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(re),ye?.remove()}},[Y,s]),o.useEffect(()=>{se.current=R},[R]),o.useEffect(()=>{pe.current=j},[j]),o.useEffect(()=>{const J=_.current,ye=w.current;if(!J||!ye)return;let re=null;const ve=32,Le=60,We=()=>{try{const ft=Array.from(J.querySelectorAll(":scope > .button"));let Ce=0;ft.forEach(Re=>{if(Re===ye)return;const Ke=Re.getBoundingClientRect();Ce+=Ke.width});const T=J.getBoundingClientRect().width,Z=Math.max(0,Math.floor(T-Ce-8)),ce=ht;if(!ce||Z<=0){Array.from(ye.children).forEach(Re=>{try{Re.style.width=""}catch{}});return}let Se=Math.floor(Z/ce);Se>Le&&(Se=Le),Se<ve&&(Se=Math.max(ve,Math.floor(Z/ce))),Array.from(ye.querySelectorAll(".button")).forEach(Re=>{try{Re.style.width=`${Se}px`}catch{}})}catch{}},it=requestAnimationFrame(We);try{re=new ResizeObserver(()=>{requestAnimationFrame(We)}),re.observe(J),re.observe(ye),window.addEventListener("resize",We)}catch{}return()=>{try{cancelAnimationFrame(it)}catch{}try{re&&(re.disconnect(),re=null)}catch{}try{window.removeEventListener("resize",We)}catch{}}},[R,S,ht]),o.useEffect(()=>()=>{try{Ne.current&&(clearTimeout(Ne.current),Ne.current=null),Ye.current&&(clearTimeout(Ye.current),Ye.current=null)}catch{}},[]);const mn=(J,ye)=>{q(J),oe(ye),ct(),P(v3(J)),se.current=J},hn=()=>{z("playMode"),F(0),W(!0)},En=async(J,ye)=>{De(!1),b.current=!1,Bt(J,ye),await ic(J),await ot()!==!1&&(D(!1),hn(),await vt(J))},In=async(J,ye=!1)=>{const re=f.current;D(!0),$("measuring_duration");try{const ve=await Go(J,{timeoutMs:1e4,rejectOnError:!0});mn([{src:J,objectUrl:null,duration:ve}],ve),$("ready"),ye&&re&&await En(re,J)}finally{b.current=!1,D(!1)}},yn=async(J,ye=!1)=>{const re=f.current;D(!0),$("measuring_duration");try{const ve=await Promise.all(J.map(We=>Go(We,{timeoutMs:1e4})));if(!ge.current)return;const Le=J.map((We,it)=>({src:We,objectUrl:null,duration:ve[it]||0}));mn(Le,x3(Le)),$("ready"),ye&&re&&Le.length>0&&await En(re,Le[0].src)}finally{b.current=!1,D(!1)}},zt=async(J=!1,ye=!0)=>{const re=f.current,ve=t?Array.isArray(t)?t:[t]:[];if(!ve||ve.length===0||!ve.some(Boolean))return!1;if(b.current)return null;b.current=!0,ye&&D(!0),$("resolving");try{const Le=_3(t,a,Qs),We=[];let it=0;for(const ft of Le){let Ce=ft.src??null,T=null;if(!Ce&&ft.resolvedPath){try{$("getting_signed_url"),Ce=await ei(ft.resolvedPath)}catch{Ce=null}if(!ge.current)return!1;if(!Ce)try{$("downloading");const ce=await ti(ft.resolvedPath);if(!ge.current)return!1;if(ce){const Se=ce instanceof Blob?ce:new Blob([ce]);T=h.track(URL.createObjectURL(Se)),Ce=T}}catch{$("error");try{Ee(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),z("active")}catch{}}}if(!Ce)continue;let Z=0;try{$("measuring_duration"),Z=await Go(Ce,{timeoutMs:3e3})}catch{Z=0}if(!ge.current){if(T)try{URL.revokeObjectURL(T)}catch{}for(const ce of We)if(ce.objectUrl)try{URL.revokeObjectURL(ce.objectUrl)}catch{}return!1}it+=Z||0,We.push({...ft,src:Ce,objectUrl:T,duration:Z})}if(mn(We,it),We.length>0&&J&&re){const ft=We[0];De(!1);try{h.keepOnly(We.map(Ce=>Ce.objectUrl))}catch{}if($("ready"),b.current=!1,ft.src&&re)try{if(Bt(re,ft.src),await ic(re),await ot()===!1)return!1;ye&&D(!1),hn(),re&&await vt(re)}catch{ye&&D(!1)}else ye&&D(!1);z("playMode"),F(0),W(!0)}return We.length>0}finally{b.current=!1,ye&&D(!1),$(Le=>Le==="ready"?"ready":"idle")}},sn=async J=>{const ye=fe.isRunning();if(J.paused&&!ye){if(X.current){await Rt();return}const re=fe.resume();if(re){if(L("playing"),re.phase==="tail"){rn(re.\uD750\uB978);return}await vt(J,3,50,re.\uD750\uB978);return}await vt(J),L("playing")}else fe.pause(),Ue(),J.pause(),L("paused"),ye&&(He(),Ct())},Vt=async()=>{const J=f.current;if(!(!J&&!Pe)){if(Pe){const ye=window.speechSynthesis;if(Y==="active"){const re=Rr(),ve=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(re&&ve.length>0){if(b.current)return;z("load"),D(!0),$("synthesizing"),b.current=!0;try{const Le=await Promise.all(ve.map(We=>Promise.resolve(re(We))));Le.length>1?await yn(Le,!0):await In(Le[0],!0)}catch{b.current=!1,D(!1),z("active"),Xe(ve.length>0?ve:void 0)}return}Xe(ve.length>0?ve:void 0);return}if(Y==="playMode"){const re=!!ye&&(ye.speaking||ye.paused)&&!(J&&(J.currentSrc||J.getAttribute("src")));if(J&&!re){await sn(J);return}try{if(ye&&ye.paused)try{nt("tts"),ye.resume(),L("playing")}catch{}else try{ye.pause(),L("paused")}catch{}}catch{}}return}if(Y==="active"){if(s&&Array.isArray(se.current)&&se.current.length>0){const re=se.current[0];try{if(re.src&&J)try{Bt(J,re.src),hn(),J&&await vt(J)}catch{}hn();return}catch{}}z("load");let ye;try{ye=await zt(!0)}catch{ye=!1}if(ye===!1&&ge.current){try{Ee(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}z("active")}return}if(Y!=="load"&&(Y==="playMode"||Y==="active"))try{J&&await sn(J)}catch(ye){(ye instanceof Error||typeof ye=="object"&&ye&&"name"in ye)&&ye.name}}},Rt=async()=>{const J=f.current;if(J)try{const ye=se.current;if(Array.isArray(ye)&&ye.length>1){await Pt(0);return}De(!1);try{J.currentTime=0}catch{}J&&await vt(J),L("playing"),z("playMode")}catch{}},Sn=()=>{Ue(),Lt(),mt.current?.();const J=f.current;try{if(J){try{J.pause()}catch{}try{J.currentTime=0}catch{}}}catch{}Ct(),L("stopped"),z("active"),K(0),W(!1)},Jt=async(J,{sameSegment:ye=!1}={})=>{Ue();const re=fe.generation(),ve=f.current,Le=se.current?.[J]?.src;try{if(De(!1),F(J),W(!0),pe.current=J,!Le||!ve||(ye||ct(),Bt(ve,Le),!ye&&await ot()===!1)||!fe.isCurrent(re)||(await vt(ve),!fe.isCurrent(re)))return;L("playing"),z("playMode")}catch{}},jn=async()=>{const J=se.current,ye=pe.current||0;if(!J||ye<=0){await Rt();return}await Jt(ye-1)},On=async()=>{const J=se.current,ye=pe.current||0;if(!J||ye>=J.length-1){Sn();return}await Jt(ye+1)},Cn=()=>{if(X.current)return;const J=200,ye=340;De(!0),Ue(),Lt();try{K(1)}catch{}dt(1);try{ne("hold")}catch{}try{const re=f.current,ve=Pe&&!!re?.src;if(!Pe||ve){if(re){re.pause();try{re.currentTime=0}catch{}}}else at();Ct()}catch{}try{L("stopped")}catch{}if(W(!1),!ze.current)try{Ye.current&&(clearTimeout(Ye.current),Ye.current=null),Ye.current=setTimeout(()=>{try{ne("out")}catch{}Ye.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{ne("idle")}catch{}Ye.current=null},ye)},J)}catch{}};o.useEffect(()=>{qe.current=Cn});const jt=o.useCallback(()=>Ee(""),[]),Pt=async J=>{(se.current||[])[J]&&await Jt(J,{sameSegment:J===pe.current})},Wt=G==="playing",ln=o.useMemo(()=>{if(!S||S.length<=1)return S;const J=S[j];return J?[J]:S},[S,j]),Ft=s===!0;o.useEffect(()=>{try{const J=f.current;J&&typeof J.playbackRate=="number"&&rt(J)}catch{}},[de,rt]);const Qt=o.useRef({raf:null,timer:null});o.useEffect(()=>{const J=f.current;if(!J)return;const ye=Math.max(0,Math.min(1,Ae)),re=Qt.current,ve=()=>{re.raf!==null&&(cancelAnimationFrame(re.raf),re.raf=null),re.timer!==null&&(clearTimeout(re.timer),re.timer=null)};ve();const Le=Wa(J);if(J.paused||Math.abs(Le-ye)<.001||typeof requestAnimationFrame!="function"){try{Ln(J,ye)}catch{}return}const We=performance.now(),it=()=>{const ft=Math.min(1,(performance.now()-We)/150);try{Ln(J,Le+(ye-Le)*ft)}catch{}re.raf=ft<1?requestAnimationFrame(it):null};return re.raf=requestAnimationFrame(it),re.timer=setTimeout(()=>{ve();try{Ln(J,ye)}catch{}},200),ve},[Ae]);const ie=U==="hold",xe=U==="out",je=Y==="playMode"&&!E&&!ue||ie||xe,Je=G!=="stopped"||ie||xe,Fe=G==="paused",Ge=Math.max(0,Math.min(100,(I||0)*100)),Ze=ke("audio-player__fill",je?"is-visible":"",Je?"is-expanded":"",Fe?"is-paused":"",xe?"is-out":"");return n.jsxs("div",{className:`audio-player ${Ft?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof C=="string"?C:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${Wt?"is-playing":""} ${E?"is-loading":""} ${Y!=="default"?"is-revealed":""}`,children:[E?n.jsxs("div",{className:"audio-player__loading",role:sc[H]?"status":void 0,"aria-live":sc[H]?"polite":"off",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:p(`training.audioStatus.${H}`,{defaultValue:A3[H]})})]}):null,Y==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Ft,onClick:()=>{V.current=sr(),N(),Vt()},"aria-label":typeof C=="string"?C:p("training.listen","\uB4E3\uAE30"),onMouseEnter:A,onMouseLeave:N,onFocus:A,onBlur:N,children:n.jsx("span",{ref:x,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:k,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,B&&n.jsx(xn,{anchorRect:B,text:typeof C=="string"&&C?C:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${Y==="playMode"||Wt?"is-visible":""}`,inert:!(Y==="playMode"||Wt)||void 0,children:[n.jsxs("div",{ref:_,className:"audio-player__buttons",children:[n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:jn,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Wt?"pause":"play",onClick:Vt,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Wt,width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Sn,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Y!=="playMode"}),ht>1?n.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:ht}).map((J,ye)=>n.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ye+1),onClick:()=>{try{Pt(ye)}catch{}},ariaLabel:p("training.sourcePlay",{n:ye+1}),variant:"transparent-white",selected:O&&j===ye,disabled:Y!=="playMode"||!(Array.isArray(R)&&R[ye]),showTooltipInfo:!0},ye))}):null,!Array.isArray(R)||R.length<=1?n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Rt,ariaLabel:p("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"}):null,n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:On,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Y!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Cn,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Y!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:Ze,ref:g,style:{left:`${Ge}%`},"aria-hidden":"true"}),(u||c)&&n.jsx(B3,{segments:ln,progress:I,totalDuration:Q,waveProgressRef:he,showSoundWaveForm:u,leadInMs:d,tailMs:m,trackDurationSec:R?.[j]?.duration??0,noiseSrc:c&&y?.settings.enabled&&te>0?Qe:null,noiseRatio:y?Fa(y.settings):0,noiseSpeed:y?.settings.speed??1,mainVolume:ae,onReadyChange:ut})]})]}),n.jsx("audio",{ref:f,crossOrigin:"anonymous",preload:"auto"})]}),!u&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(tt,{icon:"triangle-alert",size:14}),p("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(sa,{message:le,position:be,onClose:jt})]})}function Cr(e){const{t}=_e.useTranslation(),{text:a,label:r,anchorRect:s=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[c,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",c)}catch{}},[c]);const{increase:m,decrease:p,canIncrease:C,canDecrease:y,fontSize:v,lineHeight:f}=ul({storageKey:"tooltip-fontScale"}),g=o.useCallback(()=>d(k=>k==="dark"?"light":"dark"),[]),_=o.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),h=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${v}px`,lineHeight:`${f}px`,"--tt-line-height":`${f}px`,"--tt-marker-size":"28px"},b=n.jsxs("div",{className:`tooltip-textbox__root ${c==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:w,children:h.map((k,x)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[h.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},x))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!y}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!C}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:g,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:c==="dark"?"transparent-white":"transparent-gray"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:_,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:c==="dark"?"transparent-white":"transparent-gray"})]})]});return s?n.jsx(cn,{anchorRect:s,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:b}):n.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:b})}function uc({state:e="disabled"}){const{t}=_e.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(tt,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function cc(e,t,a){const r=o.useRef(t),s=o.useRef(a);o.useEffect(()=>{r.current=t,s.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const u=()=>{i=null;const c=r.current(),d=c?Array.from(c.querySelectorAll(fn)).find(m=>!m.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(u))};return i=requestAnimationFrame(u),()=>{i!==null&&cancelAnimationFrame(i);const c=document.activeElement;if(!c||c===document.body||!document.contains(c)||c.closest(".tooltip-content")){const d=s.current();if(d)try{d.focus()}catch{}}}},[e])}function dc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:s=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:u,usePlayAllBtn:c=!1,onPlayAll:d,playAllActive:m=!1}){const{t:p}=_e.useTranslation(),C=on("(max-width: 767px)"),y=`training-step__title h4 ${u&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),v=`training-step__title-row training-step__title-row--${r}`.trim(),f=o.useRef(null),[g,_]=o.useState(!1),[h,w]=o.useState(null),[b,k]=o.useState(null);cc(g&&!!h,()=>{if(typeof document>"u")return null;const E=Array.from(document.querySelectorAll(".tooltip-content"));for(let D=E.length-1;D>=0;D--)if(E[D].querySelector(".tooltip-textbox__root"))return E[D];return null},()=>f.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const B=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(E=>typeof E=="string"||typeof E=="number")?l.join(""):"",[l]),A=o.useCallback(()=>{_(!1),w(null),k(null)},[]);o.useEffect(()=>{if(!g)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){A();return}k(typeof E<"u"&&E!==null?E:null)},[B]);const N=o.useCallback(()=>{let E;try{typeof i=="function"&&(E=i())}catch{}if(E!==!1){if(k(typeof E<"u"&&E!==null?E:l),!f.current){_(D=>!D);return}if(g)_(!1),w(null),k(null);else{const D=f.current.getBoundingClientRect();w(D),_(!0)}}},[i,l,g]);return n.jsxs("div",{className:v,children:[n.jsx("p",{className:y,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),s||c?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[c&&n.jsx(me,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"play-circle",label:C?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m,onDisabledClick:m&&r!=="disabled"?()=>{}:void 0}),s&&n.jsx("div",{ref:f,children:n.jsx(me,{htmlType:"button",size:32,type:C?"dot":"bar",icon:"eye",label:C?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:N,className:g?"is-selected":void 0,"aria-expanded":g,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),g&&n.jsx(Cr,{text:b??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:h,onClose:A,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Yo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Yn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:c=void 0,lockedHint:d}){const{t:m}=_e.useTranslation(),[p,C]=o.useState(()=>Yo(e,t));o.useEffect(()=>{const x=Yo(e,t);if(x!==p){const B=setTimeout(()=>C(x),0);return()=>clearTimeout(B)}},[e,t,p]);const y=o.useCallback((...x)=>{Yo(e,t)==="done"||p==="done"||typeof u=="function"&&u(...x)},[e,t,p,u]),[v,f]=o.useState(!1),[g,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),h=o.useCallback(x=>{if(!x)return null;try{const B=x;if(typeof x=="object"&&(B.currentTarget||B.target)&&(B.nativeEvent||B.type)){const E=B.currentTarget??B.target;if(E&&typeof E.getBoundingClientRect=="function")return E.getBoundingClientRect()}if(x instanceof DOMRect)return x;const A=x;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const N=x?.current;return N&&typeof N.getBoundingClientRect=="function"?N.getBoundingClientRect():null}catch{return null}},[]),w=o.useCallback((x,{text:B="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:N=!1,alignX:E="center",alignY:D="top"}={})=>{const H=h(x);_({text:B,label:A,anchorRect:H,backdrop:N,alignX:E,alignY:D}),f(!0)},[h]),b=o.useCallback(()=>{f(!1),_(x=>({...x,anchorRect:null}))},[]),k=o.Children.map(i,x=>{if(o.isValidElement(x)){const B=x;if(typeof B.type=="string")return B;const A=B.props??{},N=typeof A.onDone=="function"?A.onDone:y,E=typeof A.disabled=="boolean";let D=p==="disabled";return E&&(D=!!A.disabled),o.cloneElement(B,{onDone:N,disabled:D,showTooltip:w,hideTooltip:b})}return x});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(uc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(dc,{state:p,title:r,...s,useFaded:c}),p==="disabled"&&d&&typeof e=="number"&&typeof t=="number"&&e===t+1&&n.jsx("p",{className:"training-step__locked-hint caption-1",role:"status",children:d}),k]}),v?n.jsx(cn,{anchorRect:g.anchorRect,backdrop:g.backdrop,onClose:b,ariaLabel:m("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(Cr,{text:g.text,onClose:b})}):null]})}function pc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=_e.useTranslation(),[s,i]=o.useState("disabled"),[l,u]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const c=()=>u($=>$==="dark"?"light":"dark"),{increase:d,decrease:m,canIncrease:p,canDecrease:C,fontSize:y,lineHeight:v}=ul({storageKey:"textbox_fontScale"}),[f,g]=o.useState(""),_=o.useRef(null),h=o.useRef(!1),w=o.useCallback(()=>{h.current=sr()&&!!_.current&&_.current.contains(document.activeElement),i("active")},[]),b=o.useCallback(()=>g(""),[]),k=$=>{try{g($)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const $=setTimeout(()=>i(t),0);return()=>clearTimeout($)}},[t]);const B=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[A,N]=o.useState(B);A!==B&&(N(B),i("disabled"));const E=t==="disabled"?s:t,D=E==="disabled"?"training-text-box--disabled":E==="active"?"training-text-box--active":E==="done"?"training-text-box--done":"",H=o.useMemo(()=>({fontSize:`${y}px`,lineHeight:`${v}px`}),[y,v]);return o.useEffect(()=>{if(E==="disabled"||!h.current)return;h.current=!1;const $=document.activeElement;$&&$!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),n.jsxs("div",{ref:_,className:`training-text-box ${D} ${E!=="disabled"&&l==="dark"?"is-dark":""}`,children:[E==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(me,{htmlType:"button",size:48,type:"bar",onClick:w,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":E==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:H,children:B})}),E!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:m,onDisabledClick:()=>k(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!C,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>k(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:c,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(sa,{message:f,position:"top",onClose:b})]})}function Zo({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:s,useTitleFaded:i,onDone:l,onChange:u,answer:c,wrongAnswers:d,choices:m,multiSelect:p=!1,correctCount:C=0,useDisabledCovered:y=!1,choiceIcons:v,shuffleChoices:f=!0}){const{t:g}=_e.useTranslation(),_=s??g("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),h=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":h<t?"done":h===t?"active":"disabled",b=Array.isArray(m)&&m.length?m:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,k=d?d.join("||"):"",x=m?m.join("||"):"",[B,A]=o.useState(()=>Array.isArray(b)?f?xa(b):b.slice():void 0);o.useEffect(()=>{Array.isArray(b)&&b.length?A(f?xa(b):b.slice()):A(void 0)},[c,k,x,f]);const[N,E]=o.useState(null),[D,H]=o.useState(()=>new Set);o.useEffect(()=>{E(null),H(new Set)},[x,c,k]);const $=o.useRef(void 0);o.useEffect(()=>{const I=$.current;typeof I=="number"&&typeof t=="number"&&typeof e=="number"&&I>=e&&t<e&&(E(null),H(new Set)),$.current=t},[t,e]);const G=o.useCallback(I=>{if(w!=="active")return;const K=B?.[I];if(K==null)return;const Y=K,z=w==="active"||w==="done";if(p){const V=new Set(D);V.has(Y)?V.delete(Y):V.add(Y),H(V),typeof u=="function"&&u({selectedValues:[...V],__ts:Date.now()})}else E(Y),typeof u=="function"&&u({selectedIndex:I,selectedValue:Y,__ts:Date.now()}),z&&typeof l=="function"&&w==="active"&&l({selectedIndex:I,selectedValue:Y,__ts:Date.now()})},[B,w,p,u,D]),L=o.useCallback(()=>{w==="active"&&D.size!==0&&typeof l=="function"&&l({selectedValues:[...D],__ts:Date.now()})},[w,D,l]),M=`training-step__buttons${Array.isArray(B)&&B.length>3?" training-step__buttons--wrap-3":""}`;return n.jsxs(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:_,useTitleFaded:i,children:[n.jsx("div",{className:M,children:Array.isArray(B)&&B.length>0?B.map((I,K)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>G(K),ariaLabel:String(I),label:I,useLabel:!0,icon:v?v[String(I)]:void 0,variant:"default",disabled:w==="disabled",selected:p?D.has(I):N===I,useDisabledCovered:y,minWidth:0},String(I))):null}),p&&n.jsx("div",{className:"training-step__buttons",children:n.jsx(me,{htmlType:"button",size:56,type:"bar",variant:"main",onClick:L,disabled:w!=="active"||D.size===0,ariaLabel:g("common.confirm","\uD655\uC778"),label:g("common.confirm","\uD655\uC778"),useLabel:!0,minWidth:0})})]})}function Ha(e){return e==="active"||e==="done"}function Xo({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:s,onDone:i,onChange:l,context:u,demoSelected:c}){const{t:d}=_e.useTranslation(),m=s??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",y=u&&typeof u=="object"?u.sentence||"":typeof u=="string"?u:"",v=u&&typeof u=="object"?u.choices:void 0,[f,g]=o.useState(c??null),_=`${String(y)}\0${JSON.stringify(v??null)}`,[h,w]=o.useState(_);h!==_&&(w(_),c==null&&g(null));const[b,k]=o.useState(c);Object.is(b,c)||(k(c),g(c??null));const x=o.useRef(void 0);o.useEffect(()=>{const E=x.current;typeof E=="number"&&typeof t=="number"&&typeof e=="number"&&E>=e&&t<e&&c==null&&g(null),x.current=t},[t,e,c]);const B=o.useCallback(E=>{const D=typeof E=="object"&&E!==null?Object.assign({},E,{__ts:Date.now()}):{value:E,__ts:Date.now()};typeof l=="function"&&l(D),Ha(C)&&typeof i=="function"&&i(D)},[l,C,i]),A=o.useCallback(()=>{Ha(C)&&(g(!1),B(!1))},[B,C]),N=o.useCallback(()=>{Ha(C)&&(g(!0),B(!0))},[B,C]);return n.jsxs(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:m,onDone:i,useTitleFaded:!1,children:[n.jsx(pc,{context:u,state:C}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(v)&&v.length>0?v.slice(0,6).map((E,D)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>{Ha(C)&&(g(D),B&&B(D))},disabled:C==="disabled",ariaLabel:String(E),label:E,variant:C,selected:f===D},D)):n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:A,disabled:C==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:C==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function Jo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,btnLabel:i,soundSrc:l,bucketPath:u,usePreviewTextBtn:c,previewText:d=null,onPreviewTextBtn:m,disabled:p,_pageIndex:C,showSoundWaveForm:y,showNoiseWaveForm:v,leadInMs:f,tailMs:g}){const{t:_}=_e.useTranslation(),h=r??_("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=p??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:m},children:n.jsx(Ko,{soundSrc:l,ttsText:l?null:d??h,bucketPath:u,btnLabel:i||_("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:y,showNoiseWaveForm:v,leadInMs:f,tailMs:g},`audio-p${C??0}-s${e}`)})}const L3=[];function Qo({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:s,onDone:i,onChange:l,context:u=L3}){const{t:c}=_e.useTranslation(),d=s??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),m=P=>typeof P=="string"?P:P&&(P.context||P.sentence||P.question||"")||"",[p,C]=o.useState(Array.isArray(u)?u:[]),[y,v]=o.useState(()=>(p||[]).map((P,j)=>({id:j,text:m(P)}))),f=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),g=f!=="disabled",_=o.useRef(void 0),h=o.useRef(void 0);o.useEffect(()=>{if(_.current===u)return;_.current=u;const P=Array.isArray(u)?u:[];C(P);const j=(F=>{const O=(F||[]).map((de,ae)=>({id:ae,text:m(de)}));if(O.length<=1)return O;const W=(de,ae)=>{if(de.length!==ae.length)return!1;for(let te=0;te<de.length;te++)if(de[te].text!==ae[te].text)return!1;return!0};let Q=xa(O),oe=0;for(;W(Q,O)&&oe<20;)Q=xa(O),oe+=1;return Q})(P);v(j);try{if(typeof l=="function"){const F=j.filter((O,W)=>O.text===m(P[W])).length;l({shuffled:j,score:F,total:(P||[]).length,initial:!0,__ts:Date.now()})}if(typeof i=="function"&&f==="active"){const F=j.filter((O,W)=>O.text===m(P[W])).length;h.current=u,i({shuffled:j,score:F,total:(P||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[u]),o.useEffect(()=>{if(f!=="active"||h.current===u||(h.current=u,typeof i!="function"))return;const P=Array.isArray(u)?u:[],j=y.filter((F,O)=>F.text===m(P[O])).length;i({shuffled:y,score:j,total:P.length,initial:!0,__ts:Date.now()})},[f,u]);const w=(P,j)=>{const F=[...y],O=P+j;if(O<0||O>=F.length)return;const W=F[O];F[O]=F[P],F[P]=W,K(F);try{if(typeof i=="function"&&f==="active"){const Q=F.filter((oe,de)=>oe.text===m(p[de])).length;i({shuffled:F,score:Q,total:(p||[]).length,__ts:Date.now()})}}catch{}},[b,k]=o.useState(null),x=o.useRef(null),B=o.useRef(null),A=o.useRef(null),N=o.useRef(null),E=o.useRef(null),D=o.useRef({x:0,y:0}),H=o.useRef(null),$=o.useRef({dx:0,dy:0}),G=()=>{if(H.current!==null)return;const P=()=>{if(!x.current){H.current=null;return}H.current=requestAnimationFrame(P);const j=D.current,F=$.current||{dx:0,dy:0};x.current&&(x.current.style.transform=`translate3d(${j.x-F.dx}px, ${j.y-F.dy}px, 0)`)};H.current=requestAnimationFrame(P)},L=o.useRef(new Map),M=o.useRef(new Map),I=()=>{const P=new Map;return L.current.forEach((j,F)=>{j&&j.getBoundingClientRect&&P.set(F,j.getBoundingClientRect())}),P},K=P=>{const j=I();v(P);try{if(typeof l=="function"){const F=P.filter((O,W)=>O.text===m(p[W])).length;l({shuffled:P,score:F,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const F=I();P.forEach(O=>{const W=j.get(O.id),Q=F.get(O.id),oe=L.current.get(O.id);if(!oe||!W||!Q)return;const de=W.top-Q.top;de&&(oe.style.transition="none",oe.style.transform=`translateY(${de}px)`,requestAnimationFrame(()=>{oe.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",oe.style.transform="";const ae=()=>{oe.style.transition="",oe.removeEventListener("transitionend",ae)};oe.addEventListener("transitionend",ae)}))})})},Y=(P,j)=>{try{try{j.dataTransfer?.setData("text/plain",String(P))}catch{}try{j.dataTransfer&&(j.dataTransfer.effectAllowed="move")}catch{}try{const F=document.createElement("div");F.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(F),j.dataTransfer?.setDragImage(F,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(F)}catch{}})}catch{}}catch{}k(P);try{const F=y[P],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=F&&F.text?F.text:"",document.body.appendChild(O),x.current=O;const W=L.current.get(F.id);let Q=j.clientX||0,oe=j.clientY||0;try{if(W&&W.getBoundingClientRect){const ne=W.getBoundingClientRect();Q=ne.left+ne.width/2,oe=ne.top+ne.height/2}}catch{}const de=O.getBoundingClientRect(),ae=de.width/2,te=de.height/2;$.current={dx:ae,dy:te},O.style.transition="none",D.current={x:Q,y:oe},O.style.transform=`translate3d(${Q-ae}px, ${oe-te}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}G()});const Ae=ne=>{const le=ne;D.current={x:le.clientX,y:le.clientY},G()};A.current=Ae,document.addEventListener("mousemove",Ae);const U=ne=>{const le=ne;D.current={x:le.clientX,y:le.clientY},G()};B.current=U,document.addEventListener("dragover",U);try{j.dataTransfer?.setData("text/plain",String(P));try{j.dataTransfer?.setData("application/json",JSON.stringify({idx:P}))}catch{}}catch{}}catch{}},z=(P,j)=>{j.preventDefault();try{j.dataTransfer&&(j.dataTransfer.dropEffect="move")}catch{}try{E.current!==null&&(clearTimeout(E.current),E.current=null);const F=j.currentTarget&&j.currentTarget.closest?j.currentTarget.closest(".order-list__item"):null;if(F&&N.current!==F){if(N.current)try{N.current.classList.remove("drag-over")}catch{}try{F.classList.add("drag-over")}catch{}N.current=F}}catch{}},V=(P,j)=>{j.preventDefault();const F=j.dataTransfer?.getData("text/plain")||"",O=F?parseInt(F,10):b,W=P;if(typeof O!="number"||isNaN(O)||O===W){k(null),S(),R();return}const Q=HC(y,O,W);K(Q),k(null),R();try{if(typeof i=="function"&&f==="active"){const oe=Q.filter((de,ae)=>de.text===m(p[ae])).length;i({shuffled:Q,score:oe,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const oe=document.querySelectorAll(".order-list .order-list__item")[W];if(!oe)return;const de=oe.querySelector(".order-list__slot")||oe;try{de.classList.add("pulse"),de.offsetHeight,de.classList.add("to-dark");const ae=()=>{de.classList.remove("pulse","to-dark"),de.removeEventListener("transitionend",ae)};de.addEventListener("transitionend",ae)}catch{}})}catch{}S()},R=()=>{if(x.current){try{document.body.removeChild(x.current)}catch{}x.current=null}B.current&&(document.removeEventListener("dragover",B.current),B.current=null),A.current&&(document.removeEventListener("mousemove",A.current),A.current=null),H.current!==null&&(cancelAnimationFrame(H.current),H.current=null)},q=()=>{k(null),S(),R()};o.useEffect(()=>()=>R(),[]);const S=()=>{try{if(E.current!==null&&(clearTimeout(E.current),E.current=null),N.current){try{N.current.classList.remove("drag-over")}catch{}N.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(P=>P.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const P=Math.max(1,(y||[]).length);y.forEach((j,F)=>{const O=M.current.get(j.id);if(!O)return;let W=50;P>1&&(W=Math.round(F/(P-1)*100));try{O.style.setProperty("--marker-pos",W+"%")}catch{}})}catch{}},[y]),o.useEffect(()=>()=>{R(),E.current!==null&&(clearTimeout(E.current),E.current=null)},[]),n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:d,children:n.jsx("div",{className:"order-list",children:y.map((P,j)=>{const F=Math.max(1,(y||[]).length),O=F>1?Math.round(j/(F-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":O+"%"},ref:W=>{const Q=M.current;W?Q.set(P.id,W):Q.delete(P.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:j+1})}):null,n.jsxs("div",{ref:W=>{const Q=L.current;W?Q.set(P.id,W):Q.delete(P.id)},className:`order-list__draggable ${b===j?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:g,onDragStart:g?W=>Y(j,W):void 0,onDragEnter:g?W=>z(j,W):void 0,onDragOver:g?W=>z(j,W):void 0,onDragLeave:g?()=>{try{E.current!==null&&clearTimeout(E.current),E.current=setTimeout(()=>{try{const W=document.querySelectorAll(".order-list .order-list__item");W&&W[j]&&(W[j].classList.remove("drag-over"),N.current===W[j]&&(N.current=null))}catch{}},80)}catch{}}:void 0,onDrop:g?W=>V(j,W):void 0,onDragEnd:g?q:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:P.text}),g?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>w(j,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:j===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>w(j,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:j===y.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},P.id)})})})}const $3=8e3;function R3(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function mc({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:s,onDone:i,onChange:l,context:u=[],selectable:c=!1,hideLabel:d=!1,hideAudio:m=!1,maxCards:p,playAllGapMs:C=0}){const{t:y}=_e.useTranslation(),v=s??y("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),f=o.useMemo(()=>Array.isArray(u)?u:u&&u.items||[],[u]),g=p??3,_=(f||[]).slice(0,g);(f||[]).length>g&&console.warn(`TrainingStepCard: ${f.length} items passed but only ${g} shown`);const h=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":h<t?"done":h===t?"active":"disabled",[b,k]=o.useState(null),x=o.useRef([]),[B,A]=o.useState(!1),N=o.useRef(null),E=o.useRef(!0);o.useEffect(()=>(E.current=!0,()=>{E.current=!1}),[]);const D=o.useMemo(()=>f.map(I=>I?.id??I?.word??"").join("|"),[f]);o.useEffect(()=>{k(null)},[D]);const H=o.useRef(void 0);o.useEffect(()=>{const I=H.current;typeof I=="number"&&typeof t=="number"&&typeof e=="number"&&I>=e&&t<e&&k(null),H.current=t},[t,e]);const $=o.useCallback((I,K)=>{if(c)return;const Y={item:I,index:K,__ts:Date.now()};try{typeof l=="function"&&l(Y)}catch{}if(w==="active"&&typeof i=="function")try{i(Y)}catch{}},[c,l,w,i]),G=o.useRef(C);o.useEffect(()=>{G.current=Math.max(0,C||0)},[C]);const L=o.useCallback(async()=>{if(B||w==="disabled")return;A(!0);let I=!1;const K=new Promise(Y=>{N.current=()=>{I=!0,Y()}});try{for(let Y=0;Y<_.length&&!(!E.current||I);Y++){const z=x.current[Y];if(!z)continue;await Promise.race([R3(z.play(),$3),K]);const V=Math.max(0,G.current||0);V>0&&Y<_.length-1&&!I&&E.current&&await Promise.race([new Promise(R=>{setTimeout(R,V)}),K])}}finally{N.current=null,A(!1)}},[B,w,_.length]),M=o.useCallback((I,K)=>{if(!Ha(w))return;k(K);const Y={selectedValue:I.word||I.title||"",selectedIndex:K,item:I,__ts:Date.now()};try{typeof l=="function"&&l(Y)}catch{}if(typeof i=="function")try{i(Y)}catch{}},[l,w,i]);return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:v,onDone:i,titleProps:{usePlayAllBtn:!m&&_.length>0,onPlayAll:L,playAllActive:B},children:n.jsx("div",{className:"training-step__cards",onClickCapture:I=>{const K=N.current;if(!K)return;const Y=I.target;Y&&typeof Y.closest=="function"&&Y.closest(".training-word-card__bottom")&&K()},children:_.length===0?n.jsx("div",{className:"training-step__empty",children:y("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):_.map((I,K)=>n.jsx(jo,{ref:Y=>{x.current[K]=Y},item:I,disabled:w==="disabled",onPlayDone:()=>$(I,K),selectable:c,selected:c&&b===K,onSelect:c?()=>M(I,K):void 0,flipDelay:K*120,hideLabel:d,hideAudio:m},I&&I.id||K))})})}const P3=160,F3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function I3(e,t){const a=F3[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const hc=()=>{};function Pn(e){const t=o.useId();if(!("variant"in e)){const{label:h,sub:w,onClick:b,children:k,align:x="horizontal",icon:B,useFullWidth:A=!1}=e,N=E=>{b&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),b())};return n.jsxs("div",{className:ke("panel-row",x==="vertical"?"panel-row--vertical":"",A?"panel-row--label-fixed panel-row--fill":"",b?"panel-row--clickable":""),onClick:b,onKeyDown:b?N:void 0,role:b?"button":void 0,tabIndex:b?0:void 0,children:[B!=null&&n.jsx("div",{className:"panel-row__icon",children:B}),h!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:h}),w&&n.jsx("div",{className:"panel-row__sub caption-1",children:w})]}),n.jsx("div",{className:"panel-row__right",children:k})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx($a,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:s,onClick:i,required:l,error:u,align:c="horizontal",useFullWidth:d=!1,icon:m}=e,p=a==="button"?void 0:i;let C=null;const y=a==="toggle"?`panel-toggle-${t}`:void 0,v=u?`panel-error-${t}`:void 0,f=`panel-helper-${t}`;if(a==="toggle"){const h=e;C=n.jsx(Zl,{checked:h.checked,onChange:h.onChange,id:y})}else if(a==="segmented"){const h=e;C=n.jsx(An,{options:h.options,value:h.value,onChange:h.onChange,size:h.size??40,ariaLabel:r})}else if(a==="dropdown"){const h=e,w=h.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:h.dropdowns.map((b,k)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(pn,{options:b.options,value:b.value,onChange:b.onChange,placeholder:b.placeholder,block:d,error:!!u,ariaDescribedBy:v,ariaLabel:b.ariaLabel??([r,b.placeholder].filter(Boolean).join(" ")||void 0)})},k))}):n.jsx(pn,{options:h.options??[],value:h.value??"",onChange:h.onChange??hc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:v});C=u?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[w,n.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}):w}else if(a==="button"){const h=e;h.buttons?.length?C=n.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((w,b)=>n.jsx(me,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},b))}):C=n.jsx(me,{htmlType:"button",size:h.btnSize??40,variant:h.btnVariant??"default",disabled:h.disabled,onClick:h.onClick,children:h.buttonLabel})}else if(a==="text"){const h=e;C=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:h.valueColor?{color:h.valueColor}:void 0,children:h.value})}else if(a==="input"){const h=e;C=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(Kn,{value:h.value,onChange:h.onChange??hc,onKeyDown:h.onKeyDown,onEnter:h.onEnter,placeholder:h.placeholder,ghostText:h.ghostText,ghostHint:h.ghostHint,inputMode:h.inputMode,readOnly:h.readOnly,disabled:h.disabled,type:h.type,autoComplete:h.autoComplete,maxLength:h.maxLength,showCount:h.showCount,multiline:h.multiline,rows:h.rows,fullWidth:d,error:u,ariaLabel:r,required:l,ariaDescribedBy:h.helperText?f:void 0}),h.helperText&&n.jsx("div",{id:f,className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(C=e.children);u&&a!=="input"&&a!=="dropdown"&&(C=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[C,n.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=h=>{p&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),p())};return n.jsxs("div",{className:ke("panel-row",c==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",p?"panel-row--clickable":""),onClick:p,onKeyDown:p?_:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,children:[m!=null&&n.jsx("div",{className:"panel-row__icon",children:m}),n.jsxs("div",{className:"panel-row__left",children:[y?n.jsxs("label",{htmlFor:y,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),s&&n.jsx("div",{className:"panel-row__sub caption-1",children:s})]}),n.jsx("div",{className:"panel-row__right",children:C})]})}function Cc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function O3({devices:e,onRelease:t,emptyLabel:a}){const{t:r,i18n:s}=_e.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(i=>{const l=e[i],u=i==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:u}),l&&t&&n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${u} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(i)})]}),l?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[l.device&&n.jsx(wt,{size:"small",variant:hu(l.device),fill:"soft",label:I3(l.device,r)}),Cc(l)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Cc(l)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:l.productName||l.brand}),Do(l.wornYear,l.wornMonth,l.wornDay,s.language)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:Do(l.wornYear,l.wornMonth,l.wornDay,s.language)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},i)})})}function fr({title:e,titleLevel:t=2,icon:a,disc:r,actions:s,size:i="medium",minHeight:l,maxWidth:u,className:c,scrollable:d,scrollbarGutter:m="auto",compactRows:p=!1,useBorder:C=!0,useBg:y=!0,useRowBorder:v=!0,labelWidth:f,form:g=!1,loading:_,empty:h,children:w}){const b=ke("panel",`panel--${i}`,g?"panel--form":"",l!==void 0?"panel--fill":"",C?"":"panel--no-border",y?"":"panel--no-bg",v?"":"panel--no-row-border",p?"panel--compact-rows":"",c),k={};l!==void 0&&(k.minHeight=l),u!==void 0&&(k.maxWidth=typeof u=="number"?`${u}px`:u),f!==void 0&&(k["--panel-label-width"]=typeof f=="number"?`${f}px`:f);const x=t?`h${t}`:"div";return n.jsxs("div",{className:b,style:Object.keys(k).length?k:void 0,children:[(!!e||r!=null)&&n.jsxs("div",{className:ke("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&n.jsx(tt,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[!!e&&n.jsx(x,{className:`panel__title ${r!=null?"body-3b":"h5b"}`,children:e}),r!=null&&n.jsx("p",{className:"panel__disc caption-1",children:r})]}),s&&n.jsx("div",{className:"panel__actions",children:s})]}),_?n.jsx(Pn,{variant:"loading"}):h!=null&&o.Children.toArray(w).length===0?n.jsx(Pn,{variant:"empty",children:h}):d?n.jsx("div",{className:ke("panel__body--scroll",m==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function H3({cols:e=2,layout:t="grid",gap:a=1,collapseAt:r,className:s,style:i,children:l}){const u=o.useRef(null),[c,d]=o.useState();o.useEffect(()=>{const p=u.current;if(r===void 0||!p||(d(p.clientWidth),typeof ResizeObserver>"u"))return;const C=new ResizeObserver(([y])=>d(y.contentRect.width));return C.observe(p),()=>C.disconnect()},[r]);const m=r!==void 0&&c!==void 0&&c<=r;return n.jsx("div",{ref:u,className:ke("panel-grid",t==="columns"&&"panel-grid--columns",s),style:{"--panel-grid-cols":m?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function z3(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function fc(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}z3(Tt.t.bind(Tt)),fc(Tt.t.bind(Tt));const es="none",V3=.5,W3=1.5,q3=.25;function ts({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:u,disabled:c,onChange:d}){return n.jsxs(Pn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(uu,{value:a,onChange:d,min:r,max:s,step:i,size:u,showBgTick:!0,tickStep:l,ariaLabel:e,disabled:c,className:"noise-settings__slider-input"}),n.jsx("div",{className:ke("noise-settings__value","button-1",c?"noise-settings__value--disabled":""),children:t})]})}function gc({anchorRect:e,onClose:t}){const{t:a}=_e.useTranslation(),r=on("(max-width: 767px)")?40:24,s=dr(),i=Fa(s?.settings??Oa),l=s?.settings.type??"defaultNoise",u=s?.settings.enabled??!0,c=s?.playbackRate??1,d=s?.mainVolume??1,m=Math.round(d*100),p=o.useCallback(f=>{try{s?.setMainVolume(Math.max(0,Math.min(1,f/100)))}catch{}},[s]),C=o.useCallback(f=>{try{s?.setPlaybackRate(f)}catch{}},[s]),y=o.useCallback(f=>{const g=Math.min(Pa,Math.max(0,Math.round(f*10)/10));try{s?.setSettings({noiseRatio:g})}catch{}},[s]),v=o.useCallback(f=>{try{f===es?s?.setSettings({enabled:!1}):s?.setSettings({type:f,enabled:!0})}catch{}},[s]);return n.jsx(cn,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(me,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(fr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(ts,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:p}),n.jsx(ts,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${c.toFixed(2)}x`,value:c,min:V3,max:W3,step:q3,size:r,onChange:C}),n.jsx(Pn,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(An,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:es,label:a("training.noise.type.none","\uC5C6\uC74C")},...fc(a).map(f=>({key:f.value,label:f.label}))],value:u?l:es,onChange:v})}),n.jsx(ts,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:Pa,step:Xu,size:r,disabled:!u,onChange:y})]})})}function bc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:s=0,stepCount:i=0,pageIndex:l=0,pageCount:u=1,resultOpen:c=!1}){const{t:d}=_e.useTranslation(),[m,p]=o.useState(!1),[C,y]=o.useState(null),[v,f]=o.useState(!1),g=o.useRef(null),_=o.useRef(null),h=dr(),w=u>0,b=w&&l<u-1,k=!w||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),y(null))},[e]);const B=o.useCallback(()=>{p(!1),y(null)},[]),A=o.useCallback(()=>{if(m){p(!1),y(null);return}const I=g?.current?.getBoundingClientRect();I&&y(I),t?.(),p(!0)},[m,t]),N=o.useCallback(()=>{if(m){p(!1),y(null);return}const I=_?.current?.getBoundingClientRect();I&&y(I),t?.(),p(!0)},[m,t]),E=on("(max-width: 767px)"),D=o.useRef(null),[H,$]=o.useState(null),G=o.useCallback(()=>{f(I=>{const K=!I;return $(K?D.current?.getBoundingClientRect()??null:null),K})},[]),L=o.useCallback(()=>{f(!1),$(null)},[]);o.useEffect(()=>{c&&(f(!1),$(null))},[c]);const M=n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(Ao,{analyser:h?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),n.jsx(Ao,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]});return cc(e&&m,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[g.current,_.current].map(I=>I?.querySelector("button")??null).find(I=>!!I&&I.getClientRects().length>0)??g.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:g,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:A,className:m?"is-selected":void 0,"aria-expanded":m,"aria-haspopup":"dialog",ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:N,className:m?"is-selected":void 0,"aria-expanded":m,"aria-haspopup":"dialog",ariaLabel:d("training.settings","\uC124\uC815")})})})]}):null,e&&n.jsx("div",{ref:D,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:G,selected:v,"aria-expanded":E?v:void 0,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&v&&!E&&n.jsx("div",{className:"pp-bottom__meters",children:M})]}),e&&v&&E&&H&&n.jsx(cn,{anchorRect:H,onClose:L,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:n.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:M})}),n.jsxs("div",{className:"pp-bottom__right",children:[k&&n.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!x}),b&&n.jsx(me,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!x})]}),e&&m&&n.jsx(gc,{anchorRect:C,onClose:B})]})}function yc({title:e,subtitle:t,desc:a,depth:r,icon:s,wrapperStyle:i,iconTooltip:l,pageIndex:u,pageCount:c,progressMax:d,progressIndex:m,onBack:p,onClose:C}){const{t:y}=_e.useTranslation(),v=on("(max-width: 767px)"),f=Number.isInteger(m)?m:u||0,g=Number.isInteger(d)?d:c||0,_=p||C,h=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,b=typeof t=="string"?t.trim():t,k=!!(w||b),x=k?w||b:y("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),B=h||(w?t:void 0),A=v&&typeof B=="string"&&(B.includes(" \xB7 ")||B.includes(" / "))?B.split(/\s[·/]\s/).pop():B,N=o.useMemo(()=>{const E=i&&typeof i=="object"?{...i}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[i]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[_?n.jsx(me,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:y("common.back","\uB4A4\uB85C"),onClick:_,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:s?n.jsx(Hl,{icon:s,label:e,tooltip:l,wrapperStyle:N}):null}),n.jsxs("div",{className:"pp-title__text",children:[A?n.jsx("span",{className:"pp-title__depth caption-1",children:A}):null,n.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:x}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(mu,{max:Math.max(0,g??0),index:Math.max(0,f??0)})]})}function U3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function G3(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const vc=(e,t)=>{if(!t)return t;const a=typeof Tt?.t=="function"?Tt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function xc(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=xi().find(u=>u.key===(r?.category_0||r?.category_main_code)),l=i?.subs?.find(u=>u.key===(r?.category_1||r?.category_sub_code));return{title:s,label:r?.title||s,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?vc(`topic.${i.key}`,i.label):void 0,l?vc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function ns(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function _c(e,t,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e,s=typeof a=="number"&&a>0?a:Date.now();return{...r,...r.shownAt===void 0&&t?{shownAt:t}:{},...r.answeredAt===void 0?{answeredAt:new Date(s).toISOString()}:{}}}function K3(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Y3({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const c=xc(t,a,r),d=typeof u=="function"?u(c)||{}:u||{},m=t?.id||t?.title||s.length;return{id:`${e}:${m}`,meta:{...c,...d},pages:s,emptyMessage:i,buildResults:l}}function Z3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function X3(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function J3(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function wc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Q3(e,t,a,r){return wc(e,t*a+r)}function e7({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const s=e;if(Array.isArray(s.selectedValues))return r.every(i=>s.selectedValues.includes(i))&&s.selectedValues.every(i=>r.includes(i));if(typeof s.correct=="boolean")return s.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(s=>String(s)===String(a[t]));if(typeof t<"u")return r.some(s=>String(s)===String(t))}}function t7(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Bc=o.createContext(null);function n7(){const e=o.useContext(Bc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function a7({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:s,choices:i=[],onDone:l,onChange:u}){const{t:c}=_e.useTranslation(),d=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":d<t?"done":d===t?"active":"disabled",[p,C]=o.useState(()=>i.map(()=>null)),y=JSON.stringify(i),v=i.length;o.useEffect(()=>{C(Array.from({length:v},()=>null))},[y]);const f=o.useRef(void 0);o.useEffect(()=>{const w=f.current;typeof w=="number"&&typeof t=="number"&&typeof e=="number"&&w>=e&&t<e&&C(Array.from({length:v},()=>null)),f.current=t},[t,e,v]);const g=o.useMemo(()=>p.filter(w=>w!==null).length+1,[p]),_=o.useCallback(w=>{if(m!=="active")return;const b=p;let k;if(b[w]!=null){const B=b[w];k=b.map(A=>A!==null&&A>=B?null:A)}else k=[...b],k[w]=g;C(k);const x={selectedOrder:k,words:i,__ts:Date.now()};try{typeof u=="function"&&u(x)}catch{}if(b[w]==null&&k.length>0&&k.every(B=>B!==null))try{typeof l=="function"&&l(x)}catch{}},[m,p,g,u,l,i]),h=s??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:h,onDone:l,children:n.jsx("div",{className:"training-step__cards",children:i.map((w,b)=>n.jsx(jo,{item:{word:w},disabled:m==="disabled",selectable:!0,selected:p[b]!==null,orderRank:p[b],onSelect:()=>_(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${w}-${b}`))})})}function gr(e){return null}gr.__isTrainingPage=!0;function ma(e,t){const a=n7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function Ac({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=ma(e,t);return n.jsx(Jo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function kc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Zo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Nc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Xo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Qo,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(mc,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function r7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(a7,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function as(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const s of r){if(typeof s=="string"&&s.trim().length)return s.trim();if(typeof s=="number"||typeof s=="boolean")return String(s)}}}return null}function o7(e){return as(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Sc(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=as(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function jc(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=_e.useTranslation(),m=o.useId(),p=o.useCallback(()=>!c,[c]);o.useEffect(()=>{const h=a??0;if(t!=null&&h>0&&t/h>.5){const w=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(w)}},[t,a]);const C=o.useCallback(h=>{const w=Sc(h),b=as(h?.wording,h?.label);return w===!0?{variant:"main",label:b??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:w===!1?{variant:"danger",label:b??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:b??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),y=a??0,v=t??0,f=o.useMemo(()=>Array.isArray(r)?r:[],[r]),g=o.useMemo(()=>f.map(h=>{const w=h??{},b=o7(w)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:k,label:x}=C(w),B=Array.isArray(w.corrects)?w.corrects:[],A=B.length?B.join(", "):w.answer!=null&&w.answer!==""?String(w.answer):null,N=typeof w.selectedText=="string"?w.selectedText:null,E=Sc(w)===!0;return{problem:b,variant:k,label:x,answer:A,selectedText:N,isCorrect:E}}),[f,C,d]),_=o.useMemo(()=>g.some(h=>h.answer!==null||h.selectedText!==null),[g]);return n.jsx(Rn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:p,footerClassName:"trp-result__foot",footer:({animateThen:h,closeWithAnimation:w})=>n.jsxs(n.Fragment,{children:[c&&n.jsx("p",{id:m,className:"trp-actions__reason caption-1",role:"status",children:d("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>h(i)}),n.jsx(me,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:w,disabled:c,onDisabledClick:c?()=>{}:void 0,"aria-describedby":c?m:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),s&&n.jsx("p",{className:"trp-result__subtitle body-3",children:s}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:v,total:y}),children:[n.jsx("span",{className:"trp-score__big",children:v}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:y})]})})]}),g.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${_?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),_&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((h,w)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(w+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:h.problem})]}),_&&n.jsxs("div",{className:"trp-row__answers",children:[h.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:h.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${h.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${h.isCorrect?"is-correct":"is-wrong"}`,children:h.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(wt,{variant:h.variant,label:h.label,fill:"soft",minWidth:80})})]},w))]})})]})})}const rs=new Set;function s7(e){o.useEffect(()=>{if(!e||rs.has(e))return;rs.add(e);const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,s=0,i=0;const l=()=>{const m=Date.now();a==null&&(a=m),r==null&&(r=m)},u=()=>{r!=null&&(s+=Date.now()-r,r=null)};t()&&l();const c=()=>{if(u(),a==null||s-i<1e3||i===0&&s<5e3)return;const m=a+i;i=s,WC({trainingType:e,startedAt:new Date(m).toISOString(),endedAt:new Date(a+s).toISOString()})},d=()=>{t()?l():c()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",c),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",c),c(),rs.delete(e)}},[e])}function br(e,t){return e&&e.id||`page-${t??0}`}function yr(e,t){return e&&e.key||`step-${t??0}`}function vr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function i7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const l7=300,u7=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Dn=Object.freeze({}),Tc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function os(e){const t=e,a=t?.results||t?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,s=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:r!=null?s:null,total:r}}const c7=e=>n.jsx(jc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function d7(e){const{scenario:t,title:a,subTitle:r,depth:s,icon:i,wrapperStyle:l,iconTooltip:u,pageIndex:c,pageCount:d,stepIndex:m,stepCount:p,onBack:C,onComplete:y,onRoundFinished:v,onNext:f,onSettings:g,useNoiseSetting:_=!0,children:h,ariaLabel:w,label:b,buildResults:k,onResult:x,typeKey:B,entryPoint:A,dailyTotal:N,itemRef:E,renderResultPopup:D,noiseOverride:H}=e;s7(B&&!Tc.has(B)?B:"");const $=o.useRef(0);o.useEffect(()=>{$.current=Date.now()},[]);const{t:G}=_e.useTranslation(),L=x,M=!!t,I=t?.id||null,K=t?.meta||{},Y=Array.isArray(t?.pages)?t.pages:[],z=Array.isArray(h)||o.isValidElement(h)&&typeof h!="function"?o.Children.toArray(h).filter(o.isValidElement):[],V=z.length>0,R=ie=>ie===gr||ie?.__isTrainingPage===!0,q=V&&z.some(ie=>R(ie.type)),S=q?z.filter(ie=>R(ie.type)).map((ie,xe)=>{const je=ie.props||{};return{id:`children-page-${xe}`,steps:o.Children.toArray(je.children).filter(o.isValidElement),pageTop:je.pageTop||je.top||null,pageBottom:je.pageBottom||je.bottom||null}}):[{id:"children-page-0",steps:z}],P=V&&!M&&typeof h!="function",j=P?Math.max(1,S.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ie=document.body;return ie.dataset.ihabTrainingPopupCount=String(Number(ie.dataset.ihabTrainingPopupCount||"0")+1),ie.classList.add("ihab-training-popup-open"),()=>{const xe=Number(ie.dataset.ihabTrainingPopupCount||"1")-1;xe>0?ie.dataset.ihabTrainingPopupCount=String(xe):(delete ie.dataset.ihabTrainingPopupCount,ie.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return q4()},[]);const[F,O]=o.useState({...Oa,enabled:!1}),W=o.useRef(F);o.useEffect(()=>{W.current=F},[F]);const Q=o.useRef(H),oe=o.useRef(!1),de=o.useRef(null);o.useEffect(()=>{let ie=!1;const xe=je=>{if(ie)return;oe.current=!0;const Je=je?Ia({...Oa,enabled:!1},je):{...Oa},Fe=de.current;de.current=null;const Ge=Fe?Ia(Je,Fe):Je;W.current=Ge,O(Ge),Fe&&!Q.current&&Ci(Ge),Ka(Ge);const Ze=Q.current;if(Ze){const J=typeof Ze=="function"?Ze(Ge):Ze,ye=Ia(Ge,J);W.current=ye,O(ye),Ka(ye)}};return KC().then(xe),()=>{ie=!0}},[]);const[ae,te]=o.useState(null),[Ae,U]=o.useState(null),ne=o.useCallback((ie,xe)=>{ie==="main"?te(xe):U(xe)},[]),le=o.useRef(null),Ee=o.useRef(null),be=o.useCallback(()=>{Ee.current!==null&&(clearTimeout(Ee.current),Ee.current=null);const ie=le.current;le.current=null,ie&&Ci(ie)},[]);o.useEffect(()=>{if(typeof window>"u")return;const ie=()=>{document.visibilityState==="hidden"&&be()};return window.addEventListener("pagehide",be),document.addEventListener("visibilitychange",ie),()=>{window.removeEventListener("pagehide",be),document.removeEventListener("visibilitychange",ie),be()}},[be]);const se=o.useCallback(ie=>{const xe=Ia(W.current,ie);if(W.current=xe,O(xe),!oe.current){de.current={...de.current??{},...ie},Ka(xe);return}Q.current||(le.current=xe,Ee.current!==null&&clearTimeout(Ee.current),Ee.current=setTimeout(be,l7)),Ka(xe)},[be]),pe=F.mainSpeed,he=F.mainVolume,ge=o.useCallback(ie=>se({mainSpeed:ie}),[se]),fe=o.useCallback(ie=>se({mainVolume:ie}),[se]),Te=o.useMemo(()=>({settings:F,setSettings:se,registerAnalyser:ne,mainAnalyser:ae,noiseAnalyser:Ae,playbackRate:pe,setPlaybackRate:ge,mainVolume:he,setMainVolume:fe}),[F,se,ne,ae,Ae,pe,ge,he,fe]),Me=o.useRef(null),[Ie,Oe]=o.useState(0),He=o.useRef([]),[dt,ut]=o.useState("center"),[ot,ct]=o.useState(!1),Ne=o.useRef(!1),ze=o.useRef(null),Be=o.useCallback(ie=>{Ne.current||(Ne.current=!0,ct(!0),ze.current=setTimeout(()=>{try{ie()}catch{Ne.current=!1,ct(!1)}},u7()?0:P3))},[]);o.useEffect(()=>()=>{ze.current&&clearTimeout(ze.current)},[]);const Ye=o.useRef(C);o.useEffect(()=>{Ye.current=C}),o.useEffect(()=>{const ie=Me.current,xe=document.activeElement;if(Zr(ie,xe),ie){const je=Array.from(ie.querySelectorAll(fn)).filter(Je=>!Je.closest('[aria-hidden="true"]'))[0];if(je)try{je.focus()}catch{}}return()=>{const je=document.activeElement;if(!je||je===document.body||ie&&ie.contains(je))try{Xr(xe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Wn(()=>Be(()=>{const ie=Ye.current;typeof ie=="function"&&ie()})),[Be]),Kr(Me,!0);const[X,ue]=o.useState(!1),we=o.useRef(!1),[De,qe]=o.useState(null),Qe=o.useRef(0),st=o.useRef(0),pt=()=>{Qe.current+=1,st.current+=1,qe(null)},[Ct,bt]=o.useState(""),[at,Xe]=o.useState(()=>vr()),Ve=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!M&&!P||(Xe(vr()),pt())},[M,I,P]),o.useEffect(()=>{P&&Xe(ie=>{const xe=Math.max(0,Math.min(ie.pageIndex,Math.max(0,j-1)));return xe!==ie.pageIndex?{...ie,pageIndex:xe,stepIndex:0}:ie})},[P,j]);const Pe=P?Math.max(0,Math.min(at.pageIndex,j-1)):0,et=P?S[Pe]:null,ht=P&&et&&Array.isArray(et.steps)?et.steps:[],Ue=M?at.pageIndex:P?Pe:typeof c=="number"?c:0,mt=M?Y[Math.max(0,Math.min(at.pageIndex,Math.max(0,Y.length-1)))]:null,Nt=M&&mt&&Array.isArray(mt.steps)?mt.steps:[],Et=M?Nt.length:P?ht.length:typeof p=="number"?p:0,$e=M||P?Math.max(0,Math.min(at.stepIndex,Math.max(0,Et))):typeof m=="number"?m:0,nt=M?Y.length:P?j:typeof d=="number"?d:0;o.useEffect(()=>{if(!M&&!P)return;const ie=M?br(mt,Ue):et?.id||`children-page-${Ue??0}`,xe=new Date().toISOString();for(let je=0;je<=$e;je+=1){const Je=M?yr(Nt[je],je):`step-${je}`,Fe=Bt(ie,Je);rt.current.has(Fe)||rt.current.set(Fe,xe)}},[M,P,Ue,$e,et?.id]),o.useLayoutEffect(()=>{const ie=Ve.current;if(typeof Ue=="number"&&ie!==null&&Ue!==ie&&Ue>ie)try{bt(G("training.problemNotice",{n:Ue+1}))}catch{}Ve.current=typeof Ue=="number"?Ue:Ve.current},[Ue,c,G]),o.useLayoutEffect(()=>{const ie=Me.current;if(!ie)return;const xe=()=>ie.querySelector(".page-popup__scroll");let je=null,Je=null,Fe=null;const Ge=ve=>{const Le=xe();if(!Le)return;const We=Le.scrollHeight<=Le.clientHeight;if(ut(We?"center":"top"),ve&&!we.current){we.current=!0;try{ue(!0)}catch{}try{ye.disconnect()}catch{}}},Ze=()=>{je!==null&&cancelAnimationFrame(je),je=requestAnimationFrame(()=>{Je!==null&&clearTimeout(Je),Je=setTimeout(()=>Ge(!0),60)})},J=()=>{Fe!==null&&cancelAnimationFrame(Fe),Fe=requestAnimationFrame(()=>Ge(!1))};Ze(),window.addEventListener("resize",J);const ye=new MutationObserver(Ze);ye.observe(ie,{childList:!0,subtree:!0,attributes:!0});const re=setTimeout(()=>{we.current||Ge(!0)},400);return()=>{window.removeEventListener("resize",J),je!==null&&cancelAnimationFrame(je),Je!==null&&clearTimeout(Je),Fe!==null&&cancelAnimationFrame(Fe),clearTimeout(re);try{ye.disconnect()}catch{}}},[Me]);const Lt=o.useCallback(ie=>{Me.current&&(Me.current._childOnNext=ie)},[]),Xt=o.useCallback(ie=>{Me.current&&(Me.current._childOnResult=ie)},[]),rt=o.useRef(new Map),Bt=(ie,xe)=>`${ie}\0${xe}`,At=o.useCallback((ie,xe,je)=>{Xe(Je=>{const Fe=Je.answersByPage[ie]||{},Ge=Fe[xe],Ze=ns(je),J=ns(Ge);if(Ge&&J>Ze)return Je;const ye=_c(je,rt.current.get(Bt(ie,xe)),Ze);return{...Je,answersByPage:{...Je.answersByPage,[ie]:{...Fe,[xe]:ye}}}})},[Xe]),vt=o.useCallback((ie,xe,je)=>{const Je=br(mt,Ue),Fe=yr(ie,xe);At(Je,Fe,je)},[mt,Ue,At]),rn=o.useCallback((ie,xe,je)=>{const Je=br(mt,Ue),Fe=yr(ie,xe);At(Je,Fe,je),!je?.allowChange&&ie?.autoAdvance!==!1&&Xe(Ge=>({...Ge,stepIndex:Math.max(Ge.stepIndex,xe+1)}))},[mt,Ue,At,Xe]),bn=o.useCallback((ie,xe)=>{const je=et?.id||`children-page-${Ue??0}`,Je=typeof xe=="number"?xe:$e??0,Fe=`step-${Je}`;At(je,Fe,ie),ie?.allowChange||Xe(Ge=>({...Ge,stepIndex:Math.max(Ge.stepIndex,Je+1)}))},[et,Ue,$e,At,Xe]),mn=o.useCallback((ie,xe)=>{const je=et?.id||`children-page-${Ue??0}`,Je=`step-${typeof xe=="number"?xe:$e??0}`;At(je,Je,ie)},[et,Ue,$e,At]),hn=P?{currentPageIndex:Ue??0,currentStepIndex:$e??0,totalStepsInPage:ht.length,handleStepDone:bn,handleStepChange:mn}:null,En=async()=>{const ie=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:Y,flowState:at,answersByPage:at.answersByPage})):null;return typeof L=="function"&&await Promise.resolve(L(ie))||ie},In=async()=>{const ie=et?.id||`children-page-${at.pageIndex}`,xe=at.answersByPage[ie]||{},je=q?(()=>{const Ge={};let Ze=0;return S.forEach(J=>{const ye=at.answersByPage[J.id]||{},re=Array.isArray(J.steps)?J.steps.length:0;for(let ve=0;ve<re;ve+=1){const Le=ye[`step-${ve}`];typeof Le<"u"&&(Ge[`step-${Ze+ve}`]=Le)}Ze+=re}),Ge})():xe;if(typeof k=="function"){const Ge=await Promise.resolve(k(je,{pageAnswers:xe,answersByPage:at.answersByPage,pages:S,currentPageId:ie}));return typeof L=="function"&&await Promise.resolve(L(Ge))||Ge}const Je=Object.entries(xe).map(([Ge,Ze],J)=>({index:J,key:Ge,payload:Ze})),Fe={results:Je,answers:Je,score:0};return typeof L=="function"&&await Promise.resolve(L(Fe))||Fe},yn=()=>{const ie=++Qe.current,xe=()=>ie!==Qe.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(M){const Fe=En();qe(Dn);const Ge=Fe;Promise.resolve(Ge).then(Ze=>{xe()||qe(Ze||{isEmpty:!0})}).catch(Ze=>{!xe()&&qe({isEmpty:!0})});return}if(P){const Fe=In();qe(Dn);const Ge=Fe;Promise.resolve(Ge).then(Ze=>{xe()||qe(Ze||{isEmpty:!0})}).catch(Ze=>{!xe()&&qe({isEmpty:!0})});return}const je=Me.current&&Me.current._childOnResult,Je=Fe=>{try{return Fe?Fe():void 0}catch{return}};if(typeof je=="function"){const Fe=Je(je);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Fe&&typeof Fe.then!="function"?qe(Fe):qe(Fe&&typeof Fe.then=="function"?Dn:{});const Ge=()=>{xe()||qe(Ze=>Ze===Dn?{}:Ze)};Promise.resolve(Fe).then(Ze=>{Ze&&!xe()?qe(Ze):Ge()}).catch(Ze=>{Ge()});return}if(typeof L=="function"){const Fe=Je(L);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Fe&&typeof Fe.then!="function"?qe(Fe):qe(Fe&&typeof Fe.then=="function"?Dn:{});const Ge=()=>{xe()||qe(Ze=>Ze===Dn?{}:Ze)};Promise.resolve(Fe).then(Ze=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:vn&&vn.tagName.toUpperCase()==="SCRIPT"&&vn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Ze&&!xe()?qe(Ze):Ge()}).catch(Ze=>{console.error("viewResults external handler failed",Ze),Ge()});return}},zt=()=>{if(M){if(typeof Ue=="number"&&typeof nt=="number"&&Ue<nt-1){Xe(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return yn()}if(P){const xe=ht.length;if(typeof $e=="number"&&$e<xe-1){Xe(je=>({...je,stepIndex:je.stepIndex+1}));return}if(typeof Ue=="number"&&typeof nt=="number"&&Ue<nt-1){Xe(je=>({...je,pageIndex:je.pageIndex+1,stepIndex:0}));return}return yn()}if(typeof f=="function"){try{f()}catch{}return}const ie=Me.current&&Me.current._childOnNext;if(typeof ie=="function"){try{ie()}catch{}return}},sn=M?K.title||K.label||w||G("common.popup","\uD31D\uC5C5"):a||b||(Array.isArray(s)?s[s.length-1]:void 0)||w||G("common.popup","\uD31D\uC5C5"),Vt=w||sn,Rt=M?K.title??K.label??sn:a??b??sn,Sn=(ie,xe)=>{const je=br(mt,Ue),Je=yr(ie,xe),Fe=at.answersByPage[je]?.[Je],Ge=i7(ie,{page:mt,pageIndex:Ue,step:ie,stepIndex:xe,storedPayload:Fe,answersByPage:at.answersByPage,flowState:at}),Ze={key:Je,index:xe,stepIndex:$e,isLast:xe===Nt.length-1};switch(ie?.type){case"listen":return n.jsx(Jo,{...Ze,...Ge,onDone:J=>rn(ie,xe,J)});case"confirm":return n.jsx(Zo,{...Ze,...Ge,onDone:J=>rn(ie,xe,J),onChange:J=>vt(ie,xe,J)});case"confirmWithText":return n.jsx(Xo,{...Ze,...Ge,onDone:J=>rn(ie,xe,J),onChange:J=>vt(ie,xe,J)});case"orderList":return n.jsx(Qo,{...Ze,...Ge,onDone:J=>rn(ie,xe,J),onChange:J=>vt(ie,xe,J)});default:return null}},Jt=o.useRef(void 0);o.useEffect(()=>{const ie=Jt.current;if(Jt.current=Ue,ie===void 0||ie===Ue||!sr())return;const xe=Me.current;if(!xe)return;const je=document.activeElement;if(!(!je||je===document.body||!xe.contains(je)||je.disabled===!0))return;const Je=xe.querySelector(`.training-steps ${fn.split(", ").join(", .training-steps ")}`)??Array.from(xe.querySelectorAll(fn)).find(Fe=>!Fe.closest('[aria-hidden="true"]'));try{Je?.focus()}catch{}},[Ue]);const jn=M?Y.length>0?n.jsx("div",{className:"training-steps",children:Nt.map((ie,xe)=>Sn(ie,xe))},`replay-${Ie}`):n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||G("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,On=P?n.jsxs(Bc.Provider,{value:hn,children:[et?.pageTop?n.jsx("div",{className:"training-page-top",children:et.pageTop}):null,n.jsx("div",{className:"training-steps",children:ht.map((ie,xe)=>{const je=ie;return o.cloneElement(je,{...je.props,_stepIndex:xe,_totalSteps:ht.length,_stepKey:`step-${xe}`,_pageIndex:Ue})})},`replay-${Ie}`),et?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:et.pageBottom}):null]}):null,Cn=o.useRef(-1),jt=o.useCallback(()=>{if(!B)return;const ie=De,{results:xe,correct:je,total:Je}=os(De),Fe={correct:je,total:Je,attempt:He.current.length+1,previousAttempts:[...He.current]};if(Cn.current===st.current)return Fe;Cn.current=st.current,qC({items:GC(xe),category:Tc.has(B)?"sentence":"word",trainingType:B,entryPoint:A??"sentence",itemRef:E??null,correct:je,total:Je,score:typeof ie?.score=="number"?ie.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-$.current)/1e3)),dailyTotal:N??null});try{v?.(Fe)}catch{}return Fe},[B,A,N,E,De,v]);o.useEffect(()=>{!De||De===Dn||De?.isEmpty||(os(De).total??0)>0&&jt()},[De,jt]);const Pt=o.useCallback(()=>{const ie=jt();pt(),Be(()=>{typeof y=="function"&&y(ie),typeof C=="function"&&C()})},[y,C,jt,qe,Be]),Wt=o.useCallback(()=>bt(""),[bt]),ln=o.useCallback(()=>{Be(()=>{typeof C=="function"&&C()})},[C,Be]),Ft=n.jsxs("div",{className:`page-popup${ot?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Vt,children:[n.jsxs("div",{ref:Me,className:`page-popup__panel ${X?"":"page-popup__panel--measuring"} ${dt==="center"?"page-popup__panel--center":dt==="top"?"page-popup__panel--top":""}`,children:[n.jsx(yc,{title:Rt,subtitle:M?K.subtitle||K.label:Array.isArray(s)?s.join(" / "):void 0,desc:M?void 0:r,depth:M?K.depth:s,icon:M?K.icon:i,wrapperStyle:M?K.wrapperStyle:l,iconTooltip:M?K.iconTooltip:u,progressMax:nt,progressIndex:Ue,pageIndex:Ue,pageCount:nt,onBack:ln,onClose:ln}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${dt==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:P?On:M?jn:typeof h=="function"?h({registerOnNext:Lt,registerOnResult:Xt,panelRef:Me,setResultOverlay:qe}):h})}),n.jsx(bc,{onSettings:g,onNext:zt,onResult:yn,useNoiseSettingBtn:!!(M?K.useNoiseSetting??!0:_),stepIndex:$e,stepCount:Et,pageIndex:Ue,pageCount:nt,resultOpen:!!(De&&!De.isEmpty)})]}),De&&!De.isEmpty&&(D??c7)({score:De.score,results:De.results||De.answers||[],contextsLength:De.results?De.results.length:De.answers?De.answers.length:0,onReplay:()=>{if($.current=Date.now(),De!==Dn){const{correct:ie,total:xe}=os(De);He.current.push({correct:ie,total:xe})}if(pt(),Oe(ie=>ie+1),M){if(Xe(vr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(P){Xe(vr());return}try{const ie=Me.current&&Me.current._childOnResult;typeof ie=="function"&&ie({replay:!0})}catch{}},onClose:Pt,pending:De===Dn}),De?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":G("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"page-popup__empty",children:G("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(me,{htmlType:"button",variant:"main",size:48,onClick:Pt,label:G("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(sa,{message:Ct,position:"top",onClose:Wt})]}),Qt=n.jsx(Wo.Provider,{value:Te,children:Ft});return typeof document<"u"&&document.body?en.createPortal(Qt,document.body):Qt}const Fn=d7;Fn.Page=gr,Fn.ListenStep=Ac,Fn.ConfirmStep=kc,Fn.ConfirmWithTextStep=Nc,Fn.OrderListStep=Dc,Fn.CardStep=Ec,Fn.CardOrderStep=r7;function p7({label:e,homonum:t}){const a=ea()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=So(a);return i?n.jsxs("div",{className:"tooltip-word-image__cell",children:[s&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:s?0:1},onLoad:l,onError:u})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function Mc({words:e,anchorRect:t}){const a=o.useRef(null),[r,s]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,u=window.innerWidth;let c=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),c=Math.max(8,Math.min(c,u-i-8)),s({left:c,top:d})},[t]),!t||e.length===0?null:en.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>n.jsx(p7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function m7({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:s,groups:i,selected:l=[],onSelect:u,maxSelect:c,onClearSelection:d,onPrint:m,onPrintEmpty:p,className:C,emptyHint:y,sectionType:v="page",disc:f}){const{t:g,i18n:_}=_e.useTranslation(),h=_.language?.startsWith("ko")??!1,{anchorRect:w,openAt:b,close:k}=Aa(),[x,B]=o.useState(null),A=o.useCallback(()=>{k(),B(null)},[k]);Ab(A,!!x);const N=(r??"").trim(),E=/^[^,[\]\s]+$/.test(N)?N:"",D=E.length>0,H=r===void 0&&t===void 0,$=D?"match":H?"original":"ganada",[G,L]=o.useState(()=>$),[M,I]=o.useState("50"),[K,Y]=o.useState(1),[z,V]=o.useState(D);z!==D&&(V(D),L($));const R=G==="match"&&!D||G==="original"&&!H?$:G,q=o.useMemo(()=>[...D?[{value:"match",label:g("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...H?[{value:"original",label:g("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:g("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:g("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:g("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:g("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:g("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:g("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[g,D,H]),S=o.useMemo(()=>["10","25","50","100"].map(se=>({value:se,label:g("wordSearch.pageSize",{count:Number(se),defaultValue:`${se}\uAC1C\uC529 \uBCF4\uAE30`})})),[g]),P=se=>se.words?.[0],j=o.useMemo(()=>{const se=[...E].length,pe=DC(E),he=new Map;return ge=>{let fe=he.get(ge);return fe===void 0&&(fe=pe((ge.words?.[0]?.label??"").slice(0,se))?0:1,he.set(ge,fe)),fe}},[E]),F=o.useCallback((se,pe)=>{const he=Te=>P(Te)?.label??"",ge=Te=>P(Te)?.syllables??[...he(Te)].length,fe=Te=>(Te.words??[]).reduce((Me,Ie)=>{const Oe=parseInt(Ie.grade??"",10);return Number.isFinite(Oe)&&Oe<Me?Oe:Me},999);switch(R){case"match":return j(se)-j(pe)||an(he(se),he(pe));case"ganada":return an(he(se),he(pe));case"ganada_desc":return an(he(pe),he(se));case"syllable":return ge(se)-ge(pe)||an(he(se),he(pe));case"syllable_desc":return ge(pe)-ge(se)||an(he(se),he(pe));case"grade":return fe(se)-fe(pe)||an(he(se),he(pe));case"grade_desc":return fe(pe)-fe(se)||an(he(se),he(pe));default:return 0}},[R,j]),O=o.useMemo(()=>s.slice().sort(F),[s,F]),W=Number(M)||10,Q=o.useMemo(()=>(i??[]).flatMap(se=>se.items.slice().sort(F).map(pe=>({item:pe,label:se.label}))),[i,F]),oe=i?Q.length:O.length,de=Math.max(1,Math.ceil(oe/W)),ae=Math.min(K,de),te=o.useMemo(()=>O.slice((ae-1)*W,ae*W),[O,ae,W]),Ae=o.useMemo(()=>{if(!i)return null;const se=Q.slice((ae-1)*W,ae*W),pe=new Map;for(const{item:he,label:ge}of se)pe.has(ge)||pe.set(ge,[]),pe.get(ge).push(he);return[...pe.entries()].map(([he,ge])=>({label:he,items:ge}))},[i,Q,ae,W]);o.useEffect(()=>{Y(1)},[G,M,oe,r]);const U=oe>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(pn,{size:40,options:q,value:R,onChange:L,ariaLabel:g("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(pn,{size:40,options:S,value:M,onChange:I,ariaLabel:g("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(ar,{page:ae,totalPages:de,onChange:Y})]}):void 0,ne=se=>{u&&u(se)},le=t!==void 0&&a?n.jsxs(n.Fragment,{children:[g("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),g("wordSearch.resultTitleSuffix",{unit:h?FC(a):a})]}):void 0,Ee=t!==void 0&&t>0&&c!==void 0&&a?g("wordSearch.resultDisc",{unit:h?OC(a):a,max:c,selected:l.length}):void 0,be=f??Ee;return n.jsxs(la,{type:v,className:ke("word-search-result-block",C),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(le||U||be)&&n.jsxs("div",{className:"word-search-result-block__head",children:[n.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&n.jsx(tt,{icon:e,className:"word-search-result-block__head-icon"}),le&&n.jsx("span",{className:"word-search-result-block__title h3",children:le})]}),U&&n.jsx("div",{className:"word-search-result-block__head-actions",children:U}),be&&n.jsx("div",{className:"word-search-result-block__head-disc body-3",children:be})]}),(i?i.length===0:s.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:g("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),y&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:y})]}),i?(Ae??[]).map(se=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:se.items.map(pe=>{const he=l.includes(pe.id);return n.jsx("div",{onMouseEnter:ge=>{b(ge.currentTarget),B(pe.words??[])},onMouseLeave:A,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(pe.words??[]).map(ge=>ge.label),subLabel:(pe.words??[]).some(ge=>ge.subLabel)?(pe.words??[]).map(ge=>ge.subLabel):void 0,selected:he,onClick:()=>ne(pe.id),minWidth:200})},pe.id)})})},se.label)):n.jsx("div",{className:"word-search-result-block__items",children:te.map(se=>{const pe=l.includes(se.id);return n.jsx("div",{onMouseEnter:he=>{b(he.currentTarget),B(se.words??[])},onMouseLeave:A,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(se.words??[]).map(he=>he.label),subLabel:(se.words??[]).some(he=>he.subLabel)?(se.words??[]).map(he=>he.subLabel):void 0,selected:pe,onClick:()=>ne(se.id),minWidth:200})},se.id)})}),x&&w&&n.jsx(Mc,{words:x,anchorRect:w})]}),de>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(ar,{page:ae,totalPages:de,onChange:Y})}),(d||m)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:g("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),m&&n.jsx("div",{onClick:l.length===0?p:void 0,children:n.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",label:g("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:m})})]})]})}function h7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,s=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:s}})}function C7({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:s=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:c,placeholder:d="-",className:m,title:p,titleIcon:C,disc:y,showInfoButton:v=!0,onClearPhoneme:f,onSearch:g,onSearchEmpty:_,searchDisabled:h=!1,searchLabel:w,searchChecking:b=!1,pairMode:k=!1,sectionType:x="page",beforeSearchContent:B,beforeContent:A,afterContent:N,hideCountControl:E=!1,ordinal:D=!1}){const{t:H}=_e.useTranslation(),$=o.useMemo(()=>H("wordPairs.infoNotes",{returnObjects:!0}),[H]),G=o.useMemo(()=>Array.from({length:s-i+1},(j,F)=>{const O=i+F;return{key:String(O),label:H("wordPairs.count",{n:O})}}),[H,s,i]),L=o.useMemo(()=>H("wordPairs.ordinals",{returnObjects:!0}),[H]),M=o.useCallback(j=>D?H("wordPairs.phonemeOrdinalLabel",{ordinal:L[j-1]??j}):a===1?H("wordPairs.phonemeSingleLabel","\uC74C\uC808"):H("wordPairs.phonemeN",{n:j}),[D,L,a,H]),I=o.useCallback(j=>D?H("wordPairs.phonemeContrastOrdinalLabel",{ordinal:L[j-1]??j}):a===1?H("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):H("wordPairs.phonemeContrast",{n:j}),[D,L,a,H]),K=o.useCallback((j,F)=>F?n.jsxs(n.Fragment,{children:[j,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):j,[]),{anchorRect:Y,toggleAt:z,close:V}=Aa(),R=o.useCallback(j=>r(Number(j)),[r]),q=on("(max-width: 767px)"),S=o.useCallback(j=>h7(j,e).map(({label:F,value:O,displayLabel:W})=>{const Q=!!O&&O!=="\uC5C6\uC74C";return n.jsxs("span",{className:ke("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",Q?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||d}),Q&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:W??F})]},F)}),[e,d]),P=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:40,type:q?"dot":void 0,icon:"info",label:q?void 0:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:Y?"is-selected":void 0,"aria-expanded":!!Y,"aria-haspopup":"dialog",onClick:j=>z(j.currentTarget)})}),Y&&n.jsx(qn,{title:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:Y,onClose:V})]});return n.jsxs(la,{type:x,title:p,icon:C,disc:y,action:v?P:void 0,className:ke("phoneme-select-block",m),children:[A,!E&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(An,{options:G,value:String(a),onChange:R,size:40,ariaLabel:H("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:k?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((j,F)=>{const O=t[F*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(O)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M(F+1)})]},F)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:H("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((j,F)=>{const O=t[F*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(O)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:I(F+1)})]},F)})})]}):t.map((j,F)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:S(j)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:M(F+1)})]},F))}),(l||u)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:k?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((j,F)=>{const O=t[F*2]??{};return n.jsx(Nn,{title:K(M(F+1),F===0),sections:u?u(O,F*2):l,selected:O,onSelect:c?.(F*2),align:"newline"},F)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((j,F)=>{const O=t[F*2+1]??{};return n.jsx(Nn,{title:I(F+1),sections:u?u(O,F*2+1):l,selected:O,onSelect:c?.(F*2+1),align:"newline"},F)})})]}):t.map((j,F)=>n.jsx(Nn,{title:K(M(F+1),F===0),sections:u?u(j,F):l,selected:j,onSelect:c?.(F),align:"newline"},F))})}),B&&n.jsx("div",{className:"phoneme-select-block__before-search",children:B}),(f||g||b)&&(()=>{const j=t.every(F=>Object.entries(F).every(([O,W])=>!W||O==="\uC885\uC131"&&W==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:j?_:void 0,children:[f&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:H("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:j,onClick:j?void 0:f}),g?n.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:b?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??H("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:j||h||b,onDisabledClick:b?()=>{}:void 0,"aria-busy":b||void 0,onClick:g}):b?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:w??H("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),N]})}function f7({title:e,sections:t,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,className:m}){const{t:p}=_e.useTranslation();return n.jsx(Nn,{className:m,title:e??p("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,align:"inline"})}function g7({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=_e.useTranslation();return a.length===0?null:n.jsx(Nn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function b7({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:m}=_e.useTranslation(),p={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},C=g=>m("wordPairs.count",{n:g}),y=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:n.jsx(ja,{title:m("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[m("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),m("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),m("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:n.jsx(ja,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[C(1),C(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:n.jsx(ja,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),m("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],v={[p.searchMode]:t==="explicit"?p.explicit:t==="pick"?p.pick:p.include,[p.phonemeOrder]:r==="ordered"?p.orderMatch:p.orderAny,[p.count]:C(i),[p.inputMode]:u==="phoneme"?p.pronInput:p.charInput},f=(g,_)=>{_===p.searchMode?a(g===p.explicit?"explicit":g===p.pick?"pick":"include"):_===p.phonemeOrder?s(g===p.orderMatch?"ordered":"unordered"):_===p.count?l(g===C(2)?2:1):_===p.inputMode&&c(g===p.pronInput?"phoneme":"word")};return n.jsx(Nn,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:y,selected:v,onSelect:f,align:"inline"})}function y7(e){const{title:t,items:a,columns:r,gridTemplateColumns:s,mobileGridTemplateColumns:i,searchPlaceholder:l,searchFn:u,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:m,selectedIds:p,onSelect:C,onClose:y,pageSizeOptions:v=[10,25,50,100],initialPageSize:f,emptyText:g,noMatchText:_,countLabel:h,topContent:w,className:b=""}=e,{t:k}=_e.useTranslation(),x=l??k("common.search","\uAC80\uC0C9"),B=g??k("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),A=_??k("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[N,E]=o.useState(""),[D,H]=o.useState(c??r[0]?.key??""),[$,G]=o.useState(d),[L,M]=o.useState(String(f??v[0]??10)),[I,K]=o.useState(1);o.useEffect(()=>{K(1)},[N,L]);const Y=u!==null,z=o.useCallback((Q,oe)=>{if(!oe)return!0;const de=oe.toLowerCase();return r.some(ae=>{const te=Q[ae.key];return te==null?!1:String(te).toLowerCase().includes(de)})},[r]),V=u??z,R=o.useMemo(()=>{const Q=Y?a.filter(oe=>V(oe,N)):a;return D?[...Q].sort((oe,de)=>{const ae=oe[D],te=de[D];return ae===te?0:oo(ae,te,$)}):Q},[a,N,D,$,Y,V]),q=Math.max(1,Math.ceil(R.length/Number(L)));I>q&&K(q);const S=Math.min(I,q),P=R.slice((S-1)*Number(L),S*Number(L)),j=o.useCallback(Q=>{D===Q?G(oe=>!oe):(H(Q),G(!0)),K(1)},[D]),F=o.useMemo(()=>{if(typeof h=="function"){const Q=R.length,oe=h(Q);if(typeof oe=="string"){const de=oe.lastIndexOf(String(Q));if(de>=0)return{prefix:oe.slice(0,de),suffix:oe.slice(de+String(Q).length)}}return{label:oe}}if(typeof h=="string"&&h.includes("{n}")){const[Q,oe]=h.split("{n}");return{prefix:Q,suffix:oe}}return{prefix:k("common.totalCountPrefix","\uCD1D "),suffix:k("common.totalCountSuffix","\uAC1C")}},[h,R.length,k]),O=o.useMemo(()=>r.map(Q=>({label:Q.label,onClick:Q.sortable!==!1?()=>j(Q.key):void 0,className:Q.className,sortDir:Q.sortable!==!1&&D===Q.key?$?"asc":"desc":null})),[r,D,$,j]),W=o.useMemo(()=>v.map(Q=>({value:String(Q),label:k("common.pageSizeLabel",{n:Q})})),[v,k]);return n.jsxs(Rn,{className:`popup-list ${b}`,title:t,onClose:y,children:[w,"label"in F&&n.jsx("p",{className:"toolbar__count body-1",children:F.label}),n.jsx(bo,{count:"label"in F?void 0:{value:R.length,prefix:F.prefix,suffix:F.suffix},search:Y?{value:N,onChange:E,placeholder:x}:void 0,pageSize:{options:W,value:L,onChange:M},pagination:{page:S,total:q,onChange:K}}),n.jsx(No,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:O,items:P,onRowClick:C,renderRow:Q=>{const oe=p!=null?Q.id!=null&&p.has(Q.id):m!=null&&Q.id===m;return r.map(de=>({content:de.render?de.render(Q):Q[de.key]??"",className:ke(de.className,oe&&"popup-list__row--selected")}))},empty:Y&&N!==""&&a.length>0?A:B})]})}function Lc(e){const{title:t,message:a,topContent:r,details:s,children:i,confirmLabel:l,cancelLabel:u,hideCancel:c=!1,extraAction:d,confirmVariant:m="main",confirmDisabled:p=!1,onConfirm:C,closeOnConfirm:y=!0,onClose:v,inline:f,size:g="small",className:_,initialFocus:h="close"}=e,{t:w}=_e.useTranslation(),b=o.useRef(null);o.useEffect(()=>{if(f||h==="close")return;const E=b.current?.closest(".popup-panel"),D=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),H=h==="confirm"?D[D.length-1]:c?void 0:D[d?1:0];H&&!H.disabled&&H.focus()},[]);const k=o.useRef(!1),[x,B]=o.useState(!1),A=E=>{let D=!1;return{close:()=>{D=!0,E()},\uB2EB\uC558\uB098:()=>D}},N=async E=>{if(k.current)return;k.current=!0;const D=typeof document<"u"?document.activeElement:null;B(!0);let H=!1;try{H=await E()}catch($){typeof console<"u"&&console.error($)}finally{H||(k.current=!1,B(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&D?.isConnected&&D.focus()}))}};return n.jsxs(Rn,{title:t,onClose:v,closeDisabled:x,inline:f,size:g,className:ke("confirm-popup",r!=null&&"confirm-popup--has-top",_),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const D=A(E);await d.onClick(D.close);const H=d.closeOnClick??!0;return H&&E(),H||D.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??w("common.confirm","\uD655\uC778"),variant:m,disabled:p||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const D=A(E);return await C(D.close),y&&E(),y||D.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(fr,{children:s.map((E,D)=>n.jsx(Pn,{label:E.label,children:n.jsx("span",{className:"panel-row__text body-2",children:E.value})},D))}),n.jsx("p",{ref:b,className:"body-2 confirm-popup__message",children:a}),i]})}function v7(e,t,a={}){const{t:r}=_e.useTranslation(),[s,i]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),c=o.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),d=s?n.jsx(Lc,{title:a.title??r("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??r("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??r("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{i(!1),t()},onClose:()=>i(!1)}):null;return{beforeClose:c,discardPopup:d,allowClose:u}}function x7({onApply:e,onCancel:t}){const{t:a}=_e.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null),m=o.useId();o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async v=>{const f=r.trim();if(f){l(!0),c(null);try{await e(f),v()}catch(g){c(di(g)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),C=o.useCallback((v,f)=>{v.key==="Enter"&&!v.nativeEvent.isComposing&&p(f)},[p]),y=v=>{s(v.target.value),c(null)};return n.jsx(Rn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:v})=>v()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:v})=>{p(v)}}],children:({closeWithAnimation:v})=>n.jsxs(n.Fragment,{children:[n.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),"aria-invalid":u?!0:void 0,"aria-errormessage":u?m:void 0,"aria-describedby":u?m:void 0,placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:y,onKeyDown:f=>C(f,v),disabled:i,autoComplete:"off",spellCheck:!1}),u&&n.jsx("p",{id:m,className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const $c=["var(--color-main)","var(--color-sub)"],_7=2e3;function w7(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function ss({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const f=Math.floor(t/2),g=t-f,_=(h,w)=>Array.from({length:h}).map((b,k)=>{const x=6+Math.random()*12,B=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),A=$c[Math.floor(Math.random()*$c.length)],N=Math.random()*300,E=(360+Math.random()*260)*r*1.2,D=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,H=Math.cos(D)*E,$=Math.sin(D)*E*1.35,G=Math.random()*720-360,L=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),M=Math.random()>.7?"50%":"3px";return{id:`${w}-${k}`,side:w,size:B,color:A,delay:N,vx:H,vy:$,angularVel:G,life:L,borderRadius:M}});return[..._(f,"left"),..._(g,"right")]},[t,r]),u=o.useRef(null),c=o.useRef({}),d=o.useRef(null),m=o.useRef(s);o.useEffect(()=>{m.current=s},[s]);const p=o.useRef(null),C=o.useRef(null),y=()=>{if(typeof document>"u")return null;let f=document.querySelector("[data-ihab-effect-root]");return f||(f=document.createElement("div"),f.className="app-effect",f.dataset.ihabEffectRoot="",f.style.position="fixed",f.style.inset="0",f.style.pointerEvents="none",f.style.zIndex="99998",document.body.appendChild(f)),f};if(typeof document<"u"&&C.current==null&&(C.current=y()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const V=setTimeout(()=>m.current?.(),0);return()=>clearTimeout(V)}const f=1200,g=performance.now(),_=C.current&&C.current!==document.body?C.current.getBoundingClientRect():null,h=Math.max(60,(window.innerHeight||800)*.05),w=V=>Math.max(40,(V||window.innerWidth)*.02),b=_?.width||window.innerWidth||375,k=_?.height||window.innerHeight||812,x=V=>{const R=[...V].sort((q,S)=>q-S);return R[Math.floor(R.length/2)]||1},B=x(l.map(V=>Math.abs(V.vy))),A=x(l.map(V=>Math.abs(V.vx))),N=Math.sqrt(2*f*(k*.72+h))/B,E=B*N/f,D=b*.5/(A*E),H=(V,R,q)=>Math.min(q,Math.max(R,V)),$=H(N,.8,2.4),G=H(D,.7,2.2),L=a>0?a/_7:1,M=l.map(V=>({...V,life:V.life*L,vx:V.vx*G,vy:V.vy*$,startTime:g+V.delay,ended:!1})),I=_?{x:_.left-w(_.width),y:_.top+_.height+h}:{x:-w(window.innerWidth),y:window.innerHeight+h},K=_?{x:_.left+_.width+w(_.width),y:_.top+_.height+h}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+h},Y=V=>{let R=!1;for(const q of M){const S=c.current[q.id];if(!S||!S)continue;if(V<q.startTime){S.style.display="none",R=!0;continue}if(!q._inited){const te=q.side==="left"?I.x:K.x,Ae=q.side==="left"?I.y:K.y;S.style.left=`${te}px`,S.style.top=`${Ae}px`,S.style.transform="translate3d(0px, 0px, 0)",S.style.display="block",S.style.zIndex="100000",typeof q.color=="string"&&q.color.startsWith("var(")&&(S.style.background=w7(S,q.color)??"#FF0060"),q._inited=!0}const P=(V-q.startTime)/1e3;if(P<0)continue;const j=q.life/1e3;if(P>=j){S.style.opacity="0",S.style.display="none",q.ended=!0;continue}R=!0;const F=q.side==="left"?I.x:K.x,O=q.side==="left"?I.y:K.y,W=F+q.vx*P,Q=O+q.vy*P+.5*f*P*P,oe=(q.angularVel||0)*P,de=W-F,ae=Q-O;S.style.transform=`translate3d(${de}px, ${ae}px, 0) rotate(${oe}deg)`,S.style.opacity=`${Math.max(0,1-P/j)}`}R?d.current=requestAnimationFrame(Y):m.current?.()};d.current=requestAnimationFrame(Y);const z=setTimeout(()=>{try{if((C.current?C.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const V=document.createElement("div");V.className="party-container",V.style.position="fixed",V.style.inset="0",V.style.pointerEvents="none",V.style.overflow="visible",V.style.zIndex="2147483647";for(const R of l){const q=document.createElement("span");q.className=`confetti confetti--${R.side}`,q.setAttribute("aria-hidden","true"),q.style.display="none",q.style.position="fixed",q.style.left="0px",q.style.top="0px",q.style.width=`${R.size}px`,q.style.height=`${Math.max(4,R.size*.6)}px`,q.style.background=R.color,q.style.borderRadius=R.borderRadius,q.style.transform="translate3d(0,0,0)",q.style.opacity="0",V.appendChild(q),c.current[R.id]=q}(document.body||C.current).appendChild(V),p.current=V}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(z),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,i,l]),!e)return null;const v=n.jsx("div",{className:"party-container",ref:u,children:l.map(f=>n.jsx("span",{"aria-hidden":!0,ref:g=>{c.current[f.id]=g},className:`confetti confetti--${f.side}`,style:{width:`${f.size}px`,height:`${Math.max(4,f.size*.6)}px`,background:f.color,borderRadius:f.borderRadius}},`${f.id}-${i}`))});return typeof document<"u"?en.createPortal(v,C.current||document.body):v}const is=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function B7({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const u=l.detail??{};r(c=>({n:(c?.n??0)+1,count:is(u.count),strength:is(u.strength),duration:is(u.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const s=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(ss,{active:t,trigger:e}),a&&n.jsx(ss,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function A7({title:e,sub:t,rightAction:a,titleAction:r,badge:s,badgeVariant:i="default",documentTitle:l,onBack:u,backLabel:c,wrap:d=!1}){const{t:m}=_e.useTranslation();cb(typeof e=="string"?e:l??null);const p=c??m("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[u&&n.jsx(me,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:p,showTooltipInfo:p,onClick:u}),n.jsx("h1",{className:"page-title__title h1",children:e}),s&&n.jsx("div",{className:"page-title__badge",children:n.jsx(wt,{label:s,size:"small",variant:i,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function k7(e){return e??""}const Rc=o.createContext({words:[],loading:!1});function N7(){return o.useContext(Rc)}function D7({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){const m=o.useMemo(()=>({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c}),[e,t,a,r,s,i,l,u,c]);return n.jsx(Rc.Provider,{value:m,children:d})}function E7({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:ke("summary-strip",r&&"summary-strip--flat",s),style:{"--summary-strip-cols":String(l),...i},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((u,c)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:u.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof u.value=="string"||typeof u.value=="number"?String(u.value):void 0,children:u.value})]},c))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const S7=(e,t)=>`${e} / ${t}`;function j7({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=S7,pageWidth:i,pageHeight:l,margin:u,className:c,style:d}){const{t:m}=_e.useTranslation(),p=o.useRef(null),C=o.useRef(null),y=o.useRef(null),v=o.useRef(null),[f,g]=o.useState(null),[_,h]=o.useState(!1);o.useEffect(()=>{const L=p.current;if(!L)return;const M=()=>h(L.scrollWidth>L.clientWidth+1);if(M(),typeof ResizeObserver>"u")return;const I=new ResizeObserver(M);return I.observe(L),()=>I.disconnect()},[f]);const w=e.map(L=>`${L.id}\0${L.section??""}\0${L.group??""}`).join(""),b=f&&f.shape===w?f.pages:null,[k,x]=o.useState(0);o.useEffect(()=>{const L=v.current;if(!L||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>x(L.offsetHeight));return M.observe(L),()=>M.disconnect()},[]);const[B,A]=o.useState(0);o.useEffect(()=>{const L=C.current;if(!L||typeof ResizeObserver>"u")return;let M=null;const I=typeof requestAnimationFrame=="function"?z=>requestAnimationFrame(z):z=>setTimeout(z,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:z=>clearTimeout(z),Y=new ResizeObserver(()=>{M==null&&(M=I(()=>{M=null,A(z=>z+1)}))});return Array.from(L.children).forEach(z=>Y.observe(z)),()=>{Y.disconnect(),M!=null&&K(M)}},[w]),o.useLayoutEffect(()=>{const L=C.current,M=v.current;if(!L||!M)return;const I=j=>j.getBoundingClientRect().height||j.offsetHeight,K=new Map;y.current?.querySelectorAll("[data-chrome-section]").forEach(j=>{K.set(j.dataset.chromeSection??"",I(j))});const Y=j=>I(M)-(K.get(j??"")??0),z=Array.from(L.children).map(j=>I(j)),V=[];e.forEach((j,F)=>{const O=V[V.length-1],W=O?e[O[0]]:void 0;W&&j.group!=null&&W.group===j.group&&W.section===j.section?O.push(F):V.push([F])});const R=[];let q=[],S=0;const P=()=>{q.length&&R.push(q),q=[],S=0};V.forEach(j=>{const F=j.reduce((W,Q)=>W+z[Q],0),O=Y(e[j[0]].section);q.length&&e[q[0]].section!==e[j[0]].section&&P(),F>O?j.forEach(W=>{q.length&&S+z[W]>O+.01&&P(),q.push(W),S+=z[W]}):(q.length&&S+F>O+.01&&P(),j.forEach(W=>q.push(W)),S+=F)}),P(),g(j=>j&&j.shape===w&&JSON.stringify(j.pages)===JSON.stringify(R)?j:{shape:w,pages:R})},[w,k,i,l,u,B]);const N=mo,E=N,D=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),H=(L,M,I)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:I!=null&&t?.[I]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:D}),n.jsx("span",{className:"report-doc__page-no",children:s(L,M)})]})}),$=Array.from(new Set(e.map(L=>L.section??""))),G={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...d};return n.jsxs("div",{ref:p,className:ke("report-doc",c),style:G,tabIndex:_?0:void 0,role:_?"group":void 0,"aria-label":_?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:v,className:"report-doc__ruler"}),n.jsx("div",{ref:y,children:$.map(L=>{const M=H(1,1,L||void 0);return n.jsxs("div",{"data-chrome-section":L,children:[M.header,M.footer]},L)})}),n.jsx("div",{ref:C,className:"report-doc__measure-blocks",children:e.map(L=>n.jsx("div",{children:L.content},L.id))})]}),b&&n.jsx("div",{className:"report-doc__pages",children:b.map((L,M)=>{const{header:I,footer:K}=H(M+1,b.length,e[L[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[I,L.map(Y=>n.jsx("div",{children:e[Y].content},e[Y].id)),K]},M)})})]})}function T7({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:ke("report-info",r),style:{"--report-info-cols":String(a),...s},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((i,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:i.label}),n.jsx("span",{className:"report-info__value",children:i.value})]},l))})]})}const Zn=new Map;let xr=null;const M7=12;function L7(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function _r(){const e=new Map;for(const t of Zn.keys()){if(!t.isConnected)continue;const a=L7(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,s)=>r.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const s=r.getBoundingClientRect().height;s>0&&(a+=s+M7)}}}function $7(e){return typeof window>"u"?()=>{}:(Zn.set(e,(Zn.get(e)??0)+1),Zn.get(e)===1&&typeof ResizeObserver<"u"&&(xr??(xr=new ResizeObserver(()=>_r())),xr.observe(e)),_r(),()=>{const t=(Zn.get(e)??1)-1;if(t>0){Zn.set(e,t),_r();return}Zn.delete(e),xr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),_r()})}function R7({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=_e.useTranslation(),c=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),m=o.useRef(!1);return o.useLayoutEffect(()=>{const p=d.current,C=p?.parentElement?.closest(".update-alert-stack")??p,y=C?$7(C):null;return()=>{y?.(),m.current&&p&&p.contains(document.activeElement)&&Za(p)}},[]),n.jsxs("div",{ref:d,className:ke("update-alert",l),role:"alert",children:[i&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{m.current=!0,i()},"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:s??n.jsx(ys,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(me,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:c})]})}function P7({title:e,titleLevel:t=3,description:a,topActions:r,children:s,footerLeft:i,footerRight:l,ariaLabel:u,onClick:c,draggable:d,onDragStart:m,onDragEnd:p,className:C}){const y=t?`h${t}`:"div",v=i!=null||l!=null,f=s!=null&&s!==!1,g=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return n.jsxs("div",{className:ke("training-card",c?"training-card--clickable":"",C),onClick:c,onKeyDown:c?g:void 0,role:c?"button":void 0,"aria-label":c?u??(typeof e=="string"?e:void 0):void 0,tabIndex:c?0:void 0,draggable:d,onDragStart:m,onDragEnd:p,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx(y,{className:"training-card__title h4",children:e}):e,r!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:_=>_.stopPropagation(),children:r})]}),a!=null?typeof a=="string"?n.jsx("p",{className:"training-card__description body-3",children:a}):a:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),f&&n.jsx("div",{className:"training-card__body",children:s}),v&&n.jsxs("div",{className:"training-card__footer",children:[i!=null&&n.jsx("div",{className:"training-card__footer-left",children:i}),l!=null&&n.jsx("div",{className:"training-card__meta",children:l})]})]})}function F7({title:e,titleLevel:t=3,count:a,collapsed:r=!1,onToggle:s,sort:i,actions:l,empty:u=!1,emptyContent:c,dragOver:d=!1,onDragOver:m,onDragLeave:p,onDrop:C,children:y,className:v}){const{t:f}=_e.useTranslation(),g=o.useId(),_=t?`h${t}`:"span",h=s!=null,w=ke("training-card-group",d&&"training-card-group--dragover",r&&"training-card-group--collapsed",h&&"training-card-group--collapsible",v);return n.jsxs("div",{className:w,onDragOver:m,onDragLeave:p,onDrop:C,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?g:void 0,children:[n.jsxs("header",{className:"training-card-group__header",children:[h&&n.jsx(me,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?r?f("common.expandFor",{name:e}):f("common.collapseFor",{name:e}):r?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?n.jsx(_,{id:g,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:a}),(i||l!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:b=>b.stopPropagation(),children:[i&&n.jsx(pn,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange,ariaLabel:typeof e=="string"&&e?f("common.sortFor",{name:e}):void 0}),l]})]}),!r&&(u?n.jsx("div",{className:"training-card-group__empty body-3",children:c}):n.jsx("div",{className:"training-card-group__grid",children:y}))]})}const I7="speechear:saved_word_tables";function O7(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function H7(){try{const e=localStorage.getItem(I7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(O7):[]}catch{return[]}}function Pc(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function ls(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function z7(e){const t=new Set;return e.map(a=>{let r=a.id;for(let s=2;t.has(r);s++)r=`${a.id}~${s}`;return t.add(r),r===a.id?a:{...a,id:r}})}function V7({title:e,titleIcon:t,disc:a,filterTitle:r,filterCollapsible:s,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:c,brand:d,code:m,items:p,onSaveComplete:C,onLoad:y,onRemoveItem:v,onReset:f,resetLabel:g,saveButtonLabel:_,secondarySaveButtonLabel:h,onReorder:w,showCellCount:b,onAddItem:k,className:x,renderSavePopup:B,renderWordSearch:A,hideControls:N,saveOnly:E,tableName:D,nameValue:H,onNameChange:$,descriptionValue:G,onDescriptionChange:L,namePlaceholder:M,descriptionPlaceholder:I,existingNames:K,editingName:Y,onCancel:z,initialItemsPerPage:V,renderCellAction:R,actionsLeftExtra:q}){const{t:S}=_e.useTranslation(),P=g??S("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),j=p===void 0,F=!!$,[O,W]=o.useState([]),Q=(H??"").trim(),oe=Q||(M??"").trim(),de=(G??"").trim()||(I??"").trim(),ae=(K??[]).map(re=>re.trim().toLowerCase()),te=[Y?.trim().toLowerCase(),...O].filter(re=>!!re),Ae=[...ae];for(const re of te){const ve=Ae.indexOf(re);ve!==-1&&Ae.splice(ve,1)}const U=Q!==""&&Ae.includes(Q.toLowerCase()),[ne,le]=o.useState(Array(4).fill(null)),[Ee,be]=o.useState(4),[se,pe]=o.useState(null),he=ne.slice(0,Ee),ge=!!d?.show,[fe,Te]=o.useState(!0),[Me,Ie]=o.useState(!0),Oe=d&&{...d,top:fe,bottom:Me},[He,dt]=o.useState("landscape"),[ut,ot]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ct,Ne]=o.useState("\uD45C\uC2DC"),[ze,Be]=o.useState(!0),[Ye,X]=o.useState(!0),ue=o.useRef(null),we=o.useRef([]),[De,qe]=o.useState(V==="all"?Number.POSITIVE_INFINITY:V??8),[Qe,st]=o.useState("right"),[pt,Ct]=o.useState(!1),[bt,at]=o.useState(!1),{toastMessage:Xe,toastType:Ve,showWarning:Pe,clearToast:et}=gl("warning"),ht=o.useCallback(()=>pe(null),[pe]);k&&!j&&!b&&Gt("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[Ue,mt]=o.useState(()=>Math.max(p?.length??1,1)),Nt=j?Ee:b?Math.max(Ue,p?.length??1,1):Math.max(p?.length??0,1),{width:Et,height:$e}=ua[He],nt=!j&&!b,Lt=p?.length??0,Xt=Math.min(De,Math.max(Lt,1)),rt=nt?Xt:Nt,Bt=nt?wu(p??[],rt):null,At=!!Bt&&Bt.length>1,vt=j?he.some(re=>re!==null&&re.length>1):(p??[]).some(re=>(re.words??[]).length>1),rn=D?.trim()||`${yi(_a())} ${vt?S("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):S("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,bn=o.useCallback(()=>At?we.current.filter(re=>re!==null):ue.current?[ue.current]:[],[At]),{print:mn,openNewWindow:hn,downloadHtml:En}=Io({getElements:bn,paperW:Et,paperH:$e,fileName:rn,onPopupBlocked:()=>{Pe(S("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),In=re=>{be(re),le(ve=>ve.length>=re?ve:[...ve,...Array(re-ve.length).fill(null)]),pe(null)},yn=re=>{le(ve=>{const Le=[...ve];return Le[re]=null,Le}),se===re&&pe(null)},zt=re=>{if(se===null)return;const ve=se;le(We=>{const it=[...We];return it[ve]=re.length>0?re:null,it});const Le=he.findIndex((We,it)=>it>ve&&We===null);pe(Le!==-1?Le:null)},sn=j?he.some(re=>re?.some(ve=>!!ve.colloquialPronunciation)):(p??[]).some(re=>(re.words??[]).some(ve=>!!ve.colloquialLabel)),Vt=o.useMemo(()=>ea()?j?ne.slice(0,Ee).flatMap(re=>(re??[]).map(ve=>[ve.word,ve.homonum])):(p??[]).flatMap(re=>(re.words??[]).map(ve=>[ve.label,ve.homonum])):[],[j,ne,Ee,p]),[Rt,Sn]=o.useState(!1);o.useEffect(()=>{if(Vt.length===0)return;let re=!1;return Promise.all(Vt.map(([ve,Le])=>ii(ve,Le))).then(ve=>{re||Sn(ve.some(Boolean))},()=>{}),()=>{re=!0}},[Vt]);const Jt=Vt.length>0&&Rt,jn=o.useMemo(()=>[...j||b?[{label:S("wordTable.filter.columns","\uCE78 \uC218"),items:h5.map(re=>({value:`${re}\uCE78`,displayLabel:S("wordTable.filter.column",{count:re})})),display:"segmented"}]:[],...nt&&(p?.length??0)>0?[Ou(S,{hasPairs:vt,itemCount:Lt})]:[],...At?[C5(S)]:[]],[S,j,b,nt,p?.length,vt,Lt,At]),On={...j||b?{[S("wordTable.filter.columns","\uCE78 \uC218")]:`${Nt}\uCE78`}:{},...nt&&(p?.length??0)>0?{[S(vt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Xt}\uAC1C`}:{},...At?{[S("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:zu[Qe]}:{}},Cn=(re,ve)=>{ve===S("wordTable.filter.columns","\uCE78 \uC218")?j?In(parseInt(re)):mt(parseInt(re)):ve===S(vt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?qe(Hu(parseInt(re),Lt)):ve===S("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&st(Vu(re))},jt=j?z7(he.filter(re=>re!==null&&re.length>0).map(re=>({id:ls(re),words:re.map(Pc)}))):p??[],Pt=()=>{j&&le(re=>re.length>Ee?re.slice(0,Ee):re)},Wt=(re=!1)=>{if(at(re),F&&C){const ve=oe.trim().toLowerCase();ve&&W(Le=>Le.includes(ve)?Le:[...Le,ve]),C(oe,jt,de||void 0,re),Pt();return}if(E&&C){C("",jt,void 0,re),Pt();return}if(C){Ct(!0);return}En()},[ln,Ft]=o.useState(!1),[Qt,ie]=o.useState(""),xe=Qt.trim(),je=xe!==""&&ae.includes(xe.toLowerCase()),Je=()=>{ie(oe?S("wordTable.save.copyName",{name:oe,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Ft(!0)},Fe=()=>{!xe||je||!C||(C(xe,jt,de||void 0,!0),Pt(),Ft(!1))},Ge=jt.length===0,Ze=Ge||F&&(oe===""||U),J=()=>{if(Ge){Pe(S("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&oe===""){Pe(S("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&U&&Pe(S("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},ye=n.jsx(ca,{items:jt,orientation:He,contentTypes:ut,cutLine:ct,showOutline:ze,showDivLine:Ye,count:Nt});return n.jsxs(n.Fragment,{children:[n.jsxs(la,{type:"page",icon:t,title:e,disc:a,className:ke("word-table-block",x),children:[ln&&n.jsx(Rn,{size:"small",title:h??S("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Ft(!1),footer:({closeWithAnimation:re})=>n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:48,type:"bar",label:S("common.cancel","\uCDE8\uC18C"),onClick:re}),n.jsx(me,{htmlType:"button",size:48,type:"bar",variant:"main",label:S("common.save","\uC800\uC7A5"),disabled:!xe||je,onClick:Fe})]}),children:n.jsx(Kn,{label:S("wordTable.save.nameLabel","\uC774\uB984"),value:Qt,onChange:ie,placeholder:S("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:Fe,error:je?S("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),pt&&C&&B?.({defaultName:typeof e=="string"?e:S("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:ye,previewW:Et,previewH:$e,items:jt,existingNames:H7().map(re=>re.name),saveAsNew:bt,onSave:(re,ve)=>{C(re,jt,ve,bt),Pt(),Ct(!1)},onCancel:()=>Ct(!1)}),(j||k)&&se!==null&&A?.({cellIndex:se,onConfirm:j?zt:re=>{if(k){const ve=re[0];if(ve){const Le=new Set((p??[]).map(it=>it.id));let We=ls([ve]);for(let it=2;Le.has(We);it++)We=`${ls([ve])}~${it}`;k({id:We,words:[Pc(ve)]})}}pe(null)},onClose:ht}),!N&&n.jsx(Ro,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:Jt,hasColloquial:sn,contentTypes:ut,orientation:He,showOutline:ze,cutLine:ct,showDivLine:Ye,setters:{setContentTypes:ot,setOrientation:dt,setShowOutline:Be,setCutLine:Ne,setShowDivLine:X,setShowTopInfo:Te,setShowBottomInfo:Ie},showCutLine:(nt?rt:Nt)>1,showDivLine2:vt,middleSections:jn,extraSelected:On,onExtraSelect:Cn,showPaperBands:ge,showTopInfo:fe,showBottomInfo:Me}),At&&Bt?n.jsx("div",{className:"word-table-block__pages",children:Bt.map((re,ve)=>n.jsx(ca,{orientation:He,contentTypes:ut,cutLine:ct,showOutline:ze,showDivLine:Ye,count:rt,items:re,onRemoveItem:v,onReorder:w&&((Le,We)=>w(Le+ve*rt,We+ve*rt)),renderCellAction:R&&((Le,We)=>R(Le+ve*rt,We)),brand:Oe,code:m,contentRef:Le=>{we.current[ve]=Le},pageNumber:{current:ve+1,total:Bt.length},pageNumberPosition:Qe},ve))}):n.jsx(ca,{orientation:He,contentTypes:ut,cutLine:ct,showOutline:ze,showDivLine:Ye,count:Nt,items:j?void 0:p??[],editCells:j?he:void 0,activeCell:se,onActivateCell:j||k?pe:void 0,onRemoveCell:j?yn:void 0,onRemoveItem:j?void 0:v,onReorder:j?void 0:w,renderCellAction:j?void 0:R,brand:Oe,code:m,showFillerAdd:!!k,contentRef:ue}),F&&!N&&n.jsxs(fr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Pn,{variant:"custom",label:S("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(Kn,{required:!0,value:H??"",onChange:$,placeholder:M?M+S("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):S("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:S("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:U?S("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:re=>{(re.key==="Tab"&&!re.shiftKey||re.key===" ")&&!(H??"").trim()&&(M??"").trim()&&(re.preventDefault(),$?.(M??""))}})}),n.jsx(Pn,{variant:"custom",label:S("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(Kn,{value:G??"",onChange:L,placeholder:I?I+S("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):S("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:S("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:re=>{(re.key==="Tab"&&!re.shiftKey||re.key===" ")&&!(G??"").trim()&&(I??"").trim()&&(re.preventDefault(),L?.(I??""))}})})]})]}),!N&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&f&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:P,onClick:f}),!E&&q,!E&&y&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:S("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:y}),!E&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:S("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:hn})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[z&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:S("common.cancel","\uCDE8\uC18C"),onClick:z}),!E&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:S("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:mn}),h&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>F?Je():Wt(!0),disabled:Ge,onDisabledClick:()=>{Pe(S("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",label:_??S("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Wt(!1),disabled:Ze,onDisabledClick:J})]})]}),n.jsx(sa,{message:Xe,type:Ve,onClose:et})]})}function Fc({items:e,className:t}){const a=e.length,r=a<=3?1:2,s=Math.ceil(a/r)||1,i=r*s;return n.jsx("div",{className:ke("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(l,u)=>{const c=e[u];return c?n.jsx("div",{className:"word-table-thumb__cell",children:(c.words?.length?c.words:[{label:c.id}]).map((d,m)=>n.jsxs(o.Fragment,{children:[m>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},m))},u):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function W7({items:e,name:t,description:a,createdAt:r,code:s,published:i,publishedLabel:l,shared:u,sharedLabel:c,isNew:d,publisherName:m,publishedAt:p,likeCount:C,downloadCount:y,onPublisherClick:v,selected:f,onClick:g,onMore:_,titleNode:h,className:w}){const{t:b}=_e.useTranslation(),k=h!=null,x=m!=null||p!=null||C!=null||y!=null,B=A=>{A.target===A.currentTarget&&!k&&(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),g?.())};return n.jsxs("div",{className:ke("word-table-button",f?"word-table-button--selected":"",x?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":s?`${t} (${s})`:t,onClick:k?void 0:g,onKeyDown:B,children:[d&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":b("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(Fc,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[h??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!k&&n.jsx(me,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:b("common.moreFor",{name:t}),onClick:A=>{A.stopPropagation(),_(A)}})]}),(s||r||i||u)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta-left",children:n.jsx("span",{className:"word-table-button__meta caption-1",children:r?bi(r,b):""})}),n.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&n.jsxs("span",{className:"word-table-button__badges",children:[i&&n.jsx(wt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??b("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&n.jsx(wt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??b("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),s&&n.jsx("span",{className:"word-table-button__code caption-1",children:s})]})]}),x&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[m&&(v?n.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":b("wordTable.publisherFilter",{name:m,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:A=>{A.stopPropagation(),v()},children:m}):n.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:m})),p&&n.jsx("span",{className:"training-card__date body-4",children:bi(p,b)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[C!=null&&n.jsx(wt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(C),"aria-label":b("common.likeCount",{count:C,defaultValue:`\uC88B\uC544\uC694 ${C}`})}),y!=null&&n.jsx(wt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(y),"aria-label":b("common.downloadCount",{count:y,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${y}`})})]})]})]})}/**
|
|
1053
|
+
`).map((l,u,c)=>n.jsxs(o.Fragment,{children:[l,u<c.length-1&&n.jsx("br",{})]},u))})}),n.jsxs("div",{className:"site-footer__links",children:[n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.site.title","\uC0AC\uC774\uD2B8")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.malgwi","\uB9D0\uADC0")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:s("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.sns.title","SNS")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:s("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),n.jsxs("div",{className:"site-footer__column",children:[n.jsx("div",{className:"site-footer__column-title footer-title",children:s("footer.policy.title","\uC815\uCC45")}),n.jsxs("ul",{children:[n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{e&&(l.preventDefault(),e())},children:s("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),n.jsx("li",{children:n.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.preventDefault(),t())},children:s("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),n.jsx("hr",{className:"site-footer__rule"}),n.jsxs("div",{className:"site-footer__bottom",children:[n.jsx("div",{className:"site-footer__brand",children:n.jsx("img",{src:ho,alt:"IHAB",className:"site-footer__logo"})}),n.jsxs("div",{className:"site-footer__meta",children:[n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:s("footer.ceo","\uB300\uD45C")})," ",n.jsx("span",{className:"footer-meta caption-1",children:s("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:s("footer.address","\uC8FC\uC18C")})," ",n.jsx("span",{className:"footer-meta caption-1",children:s("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),n.jsxs("div",{children:[n.jsx("span",{className:"footer-title",children:s("footer.support","\uACE0\uAC1D\uC13C\uD130")})," ",n.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",i]})]})]})]}),n.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}function Z5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:i,className:s,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=_e.useTranslation(),m=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,h]=o.useState(!1),v=o.useId(),y=o.useRef(null);o.useEffect(()=>{if(!p)return;const _=Wn(()=>{const b=document.getElementById(v);b&&b.contains(document.activeElement)&&y.current?.focus(),h(!1)}),C=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=b=>{b.matches&&h(!1)};return C&&(C.matches&&h(!1),C.addEventListener?.("change",w)),()=>{_(),C?.removeEventListener?.("change",w)}},[p,v]);const g=l?`${l} landing-header__inner`:"landing-header__inner",f=(_,C)=>u?u(_,{onClick:C}):n.jsx("a",{href:_.href,onClick:C,"aria-current":_.current?"page":void 0,children:_.label});return n.jsxs("header",{className:s?`landing-header ${s}`:"landing-header",children:[n.jsxs("div",{className:g,children:[e!=null&&(()=>{const _=typeof e=="string"?n.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?n.jsx("a",{href:a,className:"landing-header__brand",children:_}):n.jsx("div",{className:"landing-header__brand",children:_})})(),r.length>0&&n.jsx("nav",{className:"landing-header__links",children:r.map((_,C)=>n.jsx("span",{children:f(_)},`${C}:${_.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[i,r.length>0&&n.jsx("button",{ref:y,type:"button",onClick:()=>h(_=>!_),"aria-expanded":p,"aria-controls":v,"aria-label":p?m.close:m.open,className:p?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:n.jsxs("span",{className:"landing-header__burger",children:[n.jsx("span",{}),n.jsx("span",{}),n.jsx("span",{})]})})]})]}),r.length>0&&n.jsx("nav",{id:v,hidden:!p,className:"landing-header__drawer",children:n.jsx("div",{className:l??void 0,children:r.map((_,C)=>n.jsx("span",{className:"landing-header__drawer-item",children:f(_,()=>h(!1))},`${C}:${_.href}`))})})]})}function X5({children:e,action:t,onClick:a,className:r}){const i=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return n.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:n.jsxs("div",{className:i,onClick:a,...fu(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function J5({mountedRef:e}){const t=o.useRef({phase:"sound",at:0}),a=o.useRef(0),r=o.useRef(null),i=o.useRef(null),s=o.useCallback(()=>{const g=t.current,f=g.phase!=="sound"&&g.at>0;i.current=f?{phase:g.phase,\uD750\uB978:Math.max(0,Date.now()-g.at)}:null},[]),l=o.useCallback(()=>{const g=i.current;return i.current=null,g},[]),u=o.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),c=o.useCallback((g,f,_=0)=>{if(!(g>0))return Promise.resolve(!0);const C=a.current;return t.current={phase:f,at:Date.now()-Math.max(0,_)},new Promise(w=>{const b=setTimeout(()=>{r.current===b&&(r.current=null),w(!!e.current&&C===a.current)},g);r.current=b})},[e]),d=o.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),m=o.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=o.useCallback(()=>{const g=t.current;return g.phase!=="sound"&&g.at>0},[]),h=o.useCallback(()=>a.current,[]),v=o.useCallback(g=>g===a.current,[]),y=o.useCallback(()=>{a.current+=1},[]);return o.useEffect(()=>()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]),o.useMemo(()=>({positionRef:t,isRunning:p,generation:h,isCurrent:v,abort:u,waitPad:c,enterSound:d,leave:m,pause:s,resume:l,__bumpGenerationForTest:y}),[p,h,v,u,c,d,m,s,l,y])}const ma=9,Q5=e=>Math.round(Math.min(ma,Math.max(0,e))/ma*100),e3=e=>e/100*ma,Fa=2,Xu=.1,t3=e=>Math.min(Fa,Math.max(0,e)),n3=.1,a3=e=>Math.round(e*1e6)/1e6;function Ia(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return t3(t);const a=Math.min(ma,Math.max(0,Number(e.level)||0))/ma,r=Number(e.mainVolume);return r>0?a>0?a3(Math.min(Fa,Math.max(n3,a/r))):0:1}const Ju=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Qu(e){return Ju(e)}function Vo(e){return Ju(e)*Ia(e)}function Wo(e,t=mC()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Vo(e)/a)}function Oa(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Ia({level:a.level,mainVolume:a.mainVolume})),a}const Ha={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},qo=o.createContext(null);function dr(){return o.useContext(qo)}const Uo=e=>`${pC()}/${e}`,ec=e=>Array.from({length:10},(t,a)=>Uo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),pr={get defaultNoise(){return Uo("noise1.mp3")},get street(){return ec("noise2")},get restaurant(){return ec("noise3")},get buzz(){return Uo("noise4.mp3")}};function r3(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return pr.defaultNoise;case"street":return pr.street[t];case"restaurant":return pr.restaurant[t];case"buzz":return pr.buzz;default:return null}}function o3({noisePlayer:e,audioRef:t,playbackStateRef:a,sequencer:r}){const i=o.useRef(e?.registerAnalyser);i.current=e?.registerAnalyser;const s=o.useRef(null),[l,u]=o.useState(null),c=o.useRef(null),d=o.useRef(null),m=o.useRef(null),p=o.useRef(null),h=o.useRef(0),v=o.useRef(null),y=o.useCallback(()=>!!r?.isRunning(),[r]),g=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),v.current!==null&&(clearTimeout(v.current),v.current=null)},[]),f=o.useCallback((k,x=250)=>{const B=s.current;if(!B)return;const A=d.current;if(A){d.current=null;try{B.pause()}catch{}B.src=A,B.load()}if(!B.src)return;h.current+=1,g();try{Or(),Va(B).then(H=>{if(s.current===B)try{i.current?.("noise",H)}catch{}})}catch{}const N=B.paused?0:Wa(B);B.paused&&Ln(B,0),B.play().catch(()=>{});const E=performance.now(),D=()=>{const H=Math.min(1,(performance.now()-E)/x);try{Ln(B,N+(k-N)*H)}catch{}H<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)},[g]),_=o.useCallback((k=250,x)=>{const B=s.current;if(!B||B.paused){x?.();return}const A=++h.current;g();const N=performance.now(),E=Wa(B),D=()=>{const H=Math.min(1,(performance.now()-N)/k);try{Ln(B,E*(1-H))}catch{}if(H<1)p.current=requestAnimationFrame(D);else{p.current=null,v.current!==null&&(clearTimeout(v.current),v.current=null);try{B.pause()}catch{}x?.()}};p.current=requestAnimationFrame(D),v.current=setTimeout(()=>{if(v.current=null,h.current===A){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{B.paused||(Ln(B,0),B.pause(),x?.())}catch{}}},k+150)},[g]);o.useEffect(()=>{const k=document.createElement("audio");return k.loop=!0,k.crossOrigin="anonymous",s.current=k,()=>{g();try{k.pause(),k.removeAttribute("src"),k.load()}catch{}s.current=null,c.current=null,d.current=null}},[g]);const C=e?Wo(e.settings):0,w=!!e?.settings.enabled&&C>0;o.useEffect(()=>{if(!w)return;let k=0;const x=setInterval(()=>{const B=s.current;if(!B||B.paused){k=0;return}const A=t.current;if(A&&!A.paused&&!A.ended||y()||a.current==="playing"){k=0;return}k+=1,k>=2&&(k=0,_())},400);return()=>clearInterval(x)},[_,w,t,a,y]),o.useEffect(()=>{const k=()=>{const x=s.current;if(document.hidden){if(x&&!x.paused){g();try{x.pause()}catch{}}return}if(!x||!x.paused)return;const B=t.current,A=!!B&&!B.paused&&!B.ended||y()||a.current==="playing",N=m.current;A&&N?.enabled&&N.volume>0&&f(N.volume)};return document.addEventListener("visibilitychange",k),()=>document.removeEventListener("visibilitychange",k)},[g,f,t,a,y]),o.useEffect(()=>{m.current=e?{enabled:e.settings.enabled,volume:C,type:e.settings.type}:null},[e,e?.settings.enabled,C,e?.settings.type]);const b=o.useRef(null);return o.useEffect(()=>()=>{b.current?.(),b.current=null},[]),o.useEffect(()=>{const k=e?.settings,x=s.current;if(!x)return;const B=k?Wo(k):0;if(!k||!k.enabled||B===0){_();return}if(c.current!==k.type){const A=r3(k.type);A&&(c.current=k.type,u(A),d.current=A,_(150,()=>{if(d.current!==A)return;d.current=null,x.src=A,x.load();const N=t.current;if(N&&!N.paused||y()){b.current?.();const E=()=>{x.removeEventListener("canplay",E),b.current===D&&(b.current=null);const H=t.current,P=m.current;(H&&!H.paused&&!H.ended||y())&&P?.enabled&&P.volume>0&&f(P.volume)},D=()=>x.removeEventListener("canplay",E);b.current=D,x.addEventListener("canplay",E)}}))}else{const A=t.current,N=!!A&&!A.paused&&!A.ended||y()||a.current==="playing";if(N&&d.current)f(B);else if(N&&x.paused&&x.src)f(B);else if(!x.paused)if(!N)_();else{g();const E=Wa(x),D=performance.now(),H=()=>{const P=Math.min(1,(performance.now()-D)/150);try{Ln(x,E+(B-E)*P)}catch{}P<1?p.current=requestAnimationFrame(H):p.current=null};p.current=requestAnimationFrame(H)}}},[e?.settings,e?.settings.enabled,C,e?.settings.type,g,f,_,t,a,m,y]),o.useEffect(()=>{const k=s.current;if(k)try{k.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:s,activeNoiseUrl:l,noiseSettingsRef:m,cancelNoiseFade:g,fadeInNoise:f,fadeOutNoise:_}}function s3({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:i,setProgress:s,setPlaybackState:l,setStateLocal:u,fadeInNoise:c,fadeOutNoise:d,noiseSettingsRef:m,onDoneRef:p,handleEndRef:h}){const v=o.useRef(null),y=o.useRef(0),g=o.useRef(null),f=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{f.current++;try{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const C=(k,x=1)=>{try{const B=(k||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(k||"").length);return Math.max(700,Math.round(B*300/Math.max(.25,x)))}catch{return 1200}},w=o.useCallback(k=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const x=window.speechSynthesis,B=++f.current;try{try{x.cancel()}catch{}const A=k??e,N=Array.isArray(A)?A.filter(M=>!!M):[A||""];N.length===0&&N.push("");const E=Math.max(.3,Math.min(3,t));y.current=N.reduce((M,L)=>M+C(L,E||1),0),v.current=performance.now(),s(0),l("playing"),u("playMode");const D=m.current;D?.enabled&&(D?.volume??0)>0&&c(D.volume);const H=()=>{try{const M=v.current||performance.now(),L=performance.now()-M,$=y.current||1200,K=Math.min(1,L/$);try{r.current&&(r.current.style.left=`${K*100}%`),i.current&&i.current.style.setProperty("--progress",String(K))}catch{}K<1&&(g.current=requestAnimationFrame(H))}catch{}},P=()=>{if(B===f.current)try{g.current&&(cancelAnimationFrame(g.current),g.current=null),s(1),l("stopped");try{h.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},Y=M=>{const L=new SpeechSynthesisUtterance(N[M]);try{L.rate=E}catch{}try{L.volume=Math.max(0,Math.min(1,a))}catch{}L.onend=()=>{if(B===f.current){if(M<N.length-1){try{Y(M+1)}catch{P()}return}P()}},L.onerror=()=>{P()},L.onstart=()=>{if(!(M>0))try{g.current&&(cancelAnimationFrame(g.current),g.current=null),g.current=requestAnimationFrame(H)}catch{}},_.current=!0,x.speak(L)};try{Y(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,t,a,c,r,i,s,l,u,m,p,h]),b=o.useCallback(()=>{f.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}g.current&&(cancelAnimationFrame(g.current),g.current=null),d(),v.current=null}catch{}l("stopped"),u("active"),s(0)},[d,l,u,s]);return{startTTS:w,stopTTS:b}}const i3=.01,l3=.3;async function u3(e,t,a,r=!1){let i=null;try{const s=window.AudioContext||window.webkitAudioContext;i=new s;const l=await i.decodeAudioData(e.slice(0)),u=l.numberOfChannels>0?l.getChannelData(0):null;if(!u)return null;let c=0;if(r){const v=Math.floor(l3*l.sampleRate),y=Math.min(u.length,v);for(;c<y&&Math.abs(u[c])<=i3;)c++;c>=y&&(c=0)}const d=u.length-c,m=a&&a>0?Math.min(d,Math.floor(a*l.sampleRate)):d,p=Math.max(t,m),h=Math.floor(p/t)||1;return new Array(t).fill(0).map((v,y)=>{const g=c+y*h,f=Math.min(g+h,c+p,u.length);let _=0;for(let C=g;C<f;C++){const w=Math.abs(u[C]);w>_&&(_=w)}return _})}catch{return null}finally{try{i?.close?.()}catch{}}}async function tc(e,t,a,r=!1){try{const i=await fetch(e);if(i.ok===!1)return null;const s=await i.arrayBuffer();return await u3(s,t,a,r)}catch(i){try{const s=di(i)}catch{}return null}}const Go=45,c3=74,d3=2;function mr(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function hr(e){return mr(e)/45}const p3=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),nc=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function ac({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const r=nc(t),i=nc(a),s=[];let l=0;return e.forEach((u,c)=>{for(const[d,m]of[["lead",r],["sound",p3(u)],["tail",i]])s.push({kind:d,track:c,startMs:l,durMs:m}),l+=m}),{segments:s,totalMs:l,trackCount:e.length}}function rc(e,t){const a=(t|0)*3;if(t<0||a+2>=e.segments.length)return null;const[r,i,s]=[e.segments[a],e.segments[a+1],e.segments[a+2]];return{lead:r,sound:i,tail:s,totalMs:r.durMs+i.durMs+s.durMs}}function m3(e,t){const a=rc(e,t.track);if(!a||!(a.totalMs>0))return 0;const r=a[t.kind],i=Math.min(Math.max(0,Number.isFinite(t.elapsedMs)?t.elapsedMs:0),r.durMs);return Math.max(0,Math.min(1,(r.startMs-a.lead.startMs+i)/a.totalMs))}function h3(e,t,a){const r=Math.max(0,Math.floor(a)),i=rc(e,t);if(!i||r===0||!(i.totalMs>0)||i.lead.durMs===0&&i.tail.durMs===0||!(i.sound.durMs>0))return{lead:0,sound:r,tail:0};const s=Math.round(i.lead.durMs/i.totalMs*r),l=Math.round(i.tail.durMs/i.totalMs*r),u=Math.max(1,r-s-l),c=s+u+l-r;return{lead:Math.max(0,s-Math.ceil(c/2)),sound:u,tail:Math.max(0,l-Math.floor(c/2))}}function C3({currentTime:e,sources:t,index:a,audioDuration:r}){const i=a||0,s=Array.isArray(t)&&t.length>0?t[i]:void 0,l=s?s.duration||r||0:r||0;if(!(l>0))return 0;const u=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,u/l))}function f3({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:r,leadInMs:i,tailMs:s}){const l=ac({durationsSec:[r],leadInMs:i,tailMs:s});return m3(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function g3({bars:e,trackDurationSec:t,leadInMs:a,tailMs:r}){return h3(ac({durationsSec:[t],leadInMs:a,tailMs:r}),0,e)}function b3(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function y3({ended:e,completedByEnd:t}){return!!e||!!t}function v3(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function x3(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function _3(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],i=[];for(const s of r)if(s){if(typeof s=="object"&&s!==null&&"src"in s&&s.src){const l=s;i.push({code:l.code??null,src:l.src});continue}if(typeof s=="string"&&(s.startsWith("http")||s.includes("/"))){i.push({code:null,src:s});continue}if(typeof s=="string"||typeof s=="number"){const l=String(s),u=a(l,t);u&&i.push({code:l,resolvedPath:u})}}return i}const oc=4,w3=hr(oc/Go);function B3(e){const{src:t,segments:a,progress:r=0,waveProgressRef:i,noiseSrc:s,noiseRatio:l=0,noiseSpeed:u=1,totalDuration:c=0,mainVolume:d=1,onReadyChange:m,showSoundWaveForm:p=!0,leadInMs:h=0,tailMs:v=0,trackDurationSec:y=0}=e,g=o.useRef(null),f=o.useRef(null),[_,C]=o.useState(null),[w,b]=o.useState(!1),[k,x]=o.useState(null),[B,A]=o.useState(2),[N,E]=o.useState(0),[D,H]=o.useState(null),[P,Y]=o.useState(!1),[M,L]=o.useState(!1),$=3,K=3,V=1,z=300,W=o.useRef(0),R=o.useCallback(()=>{const ye=g.current,se=f&&f.current?f.current:ye?ye.closest(".audio-player__wave"):null,ce=se?se.getBoundingClientRect():ye?ye.getBoundingClientRect():null,Ce=ce?ce.width:0,be=ce?Math.max(100,ce.width):320,ge=ce?ce.height:0,je=Math.max(V,Math.min(z,Math.floor((be+K)/($+K)))),Ue=je*$,Se=Math.max(0,je-1),Ie=Math.max(0,Se>0?(be-Ue)/Se:K);return{bars:je,gap:Ie,height:ge,width:Ce}},[]),q=o.useRef(void 0),j=o.useRef(null),I=o.useCallback(async(ye,se,{quiet:ce=!1}={})=>{const Ce=++W.current,be=()=>W.current===Ce;try{if(ce||b(!1),q.current=ye,!ye){be()&&C(null);return}let ge=se;if(!ge)try{for(let Se=0;Se<4&&!(g.current||f.current);Se++)await new Promise(Ie=>requestAnimationFrame(Ie));await new Promise(Se=>requestAnimationFrame(Se));const Ue=R();Ue.height>0&&E(Ue.height),ge=Ue.bars,A(Ue.gap)}catch{ge=120}j.current=ge;const je=await tc(ye,ge);if(!be())return;if(!je){C(null),b(!1);return}C(je),x(ge),b(!0)}catch{if(!be())return;C(null),b(!1)}},[b,C,E,A,x,R]);o.useEffect(()=>{const ye=f.current;if(!ye||typeof ResizeObserver>"u")return;let se=null;const ce=new ResizeObserver(()=>{se!==null&&cancelAnimationFrame(se),se=requestAnimationFrame(()=>{se=null;try{const Ce=R();if(Ce.width<=0||(Ce.height>0&&E(Ce.height),j.current===null||Ce.bars===j.current))return;const be=q.current;A(Ce.gap),be?I(be,Ce.bars,{quiet:!0}).catch(()=>{}):j.current=Ce.bars}catch{}})});return ce.observe(ye),()=>{ce.disconnect(),se!==null&&cancelAnimationFrame(se)}},[R,I]),o.useEffect(()=>{const ye=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;I(typeof ye=="string"?ye:void 0).catch(()=>{}),L(!1)},[t,a,I]),o.useEffect(()=>{let ye=!1;if(Y(!1),!s||!k){H(null);return}const se=c>0?c*(u||1):void 0;return tc(s,k,se,!0).then(ce=>{ye||(H(ce),ce||Y(!0))}).catch(()=>{ye||(H(null),Y(!0))}),()=>{ye=!0}},[s,k,c,u]);const S=Math.max(0,Math.min(1,d)),F=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),O=k||40,U=o.useMemo(()=>g3({bars:O,trackDurationSec:y,leadInMs:h,tailMs:v}),[O,y,h,v]),Q=o.useMemo(()=>Array.from({length:O}).map((ye,se)=>{const ce=se>=U.lead&&se<U.lead+U.sound,Ce=U.sound>0&&ce?Math.min(O-1,Math.round((se-U.lead)/U.sound*O)):-1,be=ce?_&&_[Ce]!=null?_[Ce]:null:_?0:null,ge=be==null?null:Math.min(1,be/F*S),je=ge!=null&&N>0&&mr(ge)<=oc,Ue=ge==null?.15:je?0:hr(ge),Se=je,Ie=O>1?se/(O-1):0;return n.jsx("div",{className:Se?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Ue,"--i":se,"--mix":Ie}},se)}),[O,_,F,S,N,U]),oe={"--progress":String(Math.max(0,Math.min(1,r)))},me=o.useMemo(()=>D&&D.length&&Math.max(...D.map(ye=>Number.isFinite(ye)?Math.abs(ye):0))||1,[D]),ae=S*Math.max(0,l),te=!s||!D||!D.length?1:Math.max(1,ae),ke={"--bar-gap":`${B}px`,"--wave-h":`${mr(te)}px`,"--wave-h1":`${Go}px`},G=w&&(s?!!D||P:!0);o.useEffect(()=>{G&&L(!0)},[G]);const re=M?w:G;o.useEffect(()=>{m?.(re)},[re,m]);const ie=k||40,De=o.useMemo(()=>Array.from({length:ie}).map((ye,se)=>{const ce=D&&D[se]!=null?D[se]:null,Ce=ce==null?0:Math.abs(ce)/me*ae,be=Math.max(w3,hr(Ce)),ge=ie>1?se/(ie-1):0;return n.jsx("div",{className:"audio-player__bar",style:{"--val":be,"--i":se,"--mix":ge}},se)}),[ie,D,me,ae,N]);return n.jsxs("div",{className:"audio-player__wave",ref:f,style:ke,children:[s&&n.jsx("div",{className:`audio-player__wave-noise ${G?"is-ready":""}`,"aria-hidden":"true",children:De}),p&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${re?"is-ready":""}`,ref:g,children:Q}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${re?"is-ready":""}`,ref:i,style:oe,children:Q})]})]})}const A3={idle:"\uB300\uAE30",synthesizing:"\uC18C\uB9AC\uB97C \uB9CC\uB4E4\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"},sc={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function Ko(e,t){return new Promise((a,r)=>{const i=document.createElement("audio");let s=!1;const l=()=>{try{i.removeAttribute("src"),i.load()}catch{}},u=()=>{if(s)return;s=!0;const d=isFinite(i.duration)&&i.duration||0;l(),a(d)},c=d=>{s||(s=!0,l(),t.rejectOnError?r(new Error(d)):a(0))};i.addEventListener("loadedmetadata",u),i.addEventListener("error",()=>c("audio load failed")),setTimeout(()=>c("audio load timeout"),t.timeoutMs),i.src=e})}const k3=2e3;function ic(e,t=k3){return new Promise(a=>{let r=!1;const i=()=>{r||(r=!0,a())};e.addEventListener("canplay",i,{once:!0}),e.addEventListener("error",i,{once:!0}),setTimeout(i,t)})}function N3({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=o.useRef(!1),i=o.useRef([]),s=o.useCallback(c=>{if(r.current=c,!c||!i.current.length)return;const d=i.current;i.current=[];for(const m of d)m(!0)},[]),l=o.useCallback(()=>{r.current=!1},[]),u=o.useCallback(()=>!e&&!t||r.current?Promise.resolve(!0):new Promise(c=>{const d=p=>{clearTimeout(m),i.current=i.current.filter(h=>h!==d),c(p)},m=setTimeout(()=>d(!0),a);i.current.push(d)}),[e,t,a]);return o.useEffect(()=>()=>{const c=i.current;i.current=[];for(const d of c)d(!1)},[]),{onReadyChange:s,waitForReady:u,markNotReady:l}}function D3(){const e=o.useRef([]),t=o.useCallback(i=>(e.current.push(i),i),[]),a=o.useCallback(i=>{const s=new Set([...i].filter(Boolean));e.current=e.current.filter(l=>{if(s.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),r=o.useCallback(()=>{a([])},[a]);return o.useEffect(()=>()=>{for(const i of e.current)try{URL.revokeObjectURL(i)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function E3({offsetY:e=8}={}){const t=o.useRef(null),[a,r]=o.useState(null),i=o.useCallback(()=>r(null),[]),s=o.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;r({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return o.useEffect(()=>{if(a)return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[a,i]),{ref:t,rect:a,show:s,hide:i}}function S3(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const r=a.end(a.length-1);if(Number.isFinite(r)&&r>0)return r}}catch{}return null}const j3=400,T3=2e3,lc=5;function M3({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:i,sequencer:s,leadInMs:l=0,tailMs:u=0}){const c=o.useRef(null),d=o.useRef(0),m=o.useRef(null),p=o.useCallback(()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)},[]),h=o.useCallback(()=>{if(c.current!==null)return;let y=0;const g=()=>{if(Jn){const f=typeof performance<"u"&&performance.now?performance.now():Date.now();if(y>0&&f-y>j3){const _=m.current===null||f-m.current>T3;if(m.current=f,_&&d.current<lc){d.current+=1;const C=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Gt(`progress-ticker-slow-frames#${C}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(f-y)}ms \uC785\uB2C8\uB2E4(\uBCF4\uD1B5 16ms).`,w==="hidden"?"\uC774 \uCE78\uC774 **\uC228\uC5B4 \uC788\uC5B4** \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD2C0\uC744 \uC904\uC600\uC2B5\uB2C8\uB2E4 \u2014 \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC740 \uD2C0\uB9C8\uB2E4 \uADF8\uB824\uC9C0\uBBC0\uB85C, \uC9C0\uAE08 \uC7AC\uB294 \uAC12\uC740 **\uC0AC\uB78C\uC774 \uBCF4\uB294 \uD654\uBA74\uACFC \uB2E4\uB985\uB2C8\uB2E4.** \uCE78\uC744 \uC55E\uC73C\uB85C \uAEBC\uB0B4\uACE0 \uB2E4\uC2DC \uC7AC\uC2ED\uC2DC\uC624.":"\uCE78\uC740 \uBCF4\uC774\uB294\uB370 \uD2C0\uC774 \uB290\uB9BD\uB2C8\uB2E4 \u2014 \uAC19\uC740 \uD654\uBA74\uC5D0\uC11C \uBB34\uAC70\uC6B4 \uC77C\uC774 \uB3C4\uB294\uC9C0 \uBCF4\uC2ED\uC2DC\uC624. \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC774 \uB04A\uACA8 \uBCF4\uC774\uB294 \uAC83\uC740 \uC774 \uD0D3\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.",C>=lc?`(${C}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${C}\uBC88\uC9F8)`)}}y=f}try{const f=e.current,_=Array.isArray(r.current)?r.current[i.current||0]:void 0,C=!!_&&Number.isFinite(_.duration)&&(_.duration??0)>0,w=C?0:S3(f),b=t.current,k=(l||0)>0||(u||0)>0,x=k&&(s?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!x)try{b&&b.style.visibility!=="hidden"&&(b.style.visibility="hidden")}catch{}else{const B=C?_.duration:w||0;Jn&&x&&!(B>0)&&Gt("progress-ticker-pad-without-duration","[ihab-core] \uB738\uC774 \uB3C4\uB294\uB370 **\uC18C\uB9AC \uAE38\uC774\uB97C \uBAA8\uB985\uB2C8\uB2E4** \u2014 \uC7AC\uC0DD\uBC14\uAC00 \uB738\uB9CC\uC73C\uB85C \uC5B4\uB9BC\uC7A1\uC544 \uC6C0\uC9C1\uC785\uB2C8\uB2E4.","\uC18C\uB9AC \uAE38\uC774 \uC7AC\uAE30(measureAudioDuration)\uAC00 0 \uC744 \uC92C\uAC70\uB098 `<audio>` \uAC00 \uC544\uC9C1 \uC548 \uC2E4\uB838\uC2B5\uB2C8\uB2E4. \uAE38\uC774\uB97C \uC54C\uAC8C \uB418\uBA74 \uB9C8\uCEE4\uAC00 \uADF8 \uC21C\uAC04 **\uB4A4\uB85C \uBB3C\uB7EC\uB0A9\uB2C8\uB2E4**(\uC5B4\uB9BC\uC740 \uB298 \uCC38\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4). \uC774 \uC904\uC774 \uBCF4\uC774\uBA74 \uADF8 \uC790\uB9AC\uB97C \uC54C\uB824 \uC8FC\uC2ED\uC2DC\uC624 \u2014 \uD3C9\uC18C \uAE38\uC5D0\uC11C\uB294 \uC548 \uB098\uC640\uC57C \uD569\uB2C8\uB2E4.");const A=k?f3({phase:s?.positionRef.current?.phase??"sound",phaseElapsedMs:s?.positionRef.current?Math.max(0,Date.now()-s.positionRef.current.at):0,currentTime:f&&typeof f.currentTime=="number"?f.currentTime:0,trackDurationSec:B,leadInMs:l||0,tailMs:u||0}):C3({currentTime:f&&typeof f.currentTime=="number"?f.currentTime:0,sources:r.current,index:i.current,audioDuration:w??0});try{b&&(b.style.visibility&&(b.style.visibility=""),b.style.left=`${A*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(A))}catch{}}}catch{}c.current=requestAnimationFrame(g)};c.current=requestAnimationFrame(g)},[e,t,a,r,i,s,l,u]),v=o.useCallback(y=>{p();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${y*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(y))}catch{}},[p,t,a]);return o.useEffect(()=>p,[p]),{start:h,stop:p,settleTo:v}}function Yo({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:i=!1,ttsText:s=null,className:l,showSoundWaveForm:u=!0,showNoiseWaveForm:c=!0,leadInMs:d=0,tailMs:m=0}){const{t:p}=_e.useTranslation(),h=e,v=dr(),y=o.useRef(v?.registerAnalyser);o.useEffect(()=>{y.current=v?.registerAnalyser});const g=o.useRef(null),f=o.useRef(null),_=o.useRef(null),C=D3(),w=o.useRef(null),b=o.useRef(!1),k=o.useRef(null),{ref:x,rect:B,show:A,hide:N}=E3();o.useEffect(()=>()=>{y.current?.("main",null),y.current?.("noise",null)},[]);const[E,D]=o.useState(!1),[H,P]=o.useState("idle"),[Y,M]=o.useState("stopped"),L=o.useRef("stopped");o.useEffect(()=>{L.current=Y},[Y]);const[$,K]=o.useState(0),[V,z]=o.useState("active"),W=o.useRef(!1);o.useEffect(()=>{if(V!=="playMode"||!W.current)return;W.current=!1;const X=typeof document<"u"?document.activeElement:null;if(X&&X!==document.body)return;const pe=_.current?.querySelectorAll("button")[1];try{pe?.focus()}catch{}},[V]);const[R,q]=o.useState(null),[j,I]=o.useState(null),[S,F]=o.useState(0),[O,U]=o.useState(!1),[Q,oe]=o.useState(0),me=v?.playbackRate??1,ae=v?.mainVolume??1,te=v?Vo(v.settings):0,ke=v?Qu(v.settings):ae,[G,re]=o.useState("idle"),[ie,De]=o.useState(""),[ye]=o.useState("top"),se=o.useRef(null),ce=o.useRef(0),Ce=o.useRef(null),be=o.useRef(!0),ge=J5({mountedRef:be}),je=o.useRef(null),Ue=o.useRef(d),Se=o.useRef(m);o.useEffect(()=>{Ue.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{Se.current=Math.max(0,m||0)},[m]);const{start:Ie,stop:qe,settleTo:lt}=M3({audioRef:g,fillRef:f,waveProgressRef:Ce,sourcesRef:se,currentIndexRef:ce,sequencer:ge,leadInMs:d,tailMs:m}),{onReadyChange:st,waitForReady:nt,markNotReady:ut}=N3({showSoundWaveForm:u,showNoiseWaveForm:c}),Ne=o.useRef(null),We=o.useRef(i),Be=o.useRef(r),Ge=o.useRef(null),J=o.useRef(!1),[ue,we]=o.useState(!1),Le=o.useCallback(X=>{J.current=X,we(X)},[]),Oe=o.useRef(null),{activeNoiseUrl:He,noiseSettingsRef:rt,fadeInNoise:ct,fadeOutNoise:pt}=o3({noisePlayer:v,audioRef:g,playbackStateRef:L,sequencer:ge}),{startTTS:xt,stopTTS:mt}=s3({ttsText:s,playbackRate:me,mainVolume:ke,fillRef:f,waveProgressRef:Ce,setProgress:K,setPlaybackState:M,setStateLocal:z,fadeInNoise:ct,fadeOutNoise:pt,noiseSettingsRef:rt,onDoneRef:Be,handleEndRef:Oe});o.useEffect(()=>{Ke.current=mt});const Je=X=>{if(typeof window>"u"||!window.speechSynthesis){try{De(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}xt(X);return}Qe("tts"),xt(X)},Re=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Pe=(!Re||Re.length===0)&&!!s,dt=Array.isArray(R)&&R.length>0?R:Array.isArray(j)&&j.length>0?j:null,tt=Math.max(Array.isArray(dt)?dt.length:0,Re.length);o.useEffect(()=>(be.current=!0,()=>{be.current=!1}),[]);const gt=()=>{ge.abort()},Ke=o.useRef(null),bt=o.useRef(null),kt=o.useRef(null),Ve=o.useRef(null);Ve.current||(Ve.current=()=>{kt.current=null;const X=g.current;if(bt.current==="audio"&&X&&(!X.paused||ge.isRunning())){gt();try{X.pause()}catch{}be.current&&(M("paused"),qe(),pt())}else if(bt.current==="tts")try{Ke.current?.()}catch{}});const Qe=X=>{bt.current=X,kt.current=tr(Ve.current)},_t=()=>{kt.current?.(),kt.current=null};o.useEffect(()=>()=>{Ve.current&&nr(Ve.current)},[]);const Xt=o.useRef(me);o.useEffect(()=>{Xt.current=me||1},[me]);const at=o.useCallback(X=>{const pe=Xt.current||1;try{X.defaultPlaybackRate=pe}catch{}try{X.playbackRate=pe}catch{}},[]),wt=o.useCallback((X,pe)=>{X.src=pe,at(X),X.load(),at(X)},[at]),Wt=o.useCallback(()=>{Ge.current&&(clearTimeout(Ge.current),Ge.current=null),re("idle")},[]),ht=o.useCallback(async(X,pe=3,ne=50,ve=0)=>{Wt();const Me=ge.generation(),ze=!!X&&X.currentTime>0&&!X.ended,ot=Math.max(0,Ue.current-Math.max(0,ve));if(ot>0&&!ze){Qe("audio"),Ie(),M("playing");const Ct=rt.current;if(Ct?.enabled&&(Ct.volume??0)>0)try{ct(Ct.volume)}catch{}if(!await ge.waitPad(ot,"lead",ve)||!be.current||!ge.isCurrent(Me))return!1}ge.enterSound();for(let Ct=0;Ct<pe;Ct++){if(!be.current||!ge.isCurrent(Me))return!1;try{return Qe("audio"),await X.play(),!0}catch(fe){if((fe instanceof Error||typeof fe=="object"&&fe&&"name"in fe?fe.name:void 0)==="AbortError"){if(!ge.isCurrent(Me))return!1;await new Promise(T=>setTimeout(T,ne));continue}try{De(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{De(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,Ie,ge,ct,rt,Wt]),sn=o.useCallback(X=>{const pe=ge.generation(),ne=Math.max(0,Se.current-Math.max(0,X));Ie();const ve=rt.current;if(ve?.enabled&&(ve.volume??0)>0)try{ct(ve.volume)}catch{}const Me=()=>{try{je.current?.()}catch{}};if(ne<=0){ge.leave(),Me();return}ge.waitPad(ne,"tail",X).then(ze=>{ge.leave(),ze&&ge.isCurrent(pe)&&Me()}).catch(()=>{})},[ge,Ie,ct,rt]),nn=o.useCallback(()=>{const X=g.current;if(!X)return;const pe=()=>{M("playing"),z("playMode"),U(!0),Ie();try{Or(),Va(X).then(ze=>{if(be.current)try{y.current?.("main",ze)}catch{}})}catch{}const Me=rt.current;Me?.enabled&&(Me?.volume??0)>0&&ct(Me.volume)},ne=()=>{y3({ended:!!X?.ended,completedByEnd:J.current})||(M("paused"),qe(),pt())},ve=()=>{const Me=()=>{try{const ze=se.current,ot=b3(ze,ce.current);if(ot!==null){ce.current=ot,F(ot),U(!0);const Ct=ze?.[ot]&&ze[ot].src;if(Ct&&X){wt(X,Ct),ht(X).catch(()=>{});return}}}catch{}M("stopped"),K(1);try{if(X)try{X.currentTime=0}catch{}}catch{}qe(),U(!1),pt();try{!We.current&&Oe.current&&Oe.current()}catch{}};if(je.current=Me,Se.current>0){Ie(),ge.waitPad(Se.current,"tail").then(ze=>{ge.leave(),ze&&Me()}).catch(()=>{});return}Me()};return X.addEventListener("play",pe),X.addEventListener("pause",ne),X.addEventListener("ended",ve),()=>{try{X.removeEventListener("play",pe),X.removeEventListener("pause",ne),X.removeEventListener("ended",ve),qe()}catch{}}},[ct,pt,ht,rt,Ie,qe,ge]);o.useEffect(()=>nn(),[nn]),o.useEffect(()=>{We.current=i},[i]),o.useEffect(()=>{Be.current=r},[r]),o.useEffect(()=>{if(i||V!=="active")return;const X=k.current;if(!X)return;let pe=null;const ne=requestAnimationFrame(()=>{try{const ve=X.getTotalLength();if(!ve)return;const Me=ve*.2;X.style.strokeDasharray=`${ve-Me} ${Me}`;const ze="triFlow_"+Math.random().toString(36).slice(2);pe=document.createElement("style"),pe.textContent=`@keyframes ${ze}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ve}}}`,document.head.appendChild(pe),X.style.animation=`${ze} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ne),pe?.remove()}},[V,i]),o.useEffect(()=>{se.current=R},[R]),o.useEffect(()=>{ce.current=S},[S]),o.useEffect(()=>{const X=_.current,pe=w.current;if(!X||!pe)return;let ne=null;const ve=32,Me=60,ze=()=>{try{const Ct=Array.from(X.querySelectorAll(":scope > .button"));let fe=0;Ct.forEach($e=>{if($e===pe)return;const Ze=$e.getBoundingClientRect();fe+=Ze.width});const T=X.getBoundingClientRect().width,Z=Math.max(0,Math.floor(T-fe-8)),de=tt;if(!de||Z<=0){Array.from(pe.children).forEach($e=>{try{$e.style.width=""}catch{}});return}let Ee=Math.floor(Z/de);Ee>Me&&(Ee=Me),Ee<ve&&(Ee=Math.max(ve,Math.floor(Z/de))),Array.from(pe.querySelectorAll(".button")).forEach($e=>{try{$e.style.width=`${Ee}px`}catch{}})}catch{}},ot=requestAnimationFrame(ze);try{ne=new ResizeObserver(()=>{requestAnimationFrame(ze)}),ne.observe(X),ne.observe(pe),window.addEventListener("resize",ze)}catch{}return()=>{try{cancelAnimationFrame(ot)}catch{}try{ne&&(ne.disconnect(),ne=null)}catch{}try{window.removeEventListener("resize",ze)}catch{}}},[R,j,tt]),o.useEffect(()=>()=>{try{Ne.current&&(clearTimeout(Ne.current),Ne.current=null),Ge.current&&(clearTimeout(Ge.current),Ge.current=null)}catch{}},[]);const pn=(X,pe)=>{q(X),oe(pe),ut(),I(v3(X)),se.current=X},mn=()=>{z("playMode"),F(0),U(!0)},Sn=async(X,pe)=>{Le(!1),b.current=!1,wt(X,pe),await ic(X),await nt()!==!1&&(D(!1),mn(),await ht(X))},Fn=async(X,pe=!1)=>{const ne=g.current;D(!0),P("measuring_duration");try{const ve=await Ko(X,{timeoutMs:1e4,rejectOnError:!0});pn([{src:X,objectUrl:null,duration:ve}],ve),P("ready"),pe&&ne&&await Sn(ne,X)}finally{b.current=!1,D(!1)}},In=async(X,pe=!1)=>{const ne=g.current;D(!0),P("measuring_duration");try{const ve=await Promise.all(X.map(ze=>Ko(ze,{timeoutMs:1e4})));if(!be.current)return;const Me=X.map((ze,ot)=>({src:ze,objectUrl:null,duration:ve[ot]||0}));pn(Me,x3(Me)),P("ready"),pe&&ne&&Me.length>0&&await Sn(ne,Me[0].src)}finally{b.current=!1,D(!1)}},Lt=async(X=!1,pe=!0)=>{const ne=g.current,ve=t?Array.isArray(t)?t:[t]:[];if(!ve||ve.length===0||!ve.some(Boolean))return!1;if(b.current)return null;b.current=!0,pe&&D(!0),P("resolving");try{const Me=_3(t,a,Qs),ze=[];let ot=0;for(const Ct of Me){let fe=Ct.src??null,T=null;if(!fe&&Ct.resolvedPath){try{P("getting_signed_url"),fe=await ei(Ct.resolvedPath)}catch{fe=null}if(!be.current)return!1;if(!fe)try{P("downloading");const de=await ti(Ct.resolvedPath);if(!be.current)return!1;if(de){const Ee=de instanceof Blob?de:new Blob([de]);T=C.track(URL.createObjectURL(Ee)),fe=T}}catch{P("error");try{De(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),z("active")}catch{}}}if(!fe)continue;let Z=0;try{P("measuring_duration"),Z=await Ko(fe,{timeoutMs:3e3})}catch{Z=0}if(!be.current){if(T)try{URL.revokeObjectURL(T)}catch{}for(const de of ze)if(de.objectUrl)try{URL.revokeObjectURL(de.objectUrl)}catch{}return!1}ot+=Z||0,ze.push({...Ct,src:fe,objectUrl:T,duration:Z})}if(pn(ze,ot),ze.length>0&&X&&ne){const Ct=ze[0];Le(!1);try{C.keepOnly(ze.map(fe=>fe.objectUrl))}catch{}if(P("ready"),b.current=!1,Ct.src&&ne)try{if(wt(ne,Ct.src),await ic(ne),await nt()===!1)return!1;pe&&D(!1),mn(),ne&&await ht(ne)}catch{pe&&D(!1)}else pe&&D(!1);z("playMode"),F(0),U(!0)}return ze.length>0}finally{b.current=!1,pe&&D(!1),P(Me=>Me==="ready"?"ready":"idle")}},bn=async X=>{const pe=ge.isRunning();if(X.paused&&!pe){if(J.current){await Ft();return}const ne=ge.resume();if(ne){if(M("playing"),ne.phase==="tail"){sn(ne.\uD750\uB978);return}await ht(X,3,50,ne.\uD750\uB978);return}await ht(X),M("playing")}else ge.pause(),gt(),X.pause(),M("paused"),pe&&(qe(),pt())},$t=async()=>{const X=g.current;if(!(!X&&!Pe)){if(Pe){const pe=window.speechSynthesis;if(V==="active"){const ne=Pr(),ve=Array.isArray(s)?s.filter(Boolean):s?[s]:[];if(ne&&ve.length>0){if(b.current)return;z("load"),D(!0),P("synthesizing"),b.current=!0;try{const Me=await Promise.all(ve.map(ze=>Promise.resolve(ne(ze))));Me.length>1?await In(Me,!0):await Fn(Me[0],!0)}catch{b.current=!1,D(!1),z("active"),Je(ve.length>0?ve:void 0)}return}Je(ve.length>0?ve:void 0);return}if(V==="playMode"){const ne=!!pe&&(pe.speaking||pe.paused)&&!(X&&(X.currentSrc||X.getAttribute("src")));if(X&&!ne){await bn(X);return}try{if(pe&&pe.paused)try{Qe("tts"),pe.resume(),M("playing")}catch{}else try{pe.pause(),M("paused")}catch{}}catch{}}return}if(V==="active"){if(i&&Array.isArray(se.current)&&se.current.length>0){const ne=se.current[0];try{if(ne.src&&X)try{wt(X,ne.src),mn(),X&&await ht(X)}catch{}mn();return}catch{}}z("load");let pe;try{pe=await Lt(!0)}catch{pe=!1}if(pe===!1&&be.current){try{De(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}z("active")}return}if(V!=="load"&&(V==="playMode"||V==="active"))try{X&&await bn(X)}catch(pe){(pe instanceof Error||typeof pe=="object"&&pe&&"name"in pe)&&pe.name}}},Ft=async()=>{const X=g.current;if(X)try{const pe=se.current;if(Array.isArray(pe)&&pe.length>1){await jt(0);return}Le(!1);try{X.currentTime=0}catch{}X&&await ht(X),M("playing"),z("playMode")}catch{}},jn=()=>{gt(),_t(),Ke.current?.();const X=g.current;try{if(X){try{X.pause()}catch{}try{X.currentTime=0}catch{}}}catch{}pt(),M("stopped"),z("active"),K(0),U(!1)},an=async(X,{sameSegment:pe=!1}={})=>{gt();const ne=ge.generation(),ve=g.current,Me=se.current?.[X]?.src;try{if(Le(!1),F(X),U(!0),ce.current=X,!Me||!ve||(pe||ut(),wt(ve,Me),!pe&&await nt()===!1)||!ge.isCurrent(ne)||(await ht(ve),!ge.isCurrent(ne)))return;M("playing"),z("playMode")}catch{}},yn=async()=>{const X=se.current,pe=ce.current||0;if(!X||pe<=0){await Ft();return}await an(pe-1)},On=async()=>{const X=se.current,pe=ce.current||0;if(!X||pe>=X.length-1){jn();return}await an(pe+1)},vn=()=>{if(J.current)return;const X=200,pe=340;Le(!0),gt(),_t();try{K(1)}catch{}lt(1);try{re("hold")}catch{}try{const ne=g.current,ve=Pe&&!!ne?.src;if(!Pe||ve){if(ne){ne.pause();try{ne.currentTime=0}catch{}}}else mt();pt()}catch{}try{M("stopped")}catch{}if(U(!1),!We.current)try{Ge.current&&(clearTimeout(Ge.current),Ge.current=null),Ge.current=setTimeout(()=>{try{re("out")}catch{}Ge.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{re("idle")}catch{}Ge.current=null},pe)},X)}catch{}};o.useEffect(()=>{Oe.current=vn});const It=o.useCallback(()=>De(""),[]),jt=async X=>{(se.current||[])[X]&&await an(X,{sameSegment:X===ce.current})},Ot=Y==="playing",hn=o.useMemo(()=>{if(!j||j.length<=1)return j;const X=j[S];return X?[X]:j},[j,S]),Rt=i===!0;o.useEffect(()=>{try{const X=g.current;X&&typeof X.playbackRate=="number"&&at(X)}catch{}},[me,at]);const rn=o.useRef({raf:null,timer:null});o.useEffect(()=>{const X=g.current;if(!X)return;const pe=Math.max(0,Math.min(1,ke)),ne=rn.current,ve=()=>{ne.raf!==null&&(cancelAnimationFrame(ne.raf),ne.raf=null),ne.timer!==null&&(clearTimeout(ne.timer),ne.timer=null)};ve();const Me=Wa(X);if(X.paused||Math.abs(Me-pe)<.001||typeof requestAnimationFrame!="function"){try{Ln(X,pe)}catch{}return}const ze=performance.now(),ot=()=>{const Ct=Math.min(1,(performance.now()-ze)/150);try{Ln(X,Me+(pe-Me)*Ct)}catch{}ne.raf=Ct<1?requestAnimationFrame(ot):null};return ne.raf=requestAnimationFrame(ot),ne.timer=setTimeout(()=>{ve();try{Ln(X,pe)}catch{}},200),ve},[ke]);const Dt=G==="hold",le=G==="out",xe=V==="playMode"&&!E&&!ue||Dt||le,Te=Y!=="stopped"||Dt||le,Xe=Y==="paused",Fe=Math.max(0,Math.min(100,($||0)*100)),Ye=Ae("audio-player__fill",xe?"is-visible":"",Te?"is-expanded":"",Xe?"is-paused":"",le?"is-out":"");return n.jsxs("div",{className:`audio-player ${Rt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${Ot?"is-playing":""} ${E?"is-loading":""} ${V!=="default"?"is-revealed":""}`,children:[E?n.jsxs("div",{className:"audio-player__loading",role:sc[H]?"status":void 0,"aria-live":sc[H]?"polite":"off",children:[n.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),n.jsx("span",{className:"audio-player__loading-text",children:p(`training.audioStatus.${H}`,{defaultValue:A3[H]})})]}):null,V==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Rt,onClick:()=>{W.current=sr(),N(),$t()},"aria-label":typeof h=="string"?h:p("training.listen","\uB4E3\uAE30"),onMouseEnter:A,onMouseLeave:N,onFocus:A,onBlur:N,children:n.jsx("span",{ref:x,className:"audio-player__button-triangle-wrap",children:n.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:n.jsx("path",{ref:k,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,B&&n.jsx(_n,{anchorRect:B,text:typeof h=="string"&&h?h:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${V==="playMode"||Ot?"is-visible":""}`,inert:!(V==="playMode"||Ot)||void 0,children:[n.jsxs("div",{ref:_,className:"audio-player__buttons",children:[n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:yn,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Ot?"pause":"play",onClick:$t,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Ot,width:"60px",variant:"transparent-white",disabled:V!=="playMode"}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:jn,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:V!=="playMode"}),tt>1?n.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:tt}).map((X,pe)=>n.jsx(he,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(pe+1),onClick:()=>{try{jt(pe)}catch{}},ariaLabel:p("training.sourcePlay",{n:pe+1}),variant:"transparent-white",selected:O&&S===pe,disabled:V!=="playMode"||!(Array.isArray(R)&&R[pe]),showTooltipInfo:!0},pe))}):null,!Array.isArray(R)||R.length<=1?n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Ft,ariaLabel:p("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"}):null,n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:On,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:V!=="playMode"}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:vn,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:V!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:Ye,ref:f,style:{left:`${Fe}%`},"aria-hidden":"true"}),(u||c)&&n.jsx(B3,{segments:hn,progress:$,totalDuration:Q,waveProgressRef:Ce,showSoundWaveForm:u,leadInMs:d,tailMs:m,trackDurationSec:R?.[S]?.duration??0,noiseSrc:c&&v?.settings.enabled&&te>0?He:null,noiseRatio:v?Ia(v.settings):0,noiseSpeed:v?.settings.speed??1,mainVolume:ae,onReadyChange:st})]})]}),n.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!u&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(et,{icon:"triangle-alert",size:14}),p("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),n.jsx(ia,{message:ie,position:ye,onClose:It})]})}function Cr(e){const{t}=_e.useTranslation(),{text:a,label:r,anchorRect:i=null,onClose:s,closeOnOutsideClick:l=!0,isMobilePopup:u=!1}=e||{},[c,d]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",c)}catch{}},[c]);const{increase:m,decrease:p,canIncrease:h,canDecrease:v,fontSize:y,lineHeight:g}=ul({storageKey:"tooltip-fontScale"}),f=o.useCallback(()=>d(k=>k==="dark"?"light":"dark"),[]),_=o.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof s=="function"&&s()}catch{}},[s]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${y}px`,lineHeight:`${g}px`,"--tt-line-height":`${g}px`,"--tt-marker-size":"28px"},b=n.jsxs("div",{className:`tooltip-textbox__root ${c==="dark"?"is-dark":""}`,children:[n.jsxs("div",{className:"tooltip-textbox__box",children:[r&&n.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),n.jsx("div",{className:"tooltip-textbox__text body-1",style:w,children:C.map((k,x)=>n.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?n.jsx("div",{className:"tooltip-textbox__marker",children:n.jsx("span",{className:"tooltip-textbox__line-number button-1",children:x+1})}):null,n.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},x))})]}),n.jsxs("div",{className:"tooltip-textbox__buttons",children:[n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!v}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:c==="dark"?"transparent-white":"transparent-gray",disabled:!h}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:f,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:c==="dark"?"transparent-white":"transparent-gray"}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:_,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:c==="dark"?"transparent-white":"transparent-gray"})]})]});return i?n.jsx(un,{anchorRect:i,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:s,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:b}):n.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:b})}function uc({state:e="disabled"}){const{t}=_e.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(et,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),n.jsx("div",{className:"ts-bullet__line"})]})}function cc(e,t,a){const r=o.useRef(t),i=o.useRef(a);o.useEffect(()=>{r.current=t,i.current=a}),o.useEffect(()=>{if(!e||typeof document>"u")return;let s=null,l=10;const u=()=>{s=null;const c=r.current(),d=c?Array.from(c.querySelectorAll(Cn)).find(m=>!m.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(s=requestAnimationFrame(u))};return s=requestAnimationFrame(u),()=>{s!==null&&cancelAnimationFrame(s);const c=document.activeElement;if(!c||c===document.body||!document.contains(c)||c.closest(".tooltip-content")){const d=i.current();if(d)try{d.focus()}catch{}}}},[e])}function dc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:i=!1,onPreviewTextBtn:s,previewText:l=null,useFaded:u,usePlayAllBtn:c=!1,onPlayAll:d,playAllActive:m=!1}){const{t:p}=_e.useTranslation(),h=on("(max-width: 767px)"),v=`training-step__title h4 ${u&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),y=`training-step__title-row training-step__title-row--${r}`.trim(),g=o.useRef(null),[f,_]=o.useState(!1),[C,w]=o.useState(null),[b,k]=o.useState(null);cc(f&&!!C,()=>{if(typeof document>"u")return null;const E=Array.from(document.querySelectorAll(".tooltip-content"));for(let D=E.length-1;D>=0;D--)if(E[D].querySelector(".tooltip-textbox__root"))return E[D];return null},()=>g.current?.querySelector("button")??null);const x=o.useRef(s);o.useEffect(()=>{x.current=s});const B=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(E=>typeof E=="string"||typeof E=="number")?l.join(""):"",[l]),A=o.useCallback(()=>{_(!1),w(null),k(null)},[]);o.useEffect(()=>{if(!f)return;let E;try{typeof x.current=="function"&&(E=x.current())}catch{}if(E===!1){A();return}k(typeof E<"u"&&E!==null?E:null)},[B]);const N=o.useCallback(()=>{let E;try{typeof s=="function"&&(E=s())}catch{}if(E!==!1){if(k(typeof E<"u"&&E!==null?E:l),!g.current){_(D=>!D);return}if(f)_(!1),w(null),k(null);else{const D=g.current.getBoundingClientRect();w(D),_(!0)}}},[s,l,f]);return n.jsxs("div",{className:y,children:[n.jsx("p",{className:v,children:n.jsx("span",{className:"training-step__title-text",children:e??t})}),i||c?n.jsxs("div",{className:"title-controls",children:[n.jsxs("div",{className:"title-buttons",children:[c&&n.jsx(he,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"play-circle",label:h?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:d,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m,onDisabledClick:m&&r!=="disabled"?()=>{}:void 0}),i&&n.jsx("div",{ref:g,children:n.jsx(he,{htmlType:"button",size:32,type:h?"dot":"bar",icon:"eye",label:h?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:N,className:f?"is-selected":void 0,"aria-expanded":f,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof s!="function"})})]}),f&&n.jsx(Cr,{text:b??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:A,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Zo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Yn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:i={},children:s,className:l="",onDone:u=void 0,useTitleFaded:c=void 0,lockedHint:d}){const{t:m}=_e.useTranslation(),[p,h]=o.useState(()=>Zo(e,t));o.useEffect(()=>{const x=Zo(e,t);if(x!==p){const B=setTimeout(()=>h(x),0);return()=>clearTimeout(B)}},[e,t,p]);const v=o.useCallback((...x)=>{Zo(e,t)==="done"||p==="done"||typeof u=="function"&&u(...x)},[e,t,p,u]),[y,g]=o.useState(!1),[f,_]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),C=o.useCallback(x=>{if(!x)return null;try{const B=x;if(typeof x=="object"&&(B.currentTarget||B.target)&&(B.nativeEvent||B.type)){const E=B.currentTarget??B.target;if(E&&typeof E.getBoundingClientRect=="function")return E.getBoundingClientRect()}if(x instanceof DOMRect)return x;const A=x;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const N=x?.current;return N&&typeof N.getBoundingClientRect=="function"?N.getBoundingClientRect():null}catch{return null}},[]),w=o.useCallback((x,{text:B="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:N=!1,alignX:E="center",alignY:D="top"}={})=>{const H=C(x);_({text:B,label:A,anchorRect:H,backdrop:N,alignX:E,alignY:D}),g(!0)},[C]),b=o.useCallback(()=>{g(!1),_(x=>({...x,anchorRect:null}))},[]),k=o.Children.map(s,x=>{if(o.isValidElement(x)){const B=x;if(typeof B.type=="string")return B;const A=B.props??{},N=typeof A.onDone=="function"?A.onDone:v,E=typeof A.disabled=="boolean";let D=p==="disabled";return E&&(D=!!A.disabled),o.cloneElement(B,{onDone:N,disabled:D,showTooltip:w,hideTooltip:b})}return x});return n.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[n.jsx(uc,{state:p}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(dc,{state:p,title:r,...i,useFaded:c}),p==="disabled"&&d&&typeof e=="number"&&typeof t=="number"&&e===t+1&&n.jsx("p",{className:"training-step__locked-hint caption-1",role:"status",children:d}),k]}),y?n.jsx(un,{anchorRect:f.anchorRect,backdrop:f.backdrop,onClose:b,ariaLabel:m("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(Cr,{text:f.text,onClose:b})}):null]})}function pc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=_e.useTranslation(),[i,s]=o.useState("disabled"),[l,u]=o.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});o.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const c=()=>u(P=>P==="dark"?"light":"dark"),{increase:d,decrease:m,canIncrease:p,canDecrease:h,fontSize:v,lineHeight:y}=ul({storageKey:"textbox_fontScale"}),[g,f]=o.useState(""),_=o.useRef(null),C=o.useRef(!1),w=o.useCallback(()=>{C.current=sr()&&!!_.current&&_.current.contains(document.activeElement),s("active")},[]),b=o.useCallback(()=>f(""),[]),k=P=>{try{f(P)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");o.useEffect(()=>{if(t!=="disabled"){const P=setTimeout(()=>s(t),0);return()=>clearTimeout(P)}},[t]);const B=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[A,N]=o.useState(B);A!==B&&(N(B),s("disabled"));const E=t==="disabled"?i:t,D=E==="disabled"?"training-text-box--disabled":E==="active"?"training-text-box--active":E==="done"?"training-text-box--done":"",H=o.useMemo(()=>({fontSize:`${v}px`,lineHeight:`${y}px`}),[v,y]);return o.useEffect(()=>{if(E==="disabled"||!C.current)return;C.current=!1;const P=document.activeElement;P&&P!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[E]),n.jsxs("div",{ref:_,className:`training-text-box ${D} ${E!=="disabled"&&l==="dark"?"is-dark":""}`,children:[E==="disabled"&&n.jsx("div",{className:"training-text-box__preview",children:n.jsx(he,{htmlType:"button",size:48,type:"bar",onClick:w,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),n.jsx("div",{className:"training-text-box__area","aria-hidden":E==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:H,children:B})}),E!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":E==="disabled",children:[n.jsx(he,{htmlType:"button",size:32,type:"dot",onClick:m,onDisabledClick:()=>k(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(he,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>k(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(he,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:c,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),n.jsx(ia,{message:g,position:"top",onClose:b})]})}function Zn(e){return e==="active"||e==="done"}function Xo({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:i,useTitleFaded:s,onDone:l,onChange:u,answer:c,wrongAnswers:d,choices:m,multiSelect:p=!1,correctCount:h=0,useDisabledCovered:v=!1,choiceIcons:y,shuffleChoices:g=!0}){const{t:f}=_e.useTranslation(),_=i??f("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),C=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":C<t?"done":C===t?"active":"disabled",b=Array.isArray(m)&&m.length?m:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,k=d?d.join("||"):"",x=m?m.join("||"):"",[B,A]=o.useState(()=>Array.isArray(b)?g?_a(b):b.slice():void 0);o.useEffect(()=>{Array.isArray(b)&&b.length?A(g?_a(b):b.slice()):A(void 0)},[c,k,x,g]);const[N,E]=o.useState(null),[D,H]=o.useState(()=>new Set);o.useEffect(()=>{E(null),H(new Set)},[x,c,k]);const P=o.useRef(void 0);o.useEffect(()=>{const L=P.current;typeof L=="number"&&typeof t=="number"&&typeof e=="number"&&L>=e&&t<e&&(E(null),H(new Set)),P.current=t},[t,e]);const Y=o.useCallback(L=>{if(!Zn(w))return;const $=B?.[L];if($==null)return;const K=$;if(p){const V=new Set(D);V.has(K)?V.delete(K):V.add(K),H(V),typeof u=="function"&&u({selectedValues:[...V],__ts:Date.now()}),typeof l=="function"&&l({selectedValues:[...V],__ts:Date.now()})}else E(K),typeof u=="function"&&u({selectedIndex:L,selectedValue:K,__ts:Date.now()}),typeof l=="function"&&l({selectedIndex:L,selectedValue:K,__ts:Date.now()})},[B,w,p,u,D]),M=`training-step__buttons${Array.isArray(B)&&B.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:_,useTitleFaded:s,children:n.jsx("div",{className:M,children:Array.isArray(B)&&B.length>0?B.map((L,$)=>n.jsx(he,{htmlType:"button",size:56,type:"bar",onClick:()=>Y($),ariaLabel:String(L),label:L,useLabel:!0,icon:y?y[String(L)]:void 0,variant:"default",disabled:w==="disabled",selected:p?D.has(L):N===L,useDisabledCovered:v,minWidth:0},String(L))):null})})}function Jo({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:i,onDone:s,onChange:l,context:u,demoSelected:c}){const{t:d}=_e.useTranslation(),m=i??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",v=u&&typeof u=="object"?u.sentence||"":typeof u=="string"?u:"",y=u&&typeof u=="object"?u.choices:void 0,[g,f]=o.useState(c??null),_=`${String(v)}\0${JSON.stringify(y??null)}`,[C,w]=o.useState(_);C!==_&&(w(_),c==null&&f(null));const[b,k]=o.useState(c);Object.is(b,c)||(k(c),f(c??null));const x=o.useRef(void 0);o.useEffect(()=>{const E=x.current;typeof E=="number"&&typeof t=="number"&&typeof e=="number"&&E>=e&&t<e&&c==null&&f(null),x.current=t},[t,e,c]);const B=o.useCallback(E=>{const D=typeof E=="object"&&E!==null?Object.assign({},E,{__ts:Date.now()}):{value:E,__ts:Date.now()};typeof l=="function"&&l(D),Zn(h)&&typeof s=="function"&&s(D)},[l,h,s]),A=o.useCallback(()=>{Zn(h)&&(f(!1),B(!1))},[B,h]),N=o.useCallback(()=>{Zn(h)&&(f(!0),B(!0))},[B,h]);return n.jsxs(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:m,onDone:s,useTitleFaded:!1,children:[n.jsx(pc,{context:u,state:h}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(y)&&y.length>0?y.slice(0,6).map((E,D)=>n.jsx(he,{htmlType:"button",size:56,type:"bar",onClick:()=>{Zn(h)&&(f(D),B&&B(D))},disabled:h==="disabled",ariaLabel:String(E),label:E,variant:h,selected:g===D},D)):n.jsxs(n.Fragment,{children:[n.jsx(he,{htmlType:"button",size:56,type:"bar",onClick:A,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:g===!1}),n.jsx(he,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:g===!0})]})})]})}function Qo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:i,btnLabel:s,soundSrc:l,bucketPath:u,usePreviewTextBtn:c,previewText:d=null,onPreviewTextBtn:m,disabled:p,_pageIndex:h,showSoundWaveForm:v,showNoiseWaveForm:y,leadInMs:g,tailMs:f}){const{t:_}=_e.useTranslation(),C=r??_("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=p??(typeof t=="number"&&typeof e=="number"?e>t:!1);return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,title:C,onDone:i,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:m},children:n.jsx(Yo,{soundSrc:l,ttsText:l?null:d??C,bucketPath:u,btnLabel:s||_("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:v,showNoiseWaveForm:y,leadInMs:g,tailMs:f},`audio-p${h??0}-s${e}`)})}const L3=[];function es({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:i,onDone:s,onChange:l,context:u=L3}){const{t:c}=_e.useTranslation(),d=i??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),m=I=>typeof I=="string"?I:I&&(I.context||I.sentence||I.question||"")||"",[p,h]=o.useState(Array.isArray(u)?u:[]),[v,y]=o.useState(()=>(p||[]).map((I,S)=>({id:S,text:m(I)}))),g=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),f=g!=="disabled",_=o.useRef(void 0),C=o.useRef(void 0);o.useEffect(()=>{if(_.current===u)return;_.current=u;const I=Array.isArray(u)?u:[];h(I);const S=(F=>{const O=(F||[]).map((me,ae)=>({id:ae,text:m(me)}));if(O.length<=1)return O;const U=(me,ae)=>{if(me.length!==ae.length)return!1;for(let te=0;te<me.length;te++)if(me[te].text!==ae[te].text)return!1;return!0};let Q=_a(O),oe=0;for(;U(Q,O)&&oe<20;)Q=_a(O),oe+=1;return Q})(I);y(S);try{if(typeof l=="function"){const F=S.filter((O,U)=>O.text===m(I[U])).length;l({shuffled:S,score:F,total:(I||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&g==="active"){const F=S.filter((O,U)=>O.text===m(I[U])).length;C.current=u,s({shuffled:S,score:F,total:(I||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[u]),o.useEffect(()=>{if(g!=="active"||C.current===u||(C.current=u,typeof s!="function"))return;const I=Array.isArray(u)?u:[],S=v.filter((F,O)=>F.text===m(I[O])).length;s({shuffled:v,score:S,total:I.length,initial:!0,__ts:Date.now()})},[g,u]);const w=(I,S)=>{const F=[...v],O=I+S;if(O<0||O>=F.length)return;const U=F[O];F[O]=F[I],F[I]=U,K(F);try{if(typeof s=="function"&&g==="active"){const Q=F.filter((oe,me)=>oe.text===m(p[me])).length;s({shuffled:F,score:Q,total:(p||[]).length,__ts:Date.now()})}}catch{}},[b,k]=o.useState(null),x=o.useRef(null),B=o.useRef(null),A=o.useRef(null),N=o.useRef(null),E=o.useRef(null),D=o.useRef({x:0,y:0}),H=o.useRef(null),P=o.useRef({dx:0,dy:0}),Y=()=>{if(H.current!==null)return;const I=()=>{if(!x.current){H.current=null;return}H.current=requestAnimationFrame(I);const S=D.current,F=P.current||{dx:0,dy:0};x.current&&(x.current.style.transform=`translate3d(${S.x-F.dx}px, ${S.y-F.dy}px, 0)`)};H.current=requestAnimationFrame(I)},M=o.useRef(new Map),L=o.useRef(new Map),$=()=>{const I=new Map;return M.current.forEach((S,F)=>{S&&S.getBoundingClientRect&&I.set(F,S.getBoundingClientRect())}),I},K=I=>{const S=$();y(I);try{if(typeof l=="function"){const F=I.filter((O,U)=>O.text===m(p[U])).length;l({shuffled:I,score:F,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const F=$();I.forEach(O=>{const U=S.get(O.id),Q=F.get(O.id),oe=M.current.get(O.id);if(!oe||!U||!Q)return;const me=U.top-Q.top;me&&(oe.style.transition="none",oe.style.transform=`translateY(${me}px)`,requestAnimationFrame(()=>{oe.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",oe.style.transform="";const ae=()=>{oe.style.transition="",oe.removeEventListener("transitionend",ae)};oe.addEventListener("transitionend",ae)}))})})},V=(I,S)=>{try{try{S.dataTransfer?.setData("text/plain",String(I))}catch{}try{S.dataTransfer&&(S.dataTransfer.effectAllowed="move")}catch{}try{const F=document.createElement("div");F.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(F),S.dataTransfer?.setDragImage(F,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(F)}catch{}})}catch{}}catch{}k(I);try{const F=v[I],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=F&&F.text?F.text:"",document.body.appendChild(O),x.current=O;const U=M.current.get(F.id);let Q=S.clientX||0,oe=S.clientY||0;try{if(U&&U.getBoundingClientRect){const re=U.getBoundingClientRect();Q=re.left+re.width/2,oe=re.top+re.height/2}}catch{}const me=O.getBoundingClientRect(),ae=me.width/2,te=me.height/2;P.current={dx:ae,dy:te},O.style.transition="none",D.current={x:Q,y:oe},O.style.transform=`translate3d(${Q-ae}px, ${oe-te}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}Y()});const ke=re=>{const ie=re;D.current={x:ie.clientX,y:ie.clientY},Y()};A.current=ke,document.addEventListener("mousemove",ke);const G=re=>{const ie=re;D.current={x:ie.clientX,y:ie.clientY},Y()};B.current=G,document.addEventListener("dragover",G);try{S.dataTransfer?.setData("text/plain",String(I));try{S.dataTransfer?.setData("application/json",JSON.stringify({idx:I}))}catch{}}catch{}}catch{}},z=(I,S)=>{S.preventDefault();try{S.dataTransfer&&(S.dataTransfer.dropEffect="move")}catch{}try{E.current!==null&&(clearTimeout(E.current),E.current=null);const F=S.currentTarget&&S.currentTarget.closest?S.currentTarget.closest(".order-list__item"):null;if(F&&N.current!==F){if(N.current)try{N.current.classList.remove("drag-over")}catch{}try{F.classList.add("drag-over")}catch{}N.current=F}}catch{}},W=(I,S)=>{S.preventDefault();const F=S.dataTransfer?.getData("text/plain")||"",O=F?parseInt(F,10):b,U=I;if(typeof O!="number"||isNaN(O)||O===U){k(null),j(),R();return}const Q=HC(v,O,U);K(Q),k(null),R();try{if(typeof s=="function"&&g==="active"){const oe=Q.filter((me,ae)=>me.text===m(p[ae])).length;s({shuffled:Q,score:oe,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const oe=document.querySelectorAll(".order-list .order-list__item")[U];if(!oe)return;const me=oe.querySelector(".order-list__slot")||oe;try{me.classList.add("pulse"),me.offsetHeight,me.classList.add("to-dark");const ae=()=>{me.classList.remove("pulse","to-dark"),me.removeEventListener("transitionend",ae)};me.addEventListener("transitionend",ae)}catch{}})}catch{}j()},R=()=>{if(x.current){try{document.body.removeChild(x.current)}catch{}x.current=null}B.current&&(document.removeEventListener("dragover",B.current),B.current=null),A.current&&(document.removeEventListener("mousemove",A.current),A.current=null),H.current!==null&&(cancelAnimationFrame(H.current),H.current=null)},q=()=>{k(null),j(),R()};o.useEffect(()=>()=>R(),[]);const j=()=>{try{if(E.current!==null&&(clearTimeout(E.current),E.current=null),N.current){try{N.current.classList.remove("drag-over")}catch{}N.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(I=>I.classList.remove("drag-over"))}catch{}};return o.useEffect(()=>{try{const I=Math.max(1,(v||[]).length);v.forEach((S,F)=>{const O=L.current.get(S.id);if(!O)return;let U=50;I>1&&(U=Math.round(F/(I-1)*100));try{O.style.setProperty("--marker-pos",U+"%")}catch{}})}catch{}},[v]),o.useEffect(()=>()=>{R(),E.current!==null&&(clearTimeout(E.current),E.current=null)},[]),n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:d,children:n.jsx("div",{className:"order-list",children:v.map((I,S)=>{const F=Math.max(1,(v||[]).length),O=F>1?Math.round(S/(F-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":g==="disabled","aria-disabled":g==="disabled",children:[g!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":O+"%"},ref:U=>{const Q=L.current;U?Q.set(I.id,U):Q.delete(I.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:S+1})}):null,n.jsxs("div",{ref:U=>{const Q=M.current;U?Q.set(I.id,U):Q.delete(I.id)},className:`order-list__draggable ${b===S?"dragging":""}`,"data-disabled":g==="disabled","aria-disabled":g==="disabled",tabIndex:g==="disabled"?-1:0,draggable:f,onDragStart:f?U=>V(S,U):void 0,onDragEnter:f?U=>z(S,U):void 0,onDragOver:f?U=>z(S,U):void 0,onDragLeave:f?()=>{try{E.current!==null&&clearTimeout(E.current),E.current=setTimeout(()=>{try{const U=document.querySelectorAll(".order-list .order-list__item");U&&U[S]&&(U[S].classList.remove("drag-over"),N.current===U[S]&&(N.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f?U=>W(S,U):void 0,onDragEnd:f?q:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:I.text}),f?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(he,{htmlType:"button",size:32,type:"dot",onClick:()=>w(S,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:S===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(he,{htmlType:"button",size:32,type:"dot",onClick:()=>w(S,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:S===v.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},I.id)})})})}const $3=8e3;function R3(e,t){return new Promise(a=>{let r=!1;const i=()=>{r||(r=!0,a())};e.then(i,i),setTimeout(i,t)})}function mc({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:i,onDone:s,onChange:l,context:u=[],selectable:c=!1,hideLabel:d=!1,hideAudio:m=!1,maxCards:p,playAllGapMs:h=0}){const{t:v}=_e.useTranslation(),y=i??v("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=o.useMemo(()=>Array.isArray(u)?u:u&&u.items||[],[u]),f=p??3,_=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const C=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":C<t?"done":C===t?"active":"disabled",[b,k]=o.useState(null),x=o.useRef([]),[B,A]=o.useState(!1),N=o.useRef(null),E=o.useRef(!0);o.useEffect(()=>(E.current=!0,()=>{E.current=!1}),[]);const D=o.useMemo(()=>g.map($=>$?.id??$?.word??"").join("|"),[g]);o.useEffect(()=>{k(null)},[D]);const H=o.useRef(void 0);o.useEffect(()=>{const $=H.current;typeof $=="number"&&typeof t=="number"&&typeof e=="number"&&$>=e&&t<e&&k(null),H.current=t},[t,e]);const P=o.useCallback(($,K)=>{if(c)return;const V={item:$,index:K,__ts:Date.now()};try{typeof l=="function"&&l(V)}catch{}if(w==="active"&&typeof s=="function")try{s(V)}catch{}},[c,l,w,s]),Y=o.useRef(h);o.useEffect(()=>{Y.current=Math.max(0,h||0)},[h]);const M=o.useCallback(async()=>{if(B||w==="disabled")return;A(!0);let $=!1;const K=new Promise(V=>{N.current=()=>{$=!0,V()}});try{for(let V=0;V<_.length&&!(!E.current||$);V++){const z=x.current[V];if(!z)continue;await Promise.race([R3(z.play(),$3),K]);const W=Math.max(0,Y.current||0);W>0&&V<_.length-1&&!$&&E.current&&await Promise.race([new Promise(R=>{setTimeout(R,W)}),K])}}finally{N.current=null,A(!1)}},[B,w,_.length]),L=o.useCallback(($,K)=>{if(!Zn(w))return;k(K);const V={selectedValue:$.word||$.title||"",selectedIndex:K,item:$,__ts:Date.now()};try{typeof l=="function"&&l(V)}catch{}if(typeof s=="function")try{s(V)}catch{}},[l,w,s]);return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:y,onDone:s,titleProps:{usePlayAllBtn:!m&&_.length>0,onPlayAll:M,playAllActive:B},children:n.jsx("div",{className:"training-step__cards",onClickCapture:$=>{const K=N.current;if(!K)return;const V=$.target;V&&typeof V.closest=="function"&&V.closest(".training-word-card__bottom")&&K()},children:_.length===0?n.jsx("div",{className:"training-step__empty",children:v("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):_.map(($,K)=>n.jsx(To,{ref:V=>{x.current[K]=V},item:$,disabled:w==="disabled",onPlayDone:()=>P($,K),selectable:c,selected:c&&b===K,onSelect:c?()=>L($,K):void 0,flipDelay:K*120,hideLabel:d,hideAudio:m},$&&$.id||K))})})}const P3=160,F3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function I3(e,t){const a=F3[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const hc=()=>{};function Dn(e){const t=o.useId();if(!("variant"in e)){const{label:C,sub:w,onClick:b,children:k,align:x="horizontal",icon:B,useFullWidth:A=!1}=e,N=E=>{b&&E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),b())};return n.jsxs("div",{className:Ae("panel-row",x==="vertical"?"panel-row--vertical":"",A?"panel-row--label-fixed panel-row--fill":"",b?"panel-row--clickable":""),onClick:b,onKeyDown:b?N:void 0,role:b?"button":void 0,tabIndex:b?0:void 0,children:[B!=null&&n.jsx("div",{className:"panel-row__icon",children:B}),C!=null&&n.jsxs("div",{className:"panel-row__left",children:[n.jsx("div",{className:"panel-row__label body-3",children:C}),w&&n.jsx("div",{className:"panel-row__sub caption-1",children:w})]}),n.jsx("div",{className:"panel-row__right",children:k})]})}if(e.variant==="description")return n.jsx("div",{className:"panel-row panel-row--block",children:n.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return n.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return n.jsx("div",{className:"panel-row panel-row--loading",children:n.jsx(Ra,{size:28})});if(e.variant==="custom"&&!e.label)return n.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:i,onClick:s,required:l,error:u,align:c="horizontal",useFullWidth:d=!1,icon:m}=e,p=a==="button"?void 0:s;let h=null;const v=a==="toggle"?`panel-toggle-${t}`:void 0,y=u?`panel-error-${t}`:void 0,g=`panel-helper-${t}`;if(a==="toggle"){const C=e;h=n.jsx(Zl,{checked:C.checked,onChange:C.onChange,id:v})}else if(a==="segmented"){const C=e;h=n.jsx(fn,{options:C.options,value:C.value,onChange:C.onChange,size:C.size??40,ariaLabel:r})}else if(a==="dropdown"){const C=e,w=C.dropdowns?.length?n.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:C.dropdowns.map((b,k)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(dn,{options:b.options,value:b.value,onChange:b.onChange,placeholder:b.placeholder,block:d,error:!!u,ariaDescribedBy:y,ariaLabel:b.ariaLabel??([r,b.placeholder].filter(Boolean).join(" ")||void 0)})},k))}):n.jsx(dn,{options:C.options??[],value:C.value??"",onChange:C.onChange??hc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:y});h=u?n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[w,n.jsx("span",{id:y,className:"caption-1 panel-row__error",role:"alert",children:u})]}):w}else if(a==="button"){const C=e;C.buttons?.length?h=n.jsx("div",{className:"panel-row__button-group",children:C.buttons.map((w,b)=>n.jsx(he,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},b))}):h=n.jsx(he,{htmlType:"button",size:C.btnSize??40,variant:C.btnVariant??"default",disabled:C.disabled,onClick:C.onClick,children:C.buttonLabel})}else if(a==="text"){const C=e;h=n.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:C.valueColor?{color:C.valueColor}:void 0,children:C.value})}else if(a==="input"){const C=e;h=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(Kn,{value:C.value,onChange:C.onChange??hc,onKeyDown:C.onKeyDown,onEnter:C.onEnter,placeholder:C.placeholder,ghostText:C.ghostText,ghostHint:C.ghostHint,inputMode:C.inputMode,readOnly:C.readOnly,disabled:C.disabled,type:C.type,autoComplete:C.autoComplete,maxLength:C.maxLength,showCount:C.showCount,multiline:C.multiline,rows:C.rows,fullWidth:d,error:u,ariaLabel:r,required:l,ariaDescribedBy:C.helperText?g:void 0}),C.helperText&&n.jsx("div",{id:g,className:"panel-row__helper caption-1",children:C.helperText})]})}else a==="custom"&&(h=e.children);u&&a!=="input"&&a!=="dropdown"&&(h=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[h,n.jsx("span",{id:y,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const f=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,_=C=>{p&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),p())};return n.jsxs("div",{className:Ae("panel-row",c==="vertical"?"panel-row--vertical":"",f?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",p?"panel-row--clickable":""),onClick:p,onKeyDown:p?_:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,children:[m!=null&&n.jsx("div",{className:"panel-row__icon",children:m}),n.jsxs("div",{className:"panel-row__left",children:[v?n.jsxs("label",{htmlFor:v,className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}):n.jsxs("div",{className:"panel-row__label body-3",children:[r,l&&n.jsx("span",{className:"required-mark",children:"*"})]}),i&&n.jsx("div",{className:"panel-row__sub caption-1",children:i})]}),n.jsx("div",{className:"panel-row__right",children:h})]})}function Cc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function O3({devices:e,onRelease:t,emptyLabel:a}){const{t:r,i18n:i}=_e.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["left","right"].map(s=>{const l=e[s],u=s==="left"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return n.jsxs("div",{className:"panel-row__device-column",children:[n.jsxs("div",{className:"panel-row__device-head",children:[n.jsx("span",{className:"panel-row__device-side body-2b",children:u}),l&&t&&n.jsx(he,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${u} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(s)})]}),l?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[l.device&&n.jsx(At,{size:"small",variant:hu(l.device),fill:"soft",label:I3(l.device,r)}),Cc(l)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:Cc(l)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:l.productName||l.brand}),Eo(l.wornYear,l.wornMonth,l.wornDay,i.language)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:Eo(l.wornYear,l.wornMonth,l.wornDay,i.language)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function fr({title:e,titleLevel:t=2,icon:a,disc:r,actions:i,size:s="medium",minHeight:l,maxWidth:u,className:c,scrollable:d,scrollbarGutter:m="auto",compactRows:p=!1,useBorder:h=!0,useBg:v=!0,useRowBorder:y=!0,labelWidth:g,form:f=!1,loading:_,empty:C,children:w}){const b=Ae("panel",`panel--${s}`,f?"panel--form":"",l!==void 0?"panel--fill":"",h?"":"panel--no-border",v?"":"panel--no-bg",y?"":"panel--no-row-border",p?"panel--compact-rows":"",c),k={};l!==void 0&&(k.minHeight=l),u!==void 0&&(k.maxWidth=typeof u=="number"?`${u}px`:u),g!==void 0&&(k["--panel-label-width"]=typeof g=="number"?`${g}px`:g);const x=t?`h${t}`:"div";return n.jsxs("div",{className:b,style:Object.keys(k).length?k:void 0,children:[(!!e||r!=null)&&n.jsxs("div",{className:Ae("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&n.jsx(et,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),n.jsxs("div",{className:"panel__title-group",children:[!!e&&n.jsx(x,{className:`panel__title ${r!=null?"body-3b":"h5b"}`,children:e}),r!=null&&n.jsx("p",{className:"panel__disc caption-1",children:r})]}),i&&n.jsx("div",{className:"panel__actions",children:i})]}),_?n.jsx(Dn,{variant:"loading"}):C!=null&&o.Children.toArray(w).length===0?n.jsx(Dn,{variant:"empty",children:C}):d?n.jsx("div",{className:Ae("panel__body--scroll",m==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function H3({cols:e=2,layout:t="grid",gap:a=1,collapseAt:r,className:i,style:s,children:l}){const u=o.useRef(null),[c,d]=o.useState();o.useEffect(()=>{const p=u.current;if(r===void 0||!p||(d(p.clientWidth),typeof ResizeObserver>"u"))return;const h=new ResizeObserver(([v])=>d(v.contentRect.width));return h.observe(p),()=>h.disconnect()},[r]);const m=r!==void 0&&c!==void 0&&c<=r;return n.jsx("div",{ref:u,className:Ae("panel-grid",t==="columns"&&"panel-grid--columns",i),style:{"--panel-grid-cols":m?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...s},children:l})}function z3(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function fc(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}z3(Tt.t.bind(Tt)),fc(Tt.t.bind(Tt));const gr="none",V3=.5,W3=1.5,q3=.25;function ts({title:e,valueLabel:t,value:a,min:r,max:i,step:s,tickStep:l,size:u,disabled:c,onChange:d}){return n.jsxs(Dn,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(uu,{value:a,onChange:d,min:r,max:i,step:s,size:u,showBgTick:!0,tickStep:l,ariaLabel:e,disabled:c,className:"noise-settings__slider-input"}),n.jsx("div",{className:Ae("noise-settings__value","button-1",c?"noise-settings__value--disabled":""),children:t})]})}function gc({anchorRect:e,onClose:t,hideNoiseRows:a=!1}){const{t:r}=_e.useTranslation(),i=on("(max-width: 767px)")?40:24,s=dr(),l=Ia(s?.settings??Ha),u=s?.settings.type??"defaultNoise",c=s?.settings.enabled??!0,d=s?.playbackRate??1,m=s?.mainVolume??1,p=Math.round(m*100),h=o.useCallback(_=>{try{s?.setMainVolume(Math.max(0,Math.min(1,_/100)))}catch{}},[s]),v=o.useCallback(_=>{try{s?.setPlaybackRate(_)}catch{}},[s]),y=o.useCallback(_=>{const C=Math.min(Fa,Math.max(0,Math.round(_*10)/10));try{s?.setSettings({noiseRatio:C})}catch{}},[s]),g=o.useCallback(_=>{try{_===gr?s?.setSettings({enabled:!1}):s?.setSettings({type:_,enabled:!0})}catch{}},[s]),f=[{key:gr,label:r("training.noise.type.none","\uC5C6\uC74C")},...fc(r).map(_=>({key:_.value,label:_.label}))];return n.jsx(un,{anchorRect:e,offset:12,onClose:t,ariaLabel:r("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:n.jsxs("div",{className:"noise-settings__header",children:[n.jsx("span",{children:r("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),n.jsx(he,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:r("common.close","\uB2EB\uAE30"),onClick:t})]}),children:n.jsxs(fr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(ts,{title:r("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:i,onChange:h}),n.jsx(ts,{title:r("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:V3,max:W3,step:q3,size:i,onChange:v}),!a&&n.jsxs(n.Fragment,{children:[n.jsx(Dn,{variant:"custom",label:r("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(fn,{ariaLabel:r("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:f,value:c?u:gr,onChange:g})}),n.jsx(ts,{title:r("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:r("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:l.toFixed(1)}),value:l,min:0,max:Fa,step:Xu,size:i,disabled:!c,onChange:y})]}),a&&n.jsx("div",{className:"noise-settings__width-ghost","aria-hidden":"true",inert:!0,children:n.jsx(Dn,{variant:"custom",label:"\xA0",useFullWidth:!0,children:n.jsx(fn,{ariaLabel:"width-ghost",size:40,shape:"rounded",options:f,value:gr,onChange:()=>{}})})})]})})}function bc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:i=0,stepCount:s=0,pageIndex:l=0,pageCount:u=1,resultOpen:c=!1,hideNoiseRows:d=!1}){const{t:m}=_e.useTranslation(),[p,h]=o.useState(!1),[v,y]=o.useState(null),[g,f]=o.useState(!1),_=o.useRef(null),C=o.useRef(null),w=dr(),b=u>0,k=b&&l<u-1,x=!b||l>=u-1,B=i===Math.max(0,s);o.useEffect(()=>{e||(h(!1),y(null))},[e]);const A=o.useCallback(()=>{h(!1),y(null)},[]),N=o.useCallback(()=>{if(p){h(!1),y(null);return}const K=_?.current?.getBoundingClientRect();K&&y(K),t?.(),h(!0)},[p,t]),E=o.useCallback(()=>{if(p){h(!1),y(null);return}const K=C?.current?.getBoundingClientRect();K&&y(K),t?.(),h(!0)},[p,t]),D=on("(max-width: 767px)"),H=o.useRef(null),[P,Y]=o.useState(null),M=o.useCallback(()=>{f(K=>{const V=!K;return Y(V?H.current?.getBoundingClientRect()??null:null),V})},[]),L=o.useCallback(()=>{f(!1),Y(null)},[]);o.useEffect(()=>{c&&(f(!1),Y(null))},[c]);const $=n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:m("training.meter.sentence","\uC7AC\uC0DD")}),n.jsx(ko,{analyser:w?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:m("training.meter.sentence","\uC7AC\uC0DD")})]}),n.jsxs("div",{className:"pp-bottom__meter",children:[n.jsx("span",{className:"pp-bottom__meter-label caption-1",children:m("training.meter.noise","\uC18C\uC74C")}),n.jsx(ko,{analyser:w?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:m("training.meter.noise","\uC18C\uC74C")})]})]});return cc(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[_.current,C.current].map(K=>K?.querySelector("button")??null).find(K=>!!K&&K.getClientRects().length>0)??_.current?.querySelector("button")??null),n.jsxs("div",{className:"pp-bottom",children:[n.jsxs("div",{className:"pp-bottom__left",children:[e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pp-bottom__settings--desktop",children:n.jsx("div",{ref:_,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(he,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:N,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:m("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:m("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),n.jsx("div",{className:"pp-bottom__settings--mobile",children:n.jsx("div",{ref:C,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(he,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:E,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:m("training.settings","\uC124\uC815")})})})]}):null,e&&n.jsx("div",{ref:H,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:n.jsx(he,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:M,selected:g,"aria-expanded":D?g:void 0,ariaLabel:m("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&g&&!D&&n.jsx("div",{className:"pp-bottom__meters",children:$})]}),e&&g&&D&&P&&n.jsx(un,{anchorRect:P,onClose:L,ariaLabel:m("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:n.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:$})}),n.jsxs("div",{className:"pp-bottom__right",children:[x&&n.jsx(he,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:m("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:m("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!B}),k&&n.jsx(he,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:m("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:m("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!B})]}),e&&p&&n.jsx(gc,{anchorRect:v,onClose:A,hideNoiseRows:d})]})}function yc({title:e,subtitle:t,desc:a,depth:r,icon:i,wrapperStyle:s,iconTooltip:l,pageIndex:u,pageCount:c,progressMax:d,progressIndex:m,onBack:p,onClose:h}){const{t:v}=_e.useTranslation(),y=on("(max-width: 767px)"),g=Number.isInteger(m)?m:u||0,f=Number.isInteger(d)?d:c||0,_=p||h,C=Array.isArray(r)?y?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,b=typeof t=="string"?t.trim():t,k=!!(w||b),x=k?w||b:v("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),B=C||(w?t:void 0),A=y&&typeof B=="string"&&(B.includes(" \xB7 ")||B.includes(" / "))?B.split(/\s[·/]\s/).pop():B,N=o.useMemo(()=>{const E=s&&typeof s=="object"?{...s}:{};return!("width"in E)&&!("height"in E)&&(E.width="40px",E.height="40px"),E},[s]);return n.jsxs("header",{className:"pp-title training-popup-title",children:[n.jsxs("div",{className:"pp-title__left",children:[_?n.jsx(he,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:v("common.back","\uB4A4\uB85C"),onClick:_,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,n.jsx("div",{children:i?n.jsx(Hl,{icon:i,label:e,tooltip:l,wrapperStyle:N}):null}),n.jsxs("div",{className:"pp-title__text",children:[A?n.jsx("span",{className:"pp-title__depth caption-1",children:A}):null,n.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:x}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(mu,{max:Math.max(0,f??0),index:Math.max(0,g??0)})]})}function U3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function G3(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}const vc=(e,t)=>{if(!t)return t;const a=typeof Tt?.t=="function"?Tt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function xc(e,t,a){const r=e,i=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",s=xi().find(u=>u.key===(r?.category_0||r?.category_main_code)),l=s?.subs?.find(u=>u.key===(r?.category_1||r?.category_sub_code));return{title:i,label:r?.title||i,depth:t,icon:s?.icon,wrapperStyle:s?.color?{"--t-item-fg":s.color}:void 0,iconTooltip:[s?vc(`topic.${s.key}`,s.label):void 0,l?vc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function ns(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function _c(e,t,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e,i=typeof a=="number"&&a>0?a:Date.now();return{...r,...r.shownAt===void 0&&t?{shownAt:t}:{},...r.answeredAt===void 0?{answeredAt:new Date(i).toISOString()}:{}}}function K3(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Y3({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:i=[],emptyMessage:s,buildResults:l,metaPatch:u}){const c=xc(t,a,r),d=typeof u=="function"?u(c)||{}:u||{},m=t?.id||t?.title||i.length;return{id:`${e}:${m}`,meta:{...c,...d},pages:i,emptyMessage:s,buildResults:l}}function Z3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function X3(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function J3(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function wc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Q3(e,t,a,r){return wc(e,t*a+r)}function e7({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const i=e;if(Array.isArray(i.selectedValues))return r.every(s=>i.selectedValues.includes(s))&&i.selectedValues.every(s=>r.includes(s));if(typeof i.correct=="boolean")return i.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(i=>String(i)===String(a[t]));if(typeof t<"u")return r.some(i=>String(i)===String(t))}}function t7(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Bc=o.createContext(null);function n7(){const e=o.useContext(Bc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function a7({index:e,stepIndex:t,isLast:a=!1,lockedHint:r,title:i,choices:s=[],onDone:l,onChange:u}){const{t:c}=_e.useTranslation(),d=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":d<t?"done":d===t?"active":"disabled",[p,h]=o.useState(()=>s.map(()=>null)),v=JSON.stringify(s),y=s.length;o.useEffect(()=>{h(Array.from({length:y},()=>null))},[v]);const g=o.useRef(void 0);o.useEffect(()=>{const w=g.current;typeof w=="number"&&typeof t=="number"&&typeof e=="number"&&w>=e&&t<e&&h(Array.from({length:y},()=>null)),g.current=t},[t,e,y]);const f=o.useMemo(()=>p.filter(w=>w!==null).length+1,[p]),_=o.useCallback(w=>{if(!Zn(m))return;const b=p;let k;if(b[w]!=null){const B=b[w];k=b.map(A=>A!==null&&A>=B?null:A)}else k=[...b],k[w]=f;h(k);const x={selectedOrder:k,words:s,__ts:Date.now()};try{typeof u=="function"&&u(x)}catch{}if(b[w]==null&&k.length>0&&k.every(B=>B!==null))try{typeof l=="function"&&l(x)}catch{}},[m,p,f,u,l,s]),C=i??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Yn,{index:e,stepIndex:t,isLast:a,lockedHint:r,title:C,onDone:l,children:n.jsx("div",{className:"training-step__cards",children:s.map((w,b)=>n.jsx(To,{item:{word:w},disabled:m==="disabled",selectable:!0,selected:p[b]!==null,orderRank:p[b],onSelect:()=>_(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${w}-${b}`))})})}function br(e){return null}br.__isTrainingPage=!0;function ha(e,t){const a=n7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function Ac({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l}=ha(e,t);return n.jsx(Qo,{...a,index:r,stepIndex:i,isLast:s,onDone:l})}function kc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l,onChange:u}=ha(e,t);return n.jsx(Xo,{...a,index:r,stepIndex:i,isLast:s,onDone:l,onChange:u})}function Nc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l,onChange:u}=ha(e,t);return n.jsx(Jo,{...a,index:r,stepIndex:i,isLast:s,onDone:l,onChange:u})}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l,onChange:u}=ha(e,t);return n.jsx(es,{...a,index:r,stepIndex:i,isLast:s,onDone:l,onChange:u})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l,onChange:u}=ha(e,t);return n.jsx(mc,{...a,index:r,stepIndex:i,isLast:s,onDone:l,onChange:u})}function r7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:i,isLast:s,onDone:l,onChange:u}=ha(e,t);return n.jsx(a7,{...a,index:r,stepIndex:i,isLast:s,onDone:l,onChange:u})}function as(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const i of r){if(typeof i=="string"&&i.trim().length)return i.trim();if(typeof i=="number"||typeof i=="boolean")return String(i)}}}return null}function o7(e){return as(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Sc(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=as(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function jc(e){const{score:t,contextsLength:a,results:r=[],subtitle:i,onReplay:s,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=_e.useTranslation(),m=o.useId(),p=o.useCallback(()=>!c,[c]);o.useEffect(()=>{const C=a??0;if(t!=null&&C>0&&t/C>.5){const w=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(w)}},[t,a]);const h=o.useCallback(C=>{const w=Sc(C),b=as(C?.wording,C?.label);return w===!0?{variant:"main",label:b??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:w===!1?{variant:"danger",label:b??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:b??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),v=a??0,y=t??0,g=o.useMemo(()=>Array.isArray(r)?r:[],[r]),f=o.useMemo(()=>g.map(C=>{const w=C??{},b=o7(w)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:k,label:x}=h(w),B=Array.isArray(w.corrects)?w.corrects:[],A=B.length?B.join(", "):w.answer!=null&&w.answer!==""?String(w.answer):null,N=typeof w.selectedText=="string"?w.selectedText:null,E=Sc(w)===!0;return{problem:b,variant:k,label:x,answer:A,selectedText:N,isCorrect:E}}),[g,h,d]),_=o.useMemo(()=>f.some(C=>C.answer!==null||C.selectedText!==null),[f]);return n.jsx(Rn,{onClose:l,closeOnBackdrop:!1,inline:u,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:p,footerClassName:"trp-result__foot",footer:({animateThen:C,closeWithAnimation:w})=>n.jsxs(n.Fragment,{children:[c&&n.jsx("p",{id:m,className:"trp-actions__reason caption-1",role:"status",children:d("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsxs("div",{className:"trp-actions",children:[n.jsx(he,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>C(s)}),n.jsx(he,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:w,disabled:c,onDisabledClick:c?()=>{}:void 0,"aria-describedby":c?m:void 0})]})]}),children:()=>n.jsxs("div",{className:"trp-result is-on",children:[n.jsxs("header",{className:"trp-result__head",children:[n.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),n.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),i&&n.jsx("p",{className:"trp-result__subtitle body-3",children:i}),n.jsx("div",{className:"trp-score",children:n.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:y,total:v}),children:[n.jsx("span",{className:"trp-score__big",children:y}),n.jsx("span",{className:"trp-score__sep",children:"/"}),n.jsx("span",{className:"trp-score__total",children:v})]})})]}),f.length>0&&n.jsx("section",{className:"trp-result__body",children:n.jsxs("div",{className:`result-table${_?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[n.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[n.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),_&&n.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),n.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),f.map((C,w)=>n.jsxs("div",{className:"result-table__row",role:"row",children:[n.jsxs("div",{className:"trp-row__problem",children:[n.jsx("span",{className:"trp-row__no caption-1",children:String(w+1).padStart(2,"0")}),n.jsx("div",{className:"trp-row__q body-2",children:C.problem})]}),_&&n.jsxs("div",{className:"trp-row__answers",children:[C.answer!==null&&n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),n.jsx("span",{className:"trp-row__answer-value body-2",children:C.answer})]}),n.jsxs("div",{className:"trp-row__answer-line",children:[n.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${C.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),n.jsx("span",{className:`trp-row__answer-value body-2 ${C.isCorrect?"is-correct":"is-wrong"}`,children:C.selectedText??"\u2014"})]})]}),n.jsx("div",{className:"trp-row__judge",children:n.jsx(At,{variant:C.variant,label:C.label,fill:"soft",minWidth:80})})]},w))]})})]})})}const rs=new Set;function s7(e){o.useEffect(()=>{if(!e||rs.has(e))return;rs.add(e);const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,r=null,i=0,s=0;const l=()=>{const m=Date.now();a==null&&(a=m),r==null&&(r=m)},u=()=>{r!=null&&(i+=Date.now()-r,r=null)};t()&&l();const c=()=>{if(u(),a==null||i-s<1e3||s===0&&i<5e3)return;const m=a+s;s=i,WC({trainingType:e,startedAt:new Date(m).toISOString(),endedAt:new Date(a+i).toISOString()})},d=()=>{t()?l():c()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",c),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",c),c(),rs.delete(e)}},[e])}function yr(e,t){return e&&e.id||`page-${t??0}`}function vr(e,t){return e&&e.key||`step-${t??0}`}function xr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function i7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const l7=300,u7=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},En=Object.freeze({}),Tc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function os(e){const t=e,a=t?.results||t?.answers||[],r=Array.isArray(a)&&a.length>0?a.length:null,i=Array.isArray(a)?a.filter(s=>s?.correct===!0||s?.isCorrect===!0||s?.score===1||s?.heard===!0||s?.judgement===!0).length:null;return{results:a,correct:r!=null?i:null,total:r}}const c7=e=>n.jsx(jc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function d7(e){const{scenario:t,title:a,subTitle:r,depth:i,icon:s,wrapperStyle:l,iconTooltip:u,pageIndex:c,pageCount:d,stepIndex:m,stepCount:p,onBack:h,onComplete:v,onRoundFinished:y,onNext:g,onSettings:f,useNoiseSetting:_=!0,children:C,ariaLabel:w,label:b,buildResults:k,onResult:x,typeKey:B,entryPoint:A,dailyTotal:N,itemRef:E,renderResultPopup:D,noiseOverride:H,hideNoiseRows:P=!1}=e;s7(B&&!Tc.has(B)?B:"");const Y=o.useRef(0);o.useEffect(()=>{Y.current=Date.now()},[]);const{t:M}=_e.useTranslation(),L=x,$=!!t,K=t?.id||null,V=t?.meta||{},z=Array.isArray(t?.pages)?t.pages:[],W=Array.isArray(C)||o.isValidElement(C)&&typeof C!="function"?o.Children.toArray(C).filter(o.isValidElement):[],R=W.length>0,q=le=>le===br||le?.__isTrainingPage===!0,j=R&&W.some(le=>q(le.type)),I=j?W.filter(le=>q(le.type)).map((le,xe)=>{const Te=le.props||{};return{id:`children-page-${xe}`,steps:o.Children.toArray(Te.children).filter(o.isValidElement),pageTop:Te.pageTop||Te.top||null,pageBottom:Te.pageBottom||Te.bottom||null}}):[{id:"children-page-0",steps:W}],S=R&&!$&&typeof C!="function",F=S?Math.max(1,I.length):0;o.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),o.useEffect(()=>{if(typeof document>"u"||!document.body)return;const le=document.body;return le.dataset.ihabTrainingPopupCount=String(Number(le.dataset.ihabTrainingPopupCount||"0")+1),le.classList.add("ihab-training-popup-open"),()=>{const xe=Number(le.dataset.ihabTrainingPopupCount||"1")-1;xe>0?le.dataset.ihabTrainingPopupCount=String(xe):(delete le.dataset.ihabTrainingPopupCount,le.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return q4()},[]);const[O,U]=o.useState({...Ha,enabled:!1}),Q=o.useRef(O);o.useEffect(()=>{Q.current=O},[O]);const oe=o.useRef(H),me=o.useRef(!1),ae=o.useRef(null);o.useEffect(()=>{let le=!1;const xe=Te=>{if(le)return;me.current=!0;const Xe=Te?Oa({...Ha,enabled:!1},Te):{...Ha},Fe=ae.current;ae.current=null;const Ye=Fe?Oa(Xe,Fe):Xe;Q.current=Ye,U(Ye),Fe&&!oe.current&&Ci(Ye),Ka(Ye);const X=oe.current;if(X){const pe=typeof X=="function"?X(Ye):X,ne=Oa(Ye,pe);Q.current=ne,U(ne),Ka(ne)}};return KC().then(xe),()=>{le=!0}},[]);const[te,ke]=o.useState(null),[G,re]=o.useState(null),ie=o.useCallback((le,xe)=>{le==="main"?ke(xe):re(xe)},[]),De=o.useRef(null),ye=o.useRef(null),se=o.useCallback(()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null);const le=De.current;De.current=null,le&&Ci(le)},[]);o.useEffect(()=>{if(typeof window>"u")return;const le=()=>{document.visibilityState==="hidden"&&se()};return window.addEventListener("pagehide",se),document.addEventListener("visibilitychange",le),()=>{window.removeEventListener("pagehide",se),document.removeEventListener("visibilitychange",le),se()}},[se]);const ce=o.useCallback(le=>{const xe=Oa(Q.current,le);if(Q.current=xe,U(xe),!me.current){ae.current={...ae.current??{},...le},Ka(xe);return}oe.current||(De.current=xe,ye.current!==null&&clearTimeout(ye.current),ye.current=setTimeout(se,l7)),Ka(xe)},[se]),Ce=O.mainSpeed,be=O.mainVolume,ge=o.useCallback(le=>ce({mainSpeed:le}),[ce]),je=o.useCallback(le=>ce({mainVolume:le}),[ce]),Ue=o.useMemo(()=>({settings:O,setSettings:ce,registerAnalyser:ie,mainAnalyser:te,noiseAnalyser:G,playbackRate:Ce,setPlaybackRate:ge,mainVolume:be,setMainVolume:je}),[O,ce,ie,te,G,Ce,ge,be,je]),Se=o.useRef(null),[Ie,qe]=o.useState(0),lt=o.useRef([]),[st,nt]=o.useState("center"),[ut,Ne]=o.useState(!1),We=o.useRef(!1),Be=o.useRef(null),Ge=o.useCallback(le=>{We.current||(We.current=!0,Ne(!0),Be.current=setTimeout(()=>{try{le()}catch{We.current=!1,Ne(!1)}},u7()?0:P3))},[]);o.useEffect(()=>()=>{Be.current&&clearTimeout(Be.current)},[]);const J=o.useRef(h);o.useEffect(()=>{J.current=h}),o.useEffect(()=>{const le=Se.current,xe=document.activeElement;if(Jr(le,xe),le){const Te=Array.from(le.querySelectorAll(Cn)).filter(Xe=>!Xe.closest('[aria-hidden="true"]'))[0];if(Te)try{Te.focus()}catch{}}return()=>{const Te=document.activeElement;if(!Te||Te===document.body||le&&le.contains(Te))try{Qr(xe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Wn(()=>Ge(()=>{const le=J.current;typeof le=="function"&&le()})),[Ge]),Zr(Se,!0);const[ue,we]=o.useState(!1),Le=o.useRef(!1),[Oe,He]=o.useState(null),rt=o.useRef(0),ct=o.useRef(0),pt=()=>{rt.current+=1,ct.current+=1,He(null)},[xt,mt]=o.useState(""),[Je,Re]=o.useState(()=>xr()),Pe=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!$&&!S||(Re(xr()),pt())},[$,K,S]),o.useEffect(()=>{S&&Re(le=>{const xe=Math.max(0,Math.min(le.pageIndex,Math.max(0,F-1)));return xe!==le.pageIndex?{...le,pageIndex:xe,stepIndex:0}:le})},[S,F]);const dt=S?Math.max(0,Math.min(Je.pageIndex,F-1)):0,tt=S?I[dt]:null,gt=S&&tt&&Array.isArray(tt.steps)?tt.steps:[],Ke=$?Je.pageIndex:S?dt:typeof c=="number"?c:0,bt=$?z[Math.max(0,Math.min(Je.pageIndex,Math.max(0,z.length-1)))]:null,kt=$&&bt&&Array.isArray(bt.steps)?bt.steps:[],Ve=$?kt.length:S?gt.length:typeof p=="number"?p:0,Qe=$||S?Math.max(0,Math.min(Je.stepIndex,Math.max(0,Ve))):typeof m=="number"?m:0,_t=$?z.length:S?F:typeof d=="number"?d:0;o.useEffect(()=>{if(!$&&!S)return;const le=$?yr(bt,Ke):tt?.id||`children-page-${Ke??0}`,xe=new Date().toISOString();for(let Te=0;Te<=Qe;Te+=1){const Xe=$?vr(kt[Te],Te):`step-${Te}`,Fe=Wt(le,Xe);wt.current.has(Fe)||wt.current.set(Fe,xe)}},[$,S,Ke,Qe,tt?.id]),o.useLayoutEffect(()=>{const le=Pe.current;if(typeof Ke=="number"&&le!==null&&Ke!==le&&Ke>le)try{mt(M("training.problemNotice",{n:Ke+1}))}catch{}Pe.current=typeof Ke=="number"?Ke:Pe.current},[Ke,c,M]),o.useLayoutEffect(()=>{const le=Se.current;if(!le)return;const xe=()=>le.querySelector(".page-popup__scroll");let Te=null,Xe=null,Fe=null;const Ye=Me=>{const ze=xe();if(!ze)return;const ot=ze.scrollHeight<=ze.clientHeight;if(nt(ot?"center":"top"),Me&&!Le.current){Le.current=!0;try{we(!0)}catch{}try{ne.disconnect()}catch{}}},X=()=>{Te!==null&&cancelAnimationFrame(Te),Te=requestAnimationFrame(()=>{Xe!==null&&clearTimeout(Xe),Xe=setTimeout(()=>Ye(!0),60)})},pe=()=>{Fe!==null&&cancelAnimationFrame(Fe),Fe=requestAnimationFrame(()=>Ye(!1))};X(),window.addEventListener("resize",pe);const ne=new MutationObserver(X);ne.observe(le,{childList:!0,subtree:!0,attributes:!0});const ve=setTimeout(()=>{Le.current||Ye(!0)},400);return()=>{window.removeEventListener("resize",pe),Te!==null&&cancelAnimationFrame(Te),Xe!==null&&clearTimeout(Xe),Fe!==null&&cancelAnimationFrame(Fe),clearTimeout(ve);try{ne.disconnect()}catch{}}},[Se]);const Xt=o.useCallback(le=>{Se.current&&(Se.current._childOnNext=le)},[]),at=o.useCallback(le=>{Se.current&&(Se.current._childOnResult=le)},[]),wt=o.useRef(new Map),Wt=(le,xe)=>`${le}\0${xe}`,ht=o.useCallback((le,xe,Te)=>{Re(Xe=>{const Fe=Xe.answersByPage[le]||{},Ye=Fe[xe],X=ns(Te),pe=ns(Ye);if(Ye&&pe>X)return Xe;const ne=_c(Te,wt.current.get(Wt(le,xe)),X);return{...Xe,answersByPage:{...Xe.answersByPage,[le]:{...Fe,[xe]:ne}}}})},[Re]),sn=o.useCallback((le,xe,Te)=>{const Xe=yr(bt,Ke),Fe=vr(le,xe);ht(Xe,Fe,Te)},[bt,Ke,ht]),nn=o.useCallback((le,xe,Te)=>{const Xe=yr(bt,Ke),Fe=vr(le,xe);ht(Xe,Fe,Te),!Te?.allowChange&&le?.autoAdvance!==!1&&Re(Ye=>({...Ye,stepIndex:Math.max(Ye.stepIndex,xe+1)}))},[bt,Ke,ht,Re]),pn=o.useCallback((le,xe)=>{const Te=tt?.id||`children-page-${Ke??0}`,Xe=typeof xe=="number"?xe:Qe??0,Fe=`step-${Xe}`;ht(Te,Fe,le),le?.allowChange||Re(Ye=>({...Ye,stepIndex:Math.max(Ye.stepIndex,Xe+1)}))},[tt,Ke,Qe,ht,Re]),mn=o.useCallback((le,xe)=>{const Te=tt?.id||`children-page-${Ke??0}`,Xe=`step-${typeof xe=="number"?xe:Qe??0}`;ht(Te,Xe,le)},[tt,Ke,Qe,ht]),Sn=S?{currentPageIndex:Ke??0,currentStepIndex:Qe??0,totalStepsInPage:gt.length,handleStepDone:pn,handleStepChange:mn}:null,Fn=async()=>{const le=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:z,flowState:Je,answersByPage:Je.answersByPage})):null;return typeof L=="function"&&await Promise.resolve(L(le))||le},In=async()=>{const le=tt?.id||`children-page-${Je.pageIndex}`,xe=Je.answersByPage[le]||{},Te=j?(()=>{const Ye={};let X=0;return I.forEach(pe=>{const ne=Je.answersByPage[pe.id]||{},ve=Array.isArray(pe.steps)?pe.steps.length:0;for(let Me=0;Me<ve;Me+=1){const ze=ne[`step-${Me}`];typeof ze<"u"&&(Ye[`step-${X+Me}`]=ze)}X+=ve}),Ye})():xe;if(typeof k=="function"){const Ye=await Promise.resolve(k(Te,{pageAnswers:xe,answersByPage:Je.answersByPage,pages:I,currentPageId:le}));return typeof L=="function"&&await Promise.resolve(L(Ye))||Ye}const Xe=Object.entries(xe).map(([Ye,X],pe)=>({index:pe,key:Ye,payload:X})),Fe={results:Xe,answers:Xe,score:0};return typeof L=="function"&&await Promise.resolve(L(Fe))||Fe},Lt=()=>{const le=++rt.current,xe=()=>le!==rt.current;try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if($){const Fe=Fn();He(En);const Ye=Fe;Promise.resolve(Ye).then(X=>{xe()||He(X||{isEmpty:!0})}).catch(X=>{!xe()&&He({isEmpty:!0})});return}if(S){const Fe=In();He(En);const Ye=Fe;Promise.resolve(Ye).then(X=>{xe()||He(X||{isEmpty:!0})}).catch(X=>{!xe()&&He({isEmpty:!0})});return}const Te=Se.current&&Se.current._childOnResult,Xe=Fe=>{try{return Fe?Fe():void 0}catch{return}};if(typeof Te=="function"){const Fe=Xe(Te);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:xn&&xn.tagName.toUpperCase()==="SCRIPT"&&xn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Fe&&typeof Fe.then!="function"?He(Fe):He(Fe&&typeof Fe.then=="function"?En:{});const Ye=()=>{xe()||He(X=>X===En?{}:X)};Promise.resolve(Fe).then(X=>{X&&!xe()?He(X):Ye()}).catch(X=>{Ye()});return}if(typeof L=="function"){const Fe=Xe(L);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:xn&&xn.tagName.toUpperCase()==="SCRIPT"&&xn.src||new URL("components.cjs.js",document.baseURI).href}catch{}Fe&&typeof Fe.then!="function"?He(Fe):He(Fe&&typeof Fe.then=="function"?En:{});const Ye=()=>{xe()||He(X=>X===En?{}:X)};Promise.resolve(Fe).then(X=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:xn&&xn.tagName.toUpperCase()==="SCRIPT"&&xn.src||new URL("components.cjs.js",document.baseURI).href}catch{}X&&!xe()?He(X):Ye()}).catch(X=>{console.error("viewResults external handler failed",X),Ye()});return}},bn=()=>{if($){if(typeof Ke=="number"&&typeof _t=="number"&&Ke<_t-1){Re(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return Lt()}if(S){const xe=gt.length;if(typeof Qe=="number"&&Qe<xe-1){Re(Te=>({...Te,stepIndex:Te.stepIndex+1}));return}if(typeof Ke=="number"&&typeof _t=="number"&&Ke<_t-1){Re(Te=>({...Te,pageIndex:Te.pageIndex+1,stepIndex:0}));return}return Lt()}if(typeof g=="function"){try{g()}catch{}return}const le=Se.current&&Se.current._childOnNext;if(typeof le=="function"){try{le()}catch{}return}},$t=$?V.title||V.label||w||M("common.popup","\uD31D\uC5C5"):a||b||(Array.isArray(i)?i[i.length-1]:void 0)||w||M("common.popup","\uD31D\uC5C5"),Ft=w||$t,jn=$?V.title??V.label??$t:a??b??$t,an=(le,xe)=>{const Te=yr(bt,Ke),Xe=vr(le,xe),Fe=Je.answersByPage[Te]?.[Xe],Ye=i7(le,{page:bt,pageIndex:Ke,step:le,stepIndex:xe,storedPayload:Fe,answersByPage:Je.answersByPage,flowState:Je}),X={key:Xe,index:xe,stepIndex:Qe,isLast:xe===kt.length-1};switch(le?.type){case"listen":return n.jsx(Qo,{...X,...Ye,onDone:pe=>nn(le,xe,pe)});case"confirm":return n.jsx(Xo,{...X,...Ye,onDone:pe=>nn(le,xe,pe),onChange:pe=>sn(le,xe,pe)});case"confirmWithText":return n.jsx(Jo,{...X,...Ye,onDone:pe=>nn(le,xe,pe),onChange:pe=>sn(le,xe,pe)});case"orderList":return n.jsx(es,{...X,...Ye,onDone:pe=>nn(le,xe,pe),onChange:pe=>sn(le,xe,pe)});default:return null}},yn=o.useRef(void 0);o.useEffect(()=>{const le=yn.current;if(yn.current=Ke,le===void 0||le===Ke||!sr())return;const xe=Se.current;if(!xe)return;const Te=document.activeElement;if(!(!Te||Te===document.body||!xe.contains(Te)||Te.disabled===!0))return;const Xe=xe.querySelector(`.training-steps ${Cn.split(", ").join(", .training-steps ")}`)??Array.from(xe.querySelectorAll(Cn)).find(Fe=>!Fe.closest('[aria-hidden="true"]'));try{Xe?.focus()}catch{}},[Ke]);const On=$?z.length>0?n.jsx("div",{className:"training-steps",children:kt.map((le,xe)=>an(le,xe))},`replay-${Ie}`):n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"pp-empty",children:t?.emptyMessage||M("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,vn=S?n.jsxs(Bc.Provider,{value:Sn,children:[tt?.pageTop?n.jsx("div",{className:"training-page-top",children:tt.pageTop}):null,n.jsx("div",{className:"training-steps",children:gt.map((le,xe)=>{const Te=le;return o.cloneElement(Te,{...Te.props,_stepIndex:xe,_totalSteps:gt.length,_stepKey:`step-${xe}`,_pageIndex:Ke})})},`replay-${Ie}`),tt?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:tt.pageBottom}):null]}):null,It=o.useRef(-1),jt=o.useCallback(()=>{if(!B)return;const le=Oe,{results:xe,correct:Te,total:Xe}=os(Oe),Fe={correct:Te,total:Xe,attempt:lt.current.length+1,previousAttempts:[...lt.current]};if(It.current===ct.current)return Fe;It.current=ct.current,qC({items:GC(xe),category:Tc.has(B)?"sentence":"word",trainingType:B,entryPoint:A??"sentence",itemRef:E??null,correct:Te,total:Xe,score:typeof le?.score=="number"?le.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-Y.current)/1e3)),dailyTotal:N??null});try{y?.(Fe)}catch{}return Fe},[B,A,N,E,Oe,y]);o.useEffect(()=>{!Oe||Oe===En||Oe?.isEmpty||(os(Oe).total??0)>0&&jt()},[Oe,jt]);const Ot=o.useCallback(()=>{const le=jt();pt(),Ge(()=>{typeof v=="function"&&v(le),typeof h=="function"&&h()})},[v,h,jt,He,Ge]),hn=o.useCallback(()=>mt(""),[mt]),Rt=o.useCallback(()=>{Ge(()=>{typeof h=="function"&&h()})},[h,Ge]),rn=n.jsxs("div",{className:`page-popup${ut?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Ft,children:[n.jsxs("div",{ref:Se,className:`page-popup__panel ${ue?"":"page-popup__panel--measuring"} ${st==="center"?"page-popup__panel--center":st==="top"?"page-popup__panel--top":""}`,children:[n.jsx(yc,{title:jn,subtitle:$?V.subtitle||V.label:Array.isArray(i)?i.join(" / "):void 0,desc:$?void 0:r,depth:$?V.depth:i,icon:$?V.icon:s,wrapperStyle:$?V.wrapperStyle:l,iconTooltip:$?V.iconTooltip:u,progressMax:_t,progressIndex:Ke,pageIndex:Ke,pageCount:_t,onBack:Rt,onClose:Rt}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${st==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:S?vn:$?On:typeof C=="function"?C({registerOnNext:Xt,registerOnResult:at,panelRef:Se,setResultOverlay:He}):C})}),n.jsx(bc,{onSettings:f,onNext:bn,onResult:Lt,useNoiseSettingBtn:!!($?V.useNoiseSetting??!0:_),stepIndex:Qe,stepCount:Ve,pageIndex:Ke,pageCount:_t,resultOpen:!!(Oe&&!Oe.isEmpty),hideNoiseRows:P})]}),Oe&&!Oe.isEmpty&&(D??c7)({score:Oe.score,results:Oe.results||Oe.answers||[],contextsLength:Oe.results?Oe.results.length:Oe.answers?Oe.answers.length:0,onReplay:()=>{if(Y.current=Date.now(),Oe!==En){const{correct:le,total:xe}=os(Oe);lt.current.push({correct:le,total:xe})}if(pt(),qe(le=>le+1),$){if(Re(xr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(S){Re(xr());return}try{const le=Se.current&&Se.current._childOnResult;typeof le=="function"&&le({replay:!0})}catch{}},onClose:Ot,pending:Oe===En}),Oe?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:n.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:n.jsx("div",{className:"page-popup__empty",children:M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),n.jsx("div",{className:"page-popup__bottom",children:n.jsx(he,{htmlType:"button",variant:"main",size:48,onClick:Ot,label:M("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(ia,{message:xt,position:"top",onClose:hn})]}),Dt=n.jsx(qo.Provider,{value:Ue,children:rn});return typeof document<"u"&&document.body?Jt.createPortal(Dt,document.body):Dt}const Pn=d7;Pn.Page=br,Pn.ListenStep=Ac,Pn.ConfirmStep=kc,Pn.ConfirmWithTextStep=Nc,Pn.OrderListStep=Dc,Pn.CardStep=Ec,Pn.CardOrderStep=r7;function p7({label:e,homonum:t}){const a=ta()?.(e,t)??"",{imgRef:r,loading:i,hasImage:s,onLoad:l,onError:u}=jo(a);return s?n.jsxs("div",{className:"tooltip-word-image__cell",children:[i&&n.jsx("div",{className:"tooltip-word-image__spinner"}),n.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:i?0:1},onLoad:l,onError:u})]}):n.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:n.jsx("span",{children:e})})}function Mc({words:e,anchorRect:t}){const a=o.useRef(null),[r,i]=o.useState(null);return o.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:s,offsetHeight:l}=a.current,u=window.innerWidth;let c=t.left+t.width/2-s/2,d=t.top-l-8;d<8&&(d=t.bottom+8),c=Math.max(8,Math.min(c,u-s-8)),i({left:c,top:d})},[t]),!t||e.length===0?null:Jt.createPortal(n.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:n.jsx("div",{className:"tooltip-word-image__cells",children:e.map(s=>n.jsx(p7,{label:s.label,homonum:s.homonum},`${s.label}_${s.homonum??1}`))})}),document.body)}function m7({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:i,groups:s,selected:l=[],onSelect:u,maxSelect:c,onClearSelection:d,onPrint:m,onPrintEmpty:p,className:h,emptyHint:v,sectionType:y="page",disc:g}){const{t:f,i18n:_}=_e.useTranslation(),C=_.language?.startsWith("ko")??!1,{anchorRect:w,openAt:b,close:k}=ka(),[x,B]=o.useState(null),A=o.useCallback(()=>{k(),B(null)},[k]);Ab(A,!!x);const N=(r??"").trim(),E=/^[^,[\]\s]+$/.test(N)?N:"",D=E.length>0,H=r===void 0&&t===void 0,P=D?"match":H?"original":"ganada",[Y,M]=o.useState(()=>P),[L,$]=o.useState("50"),[K,V]=o.useState(1),[z,W]=o.useState(D);z!==D&&(W(D),M(P));const R=Y==="match"&&!D||Y==="original"&&!H?P:Y,q=o.useMemo(()=>[...D?[{value:"match",label:f("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...H?[{value:"original",label:f("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:f("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:f("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:f("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:f("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:f("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:f("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[f,D,H]),j=o.useMemo(()=>["10","25","50","100"].map(se=>({value:se,label:f("wordSearch.pageSize",{count:Number(se),defaultValue:`${se}\uAC1C\uC529 \uBCF4\uAE30`})})),[f]),I=se=>se.words?.[0],S=o.useMemo(()=>{const se=[...E].length,ce=DC(E),Ce=new Map;return be=>{let ge=Ce.get(be);return ge===void 0&&(ge=ce((be.words?.[0]?.label??"").slice(0,se))?0:1,Ce.set(be,ge)),ge}},[E]),F=o.useCallback((se,ce)=>{const Ce=je=>I(je)?.label??"",be=je=>I(je)?.syllables??[...Ce(je)].length,ge=je=>(je.words??[]).reduce((Ue,Se)=>{const Ie=parseInt(Se.grade??"",10);return Number.isFinite(Ie)&&Ie<Ue?Ie:Ue},999);switch(R){case"match":return S(se)-S(ce)||tn(Ce(se),Ce(ce));case"ganada":return tn(Ce(se),Ce(ce));case"ganada_desc":return tn(Ce(ce),Ce(se));case"syllable":return be(se)-be(ce)||tn(Ce(se),Ce(ce));case"syllable_desc":return be(ce)-be(se)||tn(Ce(se),Ce(ce));case"grade":return ge(se)-ge(ce)||tn(Ce(se),Ce(ce));case"grade_desc":return ge(ce)-ge(se)||tn(Ce(se),Ce(ce));default:return 0}},[R,S]),O=o.useMemo(()=>i.slice().sort(F),[i,F]),U=Number(L)||10,Q=o.useMemo(()=>(s??[]).flatMap(se=>se.items.slice().sort(F).map(ce=>({item:ce,label:se.label}))),[s,F]),oe=s?Q.length:O.length,me=Math.max(1,Math.ceil(oe/U)),ae=Math.min(K,me),te=o.useMemo(()=>O.slice((ae-1)*U,ae*U),[O,ae,U]),ke=o.useMemo(()=>{if(!s)return null;const se=Q.slice((ae-1)*U,ae*U),ce=new Map;for(const{item:Ce,label:be}of se)ce.has(be)||ce.set(be,[]),ce.get(be).push(Ce);return[...ce.entries()].map(([Ce,be])=>({label:Ce,items:be}))},[s,Q,ae,U]);o.useEffect(()=>{V(1)},[Y,L,oe,r]);const G=oe>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(dn,{size:40,options:q,value:R,onChange:M,ariaLabel:f("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(dn,{size:40,options:j,value:L,onChange:$,ariaLabel:f("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(ar,{page:ae,totalPages:me,onChange:V})]}):void 0,re=se=>{u&&u(se)},ie=t!==void 0&&a?n.jsxs(n.Fragment,{children:[f("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),f("wordSearch.resultTitleSuffix",{unit:C?FC(a):a})]}):void 0,De=t!==void 0&&t>0&&c!==void 0&&a?f("wordSearch.resultDisc",{unit:C?OC(a):a,max:c,selected:l.length}):void 0,ye=g??De;return n.jsxs(ua,{type:y,className:Ae("word-search-result-block",h),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(ie||G||ye)&&n.jsxs("div",{className:"word-search-result-block__head",children:[n.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&n.jsx(et,{icon:e,className:"word-search-result-block__head-icon"}),ie&&n.jsx("span",{className:"word-search-result-block__title h3",children:ie})]}),G&&n.jsx("div",{className:"word-search-result-block__head-actions",children:G}),ye&&n.jsx("div",{className:"word-search-result-block__head-disc body-3",children:ye})]}),(s?s.length===0:i.length===0)&&n.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[n.jsx("p",{className:"word-search-result-block__empty body-3",children:f("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),v&&n.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:v})]}),s?(ke??[]).map(se=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:se.items.map(ce=>{const Ce=l.includes(ce.id);return n.jsx("div",{onMouseEnter:be=>{b(be.currentTarget),B(ce.words??[])},onMouseLeave:A,children:n.jsx(he,{htmlType:"button",size:"word",align:"grid",label:(ce.words??[]).map(be=>be.label),subLabel:(ce.words??[]).some(be=>be.subLabel)?(ce.words??[]).map(be=>be.subLabel):void 0,selected:Ce,onClick:()=>re(ce.id),minWidth:200})},ce.id)})})},se.label)):n.jsx("div",{className:"word-search-result-block__items",children:te.map(se=>{const ce=l.includes(se.id);return n.jsx("div",{onMouseEnter:Ce=>{b(Ce.currentTarget),B(se.words??[])},onMouseLeave:A,children:n.jsx(he,{htmlType:"button",size:"word",align:"grid",label:(se.words??[]).map(Ce=>Ce.label),subLabel:(se.words??[]).some(Ce=>Ce.subLabel)?(se.words??[]).map(Ce=>Ce.subLabel):void 0,selected:ce,onClick:()=>re(se.id),minWidth:200})},se.id)})}),x&&w&&n.jsx(Mc,{words:x,anchorRect:w})]}),me>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(ar,{page:ae,totalPages:me,onChange:V})}),(d||m)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(he,{htmlType:"button",size:"56",type:"bar",label:f("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),m&&n.jsx("div",{onClick:l.length===0?p:void 0,children:n.jsx(he,{htmlType:"button",size:"56",type:"bar",variant:"main",label:f("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:m})})]})]})}function h7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,i=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:i}})}function C7({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:i=4,minCount:s=1,combinationSections:l,combinationSectionsForSlot:u,onSelect:c,placeholder:d="-",className:m,title:p,titleIcon:h,disc:v,showInfoButton:y=!0,onClearPhoneme:g,onSearch:f,onSearchEmpty:_,searchDisabled:C=!1,searchLabel:w,searchChecking:b=!1,pairMode:k=!1,sectionType:x="page",beforeSearchContent:B,beforeContent:A,afterContent:N,hideCountControl:E=!1,ordinal:D=!1}){const{t:H}=_e.useTranslation(),P=o.useMemo(()=>H("wordPairs.infoNotes",{returnObjects:!0}),[H]),Y=o.useMemo(()=>Array.from({length:i-s+1},(S,F)=>{const O=s+F;return{key:String(O),label:H("wordPairs.count",{n:O})}}),[H,i,s]),M=o.useMemo(()=>H("wordPairs.ordinals",{returnObjects:!0}),[H]),L=o.useCallback(S=>D?H("wordPairs.phonemeOrdinalLabel",{ordinal:M[S-1]??S}):a===1?H("wordPairs.phonemeSingleLabel","\uC74C\uC808"):H("wordPairs.phonemeN",{n:S}),[D,M,a,H]),$=o.useCallback(S=>D?H("wordPairs.phonemeContrastOrdinalLabel",{ordinal:M[S-1]??S}):a===1?H("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):H("wordPairs.phonemeContrast",{n:S}),[D,M,a,H]),K=o.useCallback((S,F)=>F?n.jsxs(n.Fragment,{children:[S,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):S,[]),{anchorRect:V,toggleAt:z,close:W}=ka(),R=o.useCallback(S=>r(Number(S)),[r]),q=on("(max-width: 767px)"),j=o.useCallback(S=>h7(S,e).map(({label:F,value:O,displayLabel:U})=>{const Q=!!O&&O!=="\uC5C6\uC74C";return n.jsxs("span",{className:Ae("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",Q?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||d}),Q&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:U??F})]},F)}),[e,d]),I=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(he,{htmlType:"button",size:40,type:q?"dot":void 0,icon:"info",label:q?void 0:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:V?"is-selected":void 0,"aria-expanded":!!V,"aria-haspopup":"dialog",onClick:S=>z(S.currentTarget)})}),V&&n.jsx(qn,{title:H("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:P,anchorRect:V,onClose:W})]});return n.jsxs(ua,{type:x,title:p,icon:h,disc:v,action:y?I:void 0,className:Ae("phoneme-select-block",m),children:[A,!E&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(fn,{options:Y,value:String(a),onChange:R,size:40,ariaLabel:H("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:k?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((S,F)=>{const O=t[F*2]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:j(O)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:L(F+1)})]},F)})}),n.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:H("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((S,F)=>{const O=t[F*2+1]??{};return n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:j(O)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:$(F+1)})]},F)})})]}):t.map((S,F)=>n.jsxs("div",{className:"phoneme-select-block__cell",children:[n.jsx("div",{className:"phoneme-select-block__cell-circle",children:n.jsx("div",{className:"phoneme-select-block__cell-jamo",children:j(S)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:L(F+1)})]},F))}),(l||u)&&n.jsx("div",{className:"phoneme-select-block__panels",children:n.jsx("div",{className:"phoneme-select-block__detail",children:k?n.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((S,F)=>{const O=t[F*2]??{};return n.jsx(Nn,{title:K(L(F+1),F===0),sections:u?u(O,F*2):l,selected:O,onSelect:c?.(F*2),align:"newline"},F)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((S,F)=>{const O=t[F*2+1]??{};return n.jsx(Nn,{title:$(F+1),sections:u?u(O,F*2+1):l,selected:O,onSelect:c?.(F*2+1),align:"newline"},F)})})]}):t.map((S,F)=>n.jsx(Nn,{title:K(L(F+1),F===0),sections:u?u(S,F):l,selected:S,onSelect:c?.(F),align:"newline"},F))})}),B&&n.jsx("div",{className:"phoneme-select-block__before-search",children:B}),(g||f||b)&&(()=>{const S=t.every(F=>Object.entries(F).every(([O,U])=>!U||O==="\uC885\uC131"&&U==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:S?_:void 0,children:[g&&n.jsx(he,{htmlType:"button",size:"56",type:"bar",label:H("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:S,onClick:S?void 0:g}),f?n.jsx(he,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:b?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??H("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:S||C||b,onDisabledClick:b?()=>{}:void 0,"aria-busy":b||void 0,onClick:f}):b?n.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[n.jsx("div",{className:"phoneme-select-block__spinner"}),n.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:w??H("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),N]})}function f7({title:e,sections:t,selected:a,onSelect:r,collapsible:i,defaultCollapsed:s,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,className:m}){const{t:p}=_e.useTranslation();return n.jsx(Nn,{className:m,title:e??p("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,collapsible:i,defaultCollapsed:s,collapsed:l,onCollapsedChange:u,headerSummary:c,headerAction:d,align:"inline"})}function g7({title:e,headerAction:t,sections:a,selected:r,onSelect:i,className:s}){const{t:l}=_e.useTranslation();return a.length===0?null:n.jsx(Nn,{className:s,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:i,align:"newline"})}function b7({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:i,positionCount:s,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:m}=_e.useTranslation(),p={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},h=f=>m("wordPairs.count",{n:f}),v=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:n.jsx(Ta,{title:m("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[m("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),m("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),m("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:n.jsx(Ta,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[h(1),h(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:n.jsx(Ta,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),m("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],y={[p.searchMode]:t==="explicit"?p.explicit:t==="pick"?p.pick:p.include,[p.phonemeOrder]:r==="ordered"?p.orderMatch:p.orderAny,[p.count]:h(s),[p.inputMode]:u==="phoneme"?p.pronInput:p.charInput},g=(f,_)=>{_===p.searchMode?a(f===p.explicit?"explicit":f===p.pick?"pick":"include"):_===p.phonemeOrder?i(f===p.orderMatch?"ordered":"unordered"):_===p.count?l(f===h(2)?2:1):_===p.inputMode&&c(f===p.pronInput?"phoneme":"word")};return n.jsx(Nn,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:v,selected:y,onSelect:g,align:"inline"})}function y7(e){const{title:t,items:a,columns:r,gridTemplateColumns:i,mobileGridTemplateColumns:s,searchPlaceholder:l,searchFn:u,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:m,selectedIds:p,onSelect:h,onClose:v,pageSizeOptions:y=[10,25,50,100],initialPageSize:g,emptyText:f,noMatchText:_,countLabel:C,topContent:w,className:b=""}=e,{t:k}=_e.useTranslation(),x=l??k("common.search","\uAC80\uC0C9"),B=f??k("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),A=_??k("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[N,E]=o.useState(""),[D,H]=o.useState(c??r[0]?.key??""),[P,Y]=o.useState(d),[M,L]=o.useState(String(g??y[0]??10)),[$,K]=o.useState(1);o.useEffect(()=>{K(1)},[N,M]);const V=u!==null,z=o.useCallback((Q,oe)=>{if(!oe)return!0;const me=oe.toLowerCase();return r.some(ae=>{const te=Q[ae.key];return te==null?!1:String(te).toLowerCase().includes(me)})},[r]),W=u??z,R=o.useMemo(()=>{const Q=V?a.filter(oe=>W(oe,N)):a;return D?[...Q].sort((oe,me)=>{const ae=oe[D],te=me[D];return ae===te?0:so(ae,te,P)}):Q},[a,N,D,P,V,W]),q=Math.max(1,Math.ceil(R.length/Number(M)));$>q&&K(q);const j=Math.min($,q),I=R.slice((j-1)*Number(M),j*Number(M)),S=o.useCallback(Q=>{D===Q?Y(oe=>!oe):(H(Q),Y(!0)),K(1)},[D]),F=o.useMemo(()=>{if(typeof C=="function"){const Q=R.length,oe=C(Q);if(typeof oe=="string"){const me=oe.lastIndexOf(String(Q));if(me>=0)return{prefix:oe.slice(0,me),suffix:oe.slice(me+String(Q).length)}}return{label:oe}}if(typeof C=="string"&&C.includes("{n}")){const[Q,oe]=C.split("{n}");return{prefix:Q,suffix:oe}}return{prefix:k("common.totalCountPrefix","\uCD1D "),suffix:k("common.totalCountSuffix","\uAC1C")}},[C,R.length,k]),O=o.useMemo(()=>r.map(Q=>({label:Q.label,onClick:Q.sortable!==!1?()=>S(Q.key):void 0,className:Q.className,sortDir:Q.sortable!==!1&&D===Q.key?P?"asc":"desc":null})),[r,D,P,S]),U=o.useMemo(()=>y.map(Q=>({value:String(Q),label:k("common.pageSizeLabel",{n:Q})})),[y,k]);return n.jsxs(Rn,{className:`popup-list ${b}`,title:t,onClose:v,children:[w,"label"in F&&n.jsx("p",{className:"toolbar__count body-1",children:F.label}),n.jsx(yo,{count:"label"in F?void 0:{value:R.length,prefix:F.prefix,suffix:F.suffix},search:V?{value:N,onChange:E,placeholder:x}:void 0,pageSize:{options:U,value:M,onChange:L},pagination:{page:j,total:q,onChange:K}}),n.jsx(Do,{size:"medium",gridTemplateColumns:i,mobileGridTemplateColumns:s,resizable:!0,fields:O,items:I,onRowClick:h,renderRow:Q=>{const oe=p!=null?Q.id!=null&&p.has(Q.id):m!=null&&Q.id===m;return r.map(me=>({content:me.render?me.render(Q):Q[me.key]??"",className:Ae(me.className,oe&&"popup-list__row--selected")}))},empty:V&&N!==""&&a.length>0?A:B})]})}function Lc(e){const{title:t,message:a,topContent:r,details:i,children:s,confirmLabel:l,cancelLabel:u,hideCancel:c=!1,extraAction:d,confirmVariant:m="main",confirmDisabled:p=!1,onConfirm:h,closeOnConfirm:v=!0,onClose:y,inline:g,size:f="small",className:_,initialFocus:C="close"}=e,{t:w}=_e.useTranslation(),b=o.useRef(null);o.useEffect(()=>{if(g||C==="close")return;const E=b.current?.closest(".popup-panel"),D=Array.from(E?.querySelectorAll(".popup-footer--buttons button")??[]),H=C==="confirm"?D[D.length-1]:c?void 0:D[d?1:0];H&&!H.disabled&&H.focus()},[]);const k=o.useRef(!1),[x,B]=o.useState(!1),A=E=>{let D=!1;return{close:()=>{D=!0,E()},\uB2EB\uC558\uB098:()=>D}},N=async E=>{if(k.current)return;k.current=!0;const D=typeof document<"u"?document.activeElement:null;B(!0);let H=!1;try{H=await E()}catch(P){typeof console<"u"&&console.error(P)}finally{H||(k.current=!1,B(!1),requestAnimationFrame(()=>{const P=document.activeElement;(!P||P===document.body)&&D?.isConnected&&D.focus()}))}};return n.jsxs(Rn,{title:t,onClose:y,closeDisabled:x,inline:g,size:f,className:Ae("confirm-popup",r!=null&&"confirm-popup--has-top",_),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const D=A(E);await d.onClick(D.close);const H=d.closeOnClick??!0;return H&&E(),H||D.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:E})=>E()}],{label:l??w("common.confirm","\uD655\uC778"),variant:m,disabled:p||x,onClick:async({closeWithAnimation:E})=>{await N(async()=>{const D=A(E);return await h(D.close),v&&E(),v||D.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),i&&i.length>0&&n.jsx(fr,{children:i.map((E,D)=>n.jsx(Dn,{label:E.label,children:n.jsx("span",{className:"panel-row__text body-2",children:E.value})},D))}),n.jsx("p",{ref:b,className:"body-2 confirm-popup__message",children:a}),s]})}function v7(e,t,a={}){const{t:r}=_e.useTranslation(),[i,s]=o.useState(!1),l=o.useRef(!1),u=o.useCallback(()=>{l.current=!0},[]),c=o.useCallback(()=>l.current?(l.current=!1,!0):e?(s(!0),!1):!0,[e]),d=i?n.jsx(Lc,{title:a.title??r("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??r("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??r("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{s(!1),t()},onClose:()=>s(!1)}):null;return{beforeClose:c,discardPopup:d,allowClose:u}}function x7({onApply:e,onCancel:t}){const{t:a}=_e.useTranslation(),[r,i]=o.useState(""),[s,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null),m=o.useId();o.useEffect(()=>{d.current?.focus()},[]);const p=o.useCallback(async y=>{const g=r.trim();if(g){l(!0),c(null);try{await e(g),y()}catch(f){c(di(f)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),h=o.useCallback((y,g)=>{y.key==="Enter"&&!y.nativeEvent.isComposing&&p(g)},[p]),v=y=>{i(y.target.value),c(null)};return n.jsx(Rn,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:s,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:s,onClick:({closeWithAnimation:y})=>y()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||s,onClick:({closeWithAnimation:y})=>{p(y)}}],children:({closeWithAnimation:y})=>n.jsxs(n.Fragment,{children:[n.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),"aria-invalid":u?!0:void 0,"aria-errormessage":u?m:void 0,"aria-describedby":u?m:void 0,placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:v,onKeyDown:g=>h(g,y),disabled:s,autoComplete:"off",spellCheck:!1}),u&&n.jsx("p",{id:m,className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const $c=["var(--color-main)","var(--color-sub)"],_7=2e3;function w7(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function ss({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:i,trigger:s=0}){const l=o.useMemo(()=>{const g=Math.floor(t/2),f=t-g,_=(C,w)=>Array.from({length:C}).map((b,k)=>{const x=6+Math.random()*12,B=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),A=$c[Math.floor(Math.random()*$c.length)],N=Math.random()*300,E=(360+Math.random()*260)*r*1.2,D=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,H=Math.cos(D)*E,P=Math.sin(D)*E*1.35,Y=Math.random()*720-360,M=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),L=Math.random()>.7?"50%":"3px";return{id:`${w}-${k}`,side:w,size:B,color:A,delay:N,vx:H,vy:P,angularVel:Y,life:M,borderRadius:L}});return[..._(g,"left"),..._(f,"right")]},[t,r]),u=o.useRef(null),c=o.useRef({}),d=o.useRef(null),m=o.useRef(i);o.useEffect(()=>{m.current=i},[i]);const p=o.useRef(null),h=o.useRef(null),v=()=>{if(typeof document>"u")return null;let g=document.querySelector("[data-ihab-effect-root]");return g||(g=document.createElement("div"),g.className="app-effect",g.dataset.ihabEffectRoot="",g.style.position="fixed",g.style.inset="0",g.style.pointerEvents="none",g.style.zIndex="99998",document.body.appendChild(g)),g};if(typeof document<"u"&&h.current==null&&(h.current=v()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const W=setTimeout(()=>m.current?.(),0);return()=>clearTimeout(W)}const g=1200,f=performance.now(),_=h.current&&h.current!==document.body?h.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),w=W=>Math.max(40,(W||window.innerWidth)*.02),b=_?.width||window.innerWidth||375,k=_?.height||window.innerHeight||812,x=W=>{const R=[...W].sort((q,j)=>q-j);return R[Math.floor(R.length/2)]||1},B=x(l.map(W=>Math.abs(W.vy))),A=x(l.map(W=>Math.abs(W.vx))),N=Math.sqrt(2*g*(k*.72+C))/B,E=B*N/g,D=b*.5/(A*E),H=(W,R,q)=>Math.min(q,Math.max(R,W)),P=H(N,.8,2.4),Y=H(D,.7,2.2),M=a>0?a/_7:1,L=l.map(W=>({...W,life:W.life*M,vx:W.vx*Y,vy:W.vy*P,startTime:f+W.delay,ended:!1})),$=_?{x:_.left-w(_.width),y:_.top+_.height+C}:{x:-w(window.innerWidth),y:window.innerHeight+C},K=_?{x:_.left+_.width+w(_.width),y:_.top+_.height+C}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+C},V=W=>{let R=!1;for(const q of L){const j=c.current[q.id];if(!j||!j)continue;if(W<q.startTime){j.style.display="none",R=!0;continue}if(!q._inited){const te=q.side==="left"?$.x:K.x,ke=q.side==="left"?$.y:K.y;j.style.left=`${te}px`,j.style.top=`${ke}px`,j.style.transform="translate3d(0px, 0px, 0)",j.style.display="block",j.style.zIndex="100000",typeof q.color=="string"&&q.color.startsWith("var(")&&(j.style.background=w7(j,q.color)??"#FF0060"),q._inited=!0}const I=(W-q.startTime)/1e3;if(I<0)continue;const S=q.life/1e3;if(I>=S){j.style.opacity="0",j.style.display="none",q.ended=!0;continue}R=!0;const F=q.side==="left"?$.x:K.x,O=q.side==="left"?$.y:K.y,U=F+q.vx*I,Q=O+q.vy*I+.5*g*I*I,oe=(q.angularVel||0)*I,me=U-F,ae=Q-O;j.style.transform=`translate3d(${me}px, ${ae}px, 0) rotate(${oe}deg)`,j.style.opacity=`${Math.max(0,1-I/S)}`}R?d.current=requestAnimationFrame(V):m.current?.()};d.current=requestAnimationFrame(V);const z=setTimeout(()=>{try{if((h.current?h.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const W=document.createElement("div");W.className="party-container",W.style.position="fixed",W.style.inset="0",W.style.pointerEvents="none",W.style.overflow="visible",W.style.zIndex="2147483647";for(const R of l){const q=document.createElement("span");q.className=`confetti confetti--${R.side}`,q.setAttribute("aria-hidden","true"),q.style.display="none",q.style.position="fixed",q.style.left="0px",q.style.top="0px",q.style.width=`${R.size}px`,q.style.height=`${Math.max(4,R.size*.6)}px`,q.style.background=R.color,q.style.borderRadius=R.borderRadius,q.style.transform="translate3d(0,0,0)",q.style.opacity="0",W.appendChild(q),c.current[R.id]=q}(document.body||h.current).appendChild(W),p.current=W}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(z),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,s,l]),!e)return null;const y=n.jsx("div",{className:"party-container",ref:u,children:l.map(g=>n.jsx("span",{"aria-hidden":!0,ref:f=>{c.current[g.id]=f},className:`confetti confetti--${g.side}`,style:{width:`${g.size}px`,height:`${Math.max(4,g.size*.6)}px`,background:g.color,borderRadius:g.borderRadius}},`${g.id}-${s}`))});return typeof document<"u"?Jt.createPortal(y,h.current||document.body):y}const is=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function B7({trigger:e=0,active:t=!1}){const[a,r]=o.useState(null);o.useEffect(()=>{if(typeof window>"u")return;const s=l=>{const u=l.detail??{};r(c=>({n:(c?.n??0)+1,count:is(u.count),strength:is(u.strength),duration:is(u.duration)}))};return window.addEventListener("party:trigger",s),()=>window.removeEventListener("party:trigger",s)},[]);const i=o.useCallback(()=>r(null),[]);return n.jsxs(n.Fragment,{children:[n.jsx(ss,{active:t,trigger:e}),a&&n.jsx(ss,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:i})]})}function A7({title:e,sub:t,rightAction:a,titleAction:r,badge:i,badgeVariant:s="default",documentTitle:l,onBack:u,backLabel:c,wrap:d=!1}){const{t:m}=_e.useTranslation();db(typeof e=="string"?e:l??null);const p=c??m("common.back","\uB4A4\uB85C");return n.jsxs("div",{className:d?"page-title page-title--wrap":"page-title",children:[n.jsxs("div",{className:"page-title__main",children:[n.jsxs("div",{className:"page-title__title-row",children:[u&&n.jsx(he,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:p,showTooltipInfo:p,onClick:u}),n.jsx("h1",{className:"page-title__title h1",children:e}),i&&n.jsx("div",{className:"page-title__badge",children:n.jsx(At,{label:i,size:"small",variant:s,fill:"outline"})}),r?n.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&n.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?n.jsx("div",{className:"page-title__action",children:a}):null]})}function k7(e){return e??""}const Rc=o.createContext({words:[],loading:!1});function N7(){return o.useContext(Rc)}function D7({words:e,loading:t,error:a,statusMessage:r,localVersion:i,remoteVersion:s,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){const m=o.useMemo(()=>({words:e,loading:t,error:a,statusMessage:r,localVersion:i,remoteVersion:s,progress:l,clearAndRefetch:u,checkRemoteVersion:c}),[e,t,a,r,i,s,l,u,c]);return n.jsx(Rc.Provider,{value:m,children:d})}function E7({items:e,actions:t,columns:a,flat:r=!1,className:i,style:s}){const l=a??e.length;return n.jsx("section",{className:Ae("summary-strip",r&&"summary-strip--flat",i),style:{"--summary-strip-cols":String(l),...s},children:n.jsxs("div",{className:"summary-strip__row",children:[n.jsx("div",{className:"summary-strip__items",children:e.map((u,c)=>n.jsxs("div",{className:"summary-strip__item",children:[n.jsx("p",{className:"summary-strip__label caption-1",children:u.label}),n.jsx("p",{className:"summary-strip__value body-3b",title:typeof u.value=="string"||typeof u.value=="number"?String(u.value):void 0,children:u.value})]},c))}),t&&n.jsx("div",{className:"summary-strip__actions",children:t})]})})}const S7=(e,t)=>`${e} / ${t}`;function j7({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:i=S7,pageWidth:s,pageHeight:l,margin:u,className:c,style:d}){const{t:m}=_e.useTranslation(),p=o.useRef(null),h=o.useRef(null),v=o.useRef(null),y=o.useRef(null),[g,f]=o.useState(null),[_,C]=o.useState(!1);o.useEffect(()=>{const M=p.current;if(!M)return;const L=()=>C(M.scrollWidth>M.clientWidth+1);if(L(),typeof ResizeObserver>"u")return;const $=new ResizeObserver(L);return $.observe(M),()=>$.disconnect()},[g]);const w=e.map(M=>`${M.id}\0${M.section??""}\0${M.group??""}`).join(""),b=g&&g.shape===w?g.pages:null,[k,x]=o.useState(0);o.useEffect(()=>{const M=y.current;if(!M||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>x(M.offsetHeight));return L.observe(M),()=>L.disconnect()},[]);const[B,A]=o.useState(0);o.useEffect(()=>{const M=h.current;if(!M||typeof ResizeObserver>"u")return;let L=null;const $=typeof requestAnimationFrame=="function"?z=>requestAnimationFrame(z):z=>setTimeout(z,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:z=>clearTimeout(z),V=new ResizeObserver(()=>{L==null&&(L=$(()=>{L=null,A(z=>z+1)}))});return Array.from(M.children).forEach(z=>V.observe(z)),()=>{V.disconnect(),L!=null&&K(L)}},[w]),o.useLayoutEffect(()=>{const M=h.current,L=y.current;if(!M||!L)return;const $=S=>S.getBoundingClientRect().height||S.offsetHeight,K=new Map;v.current?.querySelectorAll("[data-chrome-section]").forEach(S=>{K.set(S.dataset.chromeSection??"",$(S))});const V=S=>$(L)-(K.get(S??"")??0),z=Array.from(M.children).map(S=>$(S)),W=[];e.forEach((S,F)=>{const O=W[W.length-1],U=O?e[O[0]]:void 0;U&&S.group!=null&&U.group===S.group&&U.section===S.section?O.push(F):W.push([F])});const R=[];let q=[],j=0;const I=()=>{q.length&&R.push(q),q=[],j=0};W.forEach(S=>{const F=S.reduce((U,Q)=>U+z[Q],0),O=V(e[S[0]].section);q.length&&e[q[0]].section!==e[S[0]].section&&I(),F>O?S.forEach(U=>{q.length&&j+z[U]>O+.01&&I(),q.push(U),j+=z[U]}):(q.length&&j+F>O+.01&&I(),S.forEach(U=>q.push(U)),j+=F)}),I(),f(S=>S&&S.shape===w&&JSON.stringify(S.pages)===JSON.stringify(R)?S:{shape:w,pages:R})},[w,k,s,l,u,B]);const N=ho,E=N,D=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:E,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),H=(M,L,$)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:$!=null&&t?.[$]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:D}),n.jsx("span",{className:"report-doc__page-no",children:i(M,L)})]})}),P=Array.from(new Set(e.map(M=>M.section??""))),Y={...s?{"--report-page-w":s}:null,...l?{"--report-page-h":l}:null,...u?{"--report-margin":u}:null,...d};return n.jsxs("div",{ref:p,className:Ae("report-doc",c),style:Y,tabIndex:_?0:void 0,role:_?"group":void 0,"aria-label":_?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[n.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[n.jsx("div",{ref:y,className:"report-doc__ruler"}),n.jsx("div",{ref:v,children:P.map(M=>{const L=H(1,1,M||void 0);return n.jsxs("div",{"data-chrome-section":M,children:[L.header,L.footer]},M)})}),n.jsx("div",{ref:h,className:"report-doc__measure-blocks",children:e.map(M=>n.jsx("div",{children:M.content},M.id))})]}),b&&n.jsx("div",{className:"report-doc__pages",children:b.map((M,L)=>{const{header:$,footer:K}=H(L+1,b.length,e[M[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[$,M.map(V=>n.jsx("div",{children:e[V].content},e[V].id)),K]},L)})})]})}function T7({title:e,fields:t,columns:a=4,className:r,style:i}){return n.jsxs("div",{className:Ae("report-info",r),style:{"--report-info-cols":String(a),...i},children:[e&&n.jsx("p",{className:"report-info__title h5b",children:e}),n.jsx("div",{className:"report-info__grid",children:t.map((s,l)=>n.jsxs("div",{className:"report-info__field body-2",children:[n.jsx("span",{className:"report-info__label body-3",children:s.label}),n.jsx("span",{className:"report-info__value",children:s.value})]},l))})]})}const Xn=new Map;let _r=null;const M7=12;function L7(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function wr(){const e=new Map;for(const t of Xn.keys()){if(!t.isConnected)continue;const a=L7(t),r=e.get(a)??[];r.push(t),e.set(a,r)}for(const t of e.values()){t.sort((r,i)=>r.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const r of t){a>0?r.style.setProperty("--update-alert-stack-offset",`${a}px`):r.style.removeProperty("--update-alert-stack-offset");const i=r.getBoundingClientRect().height;i>0&&(a+=i+M7)}}}function $7(e){return typeof window>"u"?()=>{}:(Xn.set(e,(Xn.get(e)??0)+1),Xn.get(e)===1&&typeof ResizeObserver<"u"&&(_r??(_r=new ResizeObserver(()=>wr())),_r.observe(e)),wr(),()=>{const t=(Xn.get(e)??1)-1;if(t>0){Xn.set(e,t),wr();return}Xn.delete(e),_r?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),wr()})}function R7({title:e,message:t,actionLabel:a,onAction:r,icon:i,onClose:s,className:l=""}){const{t:u}=_e.useTranslation(),c=a??u("common.update","\uC5C5\uB370\uC774\uD2B8"),d=o.useRef(null),m=o.useRef(!1);return o.useLayoutEffect(()=>{const p=d.current,h=p?.parentElement?.closest(".update-alert-stack")??p,v=h?$7(h):null;return()=>{v?.(),m.current&&p&&p.contains(document.activeElement)&&Za(p)}},[]),n.jsxs("div",{ref:d,className:Ae("update-alert",l),role:"alert",children:[s&&n.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{m.current=!0,s()},"aria-label":u("common.close","\uB2EB\uAE30"),children:"\xD7"}),n.jsxs("div",{className:"update-alert__top",children:[n.jsx("div",{className:"update-alert__icon",children:i??n.jsx(ys,{size:20,strokeWidth:2})}),n.jsxs("div",{className:"update-alert__body",children:[n.jsx("div",{className:"update-alert__title h4",children:e}),n.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&n.jsx(he,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:c})]})}function P7({title:e,titleLevel:t=3,description:a,topActions:r,children:i,footerLeft:s,footerRight:l,ariaLabel:u,onClick:c,draggable:d,onDragStart:m,onDragEnd:p,className:h}){const v=t?`h${t}`:"div",y=s!=null||l!=null,g=i!=null&&i!==!1,f=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return n.jsxs("div",{className:Ae("training-card",c?"training-card--clickable":"",h),onClick:c,onKeyDown:c?f:void 0,role:c?"button":void 0,"aria-label":c?u??(typeof e=="string"?e:void 0):void 0,tabIndex:c?0:void 0,draggable:d,onDragStart:m,onDragEnd:p,children:[n.jsxs("div",{className:"training-card__header",children:[n.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?n.jsx(v,{className:"training-card__title h4",children:e}):e,r!=null&&n.jsx("div",{className:"training-card__top-actions",onClick:_=>_.stopPropagation(),children:r})]}),a!=null?typeof a=="string"?n.jsx("p",{className:"training-card__description body-3",children:a}):a:n.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),g&&n.jsx("div",{className:"training-card__body",children:i}),y&&n.jsxs("div",{className:"training-card__footer",children:[s!=null&&n.jsx("div",{className:"training-card__footer-left",children:s}),l!=null&&n.jsx("div",{className:"training-card__meta",children:l})]})]})}function F7({title:e,titleLevel:t=3,count:a,collapsed:r=!1,onToggle:i,beforeSort:s,sort:l,actions:u,empty:c=!1,emptyContent:d,dragOver:m=!1,onDragOver:p,onDragLeave:h,onDrop:v,children:y,className:g}){const{t:f}=_e.useTranslation(),_=o.useId(),C=t?`h${t}`:"span",w=i!=null,b=Ae("training-card-group",m&&"training-card-group--dragover",r&&"training-card-group--collapsed",w&&"training-card-group--collapsible",g);return n.jsxs("div",{className:b,onDragOver:p,onDragLeave:h,onDrop:v,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?_:void 0,children:[n.jsxs("header",{className:"training-card-group__header",children:[w&&n.jsx(he,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:r?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?r?f("common.expandFor",{name:e}):f("common.collapseFor",{name:e}):r?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:i}),typeof e=="string"?n.jsx(C,{id:_,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&n.jsx("span",{className:"training-card-group__count body-3b",children:a}),(s!=null||l||u!=null)&&n.jsxs("span",{className:"training-card-group__actions",onClick:k=>k.stopPropagation(),children:[s,l&&n.jsx(dn,{size:40,options:l.options,value:l.value,placeholder:l.placeholder,onChange:l.onChange,ariaLabel:typeof e=="string"&&e?f("common.sortFor",{name:e}):void 0}),u]})]}),!r&&(c?n.jsx("div",{className:"training-card-group__empty body-3",children:d}):n.jsx("div",{className:"training-card-group__grid",children:y}))]})}const I7="speechear:saved_word_tables";function O7(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function H7(){try{const e=localStorage.getItem(I7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(O7):[]}catch{return[]}}function Pc(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function ls(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function z7(e){const t=new Set;return e.map(a=>{let r=a.id;for(let i=2;t.has(r);i++)r=`${a.id}~${i}`;return t.add(r),r===a.id?a:{...a,id:r}})}function V7({title:e,titleIcon:t,disc:a,filterTitle:r,filterCollapsible:i,filterDefaultCollapsed:s,filterCollapsed:l,onFilterCollapsedChange:u,filterHeaderSummary:c,brand:d,code:m,items:p,onSaveComplete:h,onLoad:v,onRemoveItem:y,onReset:g,resetLabel:f,saveButtonLabel:_,secondarySaveButtonLabel:C,onReorder:w,showCellCount:b,onAddItem:k,className:x,renderSavePopup:B,renderWordSearch:A,hideControls:N,saveOnly:E,tableName:D,nameValue:H,onNameChange:P,descriptionValue:Y,onDescriptionChange:M,namePlaceholder:L,descriptionPlaceholder:$,existingNames:K,editingName:V,onCancel:z,initialItemsPerPage:W,renderCellAction:R,actionsLeftExtra:q}){const{t:j}=_e.useTranslation(),I=f??j("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),S=p===void 0,F=!!P,[O,U]=o.useState([]),Q=(H??"").trim(),oe=Q||(L??"").trim(),me=(Y??"").trim()||($??"").trim(),ae=(K??[]).map(ne=>ne.trim().toLowerCase()),te=[V?.trim().toLowerCase(),...O].filter(ne=>!!ne),ke=[...ae];for(const ne of te){const ve=ke.indexOf(ne);ve!==-1&&ke.splice(ve,1)}const G=Q!==""&&ke.includes(Q.toLowerCase()),[re,ie]=o.useState(Array(4).fill(null)),[De,ye]=o.useState(4),[se,ce]=o.useState(null),Ce=re.slice(0,De),be=!!d?.show,[ge,je]=o.useState(!0),[Ue,Se]=o.useState(!0),Ie=d&&{...d,top:ge,bottom:Ue},[qe,lt]=o.useState("landscape"),[st,nt]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ut,Ne]=o.useState("\uD45C\uC2DC"),[We,Be]=o.useState(!0),[Ge,J]=o.useState(!0),ue=o.useRef(null),we=o.useRef([]),[Le,Oe]=o.useState(W==="all"?Number.POSITIVE_INFINITY:W??8),[He,rt]=o.useState("right"),[ct,pt]=o.useState(!1),[xt,mt]=o.useState(!1),{toastMessage:Je,toastType:Re,showWarning:Pe,clearToast:dt}=gl("warning"),tt=o.useCallback(()=>ce(null),[ce]);k&&!S&&!b&&Gt("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[gt,Ke]=o.useState(()=>Math.max(p?.length??1,1)),bt=S?De:b?Math.max(gt,p?.length??1,1):Math.max(p?.length??0,1),{width:kt,height:Ve}=ca[qe],Qe=!S&&!b,_t=p?.length??0,Xt=Math.min(Le,Math.max(_t,1)),at=Qe?Xt:bt,wt=Qe?wu(p??[],at):null,Wt=!!wt&&wt.length>1,ht=S?Ce.some(ne=>ne!==null&&ne.length>1):(p??[]).some(ne=>(ne.words??[]).length>1),sn=D?.trim()||`${yi(wa())} ${ht?j("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):j("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,nn=o.useCallback(()=>Wt?we.current.filter(ne=>ne!==null):ue.current?[ue.current]:[],[Wt]),{print:pn,openNewWindow:mn,downloadHtml:Sn}=Oo({getElements:nn,paperW:kt,paperH:Ve,fileName:sn,onPopupBlocked:()=>{Pe(j("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Fn=ne=>{ye(ne),ie(ve=>ve.length>=ne?ve:[...ve,...Array(ne-ve.length).fill(null)]),ce(null)},In=ne=>{ie(ve=>{const Me=[...ve];return Me[ne]=null,Me}),se===ne&&ce(null)},Lt=ne=>{if(se===null)return;const ve=se;ie(ze=>{const ot=[...ze];return ot[ve]=ne.length>0?ne:null,ot});const Me=Ce.findIndex((ze,ot)=>ot>ve&&ze===null);ce(Me!==-1?Me:null)},bn=S?Ce.some(ne=>ne?.some(ve=>!!ve.colloquialPronunciation)):(p??[]).some(ne=>(ne.words??[]).some(ve=>!!ve.colloquialLabel)),$t=o.useMemo(()=>ta()?S?re.slice(0,De).flatMap(ne=>(ne??[]).map(ve=>[ve.word,ve.homonum])):(p??[]).flatMap(ne=>(ne.words??[]).map(ve=>[ve.label,ve.homonum])):[],[S,re,De,p]),[Ft,jn]=o.useState(!1);o.useEffect(()=>{if($t.length===0)return;let ne=!1;return Promise.all($t.map(([ve,Me])=>ii(ve,Me))).then(ve=>{ne||jn(ve.some(Boolean))},()=>{}),()=>{ne=!0}},[$t]);const an=$t.length>0&&Ft,yn=o.useMemo(()=>[...S||b?[{label:j("wordTable.filter.columns","\uCE78 \uC218"),items:h5.map(ne=>({value:`${ne}\uCE78`,displayLabel:j("wordTable.filter.column",{count:ne})})),display:"segmented"}]:[],...Qe&&(p?.length??0)>0?[Ou(j,{hasPairs:ht,itemCount:_t})]:[],...Wt?[C5(j)]:[]],[j,S,b,Qe,p?.length,ht,_t,Wt]),On={...S||b?{[j("wordTable.filter.columns","\uCE78 \uC218")]:`${bt}\uCE78`}:{},...Qe&&(p?.length??0)>0?{[j(ht?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Xt}\uAC1C`}:{},...Wt?{[j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:zu[He]}:{}},vn=(ne,ve)=>{ve===j("wordTable.filter.columns","\uCE78 \uC218")?S?Fn(parseInt(ne)):Ke(parseInt(ne)):ve===j(ht?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Oe(Hu(parseInt(ne),_t)):ve===j("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&rt(Vu(ne))},It=S?z7(Ce.filter(ne=>ne!==null&&ne.length>0).map(ne=>({id:ls(ne),words:ne.map(Pc)}))):p??[],jt=()=>{S&&ie(ne=>ne.length>De?ne.slice(0,De):ne)},Ot=(ne=!1)=>{if(mt(ne),F&&h){const ve=oe.trim().toLowerCase();ve&&U(Me=>Me.includes(ve)?Me:[...Me,ve]),h(oe,It,me||void 0,ne),jt();return}if(E&&h){h("",It,void 0,ne),jt();return}if(h){pt(!0);return}Sn()},[hn,Rt]=o.useState(!1),[rn,Dt]=o.useState(""),le=rn.trim(),xe=le!==""&&ae.includes(le.toLowerCase()),Te=()=>{Dt(oe?j("wordTable.save.copyName",{name:oe,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Rt(!0)},Xe=()=>{!le||xe||!h||(h(le,It,me||void 0,!0),jt(),Rt(!1))},Fe=It.length===0,Ye=Fe||F&&(oe===""||G),X=()=>{if(Fe){Pe(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&oe===""){Pe(j("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&G&&Pe(j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},pe=n.jsx(da,{items:It,orientation:qe,contentTypes:st,cutLine:ut,showOutline:We,showDivLine:Ge,count:bt});return n.jsxs(n.Fragment,{children:[n.jsxs(ua,{type:"page",icon:t,title:e,disc:a,className:Ae("word-table-block",x),children:[hn&&n.jsx(Rn,{size:"small",title:C??j("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Rt(!1),footer:({closeWithAnimation:ne})=>n.jsxs(n.Fragment,{children:[n.jsx(he,{htmlType:"button",size:48,type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:ne}),n.jsx(he,{htmlType:"button",size:48,type:"bar",variant:"main",label:j("common.save","\uC800\uC7A5"),disabled:!le||xe,onClick:Xe})]}),children:n.jsx(Kn,{label:j("wordTable.save.nameLabel","\uC774\uB984"),value:rn,onChange:Dt,placeholder:j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:Xe,error:xe?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),ct&&h&&B?.({defaultName:typeof e=="string"?e:j("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:pe,previewW:kt,previewH:Ve,items:It,existingNames:H7().map(ne=>ne.name),saveAsNew:xt,onSave:(ne,ve)=>{h(ne,It,ve,xt),jt(),pt(!1)},onCancel:()=>pt(!1)}),(S||k)&&se!==null&&A?.({cellIndex:se,onConfirm:S?Lt:ne=>{if(k){const ve=ne[0];if(ve){const Me=new Set((p??[]).map(ot=>ot.id));let ze=ls([ve]);for(let ot=2;Me.has(ze);ot++)ze=`${ls([ve])}~${ot}`;k({id:ze,words:[Pc(ve)]})}}ce(null)},onClose:tt}),!N&&n.jsx(Po,{title:r,collapsible:i,defaultCollapsed:s,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:an,hasColloquial:bn,contentTypes:st,orientation:qe,showOutline:We,cutLine:ut,showDivLine:Ge,setters:{setContentTypes:nt,setOrientation:lt,setShowOutline:Be,setCutLine:Ne,setShowDivLine:J,setShowTopInfo:je,setShowBottomInfo:Se},showCutLine:(Qe?at:bt)>1,showDivLine2:ht,middleSections:yn,extraSelected:On,onExtraSelect:vn,showPaperBands:be,showTopInfo:ge,showBottomInfo:Ue}),Wt&&wt?n.jsx("div",{className:"word-table-block__pages",children:wt.map((ne,ve)=>n.jsx(da,{orientation:qe,contentTypes:st,cutLine:ut,showOutline:We,showDivLine:Ge,count:at,items:ne,onRemoveItem:y,onReorder:w&&((Me,ze)=>w(Me+ve*at,ze+ve*at)),renderCellAction:R&&((Me,ze)=>R(Me+ve*at,ze)),brand:Ie,code:m,contentRef:Me=>{we.current[ve]=Me},pageNumber:{current:ve+1,total:wt.length},pageNumberPosition:He},ve))}):n.jsx(da,{orientation:qe,contentTypes:st,cutLine:ut,showOutline:We,showDivLine:Ge,count:bt,items:S?void 0:p??[],editCells:S?Ce:void 0,activeCell:se,onActivateCell:S||k?ce:void 0,onRemoveCell:S?In:void 0,onRemoveItem:S?void 0:y,onReorder:S?void 0:w,renderCellAction:S?void 0:R,brand:Ie,code:m,showFillerAdd:!!k,contentRef:ue}),!N&&!E&&(g||q!=null)&&n.jsxs("div",{className:"word-table-block__table-actions",children:[g&&n.jsx(he,{htmlType:"button",size:48,type:"bar",label:I,onClick:g}),q]}),F&&!N&&n.jsxs(fr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx(Dn,{variant:"custom",label:j("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(Kn,{required:!0,value:H??"",onChange:P,placeholder:L?L+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:G?j("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ne=>{(ne.key==="Tab"&&!ne.shiftKey||ne.key===" ")&&!(H??"").trim()&&(L??"").trim()&&(ne.preventDefault(),P?.(L??""))}})}),n.jsx(Dn,{variant:"custom",label:j("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(Kn,{value:Y??"",onChange:M,placeholder:$?$+j("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):j("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:j("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ne=>{(ne.key==="Tab"&&!ne.shiftKey||ne.key===" ")&&!(Y??"").trim()&&($??"").trim()&&(ne.preventDefault(),M?.($??""))}})})]})]}),!N&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!E&&v&&n.jsx(he,{htmlType:"button",size:40,type:"bar",label:j("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:v}),!E&&n.jsx(he,{htmlType:"button",size:40,type:"bar",label:j("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:mn})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[z&&n.jsx(he,{htmlType:"button",size:"56",type:"bar",label:j("common.cancel","\uCDE8\uC18C"),onClick:z}),!E&&n.jsx(he,{htmlType:"button",size:"56",type:"bar",label:j("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:pn}),C&&n.jsx(he,{htmlType:"button",size:"56",type:"bar",label:C,onClick:()=>F?Te():Ot(!0),disabled:Fe,onDisabledClick:()=>{Pe(j("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),n.jsx(he,{htmlType:"button",size:"56",type:"bar",variant:"main",label:_??j("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Ot(!1),disabled:Ye,onDisabledClick:X})]})]}),n.jsx(ia,{message:Je,type:Re,onClose:dt})]})}function Fc({items:e,className:t}){const a=e.length,r=a<=3?1:2,i=Math.ceil(a/r)||1,s=r*i;return n.jsx("div",{className:Ae("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:s},(l,u)=>{const c=e[u];return c?n.jsx("div",{className:"word-table-thumb__cell",children:(c.words?.length?c.words:[{label:c.id}]).map((d,m)=>n.jsxs(o.Fragment,{children:[m>0&&n.jsx("span",{className:"word-table-thumb__divider"}),n.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},m))},u):n.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},u)})})}function W7({items:e,name:t,description:a,createdAt:r,code:i,published:s,publishedLabel:l,shared:u,sharedLabel:c,isNew:d,publisherName:m,publishedAt:p,likeCount:h,downloadCount:v,onPublisherClick:y,selected:g,onClick:f,onMore:_,titleNode:C,className:w}){const{t:b}=_e.useTranslation(),k=C!=null,x=m!=null||p!=null||h!=null||v!=null,B=A=>{A.target===A.currentTarget&&!k&&(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),f?.())};return n.jsxs("div",{className:Ae("word-table-button",g?"word-table-button--selected":"",x?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":i?`${t} (${i})`:t,onClick:k?void 0:f,onKeyDown:B,children:[d&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":b("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(Fc,{items:e,className:"word-table-button__thumb"}),n.jsxs("div",{className:"word-table-button__info",children:[n.jsxs("div",{className:"word-table-button__info-text",children:[C??n.jsx("div",{className:"word-table-button__title h4",children:t}),a&&n.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),_&&!k&&n.jsx(he,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:b("common.moreFor",{name:t}),onClick:A=>{A.stopPropagation(),_(A)}})]}),(i||r||s||u)&&n.jsxs("div",{className:"word-table-button__meta-row",children:[n.jsx("span",{className:"word-table-button__meta-left",children:n.jsx("span",{className:"word-table-button__meta caption-1",children:r?bi(r,b):""})}),n.jsxs("span",{className:"word-table-button__meta-right",children:[(s||u)&&n.jsxs("span",{className:"word-table-button__badges",children:[s&&n.jsx(At,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??b("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&n.jsx(At,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??b("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),i&&n.jsx("span",{className:"word-table-button__code caption-1",children:i})]})]}),x&&n.jsxs("div",{className:"word-table-button__footer",children:[n.jsxs("span",{className:"word-table-button__store-by",children:[m&&(y?n.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":b("wordTable.publisherFilter",{name:m,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:A=>{A.stopPropagation(),y()},children:m}):n.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:m})),p&&n.jsx("span",{className:"training-card__date body-4",children:bi(p,b)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&n.jsx(At,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h),"aria-label":b("common.likeCount",{count:h,defaultValue:`\uC88B\uC544\uC694 ${h}`})}),v!=null&&n.jsx(At,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(v),"aria-label":b("common.downloadCount",{count:v,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${v}`})})]})]})]})}/**
|
|
1054
1054
|
* @license lucide-react v1.38.0 - ISC
|
|
1055
1055
|
*
|
|
1056
1056
|
* This source code is licensed under the ISC license.
|
|
@@ -1060,4 +1060,4 @@ ${b.badge}`:b.badge:void 0;if(x&&c(b.code))return null;if(!b.badge&&!m)return p(
|
|
|
1060
1060
|
*
|
|
1061
1061
|
* This source code is licensed under the ISC license.
|
|
1062
1062
|
* See the LICENSE file in the root directory of this source tree.
|
|
1063
|
-
*/const G7=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],K7=ee("circle-x",G7);function Y7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function us({icon:e,label:t,state:a,pct:r,subText:s}){const{t:i}=_e.useTranslation(),l=a==="done",u=a==="pending",c=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":c?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(ws,{size:22,color:"white",strokeWidth:2.5}):c?n.jsx(K7,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${u?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${u?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(wt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):c?n.jsx(wt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(s||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[s,s&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!u&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":c?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||c?`${c?100:d}%`:void 0}})})]})]})}function Z7({title:e,progress:t,onDone:a,onRetry:r,onClose:s,inline:i}){const{t:l}=_e.useTranslation(),{phase:u,error:c,wordCount:d,imagePage:m,imageDone:p,imageTotal:C,pairPercent:y}=t,v=Y7(u),f=u==="done",g=!!c;function _(B){return g&&v===B?"error":v>B?"done":v===B?"active":"pending"}const h=_(1),w=_(2),b=_(3),k=u==="image-match"&&C?Math.round((p??0)/C*100):void 0,x=o.useMemo(()=>{if(w!=="done"){if(u==="image-list")return l("wordData.checkingPage",{page:m??1});if(u==="image-match"&&C)return l("wordData.imageCount",{done:Gr(p),total:Gr(C)})}},[w,u,m,C,p,l]);return n.jsx(Rn,{inline:i,className:"popup--word-data-update",title:e,footer:g&&r?n.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):g?n.jsx(me,{htmlType:"button",size:56,variant:"main",onClick:s??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(me,{htmlType:"button",size:56,variant:"main",disabled:!f,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(us,{icon:n.jsx(bs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:h,subText:h==="active"?l("wordData.downloadingCount",{n:Gr(d),count:d}):void 0}),n.jsx(us,{icon:n.jsx(U7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:w,pct:k,subText:x}),n.jsx(us,{icon:n.jsx(xs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:b,pct:b==="active"?y??0:void 0,subText:void 0})]})})}function X7({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=_e.useTranslation(),[r,s]=o.useState(null),[i,l]=o.useState(null),u=y=>{let v=null;y==="noise"?v={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:y==="short"?v={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:y==="long"?v={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:y==="order"&&(v={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(v),s(y)},c=o.useCallback(()=>{s(null),l(null)},[]),d=o.useCallback(()=>u("noise"),[]),m=o.useCallback(()=>u("short"),[]),p=o.useCallback(()=>u("long"),[]),C=o.useCallback(()=>u("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:C,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:c,onClose:c}):null]}):null}exports.Accordion=jb,exports.ActionCard=yf,exports.Alert=w4,exports.AppHeader=Pb,exports.AudioMeter=Ao,exports.AudioPlayer=Ko,exports.Avatar=S4,exports.Badge=wt,exports.BarChart=vy,exports.BarChartControls=au,exports.Board=K4,exports.BottomNav=vl,exports.BrandIdentity=Al,exports.Breadcrumb=M4,exports.BulkBar=iy,exports.Button=me,exports.CORE_VERSION=mf,exports.Calendar=zy,exports.CardStep=Ec,exports.ChartLegend=yo,exports.ChartSection=vo,exports.ChartTotal=Ra,exports.Checkbox=Xl,exports.ChoiceChips=K5,exports.CircleBadge=y4,exports.CodeBox=oy,exports.ColorPicker=F4,exports.CompanyMeta=ey,exports.ConfirmPopup=Lc,exports.ConfirmStep=kc,exports.ConfirmWithTextStep=Nc,exports.ContrastFilterPanel=b7,exports.CoreScope=vf,exports.CountTile=W4,exports.CouponInputPopup=x7,exports.DEFAULT_NOISE_SETTINGS=Oa,exports.DatePicker=my,exports.DebugResultLauncher=X7,exports.DescriptionTooltip=qn,exports.DeviceSideTable=Iy,exports.Dialog=G4,exports.Divider=v4,exports.Dropdown=pn,exports.EffectPartyPopper=ss,exports.EffectPartyPopperHost=B7,exports.EmptyState=gf,exports.ErrorState=bf,exports.FILTER_ALL_VALUE=dn,exports.FileUpload=T4,exports.FilterPanel=Nn,exports.FilterSectionInfo=ja,exports.Footer=Y5,exports.GameIntro=wy,exports.Header=kl,exports.Icon=tt,exports.IconGridMenu=G5,exports.IconRenderer=tt,exports.InfoTooltip=xn,exports.ItemActions=uy,exports.LEVEL_MAX=pa,exports.LINE_CHART_HOVER_DELAY_MS=ru,exports.LandingBottomSticky=X5,exports.LandingHeader=Z5,exports.LineChart=_y,exports.ListPopup=y7,exports.ListenStep=Ac,exports.Loader=$a,exports.MARKS=ur,exports.MARK_ICON=vu,exports.MARK_VARIANT=xu,exports.MediaQueryOverrideContext=Di,exports.MenuTooltip=Da,exports.NOISE_RATIO_MAX=Pa,exports.NOISE_RATIO_STEP=Xu,exports.NoisePlayerContext=Wo,exports.NoiseSettingsTooltip=gc,exports.NoticeBox=xf,exports.OrderListStep=Dc,exports.PASS_CARD_BG_VARS=Gn,exports.POS_LABEL=Bu,exports.PROMO_BANNER_BG_COMPONENTS=ll,exports.PROMO_BANNER_BG_OPTIONS=lb,exports.PROMO_BANNER_BG_VARS=Ba,exports.Page=gr,exports.PageTitle=A7,exports.Pagination=ar,exports.Panel=fr,exports.PanelGrid=H3,exports.PanelRow=Pn,exports.PanelRowDevice=O3,exports.PassCard=Rl,exports.PassCardBg=C4,exports.PassCardBgIHAB=f4,exports.PassCardBgLeftColorGrid=g4,exports.PassCardBgTwoCircle=jl,exports.PaymentPlan=h4,exports.PersonCard=Y4,exports.PhonemeFilterPanel=g7,exports.PhonemeSelectBlock=C7,exports.Popup=Rn,exports.ProgressBar=Sy,exports.ProgressIndicator=mu,exports.PromoBanner=Db,exports.PromoBannerBgDark=Gi,exports.PromoBannerBgDeep=Hi,exports.PromoBannerBgDiagonal=Xi,exports.PromoBannerBgDots=Qi,exports.PromoBannerBgInstagram=il,exports.PromoBannerBgMain=$i,exports.PromoBannerBgNaver=ol,exports.PromoBannerBgOutline=tl,exports.PromoBannerBgRadial=Yi,exports.PromoBannerBgSoft=Pi,exports.PromoBannerBgSoftSub=Vi,exports.PromoBannerBgSub=Ii,exports.PromoBannerBgSuccess=al,exports.PromoBannerBgWarm=qi,exports.PublicationCard=X4,exports.Radio=Ol,exports.RadioGroup=x4,exports.Rating=$4,exports.ReportDocument=j7,exports.ReportInfoPanel=T7,exports.RingChart=Ay,exports.SENTENCE_TRAINING_TYPES=Oo,exports.SearchSummary=k4,exports.Section=la,exports.SectionHeadFloat=Ql,exports.SectionHeader=Q4,exports.SegmentedControl=An,exports.ShortcutBadge=Il,exports.SideNav=Bl,exports.Slider=uu,exports.SoundCompass=b4,exports.SplashLogo=J4,exports.StatChart=ky,exports.SummaryStrip=E7,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=zl,exports.Table=No,exports.TableFilterPanel=Ro,exports.Tabs=N4,exports.TextBoxTooltip=Cr,exports.TextField=Kn,exports.Timeline=Z4,exports.Toast=sa,exports.Toggle=Zl,exports.Toolbar=bo,exports.Tooltip=cn,exports.TooltipInfo=xn,exports.TooltipTextBox=Cr,exports.TopBanner=Eb,exports.TrainingBlock=Wy,exports.TrainingBlockButton=Co,exports.TrainingBlockGrid=Uy,exports.TrainingCard=P7,exports.TrainingCardGroup=F7,exports.TrainingPagePopup=Fn,exports.TrainingPagePopupBottom=bc,exports.TrainingPagePopupTitle=yc,exports.TrainingResultPopup=jc,exports.TrainingStep=Yn,exports.TrainingStepAudioPlayer=Ko,exports.TrainingStepBullet=uc,exports.TrainingStepCard=mc,exports.TrainingStepConfirm=Zo,exports.TrainingStepConfirmWithText=Xo,exports.TrainingStepListen=Jo,exports.TrainingStepOrderList=Qo,exports.TrainingStepTextBox=pc,exports.TrainingStepTitle=dc,exports.TrainingTooltip=Vl,exports.TrainingWordCard=jo,exports.UpdateAlert=R7,exports.WAVE_A_MAX=d3,exports.WAVE_H1_PX=Uo,exports.WAVE_HMAX_PX=c3,exports.WORD_LABEL_I18N_KEYS=n5,exports.WORD_TABLE_PAPER=ua,exports.WORD_TYPE_LABEL=Au,exports.WordDataProvider=D7,exports.WordDataUpdatePopup=Z7,exports.WordImageTooltip=Mc,exports.WordSearchFilterPanel=f7,exports.WordSearchResultBlock=m7,exports.WordTable=ca,exports.WordTableBlock=V7,exports.WordTableButton=W7,exports.WordTablePopup=y5,exports.WordTableThumbnail=Fc,exports.buildMonthChartData=Cy,exports.cellKey=N5,exports.cellLabel=k5,exports.cellsForLabels=I5,exports.clearPassCardBgTheme=Bn,exports.clearPromoBannerBgTheme=Ht,exports.closeTrainingPopup=U3,exports.companyTypeLabel=k7,exports.createTrainingScenario=Y3,exports.cx=ke,exports.deriveNoiseContexts=t7,exports.derivePassCard=Dl,exports.draftValues=q5,exports.effectiveNoiseVolume=zo,exports.effectiveSpeechVolume=Qu,exports.expandSlashLabel=$o,exports.formatDuration=O5,exports.getControlDateRange=By,exports.getPayloadTimestamp=ns,exports.getPromoBannerBgTheme=ao,exports.getSelectedFromPayload=X3,exports.getSelectedText=J3,exports.getStepPayload=wc,exports.getSteppedPayload=Q3,exports.injectPassCardBgTheme=wn,exports.injectPromoBannerBgTheme=Ot,exports.isSelectionCorrect=e7,exports.labelOfCellKey=Yu,exports.labelsForSave=A5,exports.levelToPct=Q5,exports.markAfterClick=yu,exports.marksForSave=To,exports.mergeNoiseSettings=Ia,exports.missesByType=$5,exports.nextFocus=j5,exports.nextMisses=L5,exports.noiseElementVolume=Vo,exports.noiseRatioOf=Fa,exports.pageStartIndexes=_u,exports.passCardBgIhabTheme=Pl,exports.passCardBgLeftColorGridTheme=Fl,exports.passCardBgTwoCircleTheme=Sl,exports.pctToLevel=e3,exports.posLabels=ku,exports.printWordTable=Jy,exports.promoBannerBgDarkTheme=Ui,exports.promoBannerBgDeepTheme=Oi,exports.promoBannerBgDiagonalTheme=Zi,exports.promoBannerBgDotsTheme=Ji,exports.promoBannerBgInstagramTheme=sl,exports.promoBannerBgMainTheme=Li,exports.promoBannerBgNaverTheme=rl,exports.promoBannerBgOutlineTheme=el,exports.promoBannerBgRadialTheme=Ki,exports.promoBannerBgSoftSubTheme=zi,exports.promoBannerBgSoftTheme=Ri,exports.promoBannerBgSubTheme=Fi,exports.promoBannerBgSuccessTheme=nl,exports.promoBannerBgWarmTheme=Wi,exports.recommendTables=P5,exports.regenerateUnpinned=W5,exports.removeItem=V5,exports.resolveTrainingItems=K3,exports.resolveTrainingPopupMeta=xc,exports.reviewCells=x5,exports.reviewMeta=B5,exports.reviewSetPlan=R5,exports.reviewTableName=w5,exports.scoreKey=lr,exports.scoreSheetHeader=D5,exports.shouldConfirmDiscard=Xy,exports.splitTrainingVariants=G3,exports.summarize=Zy,exports.summarizeMisses=M5,exports.tableTrends=S5,exports.toDraft=H5,exports.toTrainingText=Z3,exports.togglePin=z5,exports.uncoveredLabels=F5,exports.useAnchoredMenu=Na,exports.useBarChartControl=nu,exports.useCalendarMonth=Jl,exports.useComboboxSuggestions=Kl,exports.useDiscardGuard=v7,exports.useFitScale=Eu,exports.useNoisePlayer=dr,exports.useSoundCompassExam=Nb,exports.useToastLifecycle=du,exports.useWordData=N7,exports.useWordTableDisplaySettings=Gu,exports.useWordTablePrint=Io,exports.waveBarPx=mr,exports.waveBarVal=hr,exports.weakItems=E5,exports.withStepTimes=_c,exports.wordTypeLabels=Nu;
|
|
1063
|
+
*/const G7=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],K7=ee("circle-x",G7);function Y7(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function us({icon:e,label:t,state:a,pct:r,subText:i}){const{t:s}=_e.useTranslation(),l=a==="done",u=a==="pending",c=a==="error",d=l?100:r??0;return n.jsxs("div",{className:"wdup-phase-card",children:[n.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":c?" wdup-phase-card__icon--error":""}`,children:l?n.jsx(ws,{size:22,color:"white",strokeWidth:2.5}):c?n.jsx(K7,{size:22,color:"white",strokeWidth:2.5}):n.jsx("span",{className:`wdup-phase-card__icon-inner${u?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),n.jsxs("div",{className:"wdup-phase-card__body",children:[n.jsxs("div",{className:"wdup-phase-card__top",children:[n.jsx("span",{className:`wdup-phase-card__label body-2${u?" wdup-phase-card__label--pending":""}`,children:t}),l?n.jsx(At,{variant:"sub",fill:"soft",size:"small",label:s("common.done","\uC644\uB8CC")}):c?n.jsx(At,{variant:"danger",fill:"soft",size:"small",label:s("common.failed","\uC2E4\uD328")}):(i||r!==void 0)&&n.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[i,i&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!u&&n.jsx("div",{className:"wdup-bar",children:n.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":c?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||l||c?`${c?100:d}%`:void 0}})})]})]})}function Z7({title:e,progress:t,onDone:a,onRetry:r,onClose:i,inline:s}){const{t:l}=_e.useTranslation(),{phase:u,error:c,wordCount:d,imagePage:m,imageDone:p,imageTotal:h,pairPercent:v}=t,y=Y7(u),g=u==="done",f=!!c;function _(B){return f&&y===B?"error":y>B?"done":y===B?"active":"pending"}const C=_(1),w=_(2),b=_(3),k=u==="image-match"&&h?Math.round((p??0)/h*100):void 0,x=o.useMemo(()=>{if(w!=="done"){if(u==="image-list")return l("wordData.checkingPage",{page:m??1});if(u==="image-match"&&h)return l("wordData.imageCount",{done:Kr(p),total:Kr(h)})}},[w,u,m,h,p,l]);return n.jsx(Rn,{inline:s,className:"popup--word-data-update",title:e,footer:f&&r?n.jsx(he,{htmlType:"button",size:56,variant:"main",onClick:r,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):f?n.jsx(he,{htmlType:"button",size:56,variant:"main",onClick:i??a,children:l("common.close","\uB2EB\uAE30")}):n.jsx(he,{htmlType:"button",size:56,variant:"main",disabled:!g,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:n.jsxs("div",{className:"wdup-cards",children:[n.jsx(us,{icon:n.jsx(bs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:C,subText:C==="active"?l("wordData.downloadingCount",{n:Kr(d),count:d}):void 0}),n.jsx(us,{icon:n.jsx(U7,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:w,pct:k,subText:x}),n.jsx(us,{icon:n.jsx(xs,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:b,pct:b==="active"?v??0:void 0,subText:void 0})]})})}function X7({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=_e.useTranslation(),[r,i]=o.useState(null),[s,l]=o.useState(null),u=v=>{let y=null;v==="noise"?y={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:v==="short"?y={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:v==="long"?y={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:v==="order"&&(y={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(y),i(v)},c=o.useCallback(()=>{i(null),l(null)},[]),d=o.useCallback(()=>u("noise"),[]),m=o.useCallback(()=>u("short"),[]),p=o.useCallback(()=>u("long"),[]),h=o.useCallback(()=>u("order"),[]);return e?n.jsxs("div",{className:"debug-result-launcher",children:[n.jsxs("div",{className:"debug-buttons",children:[n.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),n.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),r&&s?t?.({score:s.score,contextsLength:s.contextsLength,results:s.results,onReplay:c,onClose:c}):null]}):null}exports.Accordion=jb,exports.ActionCard=eb,exports.Alert=w4,exports.AppHeader=Pb,exports.AudioMeter=ko,exports.AudioPlayer=Yo,exports.Avatar=S4,exports.Badge=At,exports.BarChart=vy,exports.BarChartControls=au,exports.Board=K4,exports.BottomNav=vl,exports.BrandIdentity=Al,exports.Breadcrumb=M4,exports.BulkBar=iy,exports.Button=he,exports.CORE_VERSION=Wg,exports.Calendar=zy,exports.CardStep=Ec,exports.ChartLegend=vo,exports.ChartSection=xo,exports.ChartTotal=Pa,exports.Checkbox=Xl,exports.ChoiceChips=K5,exports.CircleBadge=y4,exports.CodeBox=oy,exports.ColorPicker=F4,exports.CompanyMeta=ey,exports.ConfirmPopup=Lc,exports.ConfirmStep=kc,exports.ConfirmWithTextStep=Nc,exports.ContrastFilterPanel=b7,exports.CoreScope=tb,exports.CountTile=W4,exports.CouponInputPopup=x7,exports.DEFAULT_NOISE_SETTINGS=Ha,exports.DatePicker=my,exports.DebugResultLauncher=X7,exports.DescriptionTooltip=qn,exports.DeviceSideTable=Iy,exports.Dialog=G4,exports.Divider=v4,exports.Dropdown=dn,exports.EffectPartyPopper=ss,exports.EffectPartyPopperHost=B7,exports.EmptyState=Jg,exports.ErrorState=Qg,exports.FILTER_ALL_VALUE=cn,exports.FileUpload=T4,exports.FilterPanel=Nn,exports.FilterSectionInfo=Ta,exports.Footer=Y5,exports.GameIntro=wy,exports.Header=kl,exports.Icon=et,exports.IconGridMenu=G5,exports.IconRenderer=et,exports.InfoTooltip=_n,exports.ItemActions=uy,exports.LEVEL_MAX=ma,exports.LINE_CHART_HOVER_DELAY_MS=ru,exports.LandingBottomSticky=X5,exports.LandingHeader=Z5,exports.LineChart=_y,exports.ListPopup=y7,exports.ListenStep=Ac,exports.Loader=Ra,exports.MARKS=ur,exports.MARK_ICON=vu,exports.MARK_VARIANT=xu,exports.MediaQueryOverrideContext=Si,exports.MenuTooltip=Ea,exports.NOISE_RATIO_MAX=Fa,exports.NOISE_RATIO_STEP=Xu,exports.NoisePlayerContext=qo,exports.NoiseSettingsTooltip=gc,exports.NoticeBox=nb,exports.OrderListStep=Dc,exports.PASS_CARD_BG_VARS=Gn,exports.POS_LABEL=Bu,exports.PROMO_BANNER_BG_COMPONENTS=ll,exports.PROMO_BANNER_BG_OPTIONS=ub,exports.PROMO_BANNER_BG_VARS=Aa,exports.Page=br,exports.PageTitle=A7,exports.Pagination=ar,exports.Panel=fr,exports.PanelGrid=H3,exports.PanelRow=Dn,exports.PanelRowDevice=O3,exports.PassCard=Rl,exports.PassCardBg=C4,exports.PassCardBgIHAB=f4,exports.PassCardBgLeftColorGrid=g4,exports.PassCardBgTwoCircle=jl,exports.PaymentPlan=h4,exports.PersonCard=Y4,exports.PhonemeFilterPanel=g7,exports.PhonemeSelectBlock=C7,exports.Popup=Rn,exports.ProgressBar=Sy,exports.ProgressIndicator=mu,exports.PromoBanner=Db,exports.PromoBannerBgDark=Gi,exports.PromoBannerBgDeep=Hi,exports.PromoBannerBgDiagonal=Xi,exports.PromoBannerBgDots=Qi,exports.PromoBannerBgInstagram=il,exports.PromoBannerBgMain=$i,exports.PromoBannerBgNaver=ol,exports.PromoBannerBgOutline=tl,exports.PromoBannerBgRadial=Yi,exports.PromoBannerBgSoft=Pi,exports.PromoBannerBgSoftSub=Vi,exports.PromoBannerBgSub=Ii,exports.PromoBannerBgSuccess=al,exports.PromoBannerBgWarm=qi,exports.PublicationCard=X4,exports.Radio=Ol,exports.RadioGroup=x4,exports.Rating=$4,exports.ReportDocument=j7,exports.ReportInfoPanel=T7,exports.RingChart=Ay,exports.SENTENCE_TRAINING_TYPES=Ho,exports.SearchSummary=k4,exports.Section=ua,exports.SectionHeadFloat=Ql,exports.SectionHeader=Q4,exports.SegmentedControl=fn,exports.ShortcutBadge=Il,exports.SideNav=Bl,exports.Slider=uu,exports.SoundCompass=b4,exports.SplashLogo=J4,exports.StatChart=ky,exports.SummaryStrip=E7,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=zl,exports.Table=Do,exports.TableFilterPanel=Po,exports.Tabs=N4,exports.TextBoxTooltip=Cr,exports.TextField=Kn,exports.Timeline=Z4,exports.Toast=ia,exports.Toggle=Zl,exports.Toolbar=yo,exports.Tooltip=un,exports.TooltipInfo=_n,exports.TooltipTextBox=Cr,exports.TopBanner=Eb,exports.TrainingBlock=Wy,exports.TrainingBlockButton=fo,exports.TrainingBlockGrid=Uy,exports.TrainingCard=P7,exports.TrainingCardGroup=F7,exports.TrainingPagePopup=Pn,exports.TrainingPagePopupBottom=bc,exports.TrainingPagePopupTitle=yc,exports.TrainingResultPopup=jc,exports.TrainingStep=Yn,exports.TrainingStepAudioPlayer=Yo,exports.TrainingStepBullet=uc,exports.TrainingStepCard=mc,exports.TrainingStepConfirm=Xo,exports.TrainingStepConfirmWithText=Jo,exports.TrainingStepListen=Qo,exports.TrainingStepOrderList=es,exports.TrainingStepTextBox=pc,exports.TrainingStepTitle=dc,exports.TrainingTooltip=Vl,exports.TrainingWordCard=To,exports.UpdateAlert=R7,exports.WAVE_A_MAX=d3,exports.WAVE_H1_PX=Go,exports.WAVE_HMAX_PX=c3,exports.WORD_LABEL_I18N_KEYS=n5,exports.WORD_TABLE_PAPER=ca,exports.WORD_TYPE_LABEL=Au,exports.WordDataProvider=D7,exports.WordDataUpdatePopup=Z7,exports.WordImageTooltip=Mc,exports.WordSearchFilterPanel=f7,exports.WordSearchResultBlock=m7,exports.WordTable=da,exports.WordTableBlock=V7,exports.WordTableButton=W7,exports.WordTablePopup=y5,exports.WordTableThumbnail=Fc,exports.buildMonthChartData=Cy,exports.cellKey=N5,exports.cellLabel=k5,exports.cellsForLabels=I5,exports.clearPassCardBgTheme=An,exports.clearPromoBannerBgTheme=Vt,exports.closeTrainingPopup=U3,exports.companyTypeLabel=k7,exports.createTrainingScenario=Y3,exports.cx=Ae,exports.deriveNoiseContexts=t7,exports.derivePassCard=Dl,exports.draftValues=q5,exports.effectiveNoiseVolume=Vo,exports.effectiveSpeechVolume=Qu,exports.expandSlashLabel=Ro,exports.formatDuration=O5,exports.getControlDateRange=By,exports.getPayloadTimestamp=ns,exports.getPromoBannerBgTheme=ro,exports.getSelectedFromPayload=X3,exports.getSelectedText=J3,exports.getStepPayload=wc,exports.getSteppedPayload=Q3,exports.injectPassCardBgTheme=Bn,exports.injectPromoBannerBgTheme=zt,exports.isSelectionCorrect=e7,exports.labelOfCellKey=Yu,exports.labelsForSave=A5,exports.levelToPct=Q5,exports.markAfterClick=yu,exports.marksForSave=Mo,exports.mergeNoiseSettings=Oa,exports.missesByType=$5,exports.nextFocus=j5,exports.nextMisses=L5,exports.noiseElementVolume=Wo,exports.noiseRatioOf=Ia,exports.pageStartIndexes=_u,exports.passCardBgIhabTheme=Pl,exports.passCardBgLeftColorGridTheme=Fl,exports.passCardBgTwoCircleTheme=Sl,exports.pctToLevel=e3,exports.posLabels=ku,exports.printWordTable=Jy,exports.promoBannerBgDarkTheme=Ui,exports.promoBannerBgDeepTheme=Oi,exports.promoBannerBgDiagonalTheme=Zi,exports.promoBannerBgDotsTheme=Ji,exports.promoBannerBgInstagramTheme=sl,exports.promoBannerBgMainTheme=Li,exports.promoBannerBgNaverTheme=rl,exports.promoBannerBgOutlineTheme=el,exports.promoBannerBgRadialTheme=Ki,exports.promoBannerBgSoftSubTheme=zi,exports.promoBannerBgSoftTheme=Ri,exports.promoBannerBgSubTheme=Fi,exports.promoBannerBgSuccessTheme=nl,exports.promoBannerBgWarmTheme=Wi,exports.recommendTables=P5,exports.regenerateUnpinned=W5,exports.removeItem=V5,exports.resolveTrainingItems=K3,exports.resolveTrainingPopupMeta=xc,exports.reviewCells=x5,exports.reviewMeta=B5,exports.reviewSetPlan=R5,exports.reviewTableName=w5,exports.scoreKey=lr,exports.scoreSheetHeader=D5,exports.shouldConfirmDiscard=Xy,exports.splitTrainingVariants=G3,exports.summarize=Zy,exports.summarizeMisses=M5,exports.tableTrends=S5,exports.toDraft=H5,exports.toTrainingText=Z3,exports.togglePin=z5,exports.uncoveredLabels=F5,exports.useAnchoredMenu=Da,exports.useBarChartControl=nu,exports.useCalendarMonth=Jl,exports.useComboboxSuggestions=Kl,exports.useDiscardGuard=v7,exports.useFitScale=Eu,exports.useNoisePlayer=dr,exports.useSoundCompassExam=Nb,exports.useToastLifecycle=du,exports.useWordData=N7,exports.useWordTableDisplaySettings=Gu,exports.useWordTablePrint=Oo,exports.waveBarPx=mr,exports.waveBarVal=hr,exports.weakItems=E5,exports.withStepTimes=_c,exports.wordTypeLabels=Nu;
|