@ihabdevteam/core 0.298.0 → 0.299.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.
@@ -844,9 +844,9 @@ 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 sC(e){oC(e)}function Ks(e,t){if(!e)return null;const a=ba();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ys(e){if(!e)return null;const t=ba();if(!t)throw new Gs("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Zs(e){const t=ba();if(!t)throw new Gs("downloadSound");return t.download(e)}function iC(){return ba()?.noiseBaseUrl??"/sounds/noise"}function lC(){const e=Number(ba()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function uC(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 Xs="__ihab_core_tts_config__";function $r(){return globalThis[Xs]?.urlResolver??null}function cC(){return globalThis[Xs]?.fallbackUrlResolver??null}const dC="__ihab_core_pronunciation_resolver__";function pC(){return globalThis[dC]??null}let jn=null;const ya=new WeakMap,Rr=new WeakMap,Pr=new WeakMap;let Js=!1;const Qs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function mC(){if(Js||typeof document>"u")return;Js=!0;const e=()=>{try{jn&&jn.state!=="running"&&jn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function ei(){if(jn)return jn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(jn=new e,mC(),jn):null}catch{return null}}function Fr(){try{jn?.resume()}catch{}}function Ir(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=Qs(Rr.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 za(e){if(!e)return Promise.resolve(null);const t=ya.get(e);if(t)return Promise.resolve(t.analyser);const a=ei();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Ir(a,e)?.analyser??null);const r=Pr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Ir(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Pr.delete(e)});return Pr.set(e,s),s}function hC(e){if(!e)return null;const t=ya.get(e);if(t)return t.analyser;const a=ei();return a?a.state==="running"?Ir(a,e)?.analyser??null:(za(e),null):null}function Tn(e,t){const a=Qs(t);Rr.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 Va(e){return Rr.get(e)??e.volume}function CC(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 fC="__ihab_core_image_config__";function Qn(){return globalThis[fC]??null}const ti="word_image_existence_map_v1";let zn=null;const Wa=new Map;function gC(){if(zn)return zn;try{const e=typeof localStorage<"u"?localStorage.getItem(ti):null,t=e?JSON.parse(e):null;zn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{zn={}}return zn}let Or=null;function bC(){Or||(Or=setTimeout(()=>{Or=null;try{typeof localStorage<"u"&&zn&&localStorage.setItem(ti,JSON.stringify(zn))}catch{}},200))}function yC(e,t){return`${e}_${t??1}`}async function ni(e,t){const a=gC(),r=yC(e,t);if(r in a)return a[r];if(Wa.has(r))return Wa.get(r);const s=Qn();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:uC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(Wa.delete(r),u===null?!1:(a[r]=u,bC(),u)));return Wa.set(r,l),l}const vC={\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"}},ai=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ri=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],xC=["","\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 _C(e){const t=va(e[0]||"");return t?ai[t.cho]:""}function wC(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>ai.includes(l),r=l=>ri.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],f=s[m];if(f==="cho"){if(_C(p)!==t[m]){d=!1;break}}else if(f==="jung"){const y=va(p);if(!y||ri[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 BC={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(BC).map(([e,t])=>[t.join(""),xC[Number(e)]]));const AC="word_pair_index_v2",kC="word_pair_index_sig_v2";let qa=null;function NC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(AC),t=localStorage.getItem(kC);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function DC(){if(qa)return qa;const e=NC();return e?(qa=e.index,e.sig,qa):null}const Hr=/[ㄱ-ㅎ]/,EC=/[ㅏ-ㅣ]/;function oi(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||Hr.test(a)||EC.test(a))return a}return null}function SC(e){const t=oi(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Hr.test(t)?"\uC774":"\uAC00"}function jC(e){return`${e}${SC(e)}`}function TC(e){const t=oi(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Hr.test(t)?"\uC744":"\uB97C"}function MC(e){return`${e}${TC(e)}`}function LC(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 $C=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof Mt?.t=="function"?Mt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function si(e,t){if(t===void 0&&(t=$C()),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 RC="__ihab_core_word_pool__";function ii(){return globalThis[RC]??null}const li=globalThis;function ui(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function PC(e){ui("time",()=>li.__ihabTrainingTimeLogger?.(e))}function FC(e){ui("completion",()=>li.__ihabTrainingCompletionLogger?.(e))}function Ua(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 Zt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function IC(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 OC(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Zt(r.contextCode)??Zt(r.itemId)??Zt(r.itemCode)??Zt(r.id),question:Zt(r.question)??Zt(r.q)??Zt(r.sentence)??Zt(r.text)??Zt(r.prompt)??Zt(r.word)??Zt(r.targetSyllable),answer:Zt(r.answer),selected:Zt(r.selectedText)??Zt(r.selected),correct:IC(r),shownAt:Ua(r.shownAt)??Ua(r.shown_at),answeredAt:Ua(r.answeredAt)??Ua(r.answered_at)}}):[]}const zr=globalThis;async function HC(){try{return await zr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ci(e){const t=a=>{};try{const a=zr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ga(e){try{zr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function zC(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 VC="Asia/Seoul",WC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Vr(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=WC.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 qC=e=>Vr(e);function UC(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",r=qC(e);return r?r.toLocaleDateString(a,{timeZone:VC,year:"numeric",month:"short",day:"numeric"}):""}function _a(){return qr(new Date)}function Wr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:_a()}function ea(){return KC(_a())}const GC=540*60*1e3;function di(e,t,a){return new Date(Date.UTC(e,t,a)-GC)}function KC(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function qr(e){if(e==null||e==="")return"";const t=Vr(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function pi(e,t){if(!e)return"";const a=Vr(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 mi(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=qr(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 ta(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function hi(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 Ur(e){return(e??0).toLocaleString("ko-KR")}const YC=[{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"}]}],ZC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",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 Ci(){return YC}function XC(){return ZC}const JC=[],QC=[],ef=[],tf=[];function nf(){return{LISTEN_IN_NOISE:JC,SHORT_STORY:QC,LONG_STORY:ef,ORDERING_SENTENCE:tf}}const af=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",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."}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function rf(e){return af.map(t=>{const a=fi[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Ka=null,gi=null,bi=null;function of(){const e=ii();if(e&&e.entries.length>0){const t=DC();if(Ka&&gi===e&&bi===t)return Ka;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 Ka=r,gi=e,bi=t,Ka}return[]}new Proxy([],{get(e,t){const a=of(),r=a[t];return typeof r=="function"?r.bind(a):r}});const sf="0.298.0";function lf(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 uf(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&lf(r.attrValue)&&(r.keepAttr=!1)};Mr.addHook("uponSanitizeAttribute",t);try{return Mr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Mr.removeHook("uponSanitizeAttribute",t)}}function cf(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=Lr(e):/^(Logo|Symbol)/i.test(d)?m=Lr(`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 f=p.headers.get("content-type")||"";if(d)return;if(f.includes("svg")){s("mask");return}if(f.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 C=uf(v);if(!C){s("none");return}l(C),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 Qe(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",f=l??"iconRenderer-icon-svg",y=typeof t=="string"?t:null,v=x0(y),{iconToUse:C,mode:b,svgText:_,blobUrl:h}=cf(y),w=(k,N={})=>n.jsx("span",{className:d,style:u,...N,children:k}),g=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,B=(k,N={})=>n.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:m,...N,style:g?{...N.style,...g}:N.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(n.jsx("span",{className:f,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:f,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(C&&C.endsWith(".svg")){if(b==="mask"){const k={"--icon-url":h?`url(${h})`:`url(${C})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return w(n.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return b==="img"?w(B(C,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?w(n.jsx("span",{className:f,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 B(Lr(t),{style:u,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,A=`<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:f,dangerouslySetInnerHTML:{__html:A}}),{"aria-hidden":"true"})}function yi(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 df({icon:e,title:t,message:a,action:r,className:s}){const{pending:i,press:l}=yi(r?.onClick);return n.jsxs("div",{className:Ae("empty-state",s),children:[e&&n.jsx(Qe,{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(Qe,{icon:r.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function pf({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=ve.useTranslation(),{pending:u,press:c}=yi(r);return n.jsxs("div",{className:Ae("empty-state","error-state",i),role:"alert",children:[n.jsx(Qe,{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(Qe,{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 mf({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`,f=()=>{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:f,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),f())},className:Ae("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(Qe,{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(Qe,{icon:"arrow-right",size:18})})]})]})})}function hf({as:e="div",className:t="",children:a,storage:r,...s}){r&&sC({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=Ae("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Gr(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(hn)).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 hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Kr=new WeakMap;function Yr(e,t){e&&Kr.set(e,t)}function Zr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Kr.has(r);)r=r.parentElement;if(!r)return t;t=Kr.get(r)??null}return t}function vi(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 Ya(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(vi(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(c=>!(e&&e.contains(c))&&vi(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 Cf({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=ve.useTranslation(),[c,d]=o.useState(!1),m=o.useRef(null),p=o.useCallback(()=>{const C=m.current;C&&C.contains(document.activeElement)&&Ya(C),d(!0)},[]);if(c)return null;const f=`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:f,role:"note",children:[a.map((C,b)=>n.jsxs("div",{className:"notice-box__inner",children:[C.title?n.jsx("span",{className:"notice-box__title body-3",children:C.title}):null,n.jsx("div",{className:"notice-box__body",children:C.lines&&C.lines.length?n.jsx("div",{children:C.lines.map((_,h)=>n.jsx("span",{className:"notice-box__line body-3",children:_},h))}):C.children??null})]},b)),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((C,b)=>n.jsx("li",{className:"notice-box__line",children:C},b))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:m,className:f,role:"note",children:[v,y]})}const na=[];let Za=!1;function xi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=na[na.length-1];t&&(e.stopPropagation(),t())}function Vn(e){return na.push(e),!Za&&typeof document<"u"&&(document.addEventListener("keydown",xi),Za=!0),()=>{const t=na.lastIndexOf(e);t>=0&&na.splice(t,1),na.length===0&&Za&&typeof document<"u"&&(document.removeEventListener("keydown",xi),Za=!1)}}const _i=o.createContext(null);function ff(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const wi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function gf(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 os.useSyncExternalStore(t,()=>wi(e),()=>!1)}function bf(e){const[t,a]=o.useState(wi(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 yf=typeof os.useSyncExternalStore=="function"?gf:bf;function rn(e){const t=o.useContext(_i),a=yf(e);return t&&typeof t.mobile=="boolean"&&ff(e)?t.mobile:a}const vf="(prefers-reduced-motion: reduce)";function Xr(){return rn(vf)}function sn(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:f=!1,useBorder:y=!0,header:v,focusOnOpen:C}=e||{},b=o.useRef(null),[_,h]=o.useState({position:"fixed",left:0,top:-9999}),[w,g]=o.useState(!1),[B,x]=o.useState("bottom"),[A,k]=o.useState(!1),[N,S]=o.useState(!1),E=!t&&!a,O=o.useCallback((q=!1)=>{if(N&&f)return;const R=a?a.getBoundingClientRect():t;if(!R||!b.current)return;const I=b.current,{offsetWidth:D,offsetHeight:H}=I,M=window.innerWidth,F=window.innerHeight,z=M-R.right,Y=R.left,J=R.top,Z=F-R.bottom;let re=0,ue=0,le="top";if(J>=H+r)le="top",ue=R.top-r-H,re=R.left+R.width/2-D/2;else if(Z>=H+r)le="bottom",ue=R.bottom+r,re=R.left+R.width/2-D/2;else if(z>=D+r)le="right",re=R.right+r,ue=R.top+R.height/2-H/2;else if(Y>=D+r)le="left",re=R.left-r-D,ue=R.top+R.height/2-H/2;else{const ge=Math.max(J,Z,z,Y);ge===J?(le="top",ue=R.top-r-H,re=R.left+R.width/2-D/2):ge===Z?(le="bottom",ue=R.bottom+r,re=R.left+R.width/2-D/2):ge===z?(le="right",re=R.right+r,ue=R.top+R.height/2-H/2):(le="left",re=R.left-r-D,ue=R.top+R.height/2-H/2)}const Ee=Number.isFinite(Number(s))?Number(s):8;re=Math.min(Math.max(re,Ee),M-D-Ee),ue=Math.min(Math.max(ue,Ee),F-H-Ee);const W=Math.round(re),oe=Math.round(ue);q&&b.current?(b.current.style.left=`${W}px`,b.current.style.top=`${oe}px`,b.current.dataset.placement=le):(x(le||B),h({position:"fixed",left:W,top:oe}),k(!0))},[N,f,a,t,r,s,B]);o.useLayoutEffect(()=>{if(E)return;if(N&&f){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}O();const q=requestAnimationFrame(()=>O());return()=>cancelAnimationFrame(q)},[t,a,r,m,s,E,N,f,O]),o.useEffect(()=>{if(E||N&&f||!b.current||typeof ResizeObserver>"u")return;const q=new ResizeObserver(()=>{t&&O()});return q.observe(b.current),()=>q.disconnect()},[t,m,s,E,N,f,O]),o.useEffect(()=>{if(E||N&&f)return;const q=()=>O(!0),R=I=>{if(!a&&i){const D=I.target;if(D&&b.current&&b.current.contains(D))return;try{if(D&&D.closest&&D.closest("[data-tooltip-ignore]"))return}catch{}P.current(!0);return}q()};return window.addEventListener("resize",q),document.addEventListener("scroll",R,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",q),document.removeEventListener("scroll",R,{capture:!0})}},[t,a,i,r,m,s,E,N,f,O]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const q=window.matchMedia("(max-width: 768px)"),R=()=>S(!!q.matches);R();try{q.addEventListener?q.addEventListener("change",R):q.addListener(R)}catch{try{q.addListener(R)}catch{}}return()=>{try{q.removeEventListener?q.removeEventListener("change",R):q.removeListener(R)}catch{}}},[]);const $=o.useRef(!1),G=o.useRef(null),j=Xr(),L=o.useCallback((q=!1)=>{if(i&&!(w||$.current)){if($.current=!0,q){g(!0);try{i&&i()}catch{$.current=!1,g(!1)}return}g(!0),G.current=setTimeout(()=>{G.current=null;try{i&&i()}catch{$.current=!1,g(!1)}},j?0:200)}},[w,i,g,j]);o.useEffect(()=>()=>{G.current&&clearTimeout(G.current)},[]),o.useEffect(()=>{if(E)return;const q=D=>{const H=b.current;if(!H)return;const M=D.target;if(M&&!H.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},R=D=>{const H=b.current;if(!H)return;const M=D.target;if(M&&!H.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},I=D=>{if(D.key==="Tab"){const H=b.current;if(!H)return;const M=H.querySelectorAll(hn);if(!M||M.length===0)return;const F=M[0],z=M[M.length-1],Y=document.activeElement;D.shiftKey?Y===F&&(D.preventDefault(),z.focus()):Y===z&&(D.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",q,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",I),()=>{document.removeEventListener("pointerdown",q,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",I)}},[i,l,L,E]);const P=o.useRef(L);o.useEffect(()=>{P.current=L});const K=!!i;o.useEffect(()=>{if(!(E||!K))return Vn(()=>P.current())},[E,K]),o.useEffect(()=>{const q=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",q),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",q)}},[L]);const ee=o.useRef(null);o.useEffect(()=>{if(E||C===!1||!A)return;const q=b.current;if(!q)return;const R=q.querySelector(hn);if(R)return ee.current=document.activeElement,R.focus(),()=>{const I=ee.current;ee.current=null,I&&document.contains(I)&&I.focus()}},[E,C,A]),o.useEffect(()=>{c==="dialog"&&!d&&Kt("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 V=n.jsxs("div",{ref:b,className:`tooltip-content ${E?"tooltip-content--inline":""} ${y?"tooltip-content--bordered":""} ${w?"is-closing":""} ${u} ${N&&f?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:E?{}:{..._,visibility:A?"visible":"hidden"},tabIndex:-1,"data-placement":B,"data-left":E?"":_.left,"data-top":E?"":_.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(E||typeof document>"u")return V;if(p||N&&f){const q=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),V]});return en.createPortal(q,document.body)}return en.createPortal(V,document.body)}function _n(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(sn,{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 Wn(e){const{t}=ve.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(sn,{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,f)=>n.jsxs("li",{className:`tooltip-description__item body-3${f===i?" tooltip-description__item--active":""}`,children:[l&&m.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[f+1,"."]}),p.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),n.jsx("span",{children:p.text})]},f))})]})})}function wa(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Jr=0,Bi=!1;function Ai(){Bi||typeof document>"u"||(Bi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Jr=Date.now())},!0),document.addEventListener("touchstart",()=>{Jr=Date.now()},{capture:!0,passive:!0}))}Ai();function aa(e){return!!e&&e.pointerType==="touch"}function ra(e=1e3){return Ai(),Date.now()-Jr<e}function Qr(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 f=p,y=p.target,v=a.current,C=!!(y&&v&&v.contains(y));if(f.pointerType!=="touch"){C&&(u.current=null);return}if(C){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 f=null;const y=b=>{const _=b.changedTouches?.[0];if(!_)return!1;const h=m.getBoundingClientRect();return _.clientX>=h.left&&_.clientX<=h.right&&_.clientY>=h.top&&_.clientY<=h.bottom},v=b=>{f=y(b)?i.current:null},C=b=>{const _=f;f=null,!(_===null||Date.now()-c.current<700||!y(b))&&(u.current=null,c.current=Date.now(),l.current(!_,m))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",C),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",C)}},[r,s,a,i,l]),{touchPress:d}}function xf(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:f,children:y,ariaLabel:v,variant:C="default",align:b="center",nowrap:_=!1,selected:h,toggleable:w=!1,ariaExpanded:g,ariaControls:B,disabled:x=!1,useLabel:A=!0,useBorder:k=!0,useBG:N=!0,useDisabledCovered:S=!1,useDisabledInvisible:E=!1,width:O,minWidth:$,onClick:G,onDisabledClick:j,showTooltipInfo:L=!1,tooltipInfoText:P=null,tooltipDescription:K=null,tooltipOnly:ee=!1,iconSize:V="medium",iconColor:q,shape:R="rounded",color:I,className:D,...H}=e,M=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=M.match(/^\d+$/)?`button${M}`:`button-${M}`,z=Number(a),Y=!isNaN(z)&&z<40?"button-2":"button-1",J=m??y,Z=x||!!H.disabled,re=Z?S?"disabled-covered":E?"disabled-invisibled":"disabled":C,ue=re?`button--variant-${re}`:"",le=b?`button--align-${b}`:"",Ee=_?"button--nowrap":"",W=R?`button--shape-${R}`:"",oe=typeof q=="string"&&q.startsWith("--")?`var(${q})`:q,ge={...O?{width:typeof O=="number"?`${O}px`:O}:{},...$?{minWidth:typeof $=="number"?`${$}px`:$}:{},...k?{}:{"--button-border":Z?"0":"1px solid transparent"},...oe?{"--button-icon-color":oe}:{},...I?{"--color-main":I}:{}},Ne=A===!1?"":J,be=Array.isArray(Ne)?Ne.length>0:!!Ne,te=!!d,de=r??(be||c||te?"bar":"dot"),pe=`${F}--${de}`,he=o.useRef(null);o.useEffect(()=>{!Zn||s!==void 0||he.current?.closest("form")&&Kt(`button-in-form:${typeof J=="string"?J:""}`,'[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 J=="string"&&J?` \uB2E8\uCD94: ${J}`:""))},[s,J]);const ye=o.useRef(t);ye.current=t;const je=o.useCallback(Oe=>{he.current=Oe;const st=ye.current;typeof st=="function"?st(Oe):st&&(st.current=Oe)},[]),Ye=o.useRef(Z),[He,Pe]=o.useState(!!h),[Fe,ht]=o.useState(!1),[ut,nt]=o.useState(null),ct=o.useCallback(()=>ht(!1),[]),[ke,Ie]=o.useState(!1),Be=o.useId();o.useEffect(()=>{typeof h=="boolean"&&Pe(h)},[h]),o.useEffect(()=>{if(Ye.current&&!Z&&he.current){const Oe=he.current;let st=!1;try{st=Oe.matches(":focus:not(:focus-visible)")}catch{st=!1}st&&Oe.blur(),Oe.style.pointerEvents="none";const jt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{he.current&&(he.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(jt)}Ye.current=Z},[Z]);const Ze=typeof h=="boolean"?!!h:He,X=typeof g=="boolean"?void 0:w||typeof h=="boolean"?Ze?"true":"false":H["aria-pressed"],ie=Ae("button",F,pe,ue,le,Ee,W,Ze?"is-selected":null,N?null:"button--no-bg",ee?"button--tooltip-only":null,D),fe=`button__icon button__icon--${V}`,De=Array.isArray(f)?f:f!==void 0?[f]:[],et=()=>{if(Array.isArray(Ne))return Ne.map((st,jt)=>{const zt=De[jt];return n.jsxs("span",{className:`button__label-text${zt!==void 0?" button__label-text--has-sub":""}`,children:[st,zt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:zt})]},jt)});const Oe=f!==void 0;return n.jsxs("span",{className:`button__label-text${Oe?" button__label-text--has-sub":""}`,children:[Ne,p!=null&&n.jsx("span",{className:"button__count",children:p}),Oe&&n.jsx("span",{className:"button__sub-label-text caption-1",children:f})]})},Xe=Oe=>{typeof h!="boolean"&&!w&&Pe(!1),Oe.currentTarget.blur()},ft=Oe=>{Z||(typeof H.onMouseLeave=="function"&&H.onMouseLeave(Oe),Xe(Oe))},dt=Oe=>{if(ee&&ot&&tt.touchPress(Oe.currentTarget),Z){ot&&tt.touchPress(Oe.currentTarget),Oe.preventDefault(),j?.(Oe);return}typeof h!="boolean"&&w&&Pe(st=>!st),G?.(Oe)},at=o.useCallback(()=>{(L||K)&&(ht(!0),nt(he.current?.getBoundingClientRect()??null))},[L,K]),rt=o.useCallback(()=>{(L||K)&&(ht(!1),nt(null))},[L,K]),ot=!!(L||K),tt=Qr(Fe,Oe=>{Oe?at():rt()},he,{enabled:ot&&(Z||ee),fallbackOnParent:ot&&Z}),$e={...H};delete $e.disabled,delete $e.className,delete $e.faded,delete $e.useFaded,delete $e.loading,delete $e.onMouseLeave,delete $e.onPointerEnter,delete $e.onPointerLeave,delete $e.onPointerUp,delete $e.onFocus,delete $e.onBlur,Z&&(Object.keys($e).forEach(Oe=>{/^on[A-Z]/.test(Oe)&&typeof $e[Oe]=="function"&&delete $e[Oe]}),$e["aria-disabled"]="true");const qe=(typeof L=="string"?L:null)??(typeof P=="string"?P:null)??(typeof v=="string"?v:null)??(typeof J=="string"?J:null)??void 0,ze=typeof v=="string"?v:typeof J=="string"?J:qe,mt=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&qe&&qe!==ze?qe:"",kt=[typeof H["aria-describedby"]=="string"?H["aria-describedby"]:void 0,mt?Be:null].filter(Boolean).join(" ")||void 0,St=(Oe,st)=>n.jsx(Qe,{icon:Oe,label:st??ze,className:fe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),gt=()=>de==="dot"?n.jsxs(n.Fragment,{children:[St(c),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()})]}):b==="center"&&c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:St(c)}),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()})]}),te&&n.jsx("span",{className:"button__right",children:St(d)})]}):n.jsxs(n.Fragment,{children:[c&&n.jsx("span",{className:"button__left",children:St(c,v??J)}),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()}),te&&n.jsx("span",{className:"button__right",children:St(d)})]}),vt=!!i&&!Z;return n.jsxs(n.Fragment,{children:[n.jsxs(vt?"a":"button",{...$e,ref:je,...vt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s??"button",disabled:Z&&!j&&!ke},className:ie,"aria-pressed":X,"aria-expanded":typeof g=="boolean"?g:H["aria-expanded"],"aria-controls":B??H["aria-controls"],"aria-label":ze,"aria-disabled":Z&&(vt||j||ke)?!0:void 0,"aria-describedby":kt,style:ge,onClick:dt,onMouseLeave:ft,onPointerEnter:Oe=>{aa(Oe)||at(),!Z&&typeof H.onPointerEnter=="function"&&H.onPointerEnter(Oe)},onPointerLeave:Oe=>{aa(Oe)||rt(),!Z&&typeof H.onPointerLeave=="function"&&H.onPointerLeave(Oe)},onPointerUp:Oe=>{Z&&ot&&tt.touchPress(Oe.currentTarget),!Z&&typeof H.onPointerUp=="function"&&H.onPointerUp(Oe)},onFocus:Oe=>{Ie(!0),ra()||at(),!Z&&typeof H.onFocus=="function"&&H.onFocus(Oe)},onBlur:Oe=>{Ie(!1),Z||Xe(Oe),rt(),!Z&&typeof H.onBlur=="function"&&H.onBlur(Oe)},children:[gt(),mt?n.jsx("span",{id:Be,hidden:!0,"aria-label":mt}):null]}),Fe&&K?n.jsx(Wn,{anchorRect:ut,title:K.title,items:K.items,onClose:ct}):Fe&&qe?n.jsx(_n,{anchorRect:ut,text:qe,onClose:ct}):null]})}const me=o.forwardRef(xf);me.displayName="Button";var _f={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}} \uC5F4\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:"\uC5F4\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."},wf={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"},Bf={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"}},Af={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},kf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},Nf={selected:"\uC120\uD0DD\uB428"},Df={placeholder:"\uC120\uD0DD"},Ef={collapse:"\uC811\uAE30",expand:"\uC5F4\uAE30"},Sf={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"},jf={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"},Tf={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."}}},Mf={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."}},Lf={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"}}},$f={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},Rf={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"}},Pf={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"},Ff={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"}},If={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"}}}},Of={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"}},Hf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},zf={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"}},Vf={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."}},Wf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},qf={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"},Uf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Gf={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"}},Kf={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"}},Yf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Zf={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"}},Xf={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"}},Jf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Qf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},e2={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"}},t2={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"}},n2={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:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",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."]},a2={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"}},r2={lead:`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
847
+ `),this.name="StorageNotConfiguredError"}};function sC(e){oC(e)}function Ks(e,t){if(!e)return null;const a=ba();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ys(e){if(!e)return null;const t=ba();if(!t)throw new Gs("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Zs(e){const t=ba();if(!t)throw new Gs("downloadSound");return t.download(e)}function iC(){return ba()?.noiseBaseUrl??"/sounds/noise"}function lC(){const e=Number(ba()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function uC(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 Xs="__ihab_core_tts_config__";function $r(){return globalThis[Xs]?.urlResolver??null}function cC(){return globalThis[Xs]?.fallbackUrlResolver??null}const dC="__ihab_core_pronunciation_resolver__";function pC(){return globalThis[dC]??null}let jn=null;const ya=new WeakMap,Rr=new WeakMap,Pr=new WeakMap;let Js=!1;const Qs=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function mC(){if(Js||typeof document>"u")return;Js=!0;const e=()=>{try{jn&&jn.state!=="running"&&jn.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function ei(){if(jn)return jn;try{const e=window.AudioContext||window.webkitAudioContext;return e?(jn=new e,mC(),jn):null}catch{return null}}function Fr(){try{jn?.resume()}catch{}}function Ir(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=Qs(Rr.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 za(e){if(!e)return Promise.resolve(null);const t=ya.get(e);if(t)return Promise.resolve(t.analyser);const a=ei();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Ir(a,e)?.analyser??null);const r=Pr.get(e);if(r)return r;const s=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Ir(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Pr.delete(e)});return Pr.set(e,s),s}function hC(e){if(!e)return null;const t=ya.get(e);if(t)return t.analyser;const a=ei();return a?a.state==="running"?Ir(a,e)?.analyser??null:(za(e),null):null}function Tn(e,t){const a=Qs(t);Rr.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 Va(e){return Rr.get(e)??e.volume}function CC(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 fC="__ihab_core_image_config__";function Qn(){return globalThis[fC]??null}const ti="word_image_existence_map_v1";let zn=null;const Wa=new Map;function gC(){if(zn)return zn;try{const e=typeof localStorage<"u"?localStorage.getItem(ti):null,t=e?JSON.parse(e):null;zn=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{zn={}}return zn}let Or=null;function bC(){Or||(Or=setTimeout(()=>{Or=null;try{typeof localStorage<"u"&&zn&&localStorage.setItem(ti,JSON.stringify(zn))}catch{}},200))}function yC(e,t){return`${e}_${t??1}`}async function ni(e,t){const a=gC(),r=yC(e,t);if(r in a)return a[r];if(Wa.has(r))return Wa.get(r);const s=Qn();if(!s)return!1;const i=s(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:uC(8e3)}).then(u=>u.status>=500?null:u.ok,()=>null).then(u=>(Wa.delete(r),u===null?!1:(a[r]=u,bC(),u)));return Wa.set(r,l),l}const vC={\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"}},ai=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ri=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],xC=["","\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 _C(e){const t=va(e[0]||"");return t?ai[t.cho]:""}function wC(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>ai.includes(l),r=l=>ri.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],f=s[m];if(f==="cho"){if(_C(p)!==t[m]){d=!1;break}}else if(f==="jung"){const y=va(p);if(!y||ri[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 BC={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(BC).map(([e,t])=>[t.join(""),xC[Number(e)]]));const AC="word_pair_index_v2",kC="word_pair_index_sig_v2";let qa=null;function NC(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(AC),t=localStorage.getItem(kC);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function DC(){if(qa)return qa;const e=NC();return e?(qa=e.index,e.sig,qa):null}const Hr=/[ㄱ-ㅎ]/,EC=/[ㅏ-ㅣ]/;function oi(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||Hr.test(a)||EC.test(a))return a}return null}function SC(e){const t=oi(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Hr.test(t)?"\uC774":"\uAC00"}function jC(e){return`${e}${SC(e)}`}function TC(e){const t=oi(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Hr.test(t)?"\uC744":"\uB97C"}function MC(e){return`${e}${TC(e)}`}function LC(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 $C=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof Mt?.t=="function"?Mt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function si(e,t){if(t===void 0&&(t=$C()),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 RC="__ihab_core_word_pool__";function ii(){return globalThis[RC]??null}const li=globalThis;function ui(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function PC(e){ui("time",()=>li.__ihabTrainingTimeLogger?.(e))}function FC(e){ui("completion",()=>li.__ihabTrainingCompletionLogger?.(e))}function Ua(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 Zt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function IC(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 OC(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Zt(r.contextCode)??Zt(r.itemId)??Zt(r.itemCode)??Zt(r.id),question:Zt(r.question)??Zt(r.q)??Zt(r.sentence)??Zt(r.text)??Zt(r.prompt)??Zt(r.word)??Zt(r.targetSyllable),answer:Zt(r.answer),selected:Zt(r.selectedText)??Zt(r.selected),correct:IC(r),shownAt:Ua(r.shownAt)??Ua(r.shown_at),answeredAt:Ua(r.answeredAt)??Ua(r.answered_at)}}):[]}const zr=globalThis;async function HC(){try{return await zr.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ci(e){const t=a=>{};try{const a=zr.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function Ga(e){try{zr.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}async function zC(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 VC="Asia/Seoul",WC=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Vr(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),r=WC.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 qC=e=>Vr(e);function UC(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",r=qC(e);return r?r.toLocaleDateString(a,{timeZone:VC,year:"numeric",month:"short",day:"numeric"}):""}function _a(){return qr(new Date)}function Wr(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:_a()}function ea(){return KC(_a())}const GC=540*60*1e3;function di(e,t,a){return new Date(Date.UTC(e,t,a)-GC)}function KC(e){const[t,a,r]=e.split("-").map(Number);return new Date(t,(a||1)-1,r||1)}function qr(e){if(e==null||e==="")return"";const t=Vr(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function pi(e,t){if(!e)return"";const a=Vr(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 mi(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:s=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=qr(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 ta(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function hi(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 Ur(e){return(e??0).toLocaleString("ko-KR")}const YC=[{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"}]}],ZC=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",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 Ci(){return YC}function XC(){return ZC}const JC=[],QC=[],ef=[],tf=[];function nf(){return{LISTEN_IN_NOISE:JC,SHORT_STORY:QC,LONG_STORY:ef,ORDERING_SENTENCE:tf}}const af=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"party-popper",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."}],fi={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function rf(e){return af.map(t=>{const a=fi[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let Ka=null,gi=null,bi=null;function of(){const e=ii();if(e&&e.entries.length>0){const t=DC();if(Ka&&gi===e&&bi===t)return Ka;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 Ka=r,gi=e,bi=t,Ka}return[]}new Proxy([],{get(e,t){const a=of(),r=a[t];return typeof r=="function"?r.bind(a):r}});const sf="0.299.0";function lf(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 uf(e){if(typeof window>"u")return"";const t=(a,r)=>{typeof r.attrValue=="string"&&lf(r.attrValue)&&(r.keepAttr=!1)};Mr.addHook("uponSanitizeAttribute",t);try{return Mr.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Mr.removeHook("uponSanitizeAttribute",t)}}function cf(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=Lr(e):/^(Logo|Symbol)/i.test(d)?m=Lr(`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 f=p.headers.get("content-type")||"";if(d)return;if(f.includes("svg")){s("mask");return}if(f.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 C=uf(v);if(!C){s("none");return}l(C),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 Qe(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",f=l??"iconRenderer-icon-svg",y=typeof t=="string"?t:null,v=x0(y),{iconToUse:C,mode:b,svgText:_,blobUrl:h}=cf(y),w=(k,N={})=>n.jsx("span",{className:d,style:u,...N,children:k}),g=typeof c=="number"?{width:c,height:c,objectFit:"contain"}:null,B=(k,N={})=>n.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:m,...N,style:g?{...N.style,...g}:N.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(n.jsx("span",{className:f,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:f,size:typeof c=="number"?c:20}),{"aria-hidden":"true"})}catch{}if(C&&C.endsWith(".svg")){if(b==="mask"){const k={"--icon-url":h?`url(${h})`:`url(${C})`,...typeof c=="number"?{"--icon-size":`${c}px`}:null};return w(n.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return b==="img"?w(B(C,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):b==="inline"?w(n.jsx("span",{className:f,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 B(Lr(t),{style:u,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const x=typeof c=="number"?c:20,A=`<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:f,dangerouslySetInnerHTML:{__html:A}}),{"aria-hidden":"true"})}function yi(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 df({icon:e,title:t,message:a,action:r,className:s}){const{pending:i,press:l}=yi(r?.onClick);return n.jsxs("div",{className:Ae("empty-state",s),children:[e&&n.jsx(Qe,{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(Qe,{icon:r.icon,className:"button__icon"}),n.jsx("span",{className:"button__label button-1",children:r.label})]})]})}function pf({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:s,className:i}){const{t:l}=ve.useTranslation(),{pending:u,press:c}=yi(r);return n.jsxs("div",{className:Ae("empty-state","error-state",i),role:"alert",children:[n.jsx(Qe,{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(Qe,{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 mf({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`,f=()=>{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:f,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),f())},className:Ae("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(Qe,{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(Qe,{icon:"arrow-right",size:18})})]})]})})}function hf({as:e="div",className:t="",children:a,storage:r,...s}){r&&sC({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=Ae("ihabdevteam-core-scope",t);return n.jsx(e,{className:i,...s,children:a})}function Gr(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(hn)).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 hn='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',Kr=new WeakMap;function Yr(e,t){e&&Kr.set(e,t)}function Zr(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let r=t;for(;r&&!Kr.has(r);)r=r.parentElement;if(!r)return t;t=Kr.get(r)??null}return t}function vi(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 Ya(e,t,a){const r=e?.isConnected?e:a?.isConnected?a:null;if(vi(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!r)return null;const s=Array.from(document.querySelectorAll(hn)).filter(c=>!(e&&e.contains(c))&&vi(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 Cf({title:e="",lines:t=[],notices:a=null,children:r,variant:s="default",dismissible:i=!1,className:l=""}){const{t:u}=ve.useTranslation(),[c,d]=o.useState(!1),m=o.useRef(null),p=o.useCallback(()=>{const C=m.current;C&&C.contains(document.activeElement)&&Ya(C),d(!0)},[]);if(c)return null;const f=`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:f,role:"note",children:[a.map((C,b)=>n.jsxs("div",{className:"notice-box__inner",children:[C.title?n.jsx("span",{className:"notice-box__title body-3",children:C.title}):null,n.jsx("div",{className:"notice-box__body",children:C.lines&&C.lines.length?n.jsx("div",{children:C.lines.map((_,h)=>n.jsx("span",{className:"notice-box__line body-3",children:_},h))}):C.children??null})]},b)),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((C,b)=>n.jsx("li",{className:"notice-box__line",children:C},b))}):r})]}):n.jsx("div",{className:"notice-box__inner",children:r});return n.jsxs("div",{ref:m,className:f,role:"note",children:[v,y]})}const na=[];let Za=!1;function xi(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=na[na.length-1];t&&(e.stopPropagation(),t())}function Vn(e){return na.push(e),!Za&&typeof document<"u"&&(document.addEventListener("keydown",xi),Za=!0),()=>{const t=na.lastIndexOf(e);t>=0&&na.splice(t,1),na.length===0&&Za&&typeof document<"u"&&(document.removeEventListener("keydown",xi),Za=!1)}}const _i=o.createContext(null);function ff(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const wi=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function gf(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 os.useSyncExternalStore(t,()=>wi(e),()=>!1)}function bf(e){const[t,a]=o.useState(wi(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 yf=typeof os.useSyncExternalStore=="function"?gf:bf;function rn(e){const t=o.useContext(_i),a=yf(e);return t&&typeof t.mobile=="boolean"&&ff(e)?t.mobile:a}const vf="(prefers-reduced-motion: reduce)";function Xr(){return rn(vf)}function sn(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:f=!1,useBorder:y=!0,header:v,focusOnOpen:C}=e||{},b=o.useRef(null),[_,h]=o.useState({position:"fixed",left:0,top:-9999}),[w,g]=o.useState(!1),[B,x]=o.useState("bottom"),[A,k]=o.useState(!1),[N,S]=o.useState(!1),E=!t&&!a,O=o.useCallback((q=!1)=>{if(N&&f)return;const R=a?a.getBoundingClientRect():t;if(!R||!b.current)return;const I=b.current,{offsetWidth:D,offsetHeight:H}=I,M=window.innerWidth,F=window.innerHeight,z=M-R.right,Y=R.left,J=R.top,Z=F-R.bottom;let re=0,ue=0,le="top";if(J>=H+r)le="top",ue=R.top-r-H,re=R.left+R.width/2-D/2;else if(Z>=H+r)le="bottom",ue=R.bottom+r,re=R.left+R.width/2-D/2;else if(z>=D+r)le="right",re=R.right+r,ue=R.top+R.height/2-H/2;else if(Y>=D+r)le="left",re=R.left-r-D,ue=R.top+R.height/2-H/2;else{const ge=Math.max(J,Z,z,Y);ge===J?(le="top",ue=R.top-r-H,re=R.left+R.width/2-D/2):ge===Z?(le="bottom",ue=R.bottom+r,re=R.left+R.width/2-D/2):ge===z?(le="right",re=R.right+r,ue=R.top+R.height/2-H/2):(le="left",re=R.left-r-D,ue=R.top+R.height/2-H/2)}const Ee=Number.isFinite(Number(s))?Number(s):8;re=Math.min(Math.max(re,Ee),M-D-Ee),ue=Math.min(Math.max(ue,Ee),F-H-Ee);const W=Math.round(re),oe=Math.round(ue);q&&b.current?(b.current.style.left=`${W}px`,b.current.style.top=`${oe}px`,b.current.dataset.placement=le):(x(le||B),h({position:"fixed",left:W,top:oe}),k(!0))},[N,f,a,t,r,s,B]);o.useLayoutEffect(()=>{if(E)return;if(N&&f){h({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}O();const q=requestAnimationFrame(()=>O());return()=>cancelAnimationFrame(q)},[t,a,r,m,s,E,N,f,O]),o.useEffect(()=>{if(E||N&&f||!b.current||typeof ResizeObserver>"u")return;const q=new ResizeObserver(()=>{t&&O()});return q.observe(b.current),()=>q.disconnect()},[t,m,s,E,N,f,O]),o.useEffect(()=>{if(E||N&&f)return;const q=()=>O(!0),R=I=>{if(!a&&i){const D=I.target;if(D&&b.current&&b.current.contains(D))return;try{if(D&&D.closest&&D.closest("[data-tooltip-ignore]"))return}catch{}P.current(!0);return}q()};return window.addEventListener("resize",q),document.addEventListener("scroll",R,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",q),document.removeEventListener("scroll",R,{capture:!0})}},[t,a,i,r,m,s,E,N,f,O]),o.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const q=window.matchMedia("(max-width: 768px)"),R=()=>S(!!q.matches);R();try{q.addEventListener?q.addEventListener("change",R):q.addListener(R)}catch{try{q.addListener(R)}catch{}}return()=>{try{q.removeEventListener?q.removeEventListener("change",R):q.removeListener(R)}catch{}}},[]);const $=o.useRef(!1),G=o.useRef(null),j=Xr(),L=o.useCallback((q=!1)=>{if(i&&!(w||$.current)){if($.current=!0,q){g(!0);try{i&&i()}catch{$.current=!1,g(!1)}return}g(!0),G.current=setTimeout(()=>{G.current=null;try{i&&i()}catch{$.current=!1,g(!1)}},j?0:200)}},[w,i,g,j]);o.useEffect(()=>()=>{G.current&&clearTimeout(G.current)},[]),o.useEffect(()=>{if(E)return;const q=D=>{const H=b.current;if(!H)return;const M=D.target;if(M&&!H.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},R=D=>{const H=b.current;if(!H)return;const M=D.target;if(M&&!H.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},I=D=>{if(D.key==="Tab"){const H=b.current;if(!H)return;const M=H.querySelectorAll(hn);if(!M||M.length===0)return;const F=M[0],z=M[M.length-1],Y=document.activeElement;D.shiftKey?Y===F&&(D.preventDefault(),z.focus()):Y===z&&(D.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",q,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",I),()=>{document.removeEventListener("pointerdown",q,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",I)}},[i,l,L,E]);const P=o.useRef(L);o.useEffect(()=>{P.current=L});const K=!!i;o.useEffect(()=>{if(!(E||!K))return Vn(()=>P.current())},[E,K]),o.useEffect(()=>{const q=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",q),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",q)}},[L]);const ee=o.useRef(null);o.useEffect(()=>{if(E||C===!1||!A)return;const q=b.current;if(!q)return;const R=q.querySelector(hn);if(R)return ee.current=document.activeElement,R.focus(),()=>{const I=ee.current;ee.current=null,I&&document.contains(I)&&I.focus()}},[E,C,A]),o.useEffect(()=>{c==="dialog"&&!d&&Kt("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 V=n.jsxs("div",{ref:b,className:`tooltip-content ${E?"tooltip-content--inline":""} ${y?"tooltip-content--bordered":""} ${w?"is-closing":""} ${u} ${N&&f?"is-mobile":""}`,role:c,"aria-label":d||void 0,style:E?{}:{..._,visibility:A?"visible":"hidden"},tabIndex:-1,"data-placement":B,"data-left":E?"":_.left,"data-top":E?"":_.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(E||typeof document>"u")return V;if(p||N&&f){const q=n.jsxs("div",{className:"tooltip-portal",children:[n.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),V]});return en.createPortal(q,document.body)}return en.createPortal(V,document.body)}function _n(e){const{anchorRect:t,text:a,offset:r=8,onClose:s,className:i="",ariaLabel:l}=e||{};return a?n.jsx(sn,{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 Wn(e){const{t}=ve.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(sn,{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,f)=>n.jsxs("li",{className:`tooltip-description__item body-3${f===i?" tooltip-description__item--active":""}`,children:[l&&m.length>1&&n.jsxs("span",{className:"tooltip-description__index button-1",children:[f+1,"."]}),p.color&&n.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),n.jsx("span",{children:p.text})]},f))})]})})}function wa(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),t}let Jr=0,Bi=!1;function Ai(){Bi||typeof document>"u"||(Bi=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Jr=Date.now())},!0),document.addEventListener("touchstart",()=>{Jr=Date.now()},{capture:!0,passive:!0}))}Ai();function aa(e){return!!e&&e.pointerType==="touch"}function ra(e=1e3){return Ai(),Date.now()-Jr<e}function Qr(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 f=p,y=p.target,v=a.current,C=!!(y&&v&&v.contains(y));if(f.pointerType!=="touch"){C&&(u.current=null);return}if(C){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 f=null;const y=b=>{const _=b.changedTouches?.[0];if(!_)return!1;const h=m.getBoundingClientRect();return _.clientX>=h.left&&_.clientX<=h.right&&_.clientY>=h.top&&_.clientY<=h.bottom},v=b=>{f=y(b)?i.current:null},C=b=>{const _=f;f=null,!(_===null||Date.now()-c.current<700||!y(b))&&(u.current=null,c.current=Date.now(),l.current(!_,m))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",C),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",C)}},[r,s,a,i,l]),{touchPress:d}}function xf(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:f,children:y,ariaLabel:v,variant:C="default",align:b="center",nowrap:_=!1,selected:h,toggleable:w=!1,ariaExpanded:g,ariaControls:B,disabled:x=!1,useLabel:A=!0,useBorder:k=!0,useBG:N=!0,useDisabledCovered:S=!1,useDisabledInvisible:E=!1,width:O,minWidth:$,onClick:G,onDisabledClick:j,showTooltipInfo:L=!1,tooltipInfoText:P=null,tooltipDescription:K=null,tooltipOnly:ee=!1,iconSize:V="medium",iconColor:q,shape:R="rounded",color:I,className:D,...H}=e,M=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=M.match(/^\d+$/)?`button${M}`:`button-${M}`,z=Number(a),Y=!isNaN(z)&&z<40?"button-2":"button-1",J=m??y,Z=x||!!H.disabled,re=Z?S?"disabled-covered":E?"disabled-invisibled":"disabled":C,ue=re?`button--variant-${re}`:"",le=b?`button--align-${b}`:"",Ee=_?"button--nowrap":"",W=R?`button--shape-${R}`:"",oe=typeof q=="string"&&q.startsWith("--")?`var(${q})`:q,ge={...O?{width:typeof O=="number"?`${O}px`:O}:{},...$?{minWidth:typeof $=="number"?`${$}px`:$}:{},...k?{}:{"--button-border":Z?"0":"1px solid transparent"},...oe?{"--button-icon-color":oe}:{},...I?{"--color-main":I}:{}},Ne=A===!1?"":J,be=Array.isArray(Ne)?Ne.length>0:!!Ne,te=!!d,de=r??(be||c||te?"bar":"dot"),pe=`${F}--${de}`,he=o.useRef(null);o.useEffect(()=>{!Zn||s!==void 0||he.current?.closest("form")&&Kt(`button-in-form:${typeof J=="string"?J:""}`,'[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 J=="string"&&J?` \uB2E8\uCD94: ${J}`:""))},[s,J]);const ye=o.useRef(t);ye.current=t;const je=o.useCallback(Oe=>{he.current=Oe;const st=ye.current;typeof st=="function"?st(Oe):st&&(st.current=Oe)},[]),Ye=o.useRef(Z),[He,Pe]=o.useState(!!h),[Fe,ht]=o.useState(!1),[ut,nt]=o.useState(null),ct=o.useCallback(()=>ht(!1),[]),[ke,Ie]=o.useState(!1),Be=o.useId();o.useEffect(()=>{typeof h=="boolean"&&Pe(h)},[h]),o.useEffect(()=>{if(Ye.current&&!Z&&he.current){const Oe=he.current;let st=!1;try{st=Oe.matches(":focus:not(:focus-visible)")}catch{st=!1}st&&Oe.blur(),Oe.style.pointerEvents="none";const jt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{he.current&&(he.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(jt)}Ye.current=Z},[Z]);const Ze=typeof h=="boolean"?!!h:He,X=typeof g=="boolean"?void 0:w||typeof h=="boolean"?Ze?"true":"false":H["aria-pressed"],ie=Ae("button",F,pe,ue,le,Ee,W,Ze?"is-selected":null,N?null:"button--no-bg",ee?"button--tooltip-only":null,D),fe=`button__icon button__icon--${V}`,De=Array.isArray(f)?f:f!==void 0?[f]:[],et=()=>{if(Array.isArray(Ne))return Ne.map((st,jt)=>{const zt=De[jt];return n.jsxs("span",{className:`button__label-text${zt!==void 0?" button__label-text--has-sub":""}`,children:[st,zt!==void 0&&n.jsx("span",{className:"button__sub-label-text caption-1",children:zt})]},jt)});const Oe=f!==void 0;return n.jsxs("span",{className:`button__label-text${Oe?" button__label-text--has-sub":""}`,children:[Ne,p!=null&&n.jsx("span",{className:"button__count",children:p}),Oe&&n.jsx("span",{className:"button__sub-label-text caption-1",children:f})]})},Xe=Oe=>{typeof h!="boolean"&&!w&&Pe(!1),Oe.currentTarget.blur()},ft=Oe=>{Z||(typeof H.onMouseLeave=="function"&&H.onMouseLeave(Oe),Xe(Oe))},dt=Oe=>{if(ee&&ot&&tt.touchPress(Oe.currentTarget),Z){ot&&tt.touchPress(Oe.currentTarget),Oe.preventDefault(),j?.(Oe);return}typeof h!="boolean"&&w&&Pe(st=>!st),G?.(Oe)},at=o.useCallback(()=>{(L||K)&&(ht(!0),nt(he.current?.getBoundingClientRect()??null))},[L,K]),rt=o.useCallback(()=>{(L||K)&&(ht(!1),nt(null))},[L,K]),ot=!!(L||K),tt=Qr(Fe,Oe=>{Oe?at():rt()},he,{enabled:ot&&(Z||ee),fallbackOnParent:ot&&Z}),$e={...H};delete $e.disabled,delete $e.className,delete $e.faded,delete $e.useFaded,delete $e.loading,delete $e.onMouseLeave,delete $e.onPointerEnter,delete $e.onPointerLeave,delete $e.onPointerUp,delete $e.onFocus,delete $e.onBlur,Z&&(Object.keys($e).forEach(Oe=>{/^on[A-Z]/.test(Oe)&&typeof $e[Oe]=="function"&&delete $e[Oe]}),$e["aria-disabled"]="true");const qe=(typeof L=="string"?L:null)??(typeof P=="string"?P:null)??(typeof v=="string"?v:null)??(typeof J=="string"?J:null)??void 0,ze=typeof v=="string"?v:typeof J=="string"?J:qe,mt=K?[K.title,...K.items??[]].filter(Boolean).join(". "):L&&qe&&qe!==ze?qe:"",kt=[typeof H["aria-describedby"]=="string"?H["aria-describedby"]:void 0,mt?Be:null].filter(Boolean).join(" ")||void 0,St=(Oe,st)=>n.jsx(Qe,{icon:Oe,label:st??ze,className:fe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),gt=()=>de==="dot"?n.jsxs(n.Fragment,{children:[St(c),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()})]}):b==="center"&&c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"button__center-group",children:[n.jsx("span",{className:"button__left",children:St(c)}),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()})]}),te&&n.jsx("span",{className:"button__right",children:St(d)})]}):n.jsxs(n.Fragment,{children:[c&&n.jsx("span",{className:"button__left",children:St(c,v??J)}),be&&n.jsx("span",{className:`button__label ${Y}`,children:et()}),te&&n.jsx("span",{className:"button__right",children:St(d)})]}),vt=!!i&&!Z;return n.jsxs(n.Fragment,{children:[n.jsxs(vt?"a":"button",{...$e,ref:je,...vt?{href:i,target:l,rel:u??(l==="_blank"?"noreferrer":void 0)}:{type:s??"button",disabled:Z&&!j&&!ke},className:ie,"aria-pressed":X,"aria-expanded":typeof g=="boolean"?g:H["aria-expanded"],"aria-controls":B??H["aria-controls"],"aria-label":ze,"aria-disabled":Z&&(vt||j||ke)?!0:void 0,"aria-describedby":kt,style:ge,onClick:dt,onMouseLeave:ft,onPointerEnter:Oe=>{aa(Oe)||at(),!Z&&typeof H.onPointerEnter=="function"&&H.onPointerEnter(Oe)},onPointerLeave:Oe=>{aa(Oe)||rt(),!Z&&typeof H.onPointerLeave=="function"&&H.onPointerLeave(Oe)},onPointerUp:Oe=>{Z&&ot&&tt.touchPress(Oe.currentTarget),!Z&&typeof H.onPointerUp=="function"&&H.onPointerUp(Oe)},onFocus:Oe=>{Ie(!0),ra()||at(),!Z&&typeof H.onFocus=="function"&&H.onFocus(Oe)},onBlur:Oe=>{Ie(!1),Z||Xe(Oe),rt(),!Z&&typeof H.onBlur=="function"&&H.onBlur(Oe)},children:[gt(),mt?n.jsx("span",{id:Be,hidden:!0,"aria-label":mt}):null]}),Fe&&K?n.jsx(Wn,{anchorRect:ut,title:K.title,items:K.items,onClose:ct}):Fe&&qe?n.jsx(_n,{anchorRect:ut,text:qe,onClose:ct}):null]})}const me=o.forwardRef(xf);me.displayName="Button";var _f={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}} \uC5F4\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:"\uC5F4\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."},wf={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"},Bf={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"}},Af={clearAriaLabel:"\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30"},kf={starLabel:"{{n}}\uBC88\uC9F8 \uBCC4 \uC120\uD0DD",valueLabel:"{{max}}\uC810 \uB9CC\uC810\uC5D0 {{value}}\uC810",groupLabel:"\uBCC4\uC810"},Nf={selected:"\uC120\uD0DD\uB428"},Df={placeholder:"\uC120\uD0DD"},Ef={collapse:"\uC811\uAE30",expand:"\uC5F4\uAE30"},Sf={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"},jf={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"},Tf={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."}}},Mf={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."}},Lf={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"}}},$f={guide:{faq:{title:"\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38",desc:"FAQ \uBAA8\uC544\uBCF4\uAE30"}}},Rf={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.",answerLockedHint:"\uB2E4 \uB4E4\uC73C\uBA74 \uACE0\uB97C \uC218 \uC788\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"}},Pf={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"},Ff={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"}},If={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"}}}},Of={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"}},Hf={unitVisit:"\uAC74",periodAll:"\uC804\uCCB4",showN:"{{n}}\uAC1C\uC529"},zf={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"}},Vf={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."}},Wf={comingSoon:"\uB2E8\uC5B4\uD6C8\uB828 \uAE30\uB2A5\uC744 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4."},qf={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"},Uf={title:"\uC8FC\uC694 \uB2E8\uC5B4",empty:"\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},Gf={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"}},Kf={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"}},Yf={clearAllSelection:"\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C",divLine:"\uB300\uB9BD\uC120",removePair:"\uB300\uB9BD\uC30D \uBE7C\uAE30",removeWord:"\uB2E8\uC5B4 \uBE7C\uAE30"},Zf={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"}},Xf={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"}},Jf={passwordPlaceholder:"\uBE44\uBC00\uBC88\uD638 \uC785\uB825"},Qf={subtitle:"\uC8FC\uC81C\uB97C \uC120\uD0DD\uD558\uC5EC \uB4E3\uAE30 \uC5F0\uC2B5\uC744 \uC9C4\uD589\uD558\uC138\uC694."},e2={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"}},t2={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"}},n2={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:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4.",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."]},a2={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"}},r2={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"},o2={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"}}},s2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},i2={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"}},l2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},u2={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"},c2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},d2={ariaLabel:"\uC120\uD0DD \uD0ED"},p2={ariaLabel:"\uD0ED"},m2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},h2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},C2={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"}},f2={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",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"}},g2={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"}},y2={cancelLabel:"\uCDE8\uC18C"},v2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},x2={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"},_2={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"},w2={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"},B2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},A2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},k2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},N2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},D2={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"}},E2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},S2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},j2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},T2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},M2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},L2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},$2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},R2={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"},P2={common:_f,calendar:wf,passCard:Bf,searchField:Af,rating:kf,colorPicker:Nf,dropdown:Df,accordion:Ef,header:Sf,nav:jf,settings:Tf,usage:Mf,account:Lf,help:$f,training:Rf,trainingSettings:Pf,customers:Ff,payment:If,coupons:Of,visits:Hf,company:zf,trainingType:Vf,myWordTraining:Wf,myWordTable:qf,keyWords:Uf,wordTable:Gf,wordSearch:Kf,wordPrint:Yf,topic:Zf,accessLinkManager:Xf,login:Jf,trainingPlanRun:Qf,device:e2,manager:t2,wordPairs:n2,game:a2,footer:r2,landing:o2,date:s2,trainingSetPage:i2,wordTrainingPreview:l2,wordData:u2,textField:c2,segmentedControl:d2,tabs:p2,fileUpload:m2,avatar:h2,myHomework:C2,trainingStatus:f2,store:g2,homework:b2,inquiry:y2,progress:v2,trainingMiss:x2,table:_2,wordScore:w2,topBanner:B2,datePicker:A2,report:k2,tooltip:N2,phonemeProfile:D2,bulkBar:E2,debug:S2,badge:j2,loader:T2,soundCompass:M2,breadcrumb:L2,board:$2,promoBannerBg:R2},F2={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:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount:"{{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."},I2={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:"{{count}} visit(s)",statusCount:"{{count}} {{label}}"},O2={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"}},H2={clearAriaLabel:"Clear search"},z2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},V2={selected:"selected"},W2={placeholder:"Select"},q2={collapse:"Collapse",expand:"Expand"},U2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},G2={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:"{{label}}, {{count}} notifications inside"},K2={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."}}},Y2={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"}},Z2={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"}}},X2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},J2={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:"{{n}} questions",countSentences:"{{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"}},Q2={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"},eg={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"}},tg={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},ng={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"}},ag={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},rg={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},og={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."}},sg={comingSoon:"Word training is coming soon."},ig={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"},lg={title:"Key Words",empty:"No key words available."},ug={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:"{{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:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"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:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"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"}},cg={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}}"}},dg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},pg={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"}},mg={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:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},hg={passwordPlaceholder:"Enter password"},Cg={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"}},fg={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"}},gg={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:"Reflects the National Institute of Korean Language's basic vocabulary grade.",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"}},yg={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"},o2={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"}}},s2={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},i2={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"}},l2={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},u2={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"},c2={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},d2={ariaLabel:"\uC120\uD0DD \uD0ED"},p2={ariaLabel:"\uD0ED"},m2={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},h2={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},C2={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"}},f2={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",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"}},g2={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"}},y2={cancelLabel:"\uCDE8\uC18C"},v2={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},x2={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"},_2={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"},w2={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"},B2={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},A2={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},k2={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},N2={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},D2={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"}},E2={clearSelection:"\uC120\uD0DD \uD574\uC81C"},S2={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},j2={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},T2={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},M2={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},L2={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},$2={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},R2={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"},P2={common:_f,calendar:wf,passCard:Bf,searchField:Af,rating:kf,colorPicker:Nf,dropdown:Df,accordion:Ef,header:Sf,nav:jf,settings:Tf,usage:Mf,account:Lf,help:$f,training:Rf,trainingSettings:Pf,customers:Ff,payment:If,coupons:Of,visits:Hf,company:zf,trainingType:Vf,myWordTraining:Wf,myWordTable:qf,keyWords:Uf,wordTable:Gf,wordSearch:Kf,wordPrint:Yf,topic:Zf,accessLinkManager:Xf,login:Jf,trainingPlanRun:Qf,device:e2,manager:t2,wordPairs:n2,game:a2,footer:r2,landing:o2,date:s2,trainingSetPage:i2,wordTrainingPreview:l2,wordData:u2,textField:c2,segmentedControl:d2,tabs:p2,fileUpload:m2,avatar:h2,myHomework:C2,trainingStatus:f2,store:g2,homework:b2,inquiry:y2,progress:v2,trainingMiss:x2,table:_2,wordScore:w2,topBanner:B2,datePicker:A2,report:k2,tooltip:N2,phonemeProfile:D2,bulkBar:E2,debug:S2,badge:j2,loader:T2,soundCompass:M2,breadcrumb:L2,board:$2,promoBannerBg:R2},F2={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:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount:"{{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."},I2={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:"{{count}} visit(s)",statusCount:"{{count}} {{label}}"},O2={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"}},H2={clearAriaLabel:"Clear search"},z2={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},V2={selected:"selected"},W2={placeholder:"Select"},q2={collapse:"Collapse",expand:"Expand"},U2={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},G2={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:"{{label}}, {{count}} notifications inside"},K2={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."}}},Y2={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"}},Z2={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"}}},X2={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},J2={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:"{{n}} questions",countSentences:"{{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.",answerLockedHint:"You can choose once it finishes playing.",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"}},Q2={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"},eg={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"}},tg={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},ng={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"}},ag={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},rg={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},og={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."}},sg={comingSoon:"Word training is coming soon."},ig={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"},lg={title:"Key Words",empty:"No key words available."},ug={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:"{{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:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"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:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"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"}},cg={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}}"}},dg={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},pg={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"}},mg={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:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},hg={passwordPlaceholder:"Enter password"},Cg={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"}},fg={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"}},gg={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:"Reflects the National Institute of Korean Language's basic vocabulary grade.",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"}},yg={lead:`IHAB builds trust
850
850
  through sound
851
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 Siocheong-gil, Chuncheon, Gangwon, Korea"},vg={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"}}},xg={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},_g={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},wg={answer:"Answer",distractor:"Distractor"},Bg={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Ag={clearAriaLabel:"Clear input"},kg={ariaLabel:"Select tab"},Ng={ariaLabel:"Tabs"},Dg={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Eg={ariaLabel:"User avatar"},Sg={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"}},jg={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:"{{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",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},Tg={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)"}},Mg={manage:{unit:"item(s)"}},Lg={cancelLabel:"Cancel"},$g={subtitle:"Select a topic to start listening practice."},Rg={steps:"Step {{current}} of {{total}}"},Pg={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) 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:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},Fg={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},Ig={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}}"},Og={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Hg={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},zg={previewRegion:"Report preview \u2014 scrollable sideways"},Vg={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Wg={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},qg={clearSelection:"Clear selection"},Ug={showResult:"Show {{type}} result"},Gg={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Kg={loading:"Loading"},Yg={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Zg={ariaLabel:"Breadcrumb"},Xg={empty:"No items yet."},Jg={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"},Qg={common:F2,calendar:I2,passCard:O2,searchField:H2,rating:z2,colorPicker:V2,dropdown:W2,accordion:q2,header:U2,nav:G2,settings:K2,usage:Y2,account:Z2,help:X2,training:J2,trainingSettings:Q2,customers:eg,payment:tg,coupons:ng,visits:ag,company:rg,trainingType:og,myWordTraining:sg,myWordTable:ig,keyWords:lg,wordTable:ug,wordSearch:cg,wordPrint:dg,topic:pg,accessLinkManager:mg,login:hg,device:Cg,manager:fg,wordPairs:gg,game:bg,footer:yg,landing:vg,date:xg,trainingSetPage:_g,wordTrainingPreview:wg,wordData:Bg,textField:Ag,segmentedControl:kg,tabs:Ng,fileUpload:Dg,avatar:Eg,myHomework:Sg,trainingStatus:jg,store:Tg,homework:Mg,inquiry:Lg,trainingPlanRun:$g,progress:Rg,trainingMiss:Pg,table:Fg,wordScore:Ig,topBanner:Og,datePicker:Hg,report:zg,tooltip:Vg,phonemeProfile:Wg,bulkBar:qg,debug:Ug,badge:Gg,loader:Kg,soundCompass:Yg,breadcrumb:Zg,board:Xg,promoBannerBg:Jg};const eb=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],eo="ko",tb="ihab_display_language";function ki(){if(typeof window>"u")return eo;try{const e=localStorage.getItem(tb);if(e&&eb.some(t=>t.code===e))return e}catch{}return eo}function Ni(e){try{document.documentElement.lang=e}catch{}}Mt.on("languageChanged",Ni),Ni(ki()),Mt.use(ve.initReactI18next).init({resources:{ko:{translation:P2},en:{translation:Qg}},lng:ki(),fallbackLng:eo,interpolation:{escapeValue:!1},react:{useSuspense:!1}});function wt(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"},to=new WeakMap;function no(e){if(e)return to.get(e)}function Ot(e,t){e&&(e.style.setProperty(Ba.title,t.title),e.style.setProperty(Ba.description,t.description),to.set(e,t))}function Ht(e){e&&(e.style.removeProperty(Ba.title),e.style.removeProperty(Ba.description),to.delete(e))}const Di={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Ei(){const e=wt(Di,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}const Si={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function ji(){const e=wt(Si,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}const Ti={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Mi(){const e=wt(Ti,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}const Li={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function $i(){const e=wt(Li,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}const Ri={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Pi(){const e=wt(Ri,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}const Fi={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Ii(){const e=wt(Fi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}const Oi={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Hi(){const e=wt(Oi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}const zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Vi(){const e=wt(zi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}const Wi={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function qi(){const e=wt(Wi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}const Ui={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Gi(){const e=wt(Ui,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}const Ki={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Yi(){const e=wt(Ki,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 Zi={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Xi(){const e=wt(Zi,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}const Ji={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Qi(){const e=wt(Ji,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}const el={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function tl(){const e=wt(el,Ot,Ht);return n.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Xt=(e,t,a)=>({key:e,get label(){return Mt.t(`promoBannerBg.${e}`,t)},textTone:a}),nb=[Xt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("soft","\uC18C\uD504\uD2B8","dark"),Xt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Xt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Xt("warm","\uC6DC(\uAC15\uC870)","dark"),Xt("dark","\uB2E4\uD06C","light"),Xt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Xt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Xt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Xt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Xt("success","\uC131\uACF5/\uC644\uB8CC","light"),Xt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Xt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],nl={main:Ei,soft:ji,sub:Mi,deep:$i,softSub:Pi,warm:Ii,dark:Hi,radial:Vi,diagonal:qi,dots:Gi,outline:Yi,success:Xi,naver:Qi,instagram:tl};function al({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 g=localStorage.getItem(w),B=g?Number(g):1;return Number.isFinite(B)?l(B):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 f=w=>{d(typeof w=="function"?g=>l(w(g)):l(w))},y=()=>f(w=>+(w+s).toFixed(6)),v=()=>f(w=>+(w-s).toFixed(6)),C=c<r-Number.EPSILON,b=c>a+Number.EPSILON,_=Math.round(t*c),h=Math.round(_*i);return{scale:c,setScale:f,increase:y,decrease:v,canIncrease:C,canDecrease:b,fontSize:_,lineHeight:h}}function rl(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 ao=" \xB7 ",ol=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ao)?e.split(ao).pop()??e:e})(),ab=o.createContext(!1),qn=[];let sl=null;function rb(e){const t=o.useContext(ab);o.useEffect(()=>{if(t||typeof e!="string"||!e)return;qn.length===0&&(sl=document.title);const a={text:ol?`${e}${ao}${ol}`:e};return qn.push(a),document.title=a.text,()=>{const r=qn.lastIndexOf(a);r>=0&&qn.splice(r,1),document.title=qn.length?qn[qn.length-1].text:sl??document.title}},[e,t])}const il=[{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"}],ob=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function oa(e,t){return ob().compare(e,t)}const Xa=new Map;function sb(e){const t=Xa.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)),Xa.size>5e3&&Xa.clear(),Xa.set(e,a),a}function ib(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 lb(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=ib(m);return p!==null?[p]:sb(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 f=oa(m,p);if(f!==0)return f}return l.length!==u.length?l.length-u.length:oa(r,s)}const ll=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function ro(e,t,a){const r=ll(e),s=ll(t);if(r||s)return r===s?0:r?1:-1;const i=lb(e,t);return a?i:-i}function ub(e,t,a){const{t:r}=ve.useTranslation(),[s,i]=o.useState(()=>{const v=a?.initialPageSize;return v&&il.some(C=>C.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(()=>il.map(v=>({...v,label:r("visits.showN",{n:v.value})})),[r]),p=o.useCallback(v=>{i(v),u(1)},[]),f=Math.max(1,Math.ceil(e.length/Number(s)));(l>f||l<1||!Number.isFinite(l))&&u(Math.min(Math.max(1,Number.isFinite(l)?l:1),f));const y=Math.min(Math.max(1,Number.isFinite(l)?l:1),f);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:f,onChange:u},setPage:u}}function cb(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((f,y)=>ro(d(f,m),d(y,m),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:u}}const ln="\uC804\uCCB4",db=new Map;try{Mt.store?.on?.("added",()=>db.clear())}catch{}Object.fromEntries(Object.entries(vC).map(([e,{nucleus:t}])=>[e,t]));const pb={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"})},mb={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"})},hb={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 Cb(e,t){if("place"in t)return pb[t.place](e);const a=mb[t.vowel](e);return t.glide?`${a} \xB7 ${hb[t.glide](e)}`:a}const fb=(e,{defaultValue:t})=>t,ul=(e,t)=>({jamos:e,phonetic:t,tooltip:Cb(fb,t)}),wn=(e,t)=>t.map(a=>ul([a],{place:e})),Lt=(e,t,a)=>ul([...e],a?{vowel:t,glide:a}:{vowel:t}),oo={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:[[Lt("\u3163","frontHigh"),Lt("\u315F","frontHigh","w"),Lt("\u3162","frontHigh","velar")],[Lt("\u3161","backHighUnrounded")],[Lt("\u315C","backHighRounded"),Lt("\u3160","backHighRounded","j")],[Lt("\u3154\u3150","frontMid"),Lt("\u3156\u3152","frontMid","j"),Lt("\u3159\u315A\u315E","frontMid","w")],[Lt("\u3153","backMidUnrounded"),Lt("\u3155","backMidUnrounded","j"),Lt("\u315D","backMidUnrounded","w")],[Lt("\u3157","backMidRounded"),Lt("\u315B","backMidRounded","j")],[Lt("\u314F","low"),Lt("\u3151","low","j"),Lt("\u3158","low","w")]],jong:[wn("labial",["\u3142","\u3141"]),wn("alveolar",["\u3137","\u3134","\u3139"]),wn("velar",["\u3131","\u3147"])]},gb=e=>e===bb?[]:Array.from(e),bb="__NO_CODA__",so=e=>e.map(t=>t.map(({jamos:a,phonetic:r,tooltip:s})=>({v:a.join(""),phonetic:r,tooltip:s}))),cl={cho:so(oo.cho),jung:so(oo.jung),jong:so(oo.jong)};cl.jung.flat().forEach(({v:e})=>{for(const t of gb(e));}),new Set(cl.cho.flat().map(e=>e.v));function yb(e,t=!0){const a=wa(e);o.useEffect(()=>{if(t)return Vn(()=>{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 vb(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 dl(e="warning"){const[t,a]=o.useState(""),[r,s]=o.useState(e),[i,l]=o.useState(0),u=o.useCallback((p,f)=>{s(f),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,C=null;typeof ResizeObserver<"u"&&d.current&&(C=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==y){if(y=B,++v>4){C?.disconnect(),C=null;return}m()}}),C.observe(d.current));const b=B=>{const x=B.target;r&&x.closest?.(r)||c.current?.contains(x)||d.current?.contains(x)||i(!1)};document.addEventListener("mousedown",b),document.addEventListener("pointerdown",b);const _=B=>{d.current?.contains(B.target)||(t==="reposition"?m():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",_,!0);const h=()=>{a==="reposition"?m():a==="close"&&i(!1)};let w=null;const g=()=>{h(),w&&clearTimeout(w),w=setTimeout(()=>{w=null,a==="reposition"&&m()},250)};return a!=="ignore"&&(window.addEventListener("resize",h),window.addEventListener("orientationchange",g)),()=>{C?.disconnect(),document.removeEventListener("mousedown",b),document.removeEventListener("pointerdown",b),t!=="ignore"&&window.removeEventListener("scroll",_,!0),a!=="ignore"&&(window.removeEventListener("resize",h),window.removeEventListener("orientationchange",g)),w&&clearTimeout(w)}},[s,m,t,a,r]),o.useEffect(()=>{if(s)return Vn(()=>i(!1))},[s]);const p=o.useCallback(()=>i(y=>!y),[]),f=o.useCallback(()=>i(!1),[]);return{open:s,setOpen:i,toggle:p,close:f,style:l,triggerRef:c,menuRef:d}}function xb(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,f]=o.useState("idle"),[y,v]=o.useState(null),[C,b]=o.useState([]),[_,h]=o.useState(null),[w,g]=o.useState(0),B=o.useRef(0),x=o.useCallback(R=>{B.current=typeof R=="function"?R(B.current):R,g(B.current)},[]),A=o.useRef(r),k=o.useRef(s);o.useEffect(()=>{A.current=r,k.current=s},[r,s]);const N=o.useRef([]),S=()=>{N.current.forEach(clearTimeout),N.current=[]},E=(R,I)=>{N.current.push(setTimeout(I,R))};o.useEffect(()=>()=>S(),[]);const O=u[d]?.id??null,$=o.useRef(null),G=o.useCallback(()=>{S(),f("playing"),b([]),h(null),x(0);let R=0;e.forEach((I,D)=>{E(R,()=>{m(D),v(I.id),A.current?.(I)}),E(R+1e3,()=>{v(null),b(H=>[...H,I.id])}),R+=1300}),E(R,()=>{f("done"),k.current?.({score:0,total:e.length})})},[e,x]),j=o.useCallback((R,I)=>{if(I>=R.length){f("done"),k.current?.({score:B.current,total:R.length});return}$.current=null,m(I),h(null),f("playing"),v(R[I].id),A.current?.(R[I]),E(i,()=>{v(null),f("waiting")})},[i]),L=o.useCallback(()=>{S();const R=xa(e);c(R),x(0),b([]),j(R,0)},[e,j,x]),P=o.useCallback(()=>{t==="playback"?(c(e),G()):L()},[t,e,G,L]),K=o.useCallback(()=>{S(),f("idle"),v(null),b([]),h(null),m(0),x(0),c([])},[x]),ee=e.map(R=>R.id).join("|");o.useEffect(()=>(a?P():K(),()=>S()),[t,ee,a]);const V=o.useCallback(R=>{p!=="waiting"||t==="playback"||$.current===d||($.current=d,h(R),R===u[d]?.id&&x(I=>I+1),t==="exam"?(f("playing"),E(400,()=>j(u,d+1))):(f("feedback"),E(l,()=>j(u,d+1))))},[p,t,u,d,j,l,x]),q=t==="playback"?e.length:u.length;return{bind:{activeSpeakerId:y,playedIds:C,selectedId:_,answerId:O,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:V},index:d,total:q,score:w,phase:p,done:p==="done",start:P,reset:K}}function _b({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",f=o.useRef(null),[y,v]=o.useState("main"),C=rn("(max-width: 767px)"),b=o.useRef({title:!1,description:!1});o.useLayoutEffect(()=>{const w=f.current;if(!w)return;const g=no(w),B=(x,A,k)=>{if(k!==void 0)w.style.setProperty(A,k),b.current[x]=!0;else if(b.current[x]){const N=g?.[x];N?w.style.setProperty(A,N):w.style.removeProperty(A),b.current[x]=!1}};B("title","--promo-banner-bg-title",c),B("description","--promo-banner-bg-description",d)},[c,d,p]),o.useLayoutEffect(()=>{const w=f.current;if(!w)return;const g=no(w);v(g?.actionVariant??"main")},[p]);const _=Ae("promo-banner",`promo-banner--${l}`,m),h=nl[p];return n.jsxs("div",{ref:f,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,...C?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}function wb({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":s}){const{t:i}=ve.useTranslation(),l=s??i("topBanner.ariaLabel","\uBC30\uB108"),u=o.Children.toArray(e),c=u.length,[d,m]=o.useState(0),[p,f]=o.useState(!1),[y,v]=o.useState(!1),[C,b]=o.useState(!1),_=o.useRef(null),h=o.useRef(null),w=o.useRef(null),g=Xr(),B=p||y||C,x=c>0?Math.min(d,c-1):0;o.useEffect(()=>{if(c<2||t<=0||B||g)return;const k=window.setInterval(()=>m(N=>(Math.min(N,c-1)+1)%c),t);return()=>window.clearInterval(k)},[c,t,B,g]);const A=k=>{h.current!=null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>{h.current=null,b(!1)},k)};return o.useEffect(()=>()=>{h.current!=null&&window.clearTimeout(h.current)},[]),o.useEffect(()=>{if(!C)return;const k=N=>{N.pointerType==="touch"&&(w.current&&w.current.contains(N.target)||(h.current!=null&&(window.clearTimeout(h.current),h.current=null),b(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[C]),c===0?null:n.jsxs("section",{ref:w,className:Ae("top-banner",r),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{_.current=k.pointerType},onPointerDown:k=>{_.current=k.pointerType,k.pointerType==="touch"&&(h.current!=null&&(window.clearTimeout(h.current),h.current=null),b(!0))},onPointerUp:k=>{k.pointerType==="touch"&&A(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&A(5e3)},onMouseEnter:()=>{_.current!=="touch"&&f(!0)},onMouseLeave:()=>f(!1),onFocus:k=>{let N=!0;try{N=k.target.matches(":focus-visible")}catch{N=!0}v(N)},onBlur:k=>{k.currentTarget.contains(k.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((k,N)=>n.jsx("div",{className:"top-banner__slide","aria-hidden":N!==x,...N!==x?{inert:!0}:{},children:k},N))})}),c>1&&n.jsx("div",{className:`top-banner__dots${(a?.[x]??"light")==="dark"?" top-banner__dots--dark":""}`,children:u.map((k,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 Bb({title:e,body:t,open:a=!1,onToggle:r,avatar:s,titleClassName:i="body-2",bodyClassName:l="body-2",className:u=""}){const{t:c}=ve.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]")),f=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[f+1]:p[f-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(Qe,{icon:a?"chevron-up":"chevron-down",label:a?c("accordion.collapse","\uC811\uAE30"):c("accordion.expand","\uC5F4\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 Ab({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(Bb,{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 kb(){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 Nb(){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 Db(){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 Bt(e){const{t}=ve.useTranslation(),{type:a="bar",size:r,className:s="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:B,number:x,position:A="top-right",onClick:k,animate:N=!1}=e,S=B??"check",E=x!==void 0?"number":S,O=typeof r=="number"?r:32,$=Ae("circle-badge",`circle-badge--${E}`,`circle-badge--${A}`,`circle-badge--${O}`,N?"circle-badge--animate":"",k?"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")}[S];return n.jsxs("span",{className:$,onClick:k,onKeyDown:k?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??G,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[x!==void 0&&x,x===void 0&&S==="check"&&n.jsx(kb,{}),x===void 0&&S==="remove"&&n.jsx(Nb,{}),x===void 0&&S==="minus"&&n.jsx(Db,{})]})}const{label:u,children:c,variant:d="default",fill:m="filled",minWidth:p,iconLeft:f,iconRight:y,color:v}=e,C=typeof r=="number"?"medium":r??"medium",b={small:"caption-2b",medium:"body-3b",large:"body-2b"}[C]??"body-2b",_={small:12,medium:14,large:16}[C]??14,h=Ae("badge",`badge--${d}`,`badge--${C}`,m!=="filled"?`badge--${m}`:"",b,s),w=v?.startsWith("--")?`var(${v})`:v,g=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:g,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[f&&n.jsx(Qe,{icon:f,size:_,className:"badge__icon"}),u??c,y&&n.jsx(Qe,{icon:y,size:_,className:"badge__icon"})]})}function Da({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:s}=ve.useTranslation(),i=r==="small"?40:48,[l,u]=o.useState([]),c=o.useMemo(()=>{const b=[{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}],b.push({title:w.label||null,columns:_})}return b},[e,l]),d=c[c.length-1],m=c.length-1,p=o.useCallback(()=>u(b=>b.slice(0,Math.max(0,Math.min(b.length,m)-1))),[m]),f=o.useRef(null),y=o.useRef(null),v=c.length;o.useEffect(()=>{y.current||(y.current=document.activeElement);let b=0,_=0;const h=()=>{const w=f.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(b=requestAnimationFrame(h))};return b=requestAnimationFrame(h),()=>cancelAnimationFrame(b)},[v]),o.useEffect(()=>()=>{y.current?.focus?.({preventScroll:!0})},[]);const C=o.useCallback((b,_,h)=>{if(b){if(Array.isArray(b.children)&&b.children.length){u(w=>[...w.slice(0,m),{ci:_,ii:h}]);return}try{typeof b.onClick=="function"&&b.onClick()}catch{}try{b&&b.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:f,children:d.columns&&d.columns.map((b,_)=>n.jsxs("div",{className:"tooltip-menu__column",children:[b.title?n.jsx("div",{className:"tooltip-menu__column-title body-3",children:b.title}):null,n.jsx("div",{className:"tooltip-menu__items",children:(b.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(Bt,{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:()=>C(h,_,w),selected:h.selected,disabled:h.disabled,showTooltipInfo:h.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const pl=".content-area";function io(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(pl);if(a){a.scrollTop=0;return}const r=document.scrollingElement??document.documentElement;r&&r.scrollHeight<=r.clientHeight&&Kt("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${pl}) \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 lo=52,Ja=10,ml=e=>e&&e>0?e:0;function hl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:s,moreItems:i=[],scrollContainer:l}){const{t:u}=ve.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),[f,y]=o.useState(0),v=e.length;o.useEffect(()=>{const R=p.current;if(!R)return;const I=()=>{const M=typeof getComputedStyle=="function"?getComputedStyle(R):null,F=R.clientWidth-(parseFloat(M?.paddingLeft??"")||0)-(parseFloat(M?.paddingRight??"")||0),z=R.querySelector(".bottom-nav__left"),Y=z?.nextElementSibling,J=(z?.offsetWidth??0)+(z&&Y?.classList.contains("bottom-nav__divider")?Y.offsetWidth:0);y(Math.max(0,F-J))};if(I(),typeof ResizeObserver>"u")return;const D=new ResizeObserver(I);D.observe(R);const H=R.querySelector(".bottom-nav__left");return H&&D.observe(H),()=>D.disconnect()},[s]);const C=lo+1,b=R=>Math.max(0,Math.floor((R+Ja)/(lo+Ja))),_=v*(lo+Ja)-Ja<=f,h=f<=0||i.length===0&&_?v:Math.min(v,b(f-C)),w=f>0&&h<v,g=w?h:v,B=e.slice(0,g),x=e.slice(g),A=w||i.length>0,k=o.useCallback((R,I)=>({position:"fixed",bottom:window.innerHeight-R.top+8,right:window.innerWidth-R.right,zIndex:ka(I)}),[]),N=o.useId(),{open:S,toggle:E,close:O,style:$,triggerRef:G,menuRef:j}=Na({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),L=o.useCallback((R,I)=>I>0?u("nav.badgeLabel",{label:R,count:I,defaultValue:"{{label}}, {{count}}\uAC1C"}):R,[u]),P=o.useCallback((R,I)=>I>0?u("nav.badgeInsideLabel",{label:R,count:I,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):R,[u]),K=o.useCallback(()=>s?.(c),[s,c]),ee=o.useMemo(()=>x.find(R=>!!R.key&&R.key===t)??i.find(R=>R.selected||R.key&&R.key===t),[x,t,i]),V=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),io(l,"BottomNav")),O())}})),...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?.(),O()}}))]}],[x,i,t,a,O]),q=[...x,...i].reduce((R,I)=>R+ml(I.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:B.map((R,I)=>{const D=ml(R.badgeCount);return n.jsxs("span",{className:"bottom-nav__slot",children:[n.jsx(me,{htmlType:"button",size:52,type:"dot",icon:R.icon,ariaLabel:L(R.label,D),selected:!!R.key&&R.key===t,disabled:R.state==="disabled",className:"bottom-nav-item",onClick:()=>{R.key&&(a?.(R.key),io(l,"BottomNav"))}}),D>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(Bt,{type:"dot",position:"top-right",number:Math.min(D,99),size:24})})]},R.key??`__slot-${I}`)})}),A&&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:ee?.icon??"ellipsis",ariaLabel:P(ee?.label??u("nav.more","\uB354\uBCF4\uAE30"),q),selected:!!ee,className:"bottom-nav-item",onClick:E,"aria-expanded":S,"aria-controls":S?N:void 0}),q>0&&n.jsx("span",{"aria-hidden":"true",children:n.jsx(Bt,{type:"dot",position:"top-right",number:Math.min(q,99),size:24})}),S&&en.createPortal(n.jsx("div",{id:N,role:"group","aria-label":u("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:$,ref:j,children:n.jsx(Da,{columns:V,onClose:O})}),document.body)]})})]})]})}function Cl(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 fl(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function Eb(e){const{t}=ve.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:fl(t,t("nav.notifications","\uC54C\uB9BC"),r),onClick:i,selected:a==="notifications"}),!!r&&r>0&&n.jsx(Bt,{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 gl(e){const{t}=ve.useTranslation(),{item:a,itemKey:r,label:s,icon:i,active:l,onClick:u,style:c,state:d,labelStyle:m}=e||{},p=a?.key??r??"",f=a?.label??s??"",y=a?.icon??i??"",v=a?.badge??0,C=n.jsx("span",{className:"side-nav__icon-wrap",children:n.jsx(Qe,{icon:y,label:typeof f=="string"?f:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),b=d==="disabled",_=`side-nav__item ${l?"active":""} ${d||""} ${b?"disabled":""} ${a?.child?"side-nav__item--child":""}`,h=o.useCallback(w=>{if(b)return;const g=w.detail>0;if(g)try{w.currentTarget.blur()}catch{}u?.(p,w.currentTarget,g)},[b,p,u]);return n.jsxs("button",{type:"button",className:_,onClick:h,"aria-label":typeof f=="string"?fl(t,f,v):void 0,"aria-current":l?"page":void 0,style:c,"aria-disabled":b,children:[C,n.jsx("span",{className:"side-nav__label button-1 f",style:m,children:f}),v>0&&n.jsx(Bt,{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}=ve.useTranslation(),{items:a=[],activeKey:r,onChange:s,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p,appMode:f,onAppModeChange:y,scrollContainer:v}=e||{},C=f==="manager",b=o.useCallback(()=>y?.(C?"malgwi":"manager"),[y,C]),_=o.useRef(null),[h,w]=o.useState(null);o.useEffect(()=>{const k=_.current;if(!k)return;const N=()=>{const{scrollHeight:E,clientHeight:O,scrollTop:$}=k;if(E<=O+1){w(null);return}const G=Math.max(24,O/E*O),j=O-G,L=E-O;w({top:Math.round($/L*j),height:Math.round(G)})};N(),k.addEventListener("scroll",N,{passive:!0});const S=typeof ResizeObserver<"u"?new ResizeObserver(N):null;S?.observe(k);for(const E of Array.from(k.children))S?.observe(E);return()=>{k.removeEventListener("scroll",N),S?.disconnect()}},[a]);const g=o.useRef(null),B=o.useCallback(k=>{const N=_.current;N&&(k.preventDefault(),g.current={y:k.clientY,top:N.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),x=o.useCallback(k=>{const N=_.current,S=g.current;!N||!S||(N.scrollTop=S.top+(k.clientY-S.y)*(N.scrollHeight/N.clientHeight))},[]),A=o.useCallback(k=>{g.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.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:B,onPointerMove:x,onPointerUp:A,onPointerCancel:A})}),n.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,N)=>n.jsxs(o.Fragment,{children:[k.divider&&n.jsx("div",{className:"side-nav__separator"}),n.jsx(gl,{item:k,active:!!k.key&&k.key===r,state:k.disabled?"disabled":void 0,onClick:(S,E,O)=>{if(k.disabled)return;if(k.href){if(Cl(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),O)try{E?.blur()}catch{}return}if(s?.(k.key),io(v,"SideNav"),!O)return;try{E?.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 j=()=>{$.classList.remove("header--force-collapsed"),$.removeEventListener("mouseenter",j)};$.addEventListener("mouseenter",j)}}}})]},k.key??`side-nav__item-${N}`)),y&&n.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),y&&n.jsx(gl,{item:{key:"__mode-switch__",label:C?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:C?"arrow-left":"arrow-right"},onClick:b})]}),n.jsx(Eb,{activeKey:r,unreadCount:i,onDebug:l,onNotification:u,onAccount:c,onSetting:d,onHelp:m,onFeedback:p})]})}var Qa='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',uo='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',Sb='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 yl({appMode:e}){const{t}=ve.useTranslation(),a=e==="manager",r=a?uo:Qa,s=Sb;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 vl({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:f,onAppModeChange:y,scrollContainer:v}){const{t:C}=ve.useTranslation(),b=rn("(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(j=>j.key===$);if(!G?.disabled){if(G?.href){Cl(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:C("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),u&&$.push({key:"notifications",icon:"bell",label:C("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:u}),d&&$.push({key:"settings",icon:"settings",label:C("nav.settings","\uC124\uC815"),onClick:d}),m&&$.push({key:"help",icon:"message-circle-question-mark",label:C("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),p&&$.push({key:"feedback",icon:"bug",label:C("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),c&&$.push({key:"account",icon:"user-round",label:C("nav.account","\uACC4\uC815"),onClick:c}),$},[C,l,u,d,m,p,c,i]),g=o.useCallback(($,G)=>({position:"fixed",top:$.bottom+8,right:Math.max(8,window.innerWidth-$.right),zIndex:ka(G)}),[]),B=o.useId(),{open:x,toggle:A,close:k,style:N,triggerRef:S,menuRef:E}=Na({computeStyle:g,onScroll:"ignore",onResize:"reposition"}),O=o.useMemo(()=>[{items:w.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===e),closeOnSelect:!0,onClick:()=>{$.onClick?.(),k()}}))}],[w,e,k]);return n.jsxs("aside",{className:`header${f==="manager"?" header--manager":""}`,children:[n.jsxs("div",{className:"header__bi",children:[n.jsx(yl,{appMode:f}),n.jsxs("div",{className:"header__menu-button",ref:S,children:[n.jsx(me,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:u&&i&&i>0?C("nav.badgeInsideLabel",{label:C("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):C("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:A,"aria-expanded":x,"aria-controls":x?B:void 0}),!!u&&!!i&&i>0&&n.jsx(Bt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),x&&en.createPortal(n.jsx("div",{id:B,role:"group","aria-label":C("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:N,ref:E,children:n.jsx(Da,{columns:O,onClose:k})}),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:f,onAppModeChange:y}),b&&n.jsx(hl,{items:_,activeKey:e??void 0,onChange:h,scrollContainer:v,appMode:f,onAppModeChange:y})]})}const jb=vl,Tb=()=>Mt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function xl(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 ta(`${t.toLocaleString("ko-KR")}\uC6D0`)}return ta(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function Mb(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function Lb(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||Tb()}function $b(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 _l(e){return{type:e.type??Mb(e),plan:Lb(e),label:e.label,price:xl(e.price),originalPrice:xl(e.originalPrice),discountLabel:e.discountLabel}}var Rb='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',Pb='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>',Fb='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',Ib='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',Ob='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>',Hb='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',wl='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 Un={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},co=new WeakMap;function zb(e){if(e)return co.get(e)}function Bn(e,t){e&&(e.style.setProperty(Un.text,t.text),e.style.setProperty(Un.sub,t.sub),t.copyrightColor&&e.style.setProperty(Un.copyright,t.copyrightColor),co.set(e,t))}function An(e){e&&(e.style.removeProperty(Un.text),e.style.removeProperty(Un.sub),e.style.removeProperty(Un.copyright),co.delete(e))}const Bl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Al(e={}){const t=wt(Bl,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("${wl}")`}})]})}const kl="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 Vb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Wb=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Nl(e={}){const t=wt(Vb,Bn,An),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:Wb.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:kl,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 qb={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Ub=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Gb(e={}){const t=wt(qb,Bn,An),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:Ub.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:kl,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("${wl}")`}})]})}const Kb={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Yb(e={}){const t=wt(Kb,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("${Ea}")`}})]})}const Zb={Logo_speechear_kr:{"":Qa,_white:Rb,_textWhite:Pb,_black:Fb},Logo_speechearManager_kr:{"":uo,_white:Ib,_textWhite:Ob,_black:Hb}};function Xb(e,t){if(e)return Zb[e]?.[t??""]??void 0}const Jb={speechear:Qa,manager:uo},Qb={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Dl=10;function e4(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 El(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 t4(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===Mt.t("passCard.specialLabel");return r?n.jsx(Yb,{}):s?n.jsx(Gb,{}):n.jsx(Nl,{})}return n.jsx(Al,{})}function Sl({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:f,copyrightColor:y,logoSrc:v,label:C,price:b,originalPrice:_,discountLabel:h,onUse:w,onRefund:g,onDelete:B}){const{t:x}=ve.useTranslation(),A=t?_l(t):void 0,k=s??A?.type??"speechear",N=r??A?.plan??x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),S=C??A?.label,E=b??(a?A?.price:void 0),O=_??(a?A?.originalPrice:void 0),$=h??A?.discountLabel,G=o.useMemo(()=>{if(E)return null;const W=t?.durationDays??$b(t?.code);if(!W||W<=0)return l!=null?{percent:null,remainingLabel:El(l,x)}:null;const oe=W*86400;let ge;if(l!=null)ge=l;else if((c==="active"||c==="expired")&&i){const te=new Date(i).getTime();if(Number.isNaN(te))return null;const de=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),pe=/^(\d{4})-(\d{2})-(\d{2})/.exec(_a()),he=Math.round(de&&pe?(Date.UTC(+de[1],+de[2]-1,+de[3])-Date.UTC(+pe[1],+pe[2]-1,+pe[3]))/864e5:(te-Date.now())/864e5);ge=Math.max(0,u?he+1:he)*86400}else c==="expired"?ge=0:ge=oe;const Ne=e4(ge),be=Math.max(0,Math.min(100,Math.floor(Math.min(Ne,oe)/oe*100)));return c==="pending"&&be>=100?null:{percent:be,remainingLabel:c==="expired"?x("passCard.expired","\uB9CC\uB8CC\uB428"):El(ge,x)}},[E,c,i,l,u,t?.durationDays,t?.code,x]),j=o.useRef(null),[L,P]=o.useState({}),[K,ee]=o.useState(null),V=!!(w||g||B),q=o.useRef(!1),R=o.useRef(void 0),[I,D]=o.useState(v);o.useLayoutEffect(()=>{D(v)},[v]),o.useLayoutEffect(()=>{const W=j.current;W&&(p!==void 0&&W.style.setProperty("--pass-card-text",p),f!==void 0&&W.style.setProperty("--pass-card-sub",f),y!==void 0&&W.style.setProperty("--pass-card-copyright",y))},[p,f,y]),o.useLayoutEffect(()=>{const W=j.current;if(!W)return;const oe=zb(W);if(!v){const ge=Qb[k],Ne=c==="expired"?"_black":oe?.logoColor??"",be=Xb(ge,Ne);D(be)}},[d,v,k,c]);const H=W=>{const oe=j.current;if(!oe)return null;const{left:ge,top:Ne,width:be,height:te}=oe.getBoundingClientRect(),de=(W.clientX-ge)/be-.5;return{rotateX:-((W.clientY-Ne)/te-.5)*Dl,rotateY:de*Dl}},M=(W,oe)=>{const ge=oe*-.7,Ne=W*.7+10,be=20+(Math.abs(W)+Math.abs(oe))*.4;return`${ge}px ${Ne}px ${be}px rgba(0, 0, 0, 0.18)`},F=o.useCallback(W=>{if(ra())return;q.current=!0,clearTimeout(R.current),R.current=setTimeout(()=>{q.current=!1},200);const oe=H(W);oe&&P({transform:`perspective(800px) rotateX(${oe.rotateX}deg) rotateY(${oe.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(oe.rotateX,oe.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)"})},[]),z=o.useCallback(W=>{if(ra())return;const oe=H(W);if(!oe)return;const ge=q.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";P({transform:`perspective(800px) rotateX(${oe.rotateX}deg) rotateY(${oe.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(oe.rotateX,oe.rotateY),transition:ge})},[]),Y=o.useCallback(()=>{clearTimeout(R.current),q.current=!1,P({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)"})},[]),J=o.useCallback(()=>ee(null),[]),Z=o.useMemo(()=>{const W=x("passCard.planSuffix","\uC774\uC6A9\uAD8C"),oe=N.replace("\uC774\uC6A9\uAD8C","").replace(W==="\uC774\uC6A9\uAD8C"?"":W,"").trim(),ge=oe.match(/^(.*?)(일|년)$/);return ge?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"h0 pass-card__plan-number",children:ge[1]}),n.jsx("span",{className:"h5b pass-card__plan-unit",children:ge[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):n.jsx("span",{className:"h0",children:oe})},[N,x]),re=o.useMemo(()=>{const W=ta(E);if(!W)return null;const oe=W.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!oe)return n.jsx("span",{className:"h1",children:W});const[,ge,Ne,be]=oe;return n.jsxs(n.Fragment,{children:[ge&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:ge}),n.jsx("span",{className:"h1 pass-card__price-amount",children:Ne}),be.trim()&&n.jsx("span",{className:"h5 pass-card__price-symbol",children:be.trim()})]})},[E]),ue=o.useCallback(()=>{V&&ee(W=>{if(W)return null;const oe=j.current?.getBoundingClientRect();if(!oe)return null;const ge=50;return{left:oe.left,right:oe.right,width:oe.width,height:oe.height,x:oe.x,y:oe.y+ge,top:oe.top+ge,bottom:oe.bottom+ge}})},[V]),le=o.useCallback(W=>{V&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),ue())},[V,ue]),Ee=[{items:[...w?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),ee(null)},closeOnSelect:!0}]:[],...g?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{g(),ee(null)},closeOnSelect:!0}]:[],...B?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{B(),ee(null)},closeOnSelect:!0}]:[]]}];return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"pass-card-frame",children:n.jsxs("div",{ref:j,className:`pass-card pass-card--${c}${V?" pass-card--clickable":""}`,style:L,onMouseEnter:F,onMouseMove:z,onMouseLeave:Y,onPointerUp:W=>{W.pointerType==="touch"&&Y()},onPointerCancel:W=>{W.pointerType==="touch"&&Y()},onClick:ue,onKeyDown:V?le:void 0,role:V?"button":void 0,tabIndex:V?0:void 0,"aria-label":e,"aria-haspopup":V?"menu":void 0,"aria-expanded":V?!!K:void 0,children:[d??t4(k,N,S),!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:I??Jb[k],className:"pass-card__logo",alt:k==="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:Z}),n.jsx("span",{className:"h5b pass-card__plan-suffix",children:S?x("passCard.labeledPlan",{label:S}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),E?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:[O&&n.jsx("span",{className:"pass-card__price-original body-3",children:ta(O)}),re]})]}):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(sn,{anchorRect:K,onClose:J,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:n.jsx(Da,{columns:Ee,onClose:J,size:"small"})})]})}const n4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function a4(e={}){const t=`passcard-sound-line-grad-${o.useId()}`,a=wt(n4,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("${Ea}")`}})]})}const r4={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function o4(e={}){const t=wt(r4,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("${Ea}")`}})]})}function s4(e,t){if(e){if(t==="manager_pro")return n.jsx(o4,{});if(t==="manager_standard")return n.jsx(a4,{});if(t==="manager_lite")return n.jsx(Nl,{})}}function i4(e){const t=ta(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 l4(e){const{t}=ve.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=g=>!!g&&!!u?.includes(g),d=g=>g.onceOnly??/오픈\s*특가/.test(g.label??""),m=(s.tiers||[]).some(g=>d(g)&&c(g.code)),p=g=>{const B=g.prices?g.prices[l]:g.price;return B?(s.tiers||[]).some(x=>!!x.badge&&x.originals?.[l]===B):!1},f=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"),C=g=>g.prices?g.prices[l]:g.price,b=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const B=C(g);return B==="\uBB34\uB8CC"||B===y||B==="0\uC6D0"||typeof B=="string"&&/\d/.test(B)&&!/[1-9]/.test(B)}),_=(s.tiers||[]).length>0&&(s.tiers||[]).every(g=>{const B=C(g);return B==="\uBB38\uC758"||B===v}),h=s.group==="org",w=h?"manager":"speechear";return n.jsxs("div",{className:"payment-plan__card",style:{borderColor:f,"--plan-color":f},children:[s.cardBadge&&n.jsx("div",{className:"payment-plan__card-badge",children:n.jsx(Bt,{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:f},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((g,B)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:f}}),g]},B))})]}),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((g,B)=>n.jsxs("li",{className:"payment-plan__feature-item body-3",children:[n.jsx(Qe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:f}}),g]},B))})]}),n.jsx("div",{className:"payment-plan__card-pricing",children:b?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(g=>{const B=g.label||a,x=d(g),A=x||g.openPromo===!0,k=B.replace(/^오픈\s*특가\s*/,"")||a,N=g.prices?g.prices[l]:g.price,S=g.badge?A?`${r}
852
852
  ${g.badge}`:g.badge:void 0;if(x&&c(g.code))return null;if(!g.badge&&!m)return p(g)?null:n.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${g.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:g.label})}),n.jsx("div",{className:"payment-plan__pricing-row-price",children:n.jsx("span",{className:"payment-plan__pricing-current h1",children:i4(N)})})]},g.id);const E=s.tier??(h?s.title:void 0),O=n.jsx(Sl,{showPrice:!0,product:{type:w,code:g.code,name:k,label:E,price:N,originalPrice:g.originals?.[l]??void 0,discountLabel:S},bg:s4(h,s.id)}),$=()=>i?.({...g,productId:s.id,productTitle:s.title,preview:O});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:O},g.id)})})})})]})}function u4({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 po='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 jl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function c4(){const e=wt(jl,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("${po}")`}})})}const Tl={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function d4(e={}){const t=wt(Tl,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("${Ea}")`}})]})}function Ml({keys:e,anchor:t="top-right",scale:a,className:r=""}){const s=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: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 p4({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:f,buttonSize:y=40,showIcon:v=!0,onCenterClick:C,centerLabel:b,centerDisabled:_=!1,centerAttention:h=!1,shortcutAnchor:w="top-right",shortcutScale:g,scaleShortcut:B=!1}){const{t:x}=ve.useTranslation(),A=Math.max(0,Math.min(1,a)),k=t/2,N=110/300,S=.18,E=W=>t*(N+(W-1)*S),O=W=>{const oe=E(W.row??1),ge=W.angleDeg*Math.PI/180;return{x:k+oe*Math.cos(ge),y:k+oe*Math.sin(ge)}},$=Math.max(...e.map(W=>W.row??1),1),G=t*.08,j=t*.1,L=t*.24,P=t-2*G,K=t-j-L,ee=t-L/2,V=o.useMemo(()=>[...new Set(e.map(W=>W.deg))].sort((W,oe)=>W-oe),[e]),q=V.length,R=Math.max(68,q>1?P/(q-1):0),I=o.useMemo(()=>new Map(V.map((W,oe)=>[W,oe])),[V]),D=W=>{const oe=I.get(W.deg)??0,ge=k+(oe-(q-1)/2)*R,Ne=$>1?Math.min(68,K/($-1)):0,be=Ne*($-1),te=j+(K-be)/2,de=$===1?j+K*.4:te+($-(W.row??1))*Ne;return{x:ge,y:de}},H=W=>{const oe=O(W),ge=D(W);return{x:Sa(oe.x,ge.x,A),y:Sa(oe.y,ge.y,A)}},M={x:k,y:Sa(k,ee,A)},F=Math.round(y*1.2),z=Math.round(Math.max(16,Math.min(80,y*.7))),Y=[],J=new Map;for(const W of e){const oe=W.row??1;J.has(oe)||J.set(oe,[]),J.get(oe).push(W)}for(const[W,oe]of J.entries()){if(oe.length<2)continue;const ge=[...oe].sort((Fe,ht)=>Fe.deg-ht.deg),Ne=ge.map(Fe=>H(Fe)),be=ge.map(Fe=>Fe.deg),te=be[be.length-1]-be[0],de=te/(be.length-1),pe=360-te,he=ge.length>=3&&de>0&&pe<=de*1.5,ye=Math.round(E(W)*1e3)/1e3,je=(Fe,ht,ut,nt)=>{const ct=(ht.angleDeg-Fe.angleDeg+540)%360-180;if(ct===0)return`L ${nt.x} ${nt.y}`;if(A===0)return`A ${ye} ${ye} 0 0 ${ct>0?1:0} ${nt.x} ${nt.y}`;const ke=(Fe.angleDeg+ct/2)*Math.PI/180,Ie={x:k+ye*Math.cos(ke),y:k+ye*Math.sin(ke)},Be={x:(ut.x+nt.x)/2,y:(ut.y+nt.y)/2},Ze={x:Sa(Ie.x,Be.x,A),y:Sa(Ie.y,Be.y,A)},X={x:2*Ze.x-Be.x,y:2*Ze.y-Be.y};return`Q ${X.x} ${X.y} ${nt.x} ${nt.y}`},Ye=he?[...ge,ge[0]]:ge,He=he?[...Ne,Ne[0]]:Ne;let Pe=`M ${He[0].x} ${He[0].y}`;for(let Fe=1;Fe<He.length;Fe++)Pe+=" "+je(Ye[Fe-1],Ye[Fe],He[Fe-1],He[Fe]);Y.push({key:`arc-${W}`,d:Pe})}const Z=o.useMemo(()=>new Set(s??[]),[s]),re=W=>({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")})[W],ue=W=>{if(r===W.id)return"active";if(u){if(W.id===l)return"correct";if(W.id===i&&i!==l)return"wrong"}return Z.has(W.id)?"played":"idle"},le=W=>r===W.id?"loop":u?W.id===l?"loop":null:c&&W.id===i?"once":null,Ee=(W,oe)=>{switch(W){case"played":case"correct":return n.jsx(cs,{size:oe});case"wrong":return n.jsx(vs,{size:oe});default:return n.jsx(ys,{size:oe})}};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:[A===0&&e.map(W=>{const{x:oe,y:ge}=H(W);return n.jsx("line",{x1:M.x,y1:M.y,x2:oe,y2:ge,stroke:"#dde3ec",strokeWidth:"1"},W.id)}),Y.map(W=>n.jsx("path",{d:W.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},W.key))]}),h&&!_&&n.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:F,height:F,left:M.x-F/2,top:M.y-F/2}}),C?n.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:F,height:F,left:M.x,top:M.y},"aria-label":b,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:C,children:n.jsx(Br,{size:z,color:"currentColor",strokeWidth:1.5})}):n.jsx("div",{className:"sound-compass__center",style:{width:F,height:F,left:M.x,top:M.y},children:n.jsx(Br,{size:z,color:"currentColor",strokeWidth:1.5})}),e.map((W,oe)=>{const{x:ge,y:Ne}=H(W),be=ue(W),te=le(W),de={...g!==void 0||B?{"--shortcut-badge-scale":String(g??Math.max(.75,Math.min(3,y/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:be!=="idle"?10:1},pe=y,he=Math.round(Math.max(10,Math.min(56,pe*.38))),ye=Math.round(Math.max(7,Math.min(18,pe*.2))),je=Math.round(Math.max(10,Math.min(56,pe*.4))),Ye=v==="answered"&&(be==="played"||be==="correct"||be==="wrong"),He=v===!0||Ye,Pe=!Ye;return n.jsxs("div",{className:"sound-compass__speaker-pos",style:{...de,left:ge-pe/2,top:Ne-pe/2},children:[te&&n.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${be}`+(te==="once"?" sound-compass__pulse--once":""),style:{width:pe,height:pe,...te==="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?()=>f?.(W.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${be}`,style:{width:pe,height:pe},"aria-label":re(be)?`${W.label}, ${re(be)}`:W.label,"aria-pressed":i!=null?W.id===i:void 0,children:[He&&Ee(be,he),Pe&&n.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?ye:je},children:oe+1})]}),W.shortcut&&n.jsx(Ml,{keys:W.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},W.id)})]})})}function m4({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 h4({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 Ll({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 C4({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(Ll,{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 f4={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function g4({tone:e="info",title:t,message:a,children:r,dismissible:s=!1,onDismiss:i,live:l,className:u=""}){const{t:c}=ve.useTranslation(),[d,m]=o.useState(!1),p=o.useRef(null),f=o.useCallback(()=>{const h=p.current;h&&h.contains(document.activeElement)&&Ya(h),m(!0),i?.()},[i]);if(d)return null;const y=Ae("alert",`alert--${e}`,u),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),C=v==="assertive"?"alert":v==="polite"?"status":void 0,b=!!t,_=!!(a||r);return n.jsxs("div",{ref:p,className:y,role:C,children:[n.jsxs("div",{className:"alert__body",children:[n.jsxs("div",{className:"alert__header",children:[n.jsx(Qe,{icon:f4[e],size:20,className:"alert__icon"}),b&&n.jsx("span",{className:"alert__title body-2",children:t}),!b&&_&&n.jsx("div",{className:"alert__message body-3",children:a||r})]}),b&&_&&n.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||r})]}),s&&n.jsx("button",{type:"button",className:"alert__dismiss",onClick:f,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}const b4={ready:"search",guide:"info",error:"circle-alert"};function y4(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 v4({status:e="guide",label:t,children:a,emphasis:r,icon:s,className:i=""}){const l=s===!1?null:s??b4[e],u=Ae("search-summary",`search-summary--${e}`,i),c=t??a,d=typeof c=="string"&&r&&r.length>0?y4(c,r):c;return n.jsxs("div",{className:u,role:"status","aria-live":"polite",children:[l!=null&&n.jsx(Qe,{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}=ve.useTranslation(),{anchorRect:r,openAt:s,close:i}=Aa(),l=o.useRef(null),u=Qr(!!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=>{aa(c)||s(c.currentTarget)},onPointerLeave:c=>{aa(c)||i()},onClick:c=>{u.touchPress(c.currentTarget)},onFocus:c=>{ra()||s(c.currentTarget)},onBlur:i}),r&&n.jsx(Wn,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}function x4({items:e=[],value:t,onChange:a,className:r="",size:s=40}){const i=o.useId(),{t:l}=ve.useTranslation(),u=o.useRef(null),c=e.find(C=>!C.disabled)?.key,d=e.some(C=>C.key===t)?t:c??e[0]?.key,m=e.find(C=>C.key===d&&!C.disabled)?.key??c,p=()=>Array.from(u.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),f=(C,b=p())=>{if(b.length===0)return;const _=(C%b.length+b.length)%b.length;b[_]?.focus(),b[_]?.click()},y=C=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(C.key))return;C.preventDefault();const b=p(),_=b.indexOf(C.currentTarget);C.key==="ArrowRight"||C.key==="ArrowDown"?f(_+1,b):C.key==="ArrowLeft"||C.key==="ArrowUp"?f(_-1,b):C.key==="Home"?f(0,b):f(b.length-1,b)},v=e.find(C=>C.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(C=>n.jsx("button",{id:`tabs__tab-${i}-${C.key}`,type:"button",role:"tab","aria-selected":C.key===d,"aria-controls":`tabs__panel-${i}-${C.key}`,disabled:C.disabled,tabIndex:C.key===m?0:-1,className:`tabs__tab body-2${C.key===d?" tabs__tab--active":""}`,onClick:()=>{C.key!==t&&a?.(C.key)},onKeyDown:y,children:C.label},C.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 _4={xs:12,sm:16,md:20,lg:28,xl:36};function w4(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 B4({src:e,name:t,size:a="md",shape:r="circle",className:s=""}){const{t:i}=ve.useTranslation(),[l,u]=o.useState(null),c=!!e&&l===e,d=t?w4(t):"",m=!!e&&!c,p=!m&&!!d,f=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":f,children:[m&&n.jsx("img",{className:"avatar__image",src:e,alt:f,onError:()=>u(e??null)}),!m&&p&&n.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!m&&!p&&n.jsx(Qe,{icon:"user-round",size:_4[a],className:"avatar__icon"})]})}function A4(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 k4({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:s=!0,files:i,onRemove:l,className:u=""}){const{t:c}=ve.useTranslation(),d=o.useRef(null),[m,p]=o.useState(!1),[f,y]=o.useState([]),v=i??f,C=x=>{if(!x||x.length===0)return;const A=Array.from(x).filter(N=>A4(N,t));if(A.length===0)return;const k=a?A:A.slice(0,1);if(i===void 0){const N=a?[...v,...k]:k;y(N),e?.(N)}else e?.(k)},b=x=>{x.preventDefault(),!r&&p(!0)},_=x=>{x.preventDefault(),p(!1)},h=x=>{x.preventDefault(),p(!1),!r&&C(x.dataTransfer.files)},w=x=>{const A=x.target;try{C(A.files)}finally{A.value=""}},g=()=>{r||d.current?.click()},B=x=>{if(!r&&(l?.(x),i===void 0)){const A=v.filter((k,N)=>N!==x);y(A),l||e?.(A)}};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:g,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),g())},onDragOver:b,onDragLeave:_,onDrop:h,children:[n.jsx(Qe,{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(),g()},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,A)=>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:()=>B(A),children:n.jsx(Qe,{icon:"x",size:14})})]},`${x.name}-${A}`))})]})}function N4({items:e,className:t=""}){const{t:a}=ve.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(Qe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},s)})})})}const D4={small:14,medium:20,large:28};function E4({value:e,onChange:t,max:a=5,readOnly:r=!1,size:s="medium",ariaLabel:i,className:l=""}){const{t:u}=ve.useTranslation(),c=r||!t,[d,m]=o.useState(null),p=c?e:Number.isFinite(e)?Math.round(e):0,f=d??p,y=D4[s],v=x=>{x!==e&&t?.(x)},C=x=>{c||v(x)},b=x=>{c||ra()||m(x)},_=o.useRef(null),h=x=>{const A=Math.min(a,Math.max(1,x));v(A),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(A))?.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()}},g=p>=1&&p<=a?Math.round(p):1,B=()=>{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:B,onPointerUp:x=>{x.pointerType==="touch"&&B()},onPointerCancel:x=>{x.pointerType==="touch"&&B()},children:Array.from({length:a},(x,A)=>{const k=A+1,N=Math.max(0,Math.min(1,f-A)),S=N>0&&N<1,E=n.jsxs("span",{className:"rating__star-wrap",children:[n.jsx(Qe,{icon:"star",size:y,className:"rating__star rating__star--empty"}),N>0&&n.jsx("span",{className:`rating__star-fill${S?" rating__star-fill--half":""}`,style:S?{width:`${N*100}%`}:void 0,children:n.jsx(Qe,{icon:"star",size:y,className:"rating__star rating__star--filled"})})]});return c?n.jsx("span",{className:"rating__item","aria-hidden":"true",children:E},k):n.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===k,"aria-label":u("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===g?0:-1,onClick:()=>C(k),onMouseEnter:()=>b(k),children:E},k)})})}const S4=20,j4=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function T4({value:e,onChange:t,palette:a=j4,size:r=40,className:s="",ariaLabel:i}){const{t:l}=ve.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(Qe,{icon:"check",size:S4,className:"color-picker__check"})},u)})})}function $l({icon:e,label:t,tooltip:a,wrapperStyle:r,color:s,bgColor:i,useHover:l=!0,iconSize:u="medium"}){const{t:c}=ve.useTranslation(),d=u==="small",m=Ae("category-icon",d?"category-icon--small":""),p=d?16:20,f=o.useRef(null),[y,v]=o.useState(!1),C=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]),b=a||t,[_,h]=o.useState(null);o.useLayoutEffect(()=>{y&&h(f.current?.getBoundingClientRect()??null)},[y]),o.useEffect(()=>{if(!l&&y)try{v(!1)}catch{}},[l,y]),o.useEffect(()=>{if(!y)return;const A=k=>{const N=f.current;if(!N)return;const S=k.target;S&&!N.contains(S)&&v(!1)};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[y]);const w=o.useCallback(()=>{l&&v(!0)},[l]),g=o.useCallback(()=>{l&&v(!1)},[l]),B=o.useCallback(()=>v(!1),[]),x=o.useCallback(A=>{if(A.key==="Escape"){v(!1);return}(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),v(k=>!k))},[]);return n.jsxs("span",{ref:f,className:"category-icon__wrap",onPointerEnter:w,onPointerLeave:g,onFocus:w,onBlur:g,onKeyDown:x,role:"button",tabIndex:0,"aria-label":typeof b=="string"?c("common.descriptionFor",{name:b,defaultValue:`${b} \uC124\uBA85`}):void 0,"aria-haspopup":!!b,"aria-expanded":y,"data-tooltip-ignore":!0,children:[n.jsx(Qe,{icon:e,label:t,className:m,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:C,size:p}),y&&b&&n.jsx(_n,{anchorRect:_,text:typeof b=="string"?b:void 0,offset:8,onClose:B,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}let Mn=null;function er(e){if(Mn&&Mn!==e)try{Mn()}catch{}return Mn=e,()=>{Mn===e&&(Mn=null)}}function tr(e){if(Mn===e){Mn=null;try{e()}catch{}}}function mo(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 M4(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 L4(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),[f,y]=o.useState(!1),v=o.useRef([]),{previewCodes:C,previewBucket:b}=M4(e,t),_=`${C.join(",")}|${b??""}`,h=o.useMemo(()=>l.key===_?l.urls:[],[l,_]);o.useEffect(()=>{if(!C.length)return;let g=!1;return(async()=>{const B=[],x=[];for(const A of C)try{const k=Ks(A,b);if(!k){B.push("");continue}let N=null;try{N=await Ys(k)}catch{}if(!N)try{const S=await Zs(k);S&&(N=URL.createObjectURL(S),x.push(N))}catch{}B.push(N??"")}catch{B.push("")}g?x.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}):(v.current.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}),v.current=x,u({key:_,urls:B}))})(),()=>{g=!0}},[C.join(","),b]),o.useEffect(()=>()=>{v.current.forEach(g=>{try{URL.revokeObjectURL(g)}catch{}}),v.current=[]},[]);const w=o.useCallback(async g=>{if(g.stopPropagation(),g.preventDefault(),d.current){m.current&&tr(m.current),d.current=!1;try{c.current?.pause()}catch{}r(!1),i(-1);return}if(!h.filter(Boolean).length)return;let B=null;const x=()=>{d.current=!1,B?.stop()};m.current=x;const A=er(x);d.current=!0,r(!0);for(let k=0;k<h.length&&d.current;k++){const N=h[k];if(N&&(i(k),B=mo(N),c.current=B.el,!await B.done))break}A(),m.current===x&&(m.current=null,d.current=!1,r(!1),i(-1))},[h]);return o.useEffect(()=>()=>{m.current&&tr(m.current),d.current=!1;try{c.current?.pause()}catch{}c.current=null},[]),{playing:a,playingIndex:s,previewUrls:h,previewHover:f,setPreviewHover:y,previewBtnRef:p,handlePreview:w}}const $4=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 ho(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:f,hideCheckBadge:y=!1,showTypeLabel:v=!1,onComplete:C,onSelect:b,onMore:_,countLabelOverride:h,size:w="square"}=e||{},{t:g}=ve.useTranslation(),[B,x]=o.useState(!1),A=o.useRef(null),[k,N]=o.useState(!1);o.useEffect(()=>{A.current?.matches(":hover")&&N(!0)},[]);const{playing:S,playingIndex:E,previewUrls:O,previewHover:$,setPreviewHover:G,previewBtnRef:j,handlePreview:L}=L4(r,a?.key),P=o.useCallback(()=>{b?b():x(!0)},[b]),K=o.useCallback(()=>x(!1),[]),ee=o.useCallback(()=>N(!0),[]),V=o.useCallback(()=>N(!1),[]),q=o.useCallback(()=>G(!0),[G]),R=o.useCallback(()=>G(!1),[G]),[I,D]=o.useState(null);o.useLayoutEffect(()=>{$&&D(j.current?.getBoundingClientRect()??null)},[$,j]);const[H,M]=o.useState(null);o.useLayoutEffect(()=>{k&&!B&&p&&M(A.current?.getBoundingClientRect()??null)},[k,B,p]);const F=o.useCallback(Be=>{Be.target===Be.currentTarget&&(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),P())},[P]),z=r||null,Y=o.useMemo(()=>{if(!p)return null;const Be=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,Ze=Be&&Be.length>0?Be:$4(z);return Ze&&Ze.length>0?Ze:null},[p,m,z]),J=o.useCallback(Be=>{Be.stopPropagation(),f?.()},[f]),Z=o.useCallback(Be=>Be.stopPropagation(),[]),re=o.useCallback(Be=>{typeof C=="function"&&C(Be)},[C]),ue=u||(c&&r?.id!=null?c.has(String(r.id)):!1),le=!ue&&(d!=null&&r?.id!=null?d.has(String(r.id)):!1);rl("speechear.popup.close",K);const Ee=Ci(),W=`${a?.label||""} ${t+1}`,oe=z?.title||z?.name||W;let ge=a?.icon,Ne,be="",te="";try{const Be=z?.category_0||z?.category_main_code||z?.category_main,Ze=z?.category_1||z?.category_sub_code||z?.category_sub,X=Ee.find(ie=>ie.key===Be);X?.icon&&(ge=X.icon),!Ne&&X?.color&&(Ne={"--t-item-fg":X.color}),!Ne&&z?.iconColor&&(Ne={"--t-item-fg":z.iconColor}),be=X?g(`topic.${X.key}`,{defaultValue:X.label||""}):"";try{const ie=X?.subs?.find(fe=>fe.key===Ze);te=ie?g(`topic.sub.${ie.key}`,{defaultValue:ie.label||""}):""}catch{}}catch{}const de=te?`${be} / ${te}`:be||a?.label||oe,pe=Be=>g("training.countQuestions",{n:Be}),he=Be=>g("training.countSentences",{n:Be});let ye="";try{if(z)if(a?.key==="LISTEN_IN_NOISE"){let Be=0;Array.isArray(z.items)&&z.items.length>0?Be=z.items.length:Array.isArray(z.sentences)&&z.sentences.length>0?Be=z.sentences.length:z.sentences&&(Be=1),ye=he(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(z?.questions)?Be=z.questions.length:Array.isArray(z?.sentences)&&(Be=z.sentences.length),ye=pe(Be)}else if(a?.key==="LONG_STORY"){let Be=1;if(Array.isArray(z.items)&&z.items.length>0){const Ze=z.items.reduce((X,ie)=>{const fe=ie.questionItems;return Array.isArray(fe)?X+fe.length:Array.isArray(ie.questions)?X+ie.questions.length:X},0);Be=Ze>0?Ze:z.items.length}else Array.isArray(z.questions)&&z.questions.length>0?Be=z.questions.length:Array.isArray(z.sentences)&&z.sentences.length>0&&(Be=z.sentences.length);ye=pe(Be)}else if(a?.key==="ORDERING_SENTENCE"){let Be=1;Array.isArray(z.items)&&z.items.length>0?Be=z.items.length:Array.isArray(z.sentences)&&z.sentences.length>0&&(Be=z.sentences.length),ye=he(Be)}else Array.isArray(z.items)&&(ye=z.items.length>0?pe(z.items.length):"")}catch{}const je=w==="row",Ye=w==="list"||je,He=w==="compact",Pe=w==="small",Fe=Pe&&a?.key?XC().find(Be=>Be.key===a.key):void 0,ht=Fe?fi[Fe.key]:void 0,ut=Fe?ht?g(`trainingType.${ht}.title`,{defaultValue:Fe.label}):Fe.label??"":"",nt=v&&a?.label&&a.label!==String(oe)?String(a.label):Pe&&ut&&ut!==String(oe)?ut:"",ct=!!nt,ke=h!==void 0?h:ye,Ie=[nt,typeof oe=="string"?oe:"",ke].map(Be=>String(Be??"").trim()).filter(Boolean).join(" ");return n.jsxs(n.Fragment,{children:[n.jsxs("div",{ref:A,className:`training-block-button${Ye?" training-block-button--list":""}${je?" training-block-button--row":""}${He?" training-block-button--compact":""}${Pe?" training-block-button--small":""}${ue?" training-block-button--completed":""}${le?" training-block-button--selected":""}${ct&&!Pe?" training-block-button--withType":""}${Pe&&!ct?" training-block-button--no-type-label":""}`,onClick:P,onPointerEnter:ee,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:F,"aria-label":typeof s=="string"?s:Ie||void 0,title:!p&&m&&(Array.isArray(m)?m.filter(Boolean).join(`
@@ -1045,7 +1045,7 @@ ${g.badge}`:g.badge:void 0;if(x&&c(g.code))return null;if(!g.badge&&!m)return p(
1045
1045
  </html>`}const d5=1e3;function Ro({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:s,header:i=""}){const{t:l}=ve.useTranslation(),u=o.useCallback(()=>{c5(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($o(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=$o(m,t,a,!1,r,i),f=new Blob([p],{type:"text/html;charset=utf-8"}),y=URL.createObjectURL(f),v=(r?Lo(r):"")||l("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C"),C=Object.assign(document.createElement("a"),{href:y,download:`${v}.html`});document.body.appendChild(C),C.click(),document.body.removeChild(C),setTimeout(()=>URL.revokeObjectURL(y),d5)},[e,t,a,r,i,l]);return{print:u,openNewWindow:c,downloadHtml:d}}function Hu(e,t){const{t:a}=ve.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),[f,y]=o.useState(!0),[v,C]=o.useState(!0),[b,_]=o.useState(!0),[h,w]=o.useState(8),[g,B]=o.useState("right"),x=e.length,A=e.some(K=>(K.words??[]).length>1),k=e.some(K=>(K.words??[]).some(ee=>!!ee.colloquialLabel)),N=Math.min(h,Math.max(x,1)),S=o.useMemo(()=>gu(e,N),[e,N]),E=S.length>1,O=N,[$,G]=o.useState(!1);o.useEffect(()=>{let K=!1;if(!Qn()){G(!1);return}return Promise.all(e.flatMap(ee=>(ee.words??[]).map(V=>ni(V.label,V.homonum)))).then(ee=>{K||G(ee.some(Boolean))},()=>{}),()=>{K=!0}},[e]);const j=o.useMemo(()=>[Nu(a,{hasImage:$,hasColloquial:k}),Du(a),...x>0?[Lu(a,{hasPairs:A,itemCount:x})]:[],Eu(a),...O>1?[Tu(a)]:[],...A?[Mu(a)]:[],...r?[Su(a),ju(a)]:[]],[a,$,k,x,A,E,O,r]),L={...Fu(a,{contentTypes:l,orientation:s,showOutline:m,cutLine:c,showDivLine:b,showTopInfo:f,showBottomInfo:v}),...x>0?{[a(A?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${N}\uAC1C`}:{},...E?{[a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[g]}:{}},P=o.useCallback((K,ee)=>{Iu(a,K,ee,{setContentTypes:u,setOrientation:i,setShowOutline:p,setCutLine:d,setShowDivLine:_,setShowTopInfo:y,setShowBottomInfo:C})||(ee===a("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||ee===a("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?w($u(parseInt(K),x)):ee===a("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&B(Pu(K)))},[a,x]);return{settings:{orientation:s,contentTypes:l,cutLine:c,showOutline:m,showDivLine:b,count:O,showTopInfo:f,showBottomInfo:v},filterSections:j,filterSelected:L,handleSelect:P,pages:S,isPaginated:E,pageNumberPosition:g}}function p5({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:f,className:y,onClose:v,scoring:C=!1,onScoreChange:b,printHeader:_,brand:h,code:w,beforeClose:g}){const{t:B}=ve.useTranslation(),x=o.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(le=>typeof le=="string"&&le.length>0).map((le,Ee)=>({id:`${le}-${Ee}`,words:[{label:le}]})),[e,t]),{settings:A,filterSections:k,filterSelected:N,handleSelect:S,pages:E,isPaginated:O,pageNumberPosition:$}=Hu(x,{paperBands:!!h?.show}),G=o.useMemo(()=>fu(E.map(le=>le.length)),[E]),[j,L]=o.useState({}),P=o.useCallback((le,Ee)=>{L(W=>({...W,[ir(le)]:mu(W[ir(le)]??null,Ee)}))},[]),K=o.useRef(b);o.useEffect(()=>{K.current=b});const ee=o.useRef(j);o.useEffect(()=>{ee.current!==j&&(ee.current=j,K.current?.(jo(j)))},[j]);const V=o.useMemo(()=>jo(j),[j]),q=o.useRef(null),{toastMessage:R,toastKey:I,showWarning:D,clearToast:H}=dl("warning"),M=o.useRef([]),F=o.useCallback(()=>O?M.current.filter(le=>le!==null):q.current?[q.current]:[],[O]),{print:z,openNewWindow:Y}=Ro({getElements:F,paperW:ua[A.orientation].width,paperH:ua[A.orientation].height,fileName:m??"",header:_??"",onPopupBlocked:()=>D(B("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."))}),J=o.useMemo(()=>u?void 0:l?l({print:z,openNewWindow:Y}):m?[{label:B("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>Y()},{label:B("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>z()},...i??[]]:i,[u,l,m,i,B,z,Y]),Z=o.useMemo(()=>u?u({print:z,openNewWindow:Y}):void 0,[u,z,Y]),re=o.useRef(!1),ue=o.useRef(z);return o.useEffect(()=>{ue.current=z},[z]),o.useEffect(()=>{if(!f||re.current)return;const le=window.setTimeout(()=>{re.current=!0,ue.current()},100);return()=>window.clearTimeout(le)},[f]),n.jsxs(Ln,{title:a??B("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:Ae("word-table-popup",y),buttons:J,footer:Z,footerClassName:c,footerLayout:d,beforeClose:g,onClose:v,children:[x.length>0?n.jsxs("div",{className:"word-table-popup__body",children:[p&&n.jsx(Mo,{sections:k,selected:N,onSelect:S}),O?n.jsx("div",{className:"word-table-popup__pages",children:E.map((le,Ee)=>n.jsx(ca,{items:le,orientation:A.orientation,contentTypes:A.contentTypes,cutLine:A.cutLine,showOutline:A.showOutline,showDivLine:A.showDivLine,count:A.count,contentRef:W=>{M.current[Ee]=W},pageNumber:{current:Ee+1,total:E.length},pageNumberPosition:$,brand:h&&{...h,top:A.showTopInfo,bottom:A.showBottomInfo},code:w,scoring:C,scoreIndexOffset:G[Ee],marks:V,onMarkClick:P},Ee))}):n.jsx("div",{className:"word-table-popup__table",children:n.jsx(ca,{items:x,orientation:A.orientation,contentTypes:A.contentTypes,cutLine:A.cutLine,showOutline:A.showOutline,showDivLine:A.showDivLine,count:A.count,contentRef:q,fitHeight:!0,scoring:C,marks:V,onMarkClick:P,brand:h&&{...h,top:A.showTopInfo,bottom:A.showBottomInfo},code:w})})]}):n.jsx("p",{className:"word-table-popup__empty body-3",children:s??B("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),n.jsx(sa,{message:R,position:"top",onClose:H},I)]})}const m5=new Set(["x","triangle"]);function h5(e,t){const a=[];for(let r=0;r<e.length;r++){const s=t[String(r)];s&&m5.has(s)&&a.push(e[r])}return a}const C5=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;function zu(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=C5.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 f5(e,t){const[,a,r]=qr(t).split("-"),s=`${a}.${r}`,{\uBC14\uD0D5:i,\uD68C\uCC28:l}=zu(typeof e=="string"?{name:e}:e),u=l>=2?`${l}\uCC28 `:"";return`${i||"\uB2E8\uC5B4\uD45C"} ${u}\uBCF5\uC2B5 ${s}`}function g5(e){return{reviewOf:e.reviewOf??e.id??void 0,reviewRound:zu(e).\uD68C\uCC28}}function b5(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 y5(e){return e.map(t=>t.label).join(" / ")}function v5(e){return e.map(t=>t.homonum!=null?`${t.label}#${t.homonum}`:t.label).join(" / ")}function Vu(e){return e.split(" / ").map(t=>t.replace(/#\d+$/,"")).join(" / ")}function x5(e,t,a){const r=mi(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}function Wu(e,t,a){return a===0?0:(e+t*.5)/a}function _5(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:Vu(s),key:s,tried:l,o:i.o,triangle:i.triangle,x:i.x,rate:Wu(i.o,i.triangle,l),latest:i.latest,latestAt:i.latestAt})}return r.sort((s,i)=>s.rate-i.rate||i.tried-s.tried||oa(s.label,i.label)||oa(s.key??s.label,i.key??i.label)),r}function w5(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 Wu(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 B5(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function A5(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 k5(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)||A5(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||oa(l.title,u.title)),{items:i,counted:a,skippedNoTitle:r}}function N5(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function D5(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 Po=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function E5(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=>Po.includes(i.trainingType)).sort(r),word:s.filter(i=>!Po.includes(i.trainingType)).sort(r),noSet:a}}function S5(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||oa(i.name,l.name)),s.slice(0,Math.max(0,a))}function j5(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function T5(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 Fo(e,t,a){return typeof e=="string"&&e?e:t.replace(/\{\{(\w+)\}\}/g,(r,s)=>String(a[s]))}function M5(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?Fo(Mt.t("customers.duration.minSec",{m:r,s,defaultValue:"{{m}}\uBD84 {{s}}\uCD08"}),"{{m}}\uBD84 {{s}}\uCD08",{m:r,s}):r>0?Fo(Mt.t("customers.duration.min",{m:r,defaultValue:"{{m}}\uBD84"}),"{{m}}\uBD84",{m:r}):Fo(Mt.t("customers.duration.sec",{s,defaultValue:"{{s}}\uCD08"}),"{{s}}\uCD08",{s})}function L5(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 $5(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function R5(e,t){return e.filter(a=>a.key!==t)}function P5(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 F5(e){return e.map(t=>t.value)}function I5(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(Qe,{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 O5(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 f=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(I5,{category:y,isSelected:c===y.key,onClick:()=>f(y.key)},y.key))})}function H5({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 z5({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",s=a?.tel??"031-380-3724",{t:i}=ve.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
1046
1046
  \uC2E0\uB8B0\uB97C \uC313\uACE0
1047
1047
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
1048
- `).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:po,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 V5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=ve.useTranslation(),m=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,f]=o.useState(!1),y=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!p)return;const _=Vn(()=>{const g=document.getElementById(y);g&&g.contains(document.activeElement)&&v.current?.focus(),f(!1)}),h=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=g=>{g.matches&&f(!1)};return h&&(h.matches&&f(!1),h.addEventListener?.("change",w)),()=>{_(),h?.removeEventListener?.("change",w)}},[p,y]);const C=l?`${l} landing-header__inner`:"landing-header__inner",b=(_,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:C,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:b(_)},`${h}:${_.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:v,type:"button",onClick:()=>f(_=>!_),"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:b(_,()=>f(!1))},`${h}:${_.href}`))})})]})}function W5({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,...cu(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function q5({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 C=t.current,b=C.phase!=="sound"&&C.at>0;s.current=b?{phase:C.phase,\uD750\uB978:Math.max(0,Date.now()-C.at)}:null},[]),l=o.useCallback(()=>{const C=s.current;return s.current=null,C},[]),u=o.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),c=o.useCallback((C,b,_=0)=>{if(!(C>0))return Promise.resolve(!0);const h=a.current;return t.current={phase:b,at:Date.now()-Math.max(0,_)},new Promise(w=>{const g=setTimeout(()=>{r.current===g&&(r.current=null),w(!!e.current&&h===a.current)},C);r.current=g})},[e]),d=o.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),m=o.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=o.useCallback(()=>{const C=t.current;return C.phase!=="sound"&&C.at>0},[]),f=o.useCallback(()=>a.current,[]),y=o.useCallback(C=>C===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:f,isCurrent:y,abort:u,waitPad:c,enterSound:d,leave:m,pause:i,resume:l,__bumpGenerationForTest:v}),[p,f,y,u,c,d,m,i,l,v])}const pa=9,U5=e=>Math.round(Math.min(pa,Math.max(0,e))/pa*100),G5=e=>e/100*pa,Pa=2,qu=.1,K5=e=>Math.min(Pa,Math.max(0,e)),Y5=.1,Z5=e=>Math.round(e*1e6)/1e6;function Fa(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return K5(t);const a=Math.min(pa,Math.max(0,Number(e.level)||0))/pa,r=Number(e.mainVolume);return r>0?a>0?Z5(Math.min(Pa,Math.max(Y5,a/r))):0:1}const Uu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Gu(e){return Uu(e)}function Io(e){return Uu(e)*Fa(e)}function Oo(e,t=lC()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Io(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},Ho=o.createContext(null);function cr(){return o.useContext(Ho)}const zo=e=>`${iC()}/${e}`,Ku=e=>Array.from({length:10},(t,a)=>zo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),dr={get defaultNoise(){return zo("noise1.mp3")},get street(){return Ku("noise2")},get restaurant(){return Ku("noise3")},get buzz(){return zo("noise4.mp3")}};function X5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return dr.defaultNoise;case"street":return dr.street[t];case"restaurant":return dr.restaurant[t];case"buzz":return dr.buzz;default:return null}}function J5({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),f=o.useRef(0),y=o.useRef(null),v=o.useCallback(()=>!!r?.isRunning(),[r]),C=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),y.current!==null&&(clearTimeout(y.current),y.current=null)},[]),b=o.useCallback((B,x=250)=>{const A=i.current;if(!A)return;const k=d.current;if(k){d.current=null;try{A.pause()}catch{}A.src=k,A.load()}if(!A.src)return;f.current+=1,C();try{Fr(),za(A).then(O=>{if(i.current===A)try{s.current?.("noise",O)}catch{}})}catch{}const N=A.paused?0:Va(A);A.paused&&Tn(A,0),A.play().catch(()=>{});const S=performance.now(),E=()=>{const O=Math.min(1,(performance.now()-S)/x);try{Tn(A,N+(B-N)*O)}catch{}O<1?p.current=requestAnimationFrame(E):p.current=null};p.current=requestAnimationFrame(E)},[C]),_=o.useCallback((B=250,x)=>{const A=i.current;if(!A||A.paused){x?.();return}const k=++f.current;C();const N=performance.now(),S=Va(A),E=()=>{const O=Math.min(1,(performance.now()-N)/B);try{Tn(A,S*(1-O))}catch{}if(O<1)p.current=requestAnimationFrame(E);else{p.current=null,y.current!==null&&(clearTimeout(y.current),y.current=null);try{A.pause()}catch{}x?.()}};p.current=requestAnimationFrame(E),y.current=setTimeout(()=>{if(y.current=null,f.current===k){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(Tn(A,0),A.pause(),x?.())}catch{}}},B+150)},[C]);o.useEffect(()=>{const B=document.createElement("audio");return B.loop=!0,B.crossOrigin="anonymous",i.current=B,()=>{C();try{B.pause(),B.src=""}catch{}i.current=null,c.current=null,d.current=null}},[C]);const h=e?Oo(e.settings):0,w=!!e?.settings.enabled&&h>0;o.useEffect(()=>{if(!w)return;let B=0;const x=setInterval(()=>{const A=i.current;if(!A||A.paused){B=0;return}const k=t.current;if(k&&!k.paused&&!k.ended||v()||a.current==="playing"){B=0;return}B+=1,B>=2&&(B=0,_())},400);return()=>clearInterval(x)},[_,w,t,a,v]),o.useEffect(()=>{const B=()=>{const x=i.current;if(document.hidden){if(x&&!x.paused){C();try{x.pause()}catch{}}return}if(!x||!x.paused)return;const A=t.current,k=!!A&&!A.paused&&!A.ended||v()||a.current==="playing",N=m.current;k&&N?.enabled&&N.volume>0&&b(N.volume)};return document.addEventListener("visibilitychange",B),()=>document.removeEventListener("visibilitychange",B)},[C,b,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 g=o.useRef(null);return o.useEffect(()=>()=>{g.current?.(),g.current=null},[]),o.useEffect(()=>{const B=e?.settings,x=i.current;if(!x)return;const A=B?Oo(B):0;if(!B||!B.enabled||A===0){_();return}if(c.current!==B.type){const k=X5(B.type);k&&(c.current=B.type,u(k),d.current=k,_(150,()=>{if(d.current!==k)return;d.current=null,x.src=k,x.load();const N=t.current;if(N&&!N.paused||v()){g.current?.();const S=()=>{x.removeEventListener("canplay",S),g.current===E&&(g.current=null);const O=t.current,$=m.current;(O&&!O.paused&&!O.ended||v())&&$?.enabled&&$.volume>0&&b($.volume)},E=()=>x.removeEventListener("canplay",S);g.current=E,x.addEventListener("canplay",S)}}))}else{const k=t.current,N=!!k&&!k.paused&&!k.ended||v()||a.current==="playing";if(N&&d.current)b(A);else if(N&&x.paused&&x.src)b(A);else if(!x.paused)if(!N)_();else{C();const S=Va(x),E=performance.now(),O=()=>{const $=Math.min(1,(performance.now()-E)/150);try{Tn(x,S+(A-S)*$)}catch{}$<1?p.current=requestAnimationFrame(O):p.current=null};p.current=requestAnimationFrame(O)}}},[e?.settings,e?.settings.enabled,h,e?.settings.type,C,b,_,t,a,m,v]),o.useEffect(()=>{const B=i.current;if(B)try{B.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:m,cancelNoiseFade:C,fadeInNoise:b,fadeOutNoise:_}}function Q5({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:f}){const y=o.useRef(null),v=o.useRef(0),C=o.useRef(null),b=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{b.current++;try{if(C.current&&(cancelAnimationFrame(C.current),C.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const h=(B,x=1)=>{try{const A=(B||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(B||"").length);return Math.max(700,Math.round(A*300/Math.max(.25,x)))}catch{return 1200}},w=o.useCallback(B=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const x=window.speechSynthesis,A=++b.current;try{try{x.cancel()}catch{}const k=B??e,N=Array.isArray(k)?k.filter(j=>!!j):[k||""];N.length===0&&N.push("");const S=Math.max(.3,Math.min(3,t));v.current=N.reduce((j,L)=>j+h(L,S||1),0),y.current=performance.now(),i(0),l("playing"),u("playMode");const E=m.current;E?.enabled&&(E?.volume??0)>0&&c(E.volume);const O=()=>{try{const j=y.current||performance.now(),L=performance.now()-j,P=v.current||1200,K=Math.min(1,L/P);try{r.current&&(r.current.style.left=`${K*100}%`),s.current&&s.current.style.setProperty("--progress",String(K))}catch{}K<1&&(C.current=requestAnimationFrame(O))}catch{}},$=()=>{if(A===b.current)try{C.current&&(cancelAnimationFrame(C.current),C.current=null),i(1),l("stopped");try{f.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},G=j=>{const L=new SpeechSynthesisUtterance(N[j]);try{L.rate=S}catch{}try{L.volume=Math.max(0,Math.min(1,a))}catch{}L.onend=()=>{if(A===b.current){if(j<N.length-1){try{G(j+1)}catch{$()}return}$()}},L.onerror=()=>{$()},L.onstart=()=>{if(!(j>0))try{C.current&&(cancelAnimationFrame(C.current),C.current=null),C.current=requestAnimationFrame(O)}catch{}},_.current=!0,x.speak(L)};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,f]),g=o.useCallback(()=>{b.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}C.current&&(cancelAnimationFrame(C.current),C.current=null),d(),y.current=null}catch{}l("stopped"),u("active"),i(0)},[d,l,u,i]);return{startTTS:w,stopTTS:g}}const e3=.01,t3=.3;async function n3(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(t3*l.sampleRate),v=Math.min(u.length,y);for(;c<v&&Math.abs(u[c])<=e3;)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),f=Math.floor(p/t)||1;return new Array(t).fill(0).map((y,v)=>{const C=c+v*f,b=Math.min(C+f,c+p,u.length);let _=0;for(let h=C;h<b;h++){const w=Math.abs(u[h]);w>_&&(_=w)}return _})}catch{return null}finally{try{s?.close?.()}catch{}}}async function Yu(e,t,a,r=!1){try{const s=await fetch(e);if(s.ok===!1)return null;const i=await s.arrayBuffer();return await n3(i,t,a,r)}catch(s){try{const i=si(s)}catch{}return null}}const Vo=45,a3=74,r3=2;function pr(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function mr(e){return pr(e)/45}const o3=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),Zu=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function Xu({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const r=Zu(t),s=Zu(a),i=[];let l=0;return e.forEach((u,c)=>{for(const[d,m]of[["lead",r],["sound",o3(u)],["tail",s]])i.push({kind:d,track:c,startMs:l,durMs:m}),l+=m}),{segments:i,totalMs:l,trackCount:e.length}}function Ju(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 s3(e,t){const a=Ju(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 i3(e,t,a){const r=Math.max(0,Math.floor(a)),s=Ju(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 l3({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 u3({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:r,leadInMs:s,tailMs:i}){const l=Xu({durationsSec:[r],leadInMs:s,tailMs:i});return s3(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function c3({bars:e,trackDurationSec:t,leadInMs:a,tailMs:r}){return i3(Xu({durationsSec:[t],leadInMs:a,tailMs:r}),0,e)}function d3(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function p3({ended:e,completedByEnd:t}){return!!e||!!t}function m3(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function h3(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function C3(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 Qu=4,f3=mr(Qu/Vo);function g3(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:f=0,tailMs:y=0,trackDurationSec:v=0}=e,C=o.useRef(null),b=o.useRef(null),[_,h]=o.useState(null),[w,g]=o.useState(!1),[B,x]=o.useState(null),[A,k]=o.useState(2),[N,S]=o.useState(0),[E,O]=o.useState(null),[$,G]=o.useState(!1),[j,L]=o.useState(!1),P=3,K=3,ee=1,V=300,q=o.useRef(0),R=o.useCallback(()=>{const be=C.current,te=b&&b.current?b.current:be?be.closest(".audio-player__wave"):null,de=te?te.getBoundingClientRect():be?be.getBoundingClientRect():null,pe=de?de.width:0,he=de?Math.max(100,de.width):320,ye=de?de.height:0,je=Math.max(ee,Math.min(V,Math.floor((he+K)/(P+K)))),Ye=je*P,He=Math.max(0,je-1),Pe=Math.max(0,He>0?(he-Ye)/He:K);return{bars:je,gap:Pe,height:ye,width:pe}},[]),I=o.useRef(void 0),D=o.useRef(null),H=o.useCallback(async(be,te,{quiet:de=!1}={})=>{const pe=++q.current,he=()=>q.current===pe;try{if(de||g(!1),I.current=be,!be){he()&&h(null);return}let ye=te;if(!ye)try{for(let He=0;He<4&&!(C.current||b.current);He++)await new Promise(Pe=>requestAnimationFrame(Pe));await new Promise(He=>requestAnimationFrame(He));const Ye=R();Ye.height>0&&S(Ye.height),ye=Ye.bars,k(Ye.gap)}catch{ye=120}D.current=ye;const je=await Yu(be,ye);if(!he())return;if(!je){h(null),g(!1);return}h(je),x(ye),g(!0)}catch{if(!he())return;h(null),g(!1)}},[g,h,S,k,x,R]);o.useEffect(()=>{const be=b.current;if(!be||typeof ResizeObserver>"u")return;let te=null;const de=new ResizeObserver(()=>{te!==null&&cancelAnimationFrame(te),te=requestAnimationFrame(()=>{te=null;try{const pe=R();if(pe.width<=0||(pe.height>0&&S(pe.height),D.current===null||pe.bars===D.current))return;const he=I.current;k(pe.gap),he?H(he,pe.bars,{quiet:!0}).catch(()=>{}):D.current=pe.bars}catch{}})});return de.observe(be),()=>{de.disconnect(),te!==null&&cancelAnimationFrame(te)}},[R,H]),o.useEffect(()=>{const be=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;H(typeof be=="string"?be:void 0).catch(()=>{}),L(!1)},[t,a,H]),o.useEffect(()=>{let be=!1;if(G(!1),!i||!B){O(null);return}const te=c>0?c*(u||1):void 0;return Yu(i,B,te,!0).then(de=>{be||(O(de),de||G(!0))}).catch(()=>{be||(O(null),G(!0))}),()=>{be=!0}},[i,B,c,u]);const M=Math.max(0,Math.min(1,d)),F=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),z=B||40,Y=o.useMemo(()=>c3({bars:z,trackDurationSec:v,leadInMs:f,tailMs:y}),[z,v,f,y]),J=o.useMemo(()=>Array.from({length:z}).map((be,te)=>{const de=te>=Y.lead&&te<Y.lead+Y.sound,pe=Y.sound>0&&de?Math.min(z-1,Math.round((te-Y.lead)/Y.sound*z)):-1,he=de?_&&_[pe]!=null?_[pe]:null:_?0:null,ye=he==null?null:Math.min(1,he/F*M),je=ye!=null&&N>0&&pr(ye)<=Qu,Ye=ye==null?.15:je?0:mr(ye),He=je,Pe=z>1?te/(z-1):0;return n.jsx("div",{className:He?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Ye,"--i":te,"--mix":Pe}},te)}),[z,_,F,M,N,Y]),Z={"--progress":String(Math.max(0,Math.min(1,r)))},re=o.useMemo(()=>E&&E.length&&Math.max(...E.map(be=>Number.isFinite(be)?Math.abs(be):0))||1,[E]),ue=M*Math.max(0,l),le=!i||!E||!E.length?1:Math.max(1,ue),Ee={"--bar-gap":`${A}px`,"--wave-h":`${pr(le)}px`,"--wave-h1":`${Vo}px`},W=w&&(i?!!E||$:!0);o.useEffect(()=>{W&&L(!0)},[W]);const oe=j?w:W;o.useEffect(()=>{m?.(oe)},[oe,m]);const ge=B||40,Ne=o.useMemo(()=>Array.from({length:ge}).map((be,te)=>{const de=E&&E[te]!=null?E[te]:null,pe=de==null?0:Math.abs(de)/re*ue,he=Math.max(f3,mr(pe)),ye=ge>1?te/(ge-1):0;return n.jsx("div",{className:"audio-player__bar",style:{"--val":he,"--i":te,"--mix":ye}},te)}),[ge,E,re,ue,N]);return n.jsxs("div",{className:"audio-player__wave",ref:b,style:Ee,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${W?"is-ready":""}`,"aria-hidden":"true",children:Ne}),p&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${oe?"is-ready":""}`,ref:C,children:J}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${oe?"is-ready":""}`,ref:s,style:Z,children:J})]})]})}const b3={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"},ec={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function Wo(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}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 y3=2e3;function tc(e,t=y3){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 v3({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(f=>f!==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 x3(){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 _3({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 w3(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 B3=400,A3=2e3,nc=5;function k3({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)},[]),f=o.useCallback(()=>{if(c.current!==null)return;let v=0;const C=()=>{if(Zn){const b=typeof performance<"u"&&performance.now?performance.now():Date.now();if(v>0&&b-v>B3){const _=m.current===null||b-m.current>A3;if(m.current=b,_&&d.current<nc){d.current+=1;const h=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Kt(`progress-ticker-slow-frames#${h}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(b-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>=nc?`(${h}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${h}\uBC88\uC9F8)`)}}v=b}try{const b=e.current,_=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=!!_&&Number.isFinite(_.duration)&&(_.duration??0)>0,w=h?0:w3(b),g=t.current,B=(l||0)>0||(u||0)>0,x=B&&(i?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!x)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const A=h?_.duration:w||0;Zn&&x&&!(A>0)&&Kt("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 k=B?u3({phase:i?.positionRef.current?.phase??"sound",phaseElapsedMs:i?.positionRef.current?Math.max(0,Date.now()-i.positionRef.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:A,leadInMs:l||0,tailMs:u||0}):l3({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:r.current,index:s.current,audioDuration:w??0});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${k*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(k))}catch{}}}catch{}c.current=requestAnimationFrame(C)};c.current=requestAnimationFrame(C)},[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:f,stop:p,settleTo:y}}function qo({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}=ve.useTranslation(),f=e,y=cr(),v=o.useRef(y?.registerAnalyser);o.useEffect(()=>{v.current=y?.registerAnalyser});const C=o.useRef(null),b=o.useRef(null),_=o.useRef(null),h=x3(),w=o.useRef(null),g=o.useRef(!1),B=o.useRef(null),{ref:x,rect:A,show:k,hide:N}=_3();o.useEffect(()=>()=>{v.current?.("main",null),v.current?.("noise",null)},[]);const[S,E]=o.useState(!1),[O,$]=o.useState("idle"),[G,j]=o.useState("stopped"),L=o.useRef("stopped");o.useEffect(()=>{L.current=G},[G]);const[P,K]=o.useState(0),[ee,V]=o.useState("active"),q=o.useRef(!1);o.useEffect(()=>{if(ee!=="playMode"||!q.current)return;q.current=!1;const ne=typeof document<"u"?document.activeElement:null;if(ne&&ne!==document.body)return;const we=_.current?.querySelectorAll("button")[1];try{we?.focus()}catch{}},[ee]);const[R,I]=o.useState(null),[D,H]=o.useState(null),[M,F]=o.useState(0),[z,Y]=o.useState(!1),[J,Z]=o.useState(0),re=y?.playbackRate??1,ue=y?.mainVolume??1,le=y?Io(y.settings):0,Ee=y?Gu(y.settings):ue,[W,oe]=o.useState("idle"),[ge,Ne]=o.useState(""),[be]=o.useState("top"),te=o.useRef(null),de=o.useRef(0),pe=o.useRef(null),he=o.useRef(!0),ye=q5({mountedRef:he}),je=o.useRef(null),Ye=o.useRef(d),He=o.useRef(m);o.useEffect(()=>{Ye.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{He.current=Math.max(0,m||0)},[m]);const{start:Pe,stop:Fe,settleTo:ht}=k3({audioRef:C,fillRef:b,waveProgressRef:pe,sourcesRef:te,currentIndexRef:de,sequencer:ye,leadInMs:d,tailMs:m}),{onReadyChange:ut,waitForReady:nt,markNotReady:ct}=v3({showSoundWaveForm:u,showNoiseWaveForm:c}),ke=o.useRef(null),Ie=o.useRef(s),Be=o.useRef(r),Ze=o.useRef(null),X=o.useRef(!1),[ie,fe]=o.useState(!1),De=o.useCallback(ne=>{X.current=ne,fe(ne)},[]),et=o.useRef(null),{activeNoiseUrl:Xe,noiseSettingsRef:ft,fadeInNoise:dt,fadeOutNoise:at}=J5({noisePlayer:y,audioRef:C,playbackStateRef:L,sequencer:ye}),{startTTS:rt,stopTTS:ot}=Q5({ttsText:i,playbackRate:re,mainVolume:Ee,fillRef:b,waveProgressRef:pe,setProgress:K,setPlaybackState:j,setStateLocal:V,fadeInNoise:dt,fadeOutNoise:at,noiseSettingsRef:ft,onDoneRef:Be,handleEndRef:et});o.useEffect(()=>{St.current=ot});const tt=ne=>{if(typeof window>"u"||!window.speechSynthesis){try{Ne(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}rt(ne);return}st("tts"),rt(ne)},$e=Array.isArray(t)?t.filter(Boolean):t?[t]:[],qe=(!$e||$e.length===0)&&!!i,ze=Array.isArray(R)&&R.length>0?R:Array.isArray(D)&&D.length>0?D:null,mt=Math.max(Array.isArray(ze)?ze.length:0,$e.length);o.useEffect(()=>(he.current=!0,()=>{he.current=!1}),[]);const kt=()=>{ye.abort()},St=o.useRef(null),gt=o.useRef(null),vt=o.useRef(null),Oe=o.useRef(null);Oe.current||(Oe.current=()=>{vt.current=null;const ne=C.current;if(gt.current==="audio"&&ne&&(!ne.paused||ye.isRunning())){kt();try{ne.pause()}catch{}he.current&&(j("paused"),Fe(),at())}else if(gt.current==="tts")try{St.current?.()}catch{}});const st=ne=>{gt.current=ne,vt.current=er(Oe.current)},jt=()=>{vt.current?.(),vt.current=null};o.useEffect(()=>()=>{Oe.current&&tr(Oe.current)},[]);const zt=o.useRef(re);o.useEffect(()=>{zt.current=re||1},[re]);const Je=o.useCallback(ne=>{const we=zt.current||1;try{ne.defaultPlaybackRate=we}catch{}try{ne.playbackRate=we}catch{}},[]),_t=o.useCallback((ne,we)=>{ne.src=we,Je(ne),ne.load(),Je(ne)},[Je]),$t=o.useCallback(()=>{Ze.current&&(clearTimeout(Ze.current),Ze.current=null),oe("idle")},[]),At=o.useCallback(async(ne,we=3,ae=50,_e=0)=>{$t();const Re=ye.generation(),Ge=!!ne&&ne.currentTime>0&&!ne.ended,it=Math.max(0,Ye.current-Math.max(0,_e));if(it>0&&!Ge){st("audio"),Pe(),j("playing");const Ct=ft.current;if(Ct?.enabled&&(Ct.volume??0)>0)try{dt(Ct.volume)}catch{}if(!await ye.waitPad(it,"lead",_e)||!he.current||!ye.isCurrent(Re))return!1}ye.enterSound();for(let Ct=0;Ct<we;Ct++){if(!he.current||!ye.isCurrent(Re))return!1;try{return st("audio"),await ne.play(),!0}catch(Ce){if((Ce instanceof Error||typeof Ce=="object"&&Ce&&"name"in Ce?Ce.name:void 0)==="AbortError"){if(!ye.isCurrent(Re))return!1;await new Promise(T=>setTimeout(T,ae));continue}try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,Pe,ye,dt,ft,$t]),fn=o.useCallback(ne=>{const we=ye.generation(),ae=Math.max(0,He.current-Math.max(0,ne));Pe();const _e=ft.current;if(_e?.enabled&&(_e.volume??0)>0)try{dt(_e.volume)}catch{}const Re=()=>{try{je.current?.()}catch{}};if(ae<=0){ye.leave(),Re();return}ye.waitPad(ae,"tail",ne).then(Ge=>{ye.leave(),Ge&&ye.isCurrent(we)&&Re()}).catch(()=>{})},[ye,Pe,dt,ft]),gn=o.useCallback(()=>{const ne=C.current;if(!ne)return;const we=()=>{j("playing"),V("playMode"),Y(!0),Pe();try{Fr(),za(ne).then(Ge=>{if(he.current)try{v.current?.("main",Ge)}catch{}})}catch{}const Re=ft.current;Re?.enabled&&(Re?.volume??0)>0&&dt(Re.volume)},ae=()=>{p3({ended:!!ne?.ended,completedByEnd:X.current})||(j("paused"),Fe(),at())},_e=()=>{const Re=()=>{try{const Ge=te.current,it=d3(Ge,de.current);if(it!==null){de.current=it,F(it),Y(!0);const Ct=Ge?.[it]&&Ge[it].src;if(Ct&&ne){_t(ne,Ct),At(ne).catch(()=>{});return}}}catch{}j("stopped"),K(1);try{if(ne)try{ne.currentTime=0}catch{}}catch{}Fe(),Y(!1),at();try{!Ie.current&&et.current&&et.current()}catch{}};if(je.current=Re,He.current>0){Pe(),ye.waitPad(He.current,"tail").then(Ge=>{ye.leave(),Ge&&Re()}).catch(()=>{});return}Re()};return ne.addEventListener("play",we),ne.addEventListener("pause",ae),ne.addEventListener("ended",_e),()=>{try{ne.removeEventListener("play",we),ne.removeEventListener("pause",ae),ne.removeEventListener("ended",_e),Fe()}catch{}}},[dt,at,At,ft,Pe,Fe,ye]);o.useEffect(()=>gn(),[gn]),o.useEffect(()=>{Ie.current=s},[s]),o.useEffect(()=>{Be.current=r},[r]),o.useEffect(()=>{if(s||ee!=="active")return;const ne=B.current;if(!ne)return;let we=null;const ae=requestAnimationFrame(()=>{try{const _e=ne.getTotalLength();if(!_e)return;const Re=_e*.2;ne.style.strokeDasharray=`${_e-Re} ${Re}`;const Ge="triFlow_"+Math.random().toString(36).slice(2);we=document.createElement("style"),we.textContent=`@keyframes ${Ge}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${_e}}}`,document.head.appendChild(we),ne.style.animation=`${Ge} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ae),we?.remove()}},[ee,s]),o.useEffect(()=>{te.current=R},[R]),o.useEffect(()=>{de.current=M},[M]),o.useEffect(()=>{const ne=_.current,we=w.current;if(!ne||!we)return;let ae=null;const _e=32,Re=60,Ge=()=>{try{const Ct=Array.from(ne.querySelectorAll(":scope > .button"));let Ce=0;Ct.forEach(Le=>{if(Le===we)return;const Ke=Le.getBoundingClientRect();Ce+=Ke.width});const T=ne.getBoundingClientRect().width,U=Math.max(0,Math.floor(T-Ce-8)),ce=mt;if(!ce||U<=0){Array.from(we.children).forEach(Le=>{try{Le.style.width=""}catch{}});return}let Se=Math.floor(U/ce);Se>Re&&(Se=Re),Se<_e&&(Se=Math.max(_e,Math.floor(U/ce))),Array.from(we.querySelectorAll(".button")).forEach(Le=>{try{Le.style.width=`${Se}px`}catch{}})}catch{}},it=requestAnimationFrame(Ge);try{ae=new ResizeObserver(()=>{requestAnimationFrame(Ge)}),ae.observe(ne),ae.observe(we),window.addEventListener("resize",Ge)}catch{}return()=>{try{cancelAnimationFrame(it)}catch{}try{ae&&(ae.disconnect(),ae=null)}catch{}try{window.removeEventListener("resize",Ge)}catch{}}},[R,D,mt]),o.useEffect(()=>()=>{try{ke.current&&(clearTimeout(ke.current),ke.current=null),Ze.current&&(clearTimeout(Ze.current),Ze.current=null)}catch{}},[]);const cn=(ne,we)=>{I(ne),Z(we),ct(),H(m3(ne)),te.current=ne},dn=()=>{V("playMode"),F(0),Y(!0)},pn=async(ne,we)=>{De(!1),g.current=!1,_t(ne,we),await tc(ne),await nt()!==!1&&(E(!1),dn(),await At(ne))},Fn=async(ne,we=!1)=>{const ae=C.current;E(!0),$("measuring_duration");try{const _e=await Wo(ne,{timeoutMs:1e4,rejectOnError:!0});cn([{src:ne,objectUrl:null,duration:_e}],_e),$("ready"),we&&ae&&await pn(ae,ne)}finally{g.current=!1,E(!1)}},bn=async(ne,we=!1)=>{const ae=C.current;E(!0),$("measuring_duration");try{const _e=await Promise.all(ne.map(Ge=>Wo(Ge,{timeoutMs:1e4})));if(!he.current)return;const Re=ne.map((Ge,it)=>({src:Ge,objectUrl:null,duration:_e[it]||0}));cn(Re,h3(Re)),$("ready"),we&&ae&&Re.length>0&&await pn(ae,Re[0].src)}finally{g.current=!1,E(!1)}},Vt=async(ne=!1,we=!0)=>{const ae=C.current,_e=t?Array.isArray(t)?t:[t]:[];if(!_e||_e.length===0||!_e.some(Boolean))return!1;if(g.current)return null;g.current=!0,we&&E(!0),$("resolving");try{const Re=C3(t,a,Ks),Ge=[];let it=0;for(const Ct of Re){let Ce=Ct.src??null,T=null;if(!Ce&&Ct.resolvedPath){try{$("getting_signed_url"),Ce=await Ys(Ct.resolvedPath)}catch{Ce=null}if(!he.current)return!1;if(!Ce)try{$("downloading");const ce=await Zs(Ct.resolvedPath);if(!he.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{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),V("active")}catch{}}}if(!Ce)continue;let U=0;try{$("measuring_duration"),U=await Wo(Ce,{timeoutMs:3e3})}catch{U=0}if(!he.current){if(T)try{URL.revokeObjectURL(T)}catch{}for(const ce of Ge)if(ce.objectUrl)try{URL.revokeObjectURL(ce.objectUrl)}catch{}return!1}it+=U||0,Ge.push({...Ct,src:Ce,objectUrl:T,duration:U})}if(cn(Ge,it),Ge.length>0&&ne&&ae){const Ct=Ge[0];De(!1);try{h.keepOnly(Ge.map(Ce=>Ce.objectUrl))}catch{}if($("ready"),g.current=!1,Ct.src&&ae)try{if(_t(ae,Ct.src),await tc(ae),await nt()===!1)return!1;we&&E(!1),dn(),ae&&await At(ae)}catch{we&&E(!1)}else we&&E(!1);V("playMode"),F(0),Y(!0)}return Ge.length>0}finally{g.current=!1,we&&E(!1),$(Re=>Re==="ready"?"ready":"idle")}},yn=async ne=>{const we=ye.isRunning();if(ne.paused&&!we){if(X.current){await Rt();return}const ae=ye.resume();if(ae){if(j("playing"),ae.phase==="tail"){fn(ae.\uD750\uB978);return}await At(ne,3,50,ae.\uD750\uB978);return}await At(ne),j("playing")}else ye.pause(),kt(),ne.pause(),j("paused"),we&&(Fe(),at())},Wt=async()=>{const ne=C.current;if(!(!ne&&!qe)){if(qe){const we=window.speechSynthesis;if(ee==="active"){const ae=$r(),_e=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ae&&_e.length>0){if(g.current)return;V("load"),E(!0),$("synthesizing"),g.current=!0;try{const Re=await Promise.all(_e.map(Ge=>Promise.resolve(ae(Ge))));Re.length>1?await bn(Re,!0):await Fn(Re[0],!0)}catch{g.current=!1,E(!1),V("active"),tt(_e.length>0?_e:void 0)}return}tt(_e.length>0?_e:void 0);return}if(ee==="playMode"){const ae=!!we&&(we.speaking||we.paused)&&!(ne&&(ne.currentSrc||ne.getAttribute("src")));if(ne&&!ae){await yn(ne);return}try{if(we&&we.paused)try{st("tts"),we.resume(),j("playing")}catch{}else try{we.pause(),j("paused")}catch{}}catch{}}return}if(ee==="active"){if(s&&Array.isArray(te.current)&&te.current.length>0){const ae=te.current[0];try{if(ae.src&&ne)try{_t(ne,ae.src),dn(),ne&&await At(ne)}catch{}dn();return}catch{}}V("load");let we;try{we=await Vt(!0)}catch{we=!1}if(we===!1&&he.current){try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}V("active")}return}if(ee!=="load"&&(ee==="playMode"||ee==="active"))try{ne&&await yn(ne)}catch(we){(we instanceof Error||typeof we=="object"&&we&&"name"in we)&&we.name}}},Rt=async()=>{const ne=C.current;if(ne)try{const we=te.current;if(Array.isArray(we)&&we.length>1){await Ft(0);return}De(!1);try{ne.currentTime=0}catch{}ne&&await At(ne),j("playing"),V("playMode")}catch{}},En=()=>{kt(),jt(),St.current?.();const ne=C.current;try{if(ne){try{ne.pause()}catch{}try{ne.currentTime=0}catch{}}}catch{}at(),j("stopped"),V("active"),K(0),Y(!1)},an=async(ne,{sameSegment:we=!1}={})=>{kt();const ae=ye.generation(),_e=C.current,Re=te.current?.[ne]?.src;try{if(De(!1),F(ne),Y(!0),de.current=ne,!Re||!_e||(we||ct(),_t(_e,Re),!we&&await nt()===!1)||!ye.isCurrent(ae)||(await At(_e),!ye.isCurrent(ae)))return;j("playing"),V("playMode")}catch{}},vn=async()=>{const ne=te.current,we=de.current||0;if(!ne||we<=0){await Rt();return}await an(we-1)},In=async()=>{const ne=te.current,we=de.current||0;if(!ne||we>=ne.length-1){En();return}await an(we+1)},mn=()=>{if(X.current)return;const ne=200,we=340;De(!0),kt(),jt();try{K(1)}catch{}ht(1);try{oe("hold")}catch{}try{const ae=C.current,_e=qe&&!!ae?.src;if(!qe||_e){if(ae){ae.pause();try{ae.currentTime=0}catch{}}}else ot();at()}catch{}try{j("stopped")}catch{}if(Y(!1),!Ie.current)try{Ze.current&&(clearTimeout(Ze.current),Ze.current=null),Ze.current=setTimeout(()=>{try{oe("out")}catch{}Ze.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{oe("idle")}catch{}Ze.current=null},we)},ne)}catch{}};o.useEffect(()=>{et.current=mn});const qt=o.useCallback(()=>Ne(""),[]),Ft=async ne=>{(te.current||[])[ne]&&await an(ne,{sameSegment:ne===de.current})},se=G==="playing",xe=o.useMemo(()=>{if(!D||D.length<=1)return D;const ne=D[M];return ne?[ne]:D},[D,M]),Te=s===!0;o.useEffect(()=>{try{const ne=C.current;ne&&typeof ne.playbackRate=="number"&&Je(ne)}catch{}},[re,Je]);const Ue=o.useRef({raf:null,timer:null});o.useEffect(()=>{const ne=C.current;if(!ne)return;const we=Math.max(0,Math.min(1,Ee)),ae=Ue.current,_e=()=>{ae.raf!==null&&(cancelAnimationFrame(ae.raf),ae.raf=null),ae.timer!==null&&(clearTimeout(ae.timer),ae.timer=null)};_e();const Re=Va(ne);if(ne.paused||Math.abs(Re-we)<.001||typeof requestAnimationFrame!="function"){try{Tn(ne,we)}catch{}return}const Ge=performance.now(),it=()=>{const Ct=Math.min(1,(performance.now()-Ge)/150);try{Tn(ne,Re+(we-Re)*Ct)}catch{}ae.raf=Ct<1?requestAnimationFrame(it):null};return ae.raf=requestAnimationFrame(it),ae.timer=setTimeout(()=>{_e();try{Tn(ne,we)}catch{}},200),_e},[Ee]);const Me=W==="hold",Ve=W==="out",We=ee==="playMode"&&!S&&!ie||Me||Ve,pt=G!=="stopped"||Me||Ve,Dt=G==="paused",Jt=Math.max(0,Math.min(100,(P||0)*100)),Qt=Ae("audio-player__fill",We?"is-visible":"",pt?"is-expanded":"",Dt?"is-paused":"",Ve?"is-out":"");return n.jsxs("div",{className:`audio-player ${Te?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof f=="string"?f:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${se?"is-playing":""} ${S?"is-loading":""} ${ee!=="default"?"is-revealed":""}`,children:[S?n.jsxs("div",{className:"audio-player__loading",role:ec[O]?"status":void 0,"aria-live":ec[O]?"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.${O}`,{defaultValue:b3[O]})})]}):null,ee==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Te,onClick:()=>{q.current=or(),N(),Wt()},"aria-label":typeof f=="string"?f:p("training.listen","\uB4E3\uAE30"),onMouseEnter:k,onMouseLeave:N,onFocus:k,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:B,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,A&&n.jsx(_n,{anchorRect:A,text:typeof f=="string"&&f?f:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${ee==="playMode"||se?"is-visible":""}`,inert:!(ee==="playMode"||se)||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:vn,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:se?"pause":"play",onClick:Wt,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":se,width:"60px",variant:"transparent-white",disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:En,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),mt>1?n.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:mt}).map((ne,we)=>n.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(we+1),onClick:()=>{try{Ft(we)}catch{}},ariaLabel:p("training.sourcePlay",{n:we+1}),variant:"transparent-white",selected:z&&M===we,disabled:ee!=="playMode"||!(Array.isArray(R)&&R[we]),showTooltipInfo:!0},we))}):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:ee!=="playMode"}):null,n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:In,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:mn,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:ee!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:Qt,ref:b,style:{left:`${Jt}%`},"aria-hidden":"true"}),(u||c)&&n.jsx(g3,{segments:xe,progress:P,totalDuration:J,waveProgressRef:pe,showSoundWaveForm:u,leadInMs:d,tailMs:m,trackDurationSec:R?.[M]?.duration??0,noiseSrc:c&&y?.settings.enabled&&le>0?Xe:null,noiseRatio:y?Fa(y.settings):0,noiseSpeed:y?.settings.speed??1,mainVolume:ue,onReadyChange:ut})]})]}),n.jsx("audio",{ref:C,crossOrigin:"anonymous",preload:"auto"})]}),!u&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(Qe,{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:ge,position:be,onClose:qt})]})}function hr(e){const{t}=ve.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:f,canDecrease:y,fontSize:v,lineHeight:C}=al({storageKey:"tooltip-fontScale"}),b=o.useCallback(()=>d(B=>B==="dark"?"light":"dark"),[]),_=o.useCallback(B=>{try{B.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:`${C}px`,"--tt-line-height":`${C}px`,"--tt-marker-size":"28px"},g=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((B,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:B})]},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:!f}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:b,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(sn,{anchorRect:s,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:g}):n.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:g})}function ac({state:e="disabled"}){const{t}=ve.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(Qe,{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 rc(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(hn)).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 oc({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}=ve.useTranslation(),f=rn("(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(),C=o.useRef(null),[b,_]=o.useState(!1),[h,w]=o.useState(null),[g,B]=o.useState(null);rc(b&&!!h,()=>{if(typeof document>"u")return null;const S=Array.from(document.querySelectorAll(".tooltip-content"));for(let E=S.length-1;E>=0;E--)if(S[E].querySelector(".tooltip-textbox__root"))return S[E];return null},()=>C.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const A=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(S=>typeof S=="string"||typeof S=="number")?l.join(""):"",[l]),k=o.useCallback(()=>{_(!1),w(null),B(null)},[]);o.useEffect(()=>{if(!b)return;let S;try{typeof x.current=="function"&&(S=x.current())}catch{}if(S===!1){k();return}B(typeof S<"u"&&S!==null?S:null)},[A]);const N=o.useCallback(()=>{let S;try{typeof i=="function"&&(S=i())}catch{}if(S!==!1){if(B(typeof S<"u"&&S!==null?S:l),!C.current){_(E=>!E);return}if(b)_(!1),w(null),B(null);else{const E=C.current.getBoundingClientRect();w(E),_(!0)}}},[i,l,b]);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:f?"dot":"bar",icon:"play-circle",label:f?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:C,children:n.jsx(me,{htmlType:"button",size:32,type:f?"dot":"bar",icon:"eye",label:f?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:N,className:b?"is-selected":void 0,"aria-expanded":b,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),b&&n.jsx(hr,{text:g??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:h,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Uo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Kn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:c=void 0}){const{t:d}=ve.useTranslation(),[m,p]=o.useState(()=>Uo(e,t));o.useEffect(()=>{const B=Uo(e,t);if(B!==m){const x=setTimeout(()=>p(B),0);return()=>clearTimeout(x)}},[e,t,m]);const f=o.useCallback((...B)=>{Uo(e,t)==="done"||m==="done"||typeof u=="function"&&u(...B)},[e,t,m,u]),[y,v]=o.useState(!1),[C,b]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),_=o.useCallback(B=>{if(!B)return null;try{const x=B;if(typeof B=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const N=x.currentTarget??x.target;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect()}if(B instanceof DOMRect)return B;const A=B;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const k=B?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),h=o.useCallback((B,{text:x="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:N="center",alignY:S="top"}={})=>{const E=_(B);b({text:x,label:A,anchorRect:E,backdrop:k,alignX:N,alignY:S}),v(!0)},[_]),w=o.useCallback(()=>{v(!1),b(B=>({...B,anchorRect:null}))},[]),g=o.Children.map(i,B=>{if(o.isValidElement(B)){const x=B;if(typeof x.type=="string")return x;const A=x.props??{},k=typeof A.onDone=="function"?A.onDone:f,N=typeof A.disabled=="boolean";let S=m==="disabled";return N&&(S=!!A.disabled),o.cloneElement(x,{onDone:k,disabled:S,showTooltip:h,hideTooltip:w})}return B});return n.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${l}`,"aria-current":m==="active",children:[n.jsx(ac,{state:m}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(oc,{state:m,title:r,...s,useFaded:c}),g]}),y?n.jsx(sn,{anchorRect:C.anchorRect,backdrop:C.backdrop,onClose:w,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(hr,{text:C.text,onClose:w})}):null]})}function sc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=ve.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:f,fontSize:y,lineHeight:v}=al({storageKey:"textbox_fontScale"}),[C,b]=o.useState(""),_=o.useRef(null),h=o.useRef(!1),w=o.useCallback(()=>{h.current=or()&&!!_.current&&_.current.contains(document.activeElement),i("active")},[]),g=o.useCallback(()=>b(""),[]),B=$=>{try{b($)}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 A=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,N]=o.useState(A);k!==A&&(N(A),i("disabled"));const S=t==="disabled"?s:t,E=S==="disabled"?"training-text-box--disabled":S==="active"?"training-text-box--active":S==="done"?"training-text-box--done":"",O=o.useMemo(()=>({fontSize:`${y}px`,lineHeight:`${v}px`}),[y,v]);return o.useEffect(()=>{if(S==="disabled"||!h.current)return;h.current=!1;const $=document.activeElement;$&&$!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[S]),n.jsxs("div",{ref:_,className:`training-text-box ${E} ${S!=="disabled"&&l==="dark"?"is-dark":""}`,children:[S==="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":S==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:O,children:A})}),S!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":S==="disabled",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:m,onDisabledClick:()=>B(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:!f,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>B(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:C,position:"top",onClose:g})]})}function Go({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:c,choices:d,multiSelect:m=!1,correctCount:p=0,useDisabledCovered:f=!1,choiceIcons:y,shuffleChoices:v=!0}){const{t:C}=ve.useTranslation(),b=r??C("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),_=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",w=Array.isArray(d)&&d.length?d:typeof u<"u"?[u].concat(Array.isArray(c)?c:[]):void 0,g=c?c.join("||"):"",B=d?d.join("||"):"",[x,A]=o.useState(()=>Array.isArray(w)?v?xa(w):w.slice():void 0);o.useEffect(()=>{Array.isArray(w)&&w.length?A(v?xa(w):w.slice()):A(void 0)},[u,g,B,v]);const[k,N]=o.useState(null),[S,E]=o.useState(()=>new Set);o.useEffect(()=>{N(null),E(new Set)},[B,u,g]);const O=o.useRef(void 0);o.useEffect(()=>{const j=O.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(N(null),E(new Set)),O.current=t},[t,e]);const $=o.useCallback(j=>{if(h!=="active")return;const L=x?.[j];if(L==null)return;const P=L,K=h==="active"||h==="done";if(m){const ee=new Set(S),V=ee.has(P);V?ee.delete(P):ee.add(P),E(ee),typeof l=="function"&&l({selectedValues:[...ee],__ts:Date.now()}),K&&(typeof p=="number"&&p>0?ee.size>=p:!V)&&typeof i=="function"&&h==="active"&&i({selectedValues:[...ee],__ts:Date.now()})}else N(P),typeof l=="function"&&l({selectedIndex:j,selectedValue:P,__ts:Date.now()}),K&&typeof i=="function"&&h==="active"&&i({selectedIndex:j,selectedValue:P,__ts:Date.now()})},[x,h,m,l,i,p,S]),G=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:b,useTitleFaded:s,children:n.jsx("div",{className:G,children:Array.isArray(x)&&x.length>0?x.map((j,L)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>$(L),ariaLabel:String(j),label:j,useLabel:!0,icon:y?y[String(j)]:void 0,variant:"default",disabled:h==="disabled",selected:m?S.has(j):k===j,useDisabledCovered:f,minWidth:0},String(j))):null})})}function Ko({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:c}=ve.useTranslation(),d=r??c("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,p=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",f=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",y=l&&typeof l=="object"?l.choices:void 0,[v,C]=o.useState(u??null),b=`${String(f)}\0${JSON.stringify(y??null)}`,[_,h]=o.useState(b);_!==b&&(h(b),u==null&&C(null));const[w,g]=o.useState(u);Object.is(w,u)||(g(u),C(u??null));const B=o.useRef(void 0);o.useEffect(()=>{const N=B.current;typeof N=="number"&&typeof t=="number"&&typeof e=="number"&&N>=e&&t<e&&u==null&&C(null),B.current=t},[t,e,u]);const x=o.useCallback(N=>{const S=typeof N=="object"&&N!==null?Object.assign({},N,{__ts:Date.now()}):{value:N,__ts:Date.now()};typeof i=="function"&&i(S),p==="active"&&typeof s=="function"&&s(S)},[i,p,s]),A=o.useCallback(()=>{p==="active"&&(C(!1),x(!1))},[x,p]),k=o.useCallback(()=>{p==="active"&&(C(!0),x(!0))},[x,p]);return n.jsxs(Kn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(sc,{context:l,state:p}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(y)&&y.length>0?y.slice(0,6).map((N,S)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>{p==="active"&&(C(S),x&&x(S))},disabled:p==="disabled",ariaLabel:String(N),label:N,variant:p,selected:v===S},S)):n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:A,disabled:p==="disabled",icon:"x",ariaLabel:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:p==="disabled",icon:"circle",ariaLabel:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function Yo({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:f,showSoundWaveForm:y,showNoiseWaveForm:v,leadInMs:C,tailMs:b}){const{t:_}=ve.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(Kn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:m},children:n.jsx(qo,{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:C,tailMs:b},`audio-p${f??0}-s${e}`)})}const N3=[];function Zo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=N3}){const{t:u}=ve.useTranslation(),c=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=I=>typeof I=="string"?I:I&&(I.context||I.sentence||I.question||"")||"",[m,p]=o.useState(Array.isArray(l)?l:[]),[f,y]=o.useState(()=>(m||[]).map((I,D)=>({id:D,text:d(I)}))),v=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),C=v!=="disabled",b=o.useRef(void 0);o.useEffect(()=>{if(b.current===l)return;b.current=l;const I=Array.isArray(l)?l:[];p(I);const D=(H=>{const M=(H||[]).map((J,Z)=>({id:Z,text:d(J)}));if(M.length<=1)return M;const F=(J,Z)=>{if(J.length!==Z.length)return!1;for(let re=0;re<J.length;re++)if(J[re].text!==Z[re].text)return!1;return!0};let z=xa(M),Y=0;for(;F(z,M)&&Y<20;)z=xa(M),Y+=1;return z})(I);y(D);try{if(typeof i=="function"){const H=D.filter((M,F)=>M.text===d(I[F])).length;i({shuffled:D,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const H=D.filter((M,F)=>M.text===d(I[F])).length;s({shuffled:D,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const _=(I,D)=>{const H=[...f],M=I+D;if(M<0||M>=H.length)return;const F=H[M];H[M]=H[I],H[I]=F,L(H);try{if(typeof s=="function"&&v==="active"){const z=H.filter((Y,J)=>Y.text===d(m[J])).length;s({shuffled:H,score:z,total:(m||[]).length,__ts:Date.now()})}}catch{}},[h,w]=o.useState(null),g=o.useRef(null),B=o.useRef(null),x=o.useRef(null),A=o.useRef(null),k=o.useRef(null),N=o.useRef({x:0,y:0}),S=o.useRef(null),E=o.useRef({dx:0,dy:0}),O=()=>{if(S.current!==null)return;const I=()=>{if(!g.current){S.current=null;return}S.current=requestAnimationFrame(I);const D=N.current,H=E.current||{dx:0,dy:0};g.current&&(g.current.style.transform=`translate3d(${D.x-H.dx}px, ${D.y-H.dy}px, 0)`)};S.current=requestAnimationFrame(I)},$=o.useRef(new Map),G=o.useRef(new Map),j=()=>{const I=new Map;return $.current.forEach((D,H)=>{D&&D.getBoundingClientRect&&I.set(H,D.getBoundingClientRect())}),I},L=I=>{const D=j();y(I);try{if(typeof i=="function"){const H=I.filter((M,F)=>M.text===d(m[F])).length;i({shuffled:I,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=j();I.forEach(M=>{const F=D.get(M.id),z=H.get(M.id),Y=$.current.get(M.id);if(!Y||!F||!z)return;const J=F.top-z.top;J&&(Y.style.transition="none",Y.style.transform=`translateY(${J}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const Z=()=>{Y.style.transition="",Y.removeEventListener("transitionend",Z)};Y.addEventListener("transitionend",Z)}))})})},P=(I,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(I))}catch{}try{D.dataTransfer&&(D.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),D.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}w(I);try{const H=f[I],M=document.createElement("div");M.className="order-list__dragging-object order-list__dragging-object--visible",M.textContent=H&&H.text?H.text:"",document.body.appendChild(M),g.current=M;const F=$.current.get(H.id);let z=D.clientX||0,Y=D.clientY||0;try{if(F&&F.getBoundingClientRect){const Ee=F.getBoundingClientRect();z=Ee.left+Ee.width/2,Y=Ee.top+Ee.height/2}}catch{}const J=M.getBoundingClientRect(),Z=J.width/2,re=J.height/2;E.current={dx:Z,dy:re},M.style.transition="none",N.current={x:z,y:Y},M.style.transform=`translate3d(${z-Z}px, ${Y-re}px, 0)`,requestAnimationFrame(()=>{try{M.style.transition=""}catch{}O()});const ue=Ee=>{const W=Ee;N.current={x:W.clientX,y:W.clientY},O()};x.current=ue,document.addEventListener("mousemove",ue);const le=Ee=>{const W=Ee;N.current={x:W.clientX,y:W.clientY},O()};B.current=le,document.addEventListener("dragover",le);try{D.dataTransfer?.setData("text/plain",String(I));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:I}))}catch{}}catch{}}catch{}},K=(I,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const H=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(H&&A.current!==H){if(A.current)try{A.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}A.current=H}}catch{}},ee=(I,D)=>{D.preventDefault();const H=D.dataTransfer?.getData("text/plain")||"",M=H?parseInt(H,10):h,F=I;if(typeof M!="number"||isNaN(M)||M===F){w(null),R(),V();return}const z=LC(f,M,F);L(z),w(null),V();try{if(typeof s=="function"&&v==="active"){const Y=z.filter((J,Z)=>J.text===d(m[Z])).length;s({shuffled:z,score:Y,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[F];if(!Y)return;const J=Y.querySelector(".order-list__slot")||Y;try{J.classList.add("pulse"),J.offsetHeight,J.classList.add("to-dark");const Z=()=>{J.classList.remove("pulse","to-dark"),J.removeEventListener("transitionend",Z)};J.addEventListener("transitionend",Z)}catch{}})}catch{}R()},V=()=>{if(g.current){try{document.body.removeChild(g.current)}catch{}g.current=null}B.current&&(document.removeEventListener("dragover",B.current),B.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),S.current!==null&&(cancelAnimationFrame(S.current),S.current=null)},q=()=>{w(null),R(),V()};o.useEffect(()=>()=>V(),[]);const R=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),A.current){try{A.current.classList.remove("drag-over")}catch{}A.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,(f||[]).length);f.forEach((D,H)=>{const M=G.current.get(D.id);if(!M)return;let F=50;I>1&&(F=Math.round(H/(I-1)*100));try{M.style.setProperty("--marker-pos",F+"%")}catch{}})}catch{}},[f]),o.useEffect(()=>()=>{V(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:c,children:n.jsx("div",{className:"order-list",children:f.map((I,D)=>{const H=Math.max(1,(f||[]).length),M=H>1?Math.round(D/(H-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":M+"%"},ref:F=>{const z=G.current;F?z.set(I.id,F):z.delete(I.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,n.jsxs("div",{ref:F=>{const z=$.current;F?z.set(I.id,F):z.delete(I.id)},className:`order-list__draggable ${h===D?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:C,onDragStart:C?F=>P(D,F):void 0,onDragEnter:C?F=>K(D,F):void 0,onDragOver:C?F=>K(D,F):void 0,onDragLeave:C?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const F=document.querySelectorAll(".order-list .order-list__item");F&&F[D]&&(F[D].classList.remove("drag-over"),A.current===F[D]&&(A.current=null))}catch{}},80)}catch{}}:void 0,onDrop:C?F=>ee(D,F):void 0,onDragEnd:C?q:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:I.text}),C?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(D,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(D,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===f.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},I.id)})})})}const D3=8e3;function E3(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function ic({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:c=!1,hideAudio:d=!1,maxCards:m,playAllGapMs:p=0}){const{t:f}=ve.useTranslation(),y=r??f("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),v=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),C=m??3,b=(v||[]).slice(0,C);(v||[]).length>C&&console.warn(`TrainingStepCard: ${v.length} items passed but only ${C} shown`);const _=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[w,g]=o.useState(null),B=o.useRef([]),[x,A]=o.useState(!1),k=o.useRef(null),N=o.useRef(!0);o.useEffect(()=>(N.current=!0,()=>{N.current=!1}),[]);const S=o.useMemo(()=>v.map(L=>L?.id??L?.word??"").join("|"),[v]);o.useEffect(()=>{g(null)},[S]);const E=o.useRef(void 0);o.useEffect(()=>{const L=E.current;typeof L=="number"&&typeof t=="number"&&typeof e=="number"&&L>=e&&t<e&&g(null),E.current=t},[t,e]);const O=o.useCallback((L,P)=>{if(u)return;const K={item:L,index:P,__ts:Date.now()};try{typeof i=="function"&&i(K)}catch{}if(h==="active"&&typeof s=="function")try{s(K)}catch{}},[u,i,h,s]),$=o.useRef(p);o.useEffect(()=>{$.current=Math.max(0,p||0)},[p]);const G=o.useCallback(async()=>{if(x||h==="disabled")return;A(!0);let L=!1;const P=new Promise(K=>{k.current=()=>{L=!0,K()}});try{for(let K=0;K<b.length&&!(!N.current||L);K++){const ee=B.current[K];if(!ee)continue;await Promise.race([E3(ee.play(),D3),P]);const V=Math.max(0,$.current||0);V>0&&K<b.length-1&&!L&&N.current&&await Promise.race([new Promise(q=>{setTimeout(q,V)}),P])}}finally{k.current=null,A(!1)}},[x,h,b.length]),j=o.useCallback((L,P)=>{if(h!=="active")return;g(P);const K={selectedValue:L.word||L.title||"",selectedIndex:P,item:L,__ts:Date.now()};try{typeof i=="function"&&i(K)}catch{}if(h==="active"&&typeof s=="function")try{s(K)}catch{}},[i,h,s]);return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:y,onDone:s,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:G,playAllActive:x},children:n.jsx("div",{className:"training-step__cards",onClickCapture:L=>{const P=k.current;if(!P)return;const K=L.target;K&&typeof K.closest=="function"&&K.closest(".training-word-card__bottom")&&P()},children:b.length===0?n.jsx("div",{className:"training-step__empty",children:f("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((L,P)=>n.jsx(So,{ref:K=>{B.current[P]=K},item:L,disabled:h==="disabled",onPlayDone:()=>O(L,P),selectable:u,selected:u&&w===P,onSelect:u?()=>j(L,P):void 0,flipDelay:P*120,hideLabel:c,hideAudio:d},L&&L.id||P))})})}const S3=160,j3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function T3(e,t){const a=j3[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const lc=()=>{};function $n(e){const t=o.useId();if(!("variant"in e)){const{label:h,sub:w,onClick:g,children:B,align:x="horizontal",icon:A,useFullWidth:k=!1}=e,N=S=>{g&&S.target===S.currentTarget&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),g())};return n.jsxs("div",{className:Ae("panel-row",x==="vertical"?"panel-row--vertical":"",k?"panel-row--label-fixed panel-row--fill":"",g?"panel-row--clickable":""),onClick:g,onKeyDown:g?N:void 0,role:g?"button":void 0,tabIndex:g?0:void 0,children:[A!=null&&n.jsx("div",{className:"panel-row__icon",children:A}),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:B})]})}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 f=null;const y=a==="toggle"?`panel-toggle-${t}`:void 0,v=u?`panel-error-${t}`:void 0,C=`panel-helper-${t}`;if(a==="toggle"){const h=e;f=n.jsx(Wl,{checked:h.checked,onChange:h.onChange,id:y})}else if(a==="segmented"){const h=e;f=n.jsx(kn,{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((g,B)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(un,{options:g.options,value:g.value,onChange:g.onChange,placeholder:g.placeholder,block:d,error:!!u,ariaDescribedBy:v,ariaLabel:g.ariaLabel??([r,g.placeholder].filter(Boolean).join(" ")||void 0)})},B))}):n.jsx(un,{options:h.options??[],value:h.value??"",onChange:h.onChange??lc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:v});f=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?f=n.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((w,g)=>n.jsx(me,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},g))}):f=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;f=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;f=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(Gn,{value:h.value,onChange:h.onChange??lc,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?C:void 0}),h.helperText&&n.jsx("div",{id:C,className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(f=e.children);u&&a!=="input"&&a!=="dropdown"&&(f=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[f,n.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const b=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:Ae("panel-row",c==="vertical"?"panel-row--vertical":"",b?"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:f})]})}function uc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function M3({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=ve.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\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:l}),i&&t&&n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(Bt,{size:"small",variant:lu(i.device),fill:"soft",label:T3(i.device,r)}),uc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:uc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),No(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:No(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function Cr({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:f=!0,useBg:y=!0,useRowBorder:v=!0,labelWidth:C,form:b=!1,loading:_,empty:h,children:w}){const g=Ae("panel",`panel--${i}`,b?"panel--form":"",l!==void 0?"panel--fill":"",f?"":"panel--no-border",y?"":"panel--no-bg",v?"":"panel--no-row-border",p?"panel--compact-rows":"",c),B={};l!==void 0&&(B.minHeight=l),u!==void 0&&(B.maxWidth=typeof u=="number"?`${u}px`:u),C!==void 0&&(B["--panel-label-width"]=typeof C=="number"?`${C}px`:C);const x=t?`h${t}`:"div";return n.jsxs("div",{className:g,style:Object.keys(B).length?B:void 0,children:[(!!e||r!=null)&&n.jsxs("div",{className:Ae("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&n.jsx(Qe,{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($n,{variant:"loading"}):h!=null&&o.Children.toArray(w).length===0?n.jsx($n,{variant:"empty",children:h}):d?n.jsx("div",{className:Ae("panel__body--scroll",m==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function L3({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 f=new ResizeObserver(([y])=>d(y.contentRect.width));return f.observe(p),()=>f.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",s),style:{"--panel-grid-cols":m?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function $3(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 cc(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"}]}$3(Mt.t.bind(Mt)),cc(Mt.t.bind(Mt));const Xo="none",R3=.5,P3=1.5,F3=.25;function Jo({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:u,disabled:c,onChange:d}){return n.jsxs($n,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(au,{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:Ae("noise-settings__value","button-1",c?"noise-settings__value--disabled":""),children:t})]})}function dc({anchorRect:e,onClose:t}){const{t:a}=ve.useTranslation(),r=rn("(max-width: 767px)")?40:24,s=cr(),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(C=>{try{s?.setMainVolume(Math.max(0,Math.min(1,C/100)))}catch{}},[s]),f=o.useCallback(C=>{try{s?.setPlaybackRate(C)}catch{}},[s]),y=o.useCallback(C=>{const b=Math.min(Pa,Math.max(0,Math.round(C*10)/10));try{s?.setSettings({noiseRatio:b})}catch{}},[s]),v=o.useCallback(C=>{try{C===Xo?s?.setSettings({enabled:!1}):s?.setSettings({type:C,enabled:!0})}catch{}},[s]);return n.jsx(sn,{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(Cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Jo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:p}),n.jsx(Jo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${c.toFixed(2)}x`,value:c,min:R3,max:P3,step:F3,size:r,onChange:f}),n.jsx($n,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(kn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Xo,label:a("training.noise.type.none","\uC5C6\uC74C")},...cc(a).map(C=>({key:C.value,label:C.label}))],value:u?l:Xo,onChange:v})}),n.jsx(Jo,{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:qu,size:r,disabled:!u,onChange:y})]})})}function pc({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}=ve.useTranslation(),[m,p]=o.useState(!1),[f,y]=o.useState(null),[v,C]=o.useState(!1),b=o.useRef(null),_=o.useRef(null),h=cr(),w=u>0,g=w&&l<u-1,B=!w||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),y(null))},[e]);const A=o.useCallback(()=>{p(!1),y(null)},[]),k=o.useCallback(()=>{if(m){p(!1),y(null);return}const P=b?.current?.getBoundingClientRect();P&&y(P),t?.(),p(!0)},[m,t]),N=o.useCallback(()=>{if(m){p(!1),y(null);return}const P=_?.current?.getBoundingClientRect();P&&y(P),t?.(),p(!0)},[m,t]),S=rn("(max-width: 767px)"),E=o.useRef(null),[O,$]=o.useState(null),G=o.useCallback(()=>{C(P=>{const K=!P;return $(K?E.current?.getBoundingClientRect()??null:null),K})},[]),j=o.useCallback(()=>{C(!1),$(null)},[]);o.useEffect(()=>{c&&(C(!1),$(null))},[c]);const L=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(Bo,{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(Bo,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]});return rc(e&&m,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[b.current,_.current].map(P=>P?.querySelector("button")??null).find(P=>!!P&&P.getClientRects().length>0)??b.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:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:k,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:E,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":S?v:void 0,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&v&&!S&&n.jsx("div",{className:"pp-bottom__meters",children:L})]}),e&&v&&S&&O&&n.jsx(sn,{anchorRect:O,onClose:j,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:L})}),n.jsxs("div",{className:"pp-bottom__right",children:[B&&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}),g&&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(dc,{anchorRect:f,onClose:A})]})}function mc({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:f}){const{t:y}=ve.useTranslation(),v=rn("(max-width: 767px)"),C=Number.isInteger(m)?m:u||0,b=Number.isInteger(d)?d:c||0,_=p||f,h=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,g=typeof t=="string"?t.trim():t,B=!!(w||g),x=B?w||g:y("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=h||(w?t:void 0),k=v&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,N=o.useMemo(()=>{const S=i&&typeof i=="object"?{...i}:{};return!("width"in S)&&!("height"in S)&&(S.width="40px",S.height="40px"),S},[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($l,{icon:s,label:e,tooltip:l,wrapperStyle:N}):null}),n.jsxs("div",{className:"pp-title__text",children:[k?n.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,n.jsx("span",{className:`pp-title__title h2${B?"":" pp-title__title--empty"}`,children:x}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(iu,{max:Math.max(0,b??0),index:Math.max(0,C??0)})]})}function I3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function O3(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 hc=(e,t)=>{if(!t)return t;const a=typeof Mt?.t=="function"?Mt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function Cc(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Ci().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?hc(`topic.${i.key}`,i.label):void 0,l?hc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Qo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function fc(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 H3(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function z3({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const c=Cc(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 V3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function W3(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 q3(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 gc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function U3(e,t,a,r){return gc(e,t*a+r)}function G3({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 K3(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 Y3(){const e=o.useContext(bc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function Z3({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=ve.useTranslation(),c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[m,p]=o.useState(()=>s.map(()=>null)),f=JSON.stringify(s),y=s.length;o.useEffect(()=>{p(Array.from({length:y},()=>null))},[f]);const v=o.useRef(void 0);o.useEffect(()=>{const h=v.current;typeof h=="number"&&typeof t=="number"&&typeof e=="number"&&h>=e&&t<e&&p(Array.from({length:y},()=>null)),v.current=t},[t,e,y]);const C=o.useMemo(()=>m.filter(h=>h!==null).length+1,[m]),b=o.useCallback(h=>{if(d!=="active")return;const w=m;let g;if(w[h]!=null){const x=w[h];g=w.map(A=>A!==null&&A>=x?null:A)}else g=[...w],g[h]=C;p(g);const B={selectedOrder:g,words:s,__ts:Date.now()};try{typeof l=="function"&&l(B)}catch{}if(w[h]==null&&g.length>0&&g.every(x=>x!==null))try{typeof i=="function"&&i(B)}catch{}},[d,m,C,l,i,s]),_=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:_,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((h,w)=>n.jsx(So,{item:{word:h},disabled:d==="disabled",selectable:!0,selected:m[w]!==null,orderRank:m[w],onSelect:()=>b(w),flipDelay:w*120,hideLabel:!1,hideAudio:!0},`${h}-${w}`))})})}function fr(e){return null}fr.__isTrainingPage=!0;function ma(e,t){const a=Y3();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 yc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=ma(e,t);return n.jsx(Yo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function vc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Go,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function xc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Ko,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function _c({_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 wc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(ic,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function X3({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Z3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function es(...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 J3(e){return es(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Bc(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=es(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 Ac(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=ve.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 f=o.useCallback(h=>{const w=Bc(h),g=es(h?.wording,h?.label);return w===!0?{variant:"main",label:g??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:w===!1?{variant:"danger",label:g??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:g??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),y=a??0,v=t??0,C=o.useMemo(()=>Array.isArray(r)?r:[],[r]),b=o.useMemo(()=>C.map(h=>{const w=h??{},g=J3(w)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:B,label:x}=f(w),A=Array.isArray(w.corrects)?w.corrects:[],k=A.length?A.join(", "):w.answer!=null&&w.answer!==""?String(w.answer):null,N=typeof w.selectedText=="string"?w.selectedText:null,S=Bc(w)===!0;return{problem:g,variant:B,label:x,answer:k,selectedText:N,isCorrect:S}}),[C,f,d]),_=o.useMemo(()=>b.some(h=>h.answer!==null||h.selectedText!==null),[b]);return n.jsx(Ln,{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})]})})]}),b.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")})]}),b.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(Bt,{variant:h.variant,label:h.label,fill:"soft",minWidth:80})})]},w))]})})]})})}function Q3(e){o.useEffect(()=>{if(!e)return;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,PC({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()}},[e])}function gr(e,t){return e&&e.id||`page-${t??0}`}function br(e,t){return e&&e.key||`step-${t??0}`}function yr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function e7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const t7=300,n7=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Rn=Object.freeze({}),kc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function Nc(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 a7=e=>n.jsx(Ac,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function r7(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:f,onComplete:y,onNext:v,onSettings:C,useNoiseSetting:b=!0,children:_,ariaLabel:h,label:w,buildResults:g,onResult:B,typeKey:x,entryPoint:A,dailyTotal:k,itemRef:N,renderResultPopup:S,noiseOverride:E}=e;Q3(x&&!kc.has(x)?x:"");const O=o.useRef(0);o.useEffect(()=>{O.current=Date.now()},[]);const{t:$}=ve.useTranslation(),G=B,j=!!t,L=t?.id||null,P=t?.meta||{},K=Array.isArray(t?.pages)?t.pages:[],ee=Array.isArray(_)||o.isValidElement(_)&&typeof _!="function"?o.Children.toArray(_).filter(o.isValidElement):[],V=ee.length>0,q=se=>se===fr||se?.__isTrainingPage===!0,R=V&&ee.some(se=>q(se.type)),I=R?ee.filter(se=>q(se.type)).map((se,xe)=>{const Te=se.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:ee}],D=V&&!j&&typeof _!="function",H=D?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 se=document.body;return se.dataset.ihabTrainingPopupCount=String(Number(se.dataset.ihabTrainingPopupCount||"0")+1),se.classList.add("ihab-training-popup-open"),()=>{const xe=Number(se.dataset.ihabTrainingPopupCount||"1")-1;xe>0?se.dataset.ihabTrainingPopupCount=String(xe):(delete se.dataset.ihabTrainingPopupCount,se.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return I4()},[]);const[M,F]=o.useState({...Oa,enabled:!1}),z=o.useRef(M);o.useEffect(()=>{z.current=M},[M]);const Y=o.useRef(E),J=o.useRef(!1),Z=o.useRef(null);o.useEffect(()=>{let se=!1;const xe=Te=>{if(se)return;J.current=!0;const Ue=Te?Ia({...Oa,enabled:!1},Te):{...Oa},Me=Z.current;Z.current=null;const Ve=Me?Ia(Ue,Me):Ue;z.current=Ve,F(Ve),Me&&!Y.current&&ci(Ve),Ga(Ve);const We=Y.current;if(We){const pt=typeof We=="function"?We(Ve):We,Dt=Ia(Ve,pt);z.current=Dt,F(Dt),Ga(Dt)}};return HC().then(xe),()=>{se=!0}},[]);const[re,ue]=o.useState(null),[le,Ee]=o.useState(null),W=o.useCallback((se,xe)=>{se==="main"?ue(xe):Ee(xe)},[]),oe=o.useRef(null),ge=o.useRef(null),Ne=o.useCallback(()=>{ge.current!==null&&(clearTimeout(ge.current),ge.current=null);const se=oe.current;oe.current=null,se&&ci(se)},[]);o.useEffect(()=>{if(typeof window>"u")return;const se=()=>{document.visibilityState==="hidden"&&Ne()};return window.addEventListener("pagehide",Ne),document.addEventListener("visibilitychange",se),()=>{window.removeEventListener("pagehide",Ne),document.removeEventListener("visibilitychange",se),Ne()}},[Ne]);const be=o.useCallback(se=>{const xe=Ia(z.current,se);if(z.current=xe,F(xe),!J.current){Z.current={...Z.current??{},...se},Ga(xe);return}Y.current||(oe.current=xe,ge.current!==null&&clearTimeout(ge.current),ge.current=setTimeout(Ne,t7)),Ga(xe)},[Ne]),te=M.mainSpeed,de=M.mainVolume,pe=o.useCallback(se=>be({mainSpeed:se}),[be]),he=o.useCallback(se=>be({mainVolume:se}),[be]),ye=o.useMemo(()=>({settings:M,setSettings:be,registerAnalyser:W,mainAnalyser:re,noiseAnalyser:le,playbackRate:te,setPlaybackRate:pe,mainVolume:de,setMainVolume:he}),[M,be,W,re,le,te,pe,de,he]),je=o.useRef(null),[Ye,He]=o.useState(0),Pe=o.useRef([]),[Fe,ht]=o.useState("center"),[ut,nt]=o.useState(!1),ct=o.useRef(!1),ke=o.useRef(null),Ie=o.useCallback(se=>{ct.current||(ct.current=!0,nt(!0),ke.current=setTimeout(()=>{try{se()}catch{ct.current=!1,nt(!1)}},n7()?0:S3))},[]);o.useEffect(()=>()=>{ke.current&&clearTimeout(ke.current)},[]);const Be=o.useRef(f);o.useEffect(()=>{Be.current=f}),o.useEffect(()=>{const se=je.current,xe=document.activeElement;if(Yr(se,xe),se){const Te=Array.from(se.querySelectorAll(hn)).filter(Ue=>!Ue.closest('[aria-hidden="true"]'))[0];if(Te)try{Te.focus()}catch{}}return()=>{const Te=document.activeElement;if(!Te||Te===document.body||se&&se.contains(Te))try{Zr(xe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Vn(()=>Ie(()=>{const se=Be.current;typeof se=="function"&&se()})),[Ie]),Gr(je,!0);const[Ze,X]=o.useState(!1),ie=o.useRef(!1),[fe,De]=o.useState(null),et=o.useRef(0),Xe=()=>{et.current+=1,De(null)},[ft,dt]=o.useState(""),[at,rt]=o.useState(()=>yr()),ot=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!j&&!D||(rt(yr()),Xe())},[j,L,D]),o.useEffect(()=>{D&&rt(se=>{const xe=Math.max(0,Math.min(se.pageIndex,Math.max(0,H-1)));return xe!==se.pageIndex?{...se,pageIndex:xe,stepIndex:0}:se})},[D,H]);const tt=D?Math.max(0,Math.min(at.pageIndex,H-1)):0,$e=D?I[tt]:null,qe=D&&$e&&Array.isArray($e.steps)?$e.steps:[],ze=j?at.pageIndex:D?tt:typeof c=="number"?c:0,mt=j?K[Math.max(0,Math.min(at.pageIndex,Math.max(0,K.length-1)))]:null,kt=j&&mt&&Array.isArray(mt.steps)?mt.steps:[],St=j?kt.length:D?qe.length:typeof p=="number"?p:0,gt=j||D?Math.max(0,Math.min(at.stepIndex,Math.max(0,St))):typeof m=="number"?m:0,vt=j?K.length:D?H:typeof d=="number"?d:0;o.useEffect(()=>{if(!j&&!D)return;const se=j?gr(mt,ze):$e?.id||`children-page-${ze??0}`,xe=new Date().toISOString();for(let Te=0;Te<=gt;Te+=1){const Ue=j?br(kt[Te],Te):`step-${Te}`,Me=zt(se,Ue);jt.current.has(Me)||jt.current.set(Me,xe)}},[j,D,ze,gt,$e?.id]),o.useLayoutEffect(()=>{const se=ot.current;if(typeof ze=="number"&&se!==null&&ze!==se&&ze>se)try{dt($("training.problemNotice",{n:ze+1}))}catch{}ot.current=typeof ze=="number"?ze:ot.current},[ze,c,$]),o.useLayoutEffect(()=>{const se=je.current;if(!se)return;const xe=()=>se.querySelector(".page-popup__scroll");let Te=null,Ue=null,Me=null;const Ve=Qt=>{const ne=xe();if(!ne)return;const we=ne.scrollHeight<=ne.clientHeight;if(ht(we?"center":"top"),Qt&&!ie.current){ie.current=!0;try{X(!0)}catch{}try{Dt.disconnect()}catch{}}},We=()=>{Te!==null&&cancelAnimationFrame(Te),Te=requestAnimationFrame(()=>{Ue!==null&&clearTimeout(Ue),Ue=setTimeout(()=>Ve(!0),60)})},pt=()=>{Me!==null&&cancelAnimationFrame(Me),Me=requestAnimationFrame(()=>Ve(!1))};We(),window.addEventListener("resize",pt);const Dt=new MutationObserver(We);Dt.observe(se,{childList:!0,subtree:!0,attributes:!0});const Jt=setTimeout(()=>{ie.current||Ve(!0)},400);return()=>{window.removeEventListener("resize",pt),Te!==null&&cancelAnimationFrame(Te),Ue!==null&&clearTimeout(Ue),Me!==null&&cancelAnimationFrame(Me),clearTimeout(Jt);try{Dt.disconnect()}catch{}}},[je]);const Oe=o.useCallback(se=>{je.current&&(je.current._childOnNext=se)},[]),st=o.useCallback(se=>{je.current&&(je.current._childOnResult=se)},[]),jt=o.useRef(new Map),zt=(se,xe)=>`${se}\0${xe}`,Je=o.useCallback((se,xe,Te)=>{rt(Ue=>{const Me=Ue.answersByPage[se]||{},Ve=Me[xe],We=Qo(Te),pt=Qo(Ve);if(Ve&&pt>We)return Ue;const Dt=fc(Te,jt.current.get(zt(se,xe)),We);return{...Ue,answersByPage:{...Ue.answersByPage,[se]:{...Me,[xe]:Dt}}}})},[rt]),_t=o.useCallback((se,xe,Te)=>{const Ue=gr(mt,ze),Me=br(se,xe);Je(Ue,Me,Te)},[mt,ze,Je]),$t=o.useCallback((se,xe,Te)=>{const Ue=gr(mt,ze),Me=br(se,xe);Je(Ue,Me,Te),!Te?.allowChange&&se?.autoAdvance!==!1&&rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,xe+1)}))},[mt,ze,Je,rt]),At=o.useCallback((se,xe)=>{const Te=$e?.id||`children-page-${ze??0}`,Ue=typeof xe=="number"?xe:gt??0,Me=`step-${Ue}`;Je(Te,Me,se),se?.allowChange||rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,Ue+1)}))},[$e,ze,gt,Je,rt]),fn=o.useCallback((se,xe)=>{const Te=$e?.id||`children-page-${ze??0}`,Ue=`step-${typeof xe=="number"?xe:gt??0}`;Je(Te,Ue,se)},[$e,ze,gt,Je]),gn=D?{currentPageIndex:ze??0,currentStepIndex:gt??0,totalStepsInPage:qe.length,handleStepDone:At,handleStepChange:fn}:null,cn=async()=>{const se=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:K,flowState:at,answersByPage:at.answersByPage})):null;return typeof G=="function"&&await Promise.resolve(G(se))||se},dn=async()=>{const se=$e?.id||`children-page-${at.pageIndex}`,xe=at.answersByPage[se]||{},Te=R?(()=>{const Ve={};let We=0;return I.forEach(pt=>{const Dt=at.answersByPage[pt.id]||{},Jt=Array.isArray(pt.steps)?pt.steps.length:0;for(let Qt=0;Qt<Jt;Qt+=1){const ne=Dt[`step-${Qt}`];typeof ne<"u"&&(Ve[`step-${We+Qt}`]=ne)}We+=Jt}),Ve})():xe;if(typeof g=="function"){const Ve=await Promise.resolve(g(Te,{pageAnswers:xe,answersByPage:at.answersByPage,pages:I,currentPageId:se}));return typeof G=="function"&&await Promise.resolve(G(Ve))||Ve}const Ue=Object.entries(xe).map(([Ve,We],pt)=>({index:pt,key:Ve,payload:We})),Me={results:Ue,answers:Ue,score:0};return typeof G=="function"&&await Promise.resolve(G(Me))||Me},pn=()=>{const se=++et.current,xe=()=>se!==et.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(j){const Me=cn();De(Rn);const Ve=Me;Promise.resolve(Ve).then(We=>{xe()||De(We||{isEmpty:!0})}).catch(We=>{!xe()&&De({isEmpty:!0})});return}if(D){const Me=dn();De(Rn);const Ve=Me;Promise.resolve(Ve).then(We=>{xe()||De(We||{isEmpty:!0})}).catch(We=>{!xe()&&De({isEmpty:!0})});return}const Te=je.current&&je.current._childOnResult,Ue=Me=>{try{return Me?Me():void 0}catch{return}};if(typeof Te=="function"){const Me=Ue(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{}Me&&typeof Me.then!="function"?De(Me):De(Me&&typeof Me.then=="function"?Rn:{});const Ve=()=>{xe()||De(We=>We===Rn?{}:We)};Promise.resolve(Me).then(We=>{We&&!xe()?De(We):Ve()}).catch(We=>{Ve()});return}if(typeof G=="function"){const Me=Ue(G);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{}Me&&typeof Me.then!="function"?De(Me):De(Me&&typeof Me.then=="function"?Rn:{});const Ve=()=>{xe()||De(We=>We===Rn?{}:We)};Promise.resolve(Me).then(We=>{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{}We&&!xe()?De(We):Ve()}).catch(We=>{console.error("viewResults external handler failed",We),Ve()});return}},Fn=()=>{if(j){if(typeof ze=="number"&&typeof vt=="number"&&ze<vt-1){rt(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return pn()}if(D){const xe=qe.length;if(typeof gt=="number"&&gt<xe-1){rt(Te=>({...Te,stepIndex:Te.stepIndex+1}));return}if(typeof ze=="number"&&typeof vt=="number"&&ze<vt-1){rt(Te=>({...Te,pageIndex:Te.pageIndex+1,stepIndex:0}));return}return pn()}if(typeof v=="function"){try{v()}catch{}return}const se=je.current&&je.current._childOnNext;if(typeof se=="function"){try{se()}catch{}return}},bn=j?P.title||P.label||h||$("common.popup","\uD31D\uC5C5"):a||w||(Array.isArray(s)?s[s.length-1]:void 0)||h||$("common.popup","\uD31D\uC5C5"),Vt=h||bn,yn=j?P.title??P.label??bn:a??w??bn,Wt=(se,xe)=>{const Te=gr(mt,ze),Ue=br(se,xe),Me=at.answersByPage[Te]?.[Ue],Ve=e7(se,{page:mt,pageIndex:ze,step:se,stepIndex:xe,storedPayload:Me,answersByPage:at.answersByPage,flowState:at}),We={key:Ue,index:xe,stepIndex:gt,isLast:xe===kt.length-1};switch(se?.type){case"listen":return n.jsx(Yo,{...We,...Ve,onDone:pt=>$t(se,xe,pt)});case"confirm":return n.jsx(Go,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});case"confirmWithText":return n.jsx(Ko,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});case"orderList":return n.jsx(Zo,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});default:return null}},Rt=o.useRef(void 0);o.useEffect(()=>{const se=Rt.current;if(Rt.current=ze,se===void 0||se===ze||!or())return;const xe=je.current;if(!xe)return;const Te=document.activeElement;if(!(!Te||Te===document.body||!xe.contains(Te)||Te.disabled===!0))return;const Ue=xe.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(xe.querySelectorAll(hn)).find(Me=>!Me.closest('[aria-hidden="true"]'));try{Ue?.focus()}catch{}},[ze]);const En=j?K.length>0?n.jsx("div",{className:"training-steps",children:kt.map((se,xe)=>Wt(se,xe))},`replay-${Ye}`):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||$("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,an=D?n.jsxs(bc.Provider,{value:gn,children:[$e?.pageTop?n.jsx("div",{className:"training-page-top",children:$e.pageTop}):null,n.jsx("div",{className:"training-steps",children:qe.map((se,xe)=>{const Te=se;return o.cloneElement(Te,{...Te.props,_stepIndex:xe,_totalSteps:qe.length,_stepKey:`step-${xe}`,_pageIndex:ze})})},`replay-${Ye}`),$e?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:$e.pageBottom}):null]}):null,vn=o.useCallback(()=>{let se;if(x){const xe=fe,{results:Te,correct:Ue,total:Me}=Nc(fe);FC({items:OC(Te),category:kc.has(x)?"sentence":"word",trainingType:x,entryPoint:A??"sentence",itemRef:N??null,correct:Ue,total:Me,score:typeof xe?.score=="number"?xe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-O.current)/1e3)),dailyTotal:k??null}),se={correct:Ue,total:Me,attempt:Pe.current.length+1,previousAttempts:[...Pe.current]}}Xe(),Ie(()=>{typeof y=="function"&&y(se),typeof f=="function"&&f()})},[y,f,x,A,k,N,fe,De,Ie]),In=o.useCallback(()=>dt(""),[dt]),mn=o.useCallback(()=>{Ie(()=>{typeof f=="function"&&f()})},[f,Ie]),qt=n.jsxs("div",{className:`page-popup${ut?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Vt,children:[n.jsxs("div",{ref:je,className:`page-popup__panel ${Ze?"":"page-popup__panel--measuring"} ${Fe==="center"?"page-popup__panel--center":Fe==="top"?"page-popup__panel--top":""}`,children:[n.jsx(mc,{title:yn,subtitle:j?P.subtitle||P.label:Array.isArray(s)?s.join(" / "):void 0,desc:j?void 0:r,depth:j?P.depth:s,icon:j?P.icon:i,wrapperStyle:j?P.wrapperStyle:l,iconTooltip:j?P.iconTooltip:u,progressMax:vt,progressIndex:ze,pageIndex:ze,pageCount:vt,onBack:mn,onClose:mn}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${Fe==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:D?an:j?En:typeof _=="function"?_({registerOnNext:Oe,registerOnResult:st,panelRef:je,setResultOverlay:De}):_})}),n.jsx(pc,{onSettings:C,onNext:Fn,onResult:pn,useNoiseSettingBtn:!!(j?P.useNoiseSetting??!0:b),stepIndex:gt,stepCount:St,pageIndex:ze,pageCount:vt,resultOpen:!!(fe&&!fe.isEmpty)})]}),fe&&!fe.isEmpty&&(S??a7)({score:fe.score,results:fe.results||fe.answers||[],contextsLength:fe.results?fe.results.length:fe.answers?fe.answers.length:0,onReplay:()=>{if(O.current=Date.now(),fe!==Rn){const{correct:se,total:xe}=Nc(fe);Pe.current.push({correct:se,total:xe})}if(Xe(),He(se=>se+1),j){if(rt(yr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(D){rt(yr());return}try{const se=je.current&&je.current._childOnResult;typeof se=="function"&&se({replay:!0})}catch{}},onClose:vn,pending:fe===Rn}),fe?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":$("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:$("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:vn,label:$("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(sa,{message:ft,position:"top",onClose:In})]}),Ft=n.jsx(Ho.Provider,{value:ye,children:qt});return typeof document<"u"&&document.body?en.createPortal(Ft,document.body):Ft}const Pn=r7;Pn.Page=fr,Pn.ListenStep=yc,Pn.ConfirmStep=vc,Pn.ConfirmWithTextStep=xc,Pn.OrderListStep=_c,Pn.CardStep=wc,Pn.CardOrderStep=X3;function o7({label:e,homonum:t}){const a=Qn()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=Eo(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 Dc({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(o7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const s7=new Intl.Collator("ko");function i7({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:f,emptyHint:y,sectionType:v="page",disc:C}){const{t:b,i18n:_}=ve.useTranslation(),h=_.language?.startsWith("ko")??!1,{anchorRect:w,openAt:g,close:B}=Aa(),[x,A]=o.useState(null),k=o.useCallback(()=>{B(),A(null)},[B]);yb(k,!!x);const N=(r??"").trim(),S=/^[^,[\]\s]+$/.test(N)?N:"",E=S.length>0,O=r===void 0&&t===void 0,$=E?"match":O?"original":"ganada",[G,j]=o.useState(()=>$),[L,P]=o.useState("50"),[K,ee]=o.useState(1),[V,q]=o.useState(E);V!==E&&(q(E),j($));const R=G==="match"&&!E||G==="original"&&!O?$:G,I=o.useMemo(()=>[...E?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...O?[{value:"original",label:b("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:b("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:b("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:b("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:b("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:b("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:b("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[b,E,O]),D=o.useMemo(()=>["10","25","50","100"].map(te=>({value:te,label:b("wordSearch.pageSize",{count:Number(te),defaultValue:`${te}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),H=te=>te.words?.[0],M=o.useMemo(()=>{const te=[...S].length,de=wC(S),pe=new Map;return he=>{let ye=pe.get(he);return ye===void 0&&(ye=de((he.words?.[0]?.label??"").slice(0,te))?0:1,pe.set(he,ye)),ye}},[S]),F=o.useCallback((te,de)=>{const pe=je=>H(je)?.label??"",he=je=>H(je)?.syllables??[...pe(je)].length,ye=je=>(je.words??[]).reduce((Ye,He)=>{const Pe=parseInt(He.grade??"",10);return Number.isFinite(Pe)&&Pe<Ye?Pe:Ye},999);switch(R){case"match":return M(te)-M(de)||s7.compare(pe(te),pe(de));case"ganada":return pe(te).localeCompare(pe(de),"ko");case"ganada_desc":return pe(de).localeCompare(pe(te),"ko");case"syllable":return he(te)-he(de)||pe(te).localeCompare(pe(de),"ko");case"syllable_desc":return he(de)-he(te)||pe(te).localeCompare(pe(de),"ko");case"grade":return ye(te)-ye(de)||pe(te).localeCompare(pe(de),"ko");case"grade_desc":return ye(de)-ye(te)||pe(te).localeCompare(pe(de),"ko");default:return 0}},[R,M]),z=o.useMemo(()=>s.slice().sort(F),[s,F]),Y=Number(L)||10,J=o.useMemo(()=>(i??[]).flatMap(te=>te.items.slice().sort(F).map(de=>({item:de,label:te.label}))),[i,F]),Z=i?J.length:z.length,re=Math.max(1,Math.ceil(Z/Y)),ue=Math.min(K,re),le=o.useMemo(()=>z.slice((ue-1)*Y,ue*Y),[z,ue,Y]),Ee=o.useMemo(()=>{if(!i)return null;const te=J.slice((ue-1)*Y,ue*Y),de=new Map;for(const{item:pe,label:he}of te)de.has(he)||de.set(he,[]),de.get(he).push(pe);return[...de.entries()].map(([pe,he])=>({label:pe,items:he}))},[i,J,ue,Y]);o.useEffect(()=>{ee(1)},[G,L,Z,r]);const W=Z>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(un,{size:40,options:I,value:R,onChange:j,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(un,{size:40,options:D,value:L,onChange:P,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(nr,{page:ue,totalPages:re,onChange:ee})]}):void 0,oe=te=>{u&&u(te)},ge=t!==void 0&&a?n.jsxs(n.Fragment,{children:[b("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),b("wordSearch.resultTitleSuffix",{unit:h?jC(a):a})]}):void 0,Ne=t!==void 0&&t>0&&c!==void 0&&a?b("wordSearch.resultDisc",{unit:h?MC(a):a,max:c,selected:l.length}):void 0,be=C??Ne;return n.jsxs(la,{type:v,className:Ae("word-search-result-block",f),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(ge||W||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(Qe,{icon:e,className:"word-search-result-block__head-icon"}),ge&&n.jsx("span",{className:"word-search-result-block__title h3",children:ge})]}),W&&n.jsx("div",{className:"word-search-result-block__head-actions",children:W}),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:b("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?(Ee??[]).map(te=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:te.items.map(de=>{const pe=l.includes(de.id);return n.jsx("div",{onMouseEnter:he=>{g(he.currentTarget),A(de.words??[])},onMouseLeave:k,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(de.words??[]).map(he=>he.label),subLabel:(de.words??[]).some(he=>he.subLabel)?(de.words??[]).map(he=>he.subLabel):void 0,selected:pe,onClick:()=>oe(de.id),minWidth:200})},de.id)})})},te.label)):n.jsx("div",{className:"word-search-result-block__items",children:le.map(te=>{const de=l.includes(te.id);return n.jsx("div",{onMouseEnter:pe=>{g(pe.currentTarget),A(te.words??[])},onMouseLeave:k,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(te.words??[]).map(pe=>pe.label),subLabel:(te.words??[]).some(pe=>pe.subLabel)?(te.words??[]).map(pe=>pe.subLabel):void 0,selected:de,onClick:()=>oe(te.id),minWidth:200})},te.id)})}),x&&w&&n.jsx(Dc,{words:x,anchorRect:w})]}),re>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(nr,{page:ue,totalPages:re,onChange:ee})}),(d||m)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:b("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:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:m})})]})]})}function l7(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 u7({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:f,disc:y,showInfoButton:v=!0,onClearPhoneme:C,onSearch:b,onSearchEmpty:_,searchDisabled:h=!1,searchLabel:w,searchChecking:g=!1,pairMode:B=!1,sectionType:x="page",beforeSearchContent:A,beforeContent:k,afterContent:N,hideCountControl:S=!1,ordinal:E=!1}){const{t:O}=ve.useTranslation(),$=o.useMemo(()=>O("wordPairs.infoNotes",{returnObjects:!0}),[O]),G=o.useMemo(()=>Array.from({length:s-i+1},(M,F)=>{const z=i+F;return{key:String(z),label:O("wordPairs.count",{n:z})}}),[O,s,i]),j=o.useMemo(()=>O("wordPairs.ordinals",{returnObjects:!0}),[O]),L=o.useCallback(M=>E?O("wordPairs.phonemeOrdinalLabel",{ordinal:j[M-1]??M}):a===1?O("wordPairs.phonemeSingleLabel","\uC74C\uC808"):O("wordPairs.phonemeN",{n:M}),[E,j,a,O]),P=o.useCallback(M=>E?O("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[M-1]??M}):a===1?O("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):O("wordPairs.phonemeContrast",{n:M}),[E,j,a,O]),K=o.useCallback((M,F)=>F?n.jsxs(n.Fragment,{children:[M,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):M,[]),{anchorRect:ee,toggleAt:V,close:q}=Aa(),R=o.useCallback(M=>r(Number(M)),[r]),I=rn("(max-width: 767px)"),D=o.useCallback(M=>l7(M,e).map(({label:F,value:z,displayLabel:Y})=>{const J=!!z&&z!=="\uC5C6\uC74C";return n.jsxs("span",{className:Ae("phoneme-select-block__cell-jamo-part",z?"":"phoneme-select-block__cell-jamo-part--empty",J?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${z==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:z==="\uC5C6\uC74C"?"x":z||d}),J&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Y??F})]},F)}),[e,d]),H=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:40,type:I?"dot":void 0,icon:"info",label:I?void 0:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:ee?"is-selected":void 0,"aria-expanded":!!ee,"aria-haspopup":"dialog",onClick:M=>V(M.currentTarget)})}),ee&&n.jsx(Wn,{title:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:ee,onClose:q})]});return n.jsxs(la,{type:x,title:p,icon:f,disc:y,action:v?H:void 0,className:Ae("phoneme-select-block",m),children:[k,!S&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(kn,{options:G,value:String(a),onChange:R,size:40,ariaLabel:O("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:B?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,F)=>{const z=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:D(z)})}),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:O("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,F)=>{const z=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:D(z)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:P(F+1)})]},F)})})]}):t.map((M,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:D(M)})}),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:B?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((M,F)=>{const z=t[F*2]??{};return n.jsx(Dn,{title:K(L(F+1),F===0),sections:u?u(z,F*2):l,selected:z,onSelect:c?.(F*2),align:"newline"},F)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((M,F)=>{const z=t[F*2+1]??{};return n.jsx(Dn,{title:P(F+1),sections:u?u(z,F*2+1):l,selected:z,onSelect:c?.(F*2+1),align:"newline"},F)})})]}):t.map((M,F)=>n.jsx(Dn,{title:K(L(F+1),F===0),sections:u?u(M,F):l,selected:M,onSelect:c?.(F),align:"newline"},F))})}),A&&n.jsx("div",{className:"phoneme-select-block__before-search",children:A}),(C||b||g)&&(()=>{const M=t.every(F=>Object.entries(F).every(([z,Y])=>!Y||z==="\uC885\uC131"&&Y==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:M?_:void 0,children:[C&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:O("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:M,onClick:M?void 0:C}),b?n.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:g?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??O("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:M||h||g,onDisabledClick:g?()=>{}:void 0,"aria-busy":g||void 0,onClick:b}):g?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??O("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),N]})}function c7({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}=ve.useTranslation();return n.jsx(Dn,{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 d7({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=ve.useTranslation();return a.length===0?null:n.jsx(Dn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function p7({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:m}=ve.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")},f=b=>m("wordPairs.count",{n:b}),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:[f(1),f(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]:f(i),[p.inputMode]:u==="phoneme"?p.pronInput:p.charInput},C=(b,_)=>{_===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):_===p.phonemeOrder?s(b===p.orderMatch?"ordered":"unordered"):_===p.count?l(b===f(2)?2:1):_===p.inputMode&&c(b===p.pronInput?"phoneme":"word")};return n.jsx(Dn,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:y,selected:v,onSelect:C,align:"inline"})}function m7(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:f,onClose:y,pageSizeOptions:v=[10,25,50,100],initialPageSize:C,emptyText:b,noMatchText:_,countLabel:h,topContent:w,className:g=""}=e,{t:B}=ve.useTranslation(),x=l??B("common.search","\uAC80\uC0C9"),A=b??B("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),k=_??B("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[N,S]=o.useState(""),[E,O]=o.useState(c??r[0]?.key??""),[$,G]=o.useState(d),[j,L]=o.useState(String(C??v[0]??10)),[P,K]=o.useState(1);o.useEffect(()=>{K(1)},[N,j]);const ee=u!==null,V=o.useCallback((J,Z)=>{if(!Z)return!0;const re=Z.toLowerCase();return r.some(ue=>{const le=J[ue.key];return le==null?!1:String(le).toLowerCase().includes(re)})},[r]),q=u??V,R=o.useMemo(()=>{const J=ee?a.filter(Z=>q(Z,N)):a;return E?[...J].sort((Z,re)=>{const ue=Z[E],le=re[E];return ue===le?0:ro(ue,le,$)}):J},[a,N,E,$,ee,q]),I=Math.max(1,Math.ceil(R.length/Number(j)));P>I&&K(I);const D=Math.min(P,I),H=R.slice((D-1)*Number(j),D*Number(j)),M=o.useCallback(J=>{E===J?G(Z=>!Z):(O(J),G(!0)),K(1)},[E]),F=o.useMemo(()=>{if(typeof h=="function"){const J=R.length,Z=h(J);if(typeof Z=="string"){const re=Z.lastIndexOf(String(J));if(re>=0)return{prefix:Z.slice(0,re),suffix:Z.slice(re+String(J).length)}}return{label:Z}}if(typeof h=="string"&&h.includes("{n}")){const[J,Z]=h.split("{n}");return{prefix:J,suffix:Z}}return{prefix:B("common.totalCountPrefix","\uCD1D "),suffix:B("common.totalCountSuffix","\uAC1C")}},[h,R.length,B]),z=o.useMemo(()=>r.map(J=>({label:J.label,onClick:J.sortable!==!1?()=>M(J.key):void 0,className:J.className,sortDir:J.sortable!==!1&&E===J.key?$?"asc":"desc":null})),[r,E,$,M]),Y=o.useMemo(()=>v.map(J=>({value:String(J),label:B("common.pageSizeLabel",{n:J})})),[v,B]);return n.jsxs(Ln,{className:`popup-list ${g}`,title:t,onClose:y,children:[w,"label"in F&&n.jsx("p",{className:"toolbar__count body-1",children:F.label}),n.jsx(go,{count:"label"in F?void 0:{value:R.length,prefix:F.prefix,suffix:F.suffix},search:ee?{value:N,onChange:S,placeholder:x}:void 0,pageSize:{options:Y,value:j,onChange:L},pagination:{page:D,total:I,onChange:K}}),n.jsx(ko,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:z,items:H,onRowClick:f,renderRow:J=>{const Z=p!=null?J.id!=null&&p.has(J.id):m!=null&&J.id===m;return r.map(re=>({content:re.render?re.render(J):J[re.key]??"",className:Ae(re.className,Z&&"popup-list__row--selected")}))},empty:ee&&N!==""&&a.length>0?k:A})]})}function Ec(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:f,closeOnConfirm:y=!0,onClose:v,inline:C,size:b="small",className:_,initialFocus:h="close"}=e,{t:w}=ve.useTranslation(),g=o.useRef(null);o.useEffect(()=>{if(C||h==="close")return;const S=g.current?.closest(".popup-panel"),E=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),O=h==="confirm"?E[E.length-1]:c?void 0:E[d?1:0];O&&!O.disabled&&O.focus()},[]);const B=o.useRef(!1),[x,A]=o.useState(!1),k=S=>{let E=!1;return{close:()=>{E=!0,S()},\uB2EB\uC558\uB098:()=>E}},N=async S=>{if(B.current)return;B.current=!0;const E=typeof document<"u"?document.activeElement:null;A(!0);let O=!1;try{O=await S()}catch($){typeof console<"u"&&console.error($)}finally{O||(B.current=!1,A(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&E?.isConnected&&E.focus()}))}};return n.jsxs(Ln,{title:t,onClose:v,closeDisabled:x,inline:C,size:b,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:S})=>{await N(async()=>{const E=k(S);await d.onClick(E.close);const O=d.closeOnClick??!0;return O&&S(),O||E.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:S})=>S()}],{label:l??w("common.confirm","\uD655\uC778"),variant:m,disabled:p||x,onClick:async({closeWithAnimation:S})=>{await N(async()=>{const E=k(S);return await f(E.close),y&&S(),y||E.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(Cr,{children:s.map((S,E)=>n.jsx($n,{label:S.label,children:n.jsx("span",{className:"panel-row__text body-2",children:S.value})},E))}),n.jsx("p",{ref:g,className:"body-2 confirm-popup__message",children:a}),i]})}function h7(e,t,a={}){const{t:r}=ve.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(Ec,{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 C7({onApply:e,onCancel:t}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const m=o.useCallback(async y=>{const v=r.trim();if(v){l(!0),c(null);try{await e(v),y()}catch(C){c(si(C)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),p=o.useCallback((y,v)=>{y.key==="Enter"&&!y.nativeEvent.isComposing&&m(v)},[m]),f=y=>{s(y.target.value),c(null)};return n.jsx(Ln,{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:y})=>y()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:y})=>{m(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"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:f,onKeyDown:v=>p(v,y),disabled:i,autoComplete:"off",spellCheck:!1}),u&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const Sc=["var(--color-main)","var(--color-sub)"],f7=2e3;function g7(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 ts({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const C=Math.floor(t/2),b=t-C,_=(h,w)=>Array.from({length:h}).map((g,B)=>{const x=6+Math.random()*12,A=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),k=Sc[Math.floor(Math.random()*Sc.length)],N=Math.random()*300,S=(360+Math.random()*260)*r*1.2,E=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,O=Math.cos(E)*S,$=Math.sin(E)*S*1.35,G=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),L=Math.random()>.7?"50%":"3px";return{id:`${w}-${B}`,side:w,size:A,color:k,delay:N,vx:O,vy:$,angularVel:G,life:j,borderRadius:L}});return[..._(C,"left"),..._(b,"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),f=o.useRef(null),y=()=>{if(typeof document>"u")return null;let C=document.querySelector("[data-ihab-effect-root]");return C||(C=document.createElement("div"),C.className="app-effect",C.dataset.ihabEffectRoot="",C.style.position="fixed",C.style.inset="0",C.style.pointerEvents="none",C.style.zIndex="99998",document.body.appendChild(C)),C};if(typeof document<"u"&&f.current==null&&(f.current=y()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const q=setTimeout(()=>m.current?.(),0);return()=>clearTimeout(q)}const C=1200,b=performance.now(),_=f.current&&f.current!==document.body?f.current.getBoundingClientRect():null,h=Math.max(60,(window.innerHeight||800)*.05),w=q=>Math.max(40,(q||window.innerWidth)*.02),g=_?.width||window.innerWidth||375,B=_?.height||window.innerHeight||812,x=q=>{const R=[...q].sort((I,D)=>I-D);return R[Math.floor(R.length/2)]||1},A=x(l.map(q=>Math.abs(q.vy))),k=x(l.map(q=>Math.abs(q.vx))),N=Math.sqrt(2*C*(B*.72+h))/A,S=A*N/C,E=g*.5/(k*S),O=(q,R,I)=>Math.min(I,Math.max(R,q)),$=O(N,.8,2.4),G=O(E,.7,2.2),j=a>0?a/f7:1,L=l.map(q=>({...q,life:q.life*j,vx:q.vx*G,vy:q.vy*$,startTime:b+q.delay,ended:!1})),P=_?{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},ee=q=>{let R=!1;for(const I of L){const D=c.current[I.id];if(!D||!D)continue;if(q<I.startTime){D.style.display="none",R=!0;continue}if(!I._inited){const le=I.side==="left"?P.x:K.x,Ee=I.side==="left"?P.y:K.y;D.style.left=`${le}px`,D.style.top=`${Ee}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof I.color=="string"&&I.color.startsWith("var(")&&(D.style.background=g7(D,I.color)??"#FF0060"),I._inited=!0}const H=(q-I.startTime)/1e3;if(H<0)continue;const M=I.life/1e3;if(H>=M){D.style.opacity="0",D.style.display="none",I.ended=!0;continue}R=!0;const F=I.side==="left"?P.x:K.x,z=I.side==="left"?P.y:K.y,Y=F+I.vx*H,J=z+I.vy*H+.5*C*H*H,Z=(I.angularVel||0)*H,re=Y-F,ue=J-z;D.style.transform=`translate3d(${re}px, ${ue}px, 0) rotate(${Z}deg)`,D.style.opacity=`${Math.max(0,1-H/M)}`}R?d.current=requestAnimationFrame(ee):m.current?.()};d.current=requestAnimationFrame(ee);const V=setTimeout(()=>{try{if((f.current?f.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const q=document.createElement("div");q.className="party-container",q.style.position="fixed",q.style.inset="0",q.style.pointerEvents="none",q.style.overflow="visible",q.style.zIndex="2147483647";for(const R of l){const I=document.createElement("span");I.className=`confetti confetti--${R.side}`,I.setAttribute("aria-hidden","true"),I.style.display="none",I.style.position="fixed",I.style.left="0px",I.style.top="0px",I.style.width=`${R.size}px`,I.style.height=`${Math.max(4,R.size*.6)}px`,I.style.background=R.color,I.style.borderRadius=R.borderRadius,I.style.transform="translate3d(0,0,0)",I.style.opacity="0",q.appendChild(I),c.current[R.id]=I}(document.body||f.current).appendChild(q),p.current=q}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(V),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(C=>n.jsx("span",{"aria-hidden":!0,ref:b=>{c.current[C.id]=b},className:`confetti confetti--${C.side}`,style:{width:`${C.size}px`,height:`${Math.max(4,C.size*.6)}px`,background:C.color,borderRadius:C.borderRadius}},`${C.id}-${i}`))});return typeof document<"u"?en.createPortal(v,f.current||document.body):v}const ns=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:ns(u.count),strength:ns(u.strength),duration:ns(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(ts,{active:t,trigger:e}),a&&n.jsx(ts,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function y7({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}=ve.useTranslation();rb(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(Bt,{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 v7(e){return e??""}const jc=o.createContext({words:[],loading:!1});function x7(){return o.useContext(jc)}function _7({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){return n.jsx(jc.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c},children:d})}function w7({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:Ae("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 B7=(e,t)=>`${e} / ${t}`;function A7({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=B7,pageWidth:i,pageHeight:l,margin:u,className:c,style:d}){const{t:m}=ve.useTranslation(),p=o.useRef(null),f=o.useRef(null),y=o.useRef(null),v=o.useRef(null),[C,b]=o.useState(null),[_,h]=o.useState(!1);o.useEffect(()=>{const j=p.current;if(!j)return;const L=()=>h(j.scrollWidth>j.clientWidth+1);if(L(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(L);return P.observe(j),()=>P.disconnect()},[C]);const w=e.map(j=>`${j.id}\0${j.section??""}\0${j.group??""}`).join(""),g=C&&C.shape===w?C.pages:null,[B,x]=o.useState(0);o.useEffect(()=>{const j=v.current;if(!j||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>x(j.offsetHeight));return L.observe(j),()=>L.disconnect()},[]);const[A,k]=o.useState(0);o.useEffect(()=>{const j=f.current;if(!j||typeof ResizeObserver>"u")return;let L=null;const P=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),ee=new ResizeObserver(()=>{L==null&&(L=P(()=>{L=null,k(V=>V+1)}))});return Array.from(j.children).forEach(V=>ee.observe(V)),()=>{ee.disconnect(),L!=null&&K(L)}},[w]),o.useLayoutEffect(()=>{const j=f.current,L=v.current;if(!j||!L)return;const P=M=>M.getBoundingClientRect().height||M.offsetHeight,K=new Map;y.current?.querySelectorAll("[data-chrome-section]").forEach(M=>{K.set(M.dataset.chromeSection??"",P(M))});const ee=M=>P(L)-(K.get(M??"")??0),V=Array.from(j.children).map(M=>P(M)),q=[];e.forEach((M,F)=>{const z=q[q.length-1],Y=z?e[z[0]]:void 0;Y&&M.group!=null&&Y.group===M.group&&Y.section===M.section?z.push(F):q.push([F])});const R=[];let I=[],D=0;const H=()=>{I.length&&R.push(I),I=[],D=0};q.forEach(M=>{const F=M.reduce((Y,J)=>Y+V[J],0),z=ee(e[M[0]].section);I.length&&e[I[0]].section!==e[M[0]].section&&H(),F>z?M.forEach(Y=>{I.length&&D+V[Y]>z+.01&&H(),I.push(Y),D+=V[Y]}):(I.length&&D+F>z+.01&&H(),M.forEach(Y=>I.push(Y)),D+=F)}),H(),b(M=>M&&M.shape===w&&JSON.stringify(M.pages)===JSON.stringify(R)?M:{shape:w,pages:R})},[w,B,i,l,u,A]);const N=po,S=N,E=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),O=(j,L,P)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:P!=null&&t?.[P]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:E}),n.jsx("span",{className:"report-doc__page-no",children:s(j,L)})]})}),$=Array.from(new Set(e.map(j=>j.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:Ae("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(j=>{const L=O(1,1,j||void 0);return n.jsxs("div",{"data-chrome-section":j,children:[L.header,L.footer]},j)})}),n.jsx("div",{ref:f,className:"report-doc__measure-blocks",children:e.map(j=>n.jsx("div",{children:j.content},j.id))})]}),g&&n.jsx("div",{className:"report-doc__pages",children:g.map((j,L)=>{const{header:P,footer:K}=O(L+1,g.length,e[j[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[P,j.map(ee=>n.jsx("div",{children:e[ee].content},e[ee].id)),K]},L)})})]})}function k7({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:Ae("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 Yn=new Map;let vr=null;const N7=12;function D7(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 xr(){const e=new Map;for(const t of Yn.keys()){if(!t.isConnected)continue;const a=D7(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+N7)}}}function E7(e){return typeof window>"u"?()=>{}:(Yn.set(e,(Yn.get(e)??0)+1),Yn.get(e)===1&&typeof ResizeObserver<"u"&&(vr??(vr=new ResizeObserver(()=>xr())),vr.observe(e)),xr(),()=>{const t=(Yn.get(e)??1)-1;if(t>0){Yn.set(e,t),xr();return}Yn.delete(e),vr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),xr()})}function S7({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=ve.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,f=p?.parentElement?.closest(".update-alert-stack")??p,y=f?E7(f):null;return()=>{y?.(),m.current&&p&&p.contains(document.activeElement)&&Ya(p)}},[]),n.jsxs("div",{ref:d,className:Ae("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(hs,{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 j7({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:f}){const y=t?`h${t}`:"div",v=i!=null||l!=null,C=s!=null&&s!==!1,b=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return n.jsxs("div",{className:Ae("training-card",c?"training-card--clickable":"",f),onClick:c,onKeyDown:c?b: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:" "})]}),C&&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 T7({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:f,children:y,className:v}){const{t:C}=ve.useTranslation(),b=o.useId(),_=t?`h${t}`:"span",h=s!=null,w=Ae("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:f,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?b: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?C("common.expandFor",{name:e}):C("common.collapseFor",{name:e}):r?C("common.expand","\uC5F4\uAE30"):C("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?n.jsx(_,{id:b,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:g=>g.stopPropagation(),children:[i&&n.jsx(un,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange,ariaLabel:typeof e=="string"&&e?C("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 M7="speechear:saved_word_tables";function L7(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 $7(){try{const e=localStorage.getItem(M7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(L7):[]}catch{return[]}}function Tc(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 as(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function R7(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 P7({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:f,onLoad:y,onRemoveItem:v,onReset:C,resetLabel:b,saveButtonLabel:_,secondarySaveButtonLabel:h,onReorder:w,showCellCount:g,onAddItem:B,className:x,renderSavePopup:A,renderWordSearch:k,hideControls:N,saveOnly:S,tableName:E,nameValue:O,onNameChange:$,descriptionValue:G,onDescriptionChange:j,namePlaceholder:L,descriptionPlaceholder:P,existingNames:K,editingName:ee,onCancel:V,initialItemsPerPage:q,renderCellAction:R,actionsLeftExtra:I}){const{t:D}=ve.useTranslation(),H=b??D("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),M=p===void 0,F=!!$,[z,Y]=o.useState([]),J=(O??"").trim(),Z=J||(L??"").trim(),re=(G??"").trim()||(P??"").trim(),ue=(K??[]).map(ae=>ae.trim().toLowerCase()),le=[ee?.trim().toLowerCase(),...z].filter(ae=>!!ae),Ee=[...ue];for(const ae of le){const _e=Ee.indexOf(ae);_e!==-1&&Ee.splice(_e,1)}const W=J!==""&&Ee.includes(J.toLowerCase()),[oe,ge]=o.useState(Array(4).fill(null)),[Ne,be]=o.useState(4),[te,de]=o.useState(null),pe=oe.slice(0,Ne),he=!!d?.show,[ye,je]=o.useState(!0),[Ye,He]=o.useState(!0),Pe=d&&{...d,top:ye,bottom:Ye},[Fe,ht]=o.useState("landscape"),[ut,nt]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ct,ke]=o.useState("\uD45C\uC2DC"),[Ie,Be]=o.useState(!0),[Ze,X]=o.useState(!0),ie=o.useRef(null),fe=o.useRef([]),[De,et]=o.useState(q==="all"?Number.POSITIVE_INFINITY:q??8),[Xe,ft]=o.useState("right"),[dt,at]=o.useState(!1),[rt,ot]=o.useState(!1),{toastMessage:tt,toastType:$e,showWarning:qe,clearToast:ze}=dl("warning"),mt=o.useCallback(()=>de(null),[de]);B&&!M&&!g&&Kt("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[kt,St]=o.useState(()=>Math.max(p?.length??1,1)),gt=M?Ne:g?Math.max(kt,p?.length??1,1):Math.max(p?.length??0,1),{width:vt,height:Oe}=ua[Fe],st=!M&&!g,jt=p?.length??0,zt=Math.min(De,Math.max(jt,1)),Je=st?zt:gt,_t=st?gu(p??[],Je):null,$t=!!_t&&_t.length>1,At=M?pe.some(ae=>ae!==null&&ae.length>1):(p??[]).some(ae=>(ae.words??[]).length>1),fn=E?.trim()||`${mi(_a())} ${At?D("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):D("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,gn=o.useCallback(()=>$t?fe.current.filter(ae=>ae!==null):ie.current?[ie.current]:[],[$t]),{print:cn,openNewWindow:dn,downloadHtml:pn}=Ro({getElements:gn,paperW:vt,paperH:Oe,fileName:fn,onPopupBlocked:()=>{qe(D("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=ae=>{be(ae),ge(_e=>_e.length>=ae?_e:[..._e,...Array(ae-_e.length).fill(null)]),de(null)},bn=ae=>{ge(_e=>{const Re=[..._e];return Re[ae]=null,Re}),te===ae&&de(null)},Vt=ae=>{if(te===null)return;const _e=te;ge(Ge=>{const it=[...Ge];return it[_e]=ae.length>0?ae:null,it});const Re=pe.findIndex((Ge,it)=>it>_e&&Ge===null);de(Re!==-1?Re:null)},yn=M?pe.some(ae=>ae?.some(_e=>!!_e.colloquialPronunciation)):(p??[]).some(ae=>(ae.words??[]).some(_e=>!!_e.colloquialLabel)),Wt=o.useMemo(()=>Qn()?M?oe.slice(0,Ne).flatMap(ae=>(ae??[]).map(_e=>[_e.word,_e.homonum])):(p??[]).flatMap(ae=>(ae.words??[]).map(_e=>[_e.label,_e.homonum])):[],[M,oe,Ne,p]),[Rt,En]=o.useState(!1);o.useEffect(()=>{if(Wt.length===0)return;let ae=!1;return Promise.all(Wt.map(([_e,Re])=>ni(_e,Re))).then(_e=>{ae||En(_e.some(Boolean))},()=>{}),()=>{ae=!0}},[Wt]);const an=Wt.length>0&&Rt,vn=o.useMemo(()=>[...M||g?[{label:D("wordTable.filter.columns","\uCE78 \uC218"),items:i5.map(ae=>({value:`${ae}\uCE78`,displayLabel:D("wordTable.filter.column",{count:ae})})),display:"segmented"}]:[],...st&&(p?.length??0)>0?[Lu(D,{hasPairs:At,itemCount:jt})]:[],...$t?[l5(D)]:[]],[D,M,g,st,p?.length,At,jt,$t]),In={...M||g?{[D("wordTable.filter.columns","\uCE78 \uC218")]:`${gt}\uCE78`}:{},...st&&(p?.length??0)>0?{[D(At?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${zt}\uAC1C`}:{},...$t?{[D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[Xe]}:{}},mn=(ae,_e)=>{_e===D("wordTable.filter.columns","\uCE78 \uC218")?M?Fn(parseInt(ae)):St(parseInt(ae)):_e===D(At?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?et($u(parseInt(ae),jt)):_e===D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&ft(Pu(ae))},qt=M?R7(pe.filter(ae=>ae!==null&&ae.length>0).map(ae=>({id:as(ae),words:ae.map(Tc)}))):p??[],Ft=()=>{M&&ge(ae=>ae.length>Ne?ae.slice(0,Ne):ae)},se=(ae=!1)=>{if(ot(ae),F&&f){const _e=Z.trim().toLowerCase();_e&&Y(Re=>Re.includes(_e)?Re:[...Re,_e]),f(Z,qt,re||void 0,ae),Ft();return}if(S&&f){f("",qt,void 0,ae),Ft();return}if(f){at(!0);return}pn()},[xe,Te]=o.useState(!1),[Ue,Me]=o.useState(""),Ve=Ue.trim(),We=Ve!==""&&ue.includes(Ve.toLowerCase()),pt=()=>{Me(Z?D("wordTable.save.copyName",{name:Z,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Te(!0)},Dt=()=>{!Ve||We||!f||(f(Ve,qt,re||void 0,!0),Ft(),Te(!1))},Jt=qt.length===0,Qt=Jt||F&&(Z===""||W),ne=()=>{if(Jt){qe(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&Z===""){qe(D("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&W&&qe(D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},we=n.jsx(ca,{items:qt,orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:gt});return n.jsxs(n.Fragment,{children:[n.jsxs(la,{type:"page",icon:t,title:e,disc:a,className:Ae("word-table-block",x),children:[xe&&n.jsx(Ln,{size:"small",title:h??D("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Te(!1),footer:({closeWithAnimation:ae})=>n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:48,type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:ae}),n.jsx(me,{htmlType:"button",size:48,type:"bar",variant:"main",label:D("common.save","\uC800\uC7A5"),disabled:!Ve||We,onClick:Dt})]}),children:n.jsx(Gn,{label:D("wordTable.save.nameLabel","\uC774\uB984"),value:Ue,onChange:Me,placeholder:D("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:Dt,error:We?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),dt&&f&&A?.({defaultName:typeof e=="string"?e:D("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:we,previewW:vt,previewH:Oe,items:qt,existingNames:$7().map(ae=>ae.name),saveAsNew:rt,onSave:(ae,_e)=>{f(ae,qt,_e,rt),Ft(),at(!1)},onCancel:()=>at(!1)}),(M||B)&&te!==null&&k?.({cellIndex:te,onConfirm:M?Vt:ae=>{if(B){const _e=ae[0];if(_e){const Re=new Set((p??[]).map(it=>it.id));let Ge=as([_e]);for(let it=2;Re.has(Ge);it++)Ge=`${as([_e])}~${it}`;B({id:Ge,words:[Tc(_e)]})}}de(null)},onClose:mt}),!N&&n.jsx(Mo,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:an,hasColloquial:yn,contentTypes:ut,orientation:Fe,showOutline:Ie,cutLine:ct,showDivLine:Ze,setters:{setContentTypes:nt,setOrientation:ht,setShowOutline:Be,setCutLine:ke,setShowDivLine:X,setShowTopInfo:je,setShowBottomInfo:He},showCutLine:(st?Je:gt)>1,showDivLine2:At,middleSections:vn,extraSelected:In,onExtraSelect:mn,showPaperBands:he,showTopInfo:ye,showBottomInfo:Ye}),$t&&_t?n.jsx("div",{className:"word-table-block__pages",children:_t.map((ae,_e)=>n.jsx(ca,{orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:Je,items:ae,onRemoveItem:v,onReorder:w&&((Re,Ge)=>w(Re+_e*Je,Ge+_e*Je)),renderCellAction:R&&((Re,Ge)=>R(Re+_e*Je,Ge)),brand:Pe,code:m,contentRef:Re=>{fe.current[_e]=Re},pageNumber:{current:_e+1,total:_t.length},pageNumberPosition:Xe},_e))}):n.jsx(ca,{orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:gt,items:M?void 0:p??[],editCells:M?pe:void 0,activeCell:te,onActivateCell:M||B?de:void 0,onRemoveCell:M?bn:void 0,onRemoveItem:M?void 0:v,onReorder:M?void 0:w,renderCellAction:M?void 0:R,brand:Pe,code:m,showFillerAdd:!!B,contentRef:ie}),F&&!N&&n.jsxs(Cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx($n,{variant:"custom",label:D("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(Gn,{required:!0,value:O??"",onChange:$,placeholder:L?L+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:W?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ae=>{(ae.key==="Tab"&&!ae.shiftKey||ae.key===" ")&&!(O??"").trim()&&(L??"").trim()&&(ae.preventDefault(),$?.(L??""))}})}),n.jsx($n,{variant:"custom",label:D("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(Gn,{value:G??"",onChange:j,placeholder:P?P+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ae=>{(ae.key==="Tab"&&!ae.shiftKey||ae.key===" ")&&!(G??"").trim()&&(P??"").trim()&&(ae.preventDefault(),j?.(P??""))}})})]})]}),!N&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!S&&C&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:H,onClick:C}),!S&&I,!S&&y&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:y}),!S&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:dn})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[V&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:V}),!S&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:cn}),h&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>F?pt():se(!0),disabled:Jt,onDisabledClick:()=>{qe(D("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:_??D("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>se(!1),disabled:Qt,onDisabledClick:ne})]})]}),n.jsx(sa,{message:tt,type:$e,onClose:ze})]})}function Mc({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:Ae("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 F7({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:f,downloadCount:y,onPublisherClick:v,selected:C,onClick:b,onMore:_,titleNode:h,className:w}){const{t:g}=ve.useTranslation(),B=h!=null,x=m!=null||p!=null||f!=null||y!=null,A=k=>{k.target===k.currentTarget&&!B&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),b?.())};return n.jsxs("div",{className:Ae("word-table-button",C?"word-table-button--selected":"",x?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":s?`${t} (${s})`:t,onClick:B?void 0:b,onKeyDown:A,children:[d&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":g("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(Mc,{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})]}),_&&!B&&n.jsx(me,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:g("common.moreFor",{name:t}),onClick:k=>{k.stopPropagation(),_(k)}})]}),(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?pi(r,g):""})}),n.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&n.jsxs("span",{className:"word-table-button__badges",children:[i&&n.jsx(Bt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??g("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&n.jsx(Bt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??g("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":g("wordTable.publisherFilter",{name:m,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:k=>{k.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:pi(p,g)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[f!=null&&n.jsx(Bt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(f),"aria-label":g("common.likeCount",{count:f,defaultValue:`\uC88B\uC544\uC694 ${f}`})}),y!=null&&n.jsx(Bt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(y),"aria-label":g("common.downloadCount",{count:y,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${y}`})})]})]})]})}/**
1048
+ `).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:po,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 V5({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:s,className:i,containerClassName:l,renderLink:u,menuLabel:c}){const{t:d}=ve.useTranslation(),m=c??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,f]=o.useState(!1),y=o.useId(),v=o.useRef(null);o.useEffect(()=>{if(!p)return;const _=Vn(()=>{const g=document.getElementById(y);g&&g.contains(document.activeElement)&&v.current?.focus(),f(!1)}),h=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=g=>{g.matches&&f(!1)};return h&&(h.matches&&f(!1),h.addEventListener?.("change",w)),()=>{_(),h?.removeEventListener?.("change",w)}},[p,y]);const C=l?`${l} landing-header__inner`:"landing-header__inner",b=(_,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:C,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:b(_)},`${h}:${_.href}`))}),n.jsxs("div",{className:"landing-header__actions",children:[s,r.length>0&&n.jsx("button",{ref:v,type:"button",onClick:()=>f(_=>!_),"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:b(_,()=>f(!1))},`${h}:${_.href}`))})})]})}function W5({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,...cu(a),children:[n.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function q5({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 C=t.current,b=C.phase!=="sound"&&C.at>0;s.current=b?{phase:C.phase,\uD750\uB978:Math.max(0,Date.now()-C.at)}:null},[]),l=o.useCallback(()=>{const C=s.current;return s.current=null,C},[]),u=o.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),c=o.useCallback((C,b,_=0)=>{if(!(C>0))return Promise.resolve(!0);const h=a.current;return t.current={phase:b,at:Date.now()-Math.max(0,_)},new Promise(w=>{const g=setTimeout(()=>{r.current===g&&(r.current=null),w(!!e.current&&h===a.current)},C);r.current=g})},[e]),d=o.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),m=o.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=o.useCallback(()=>{const C=t.current;return C.phase!=="sound"&&C.at>0},[]),f=o.useCallback(()=>a.current,[]),y=o.useCallback(C=>C===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:f,isCurrent:y,abort:u,waitPad:c,enterSound:d,leave:m,pause:i,resume:l,__bumpGenerationForTest:v}),[p,f,y,u,c,d,m,i,l,v])}const pa=9,U5=e=>Math.round(Math.min(pa,Math.max(0,e))/pa*100),G5=e=>e/100*pa,Pa=2,qu=.1,K5=e=>Math.min(Pa,Math.max(0,e)),Y5=.1,Z5=e=>Math.round(e*1e6)/1e6;function Fa(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return K5(t);const a=Math.min(pa,Math.max(0,Number(e.level)||0))/pa,r=Number(e.mainVolume);return r>0?a>0?Z5(Math.min(Pa,Math.max(Y5,a/r))):0:1}const Uu=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function Gu(e){return Uu(e)}function Io(e){return Uu(e)*Fa(e)}function Oo(e,t=lC()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Io(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},Ho=o.createContext(null);function cr(){return o.useContext(Ho)}const zo=e=>`${iC()}/${e}`,Ku=e=>Array.from({length:10},(t,a)=>zo(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),dr={get defaultNoise(){return zo("noise1.mp3")},get street(){return Ku("noise2")},get restaurant(){return Ku("noise3")},get buzz(){return zo("noise4.mp3")}};function X5(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return dr.defaultNoise;case"street":return dr.street[t];case"restaurant":return dr.restaurant[t];case"buzz":return dr.buzz;default:return null}}function J5({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),f=o.useRef(0),y=o.useRef(null),v=o.useCallback(()=>!!r?.isRunning(),[r]),C=o.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),y.current!==null&&(clearTimeout(y.current),y.current=null)},[]),b=o.useCallback((B,x=250)=>{const A=i.current;if(!A)return;const k=d.current;if(k){d.current=null;try{A.pause()}catch{}A.src=k,A.load()}if(!A.src)return;f.current+=1,C();try{Fr(),za(A).then(O=>{if(i.current===A)try{s.current?.("noise",O)}catch{}})}catch{}const N=A.paused?0:Va(A);A.paused&&Tn(A,0),A.play().catch(()=>{});const S=performance.now(),E=()=>{const O=Math.min(1,(performance.now()-S)/x);try{Tn(A,N+(B-N)*O)}catch{}O<1?p.current=requestAnimationFrame(E):p.current=null};p.current=requestAnimationFrame(E)},[C]),_=o.useCallback((B=250,x)=>{const A=i.current;if(!A||A.paused){x?.();return}const k=++f.current;C();const N=performance.now(),S=Va(A),E=()=>{const O=Math.min(1,(performance.now()-N)/B);try{Tn(A,S*(1-O))}catch{}if(O<1)p.current=requestAnimationFrame(E);else{p.current=null,y.current!==null&&(clearTimeout(y.current),y.current=null);try{A.pause()}catch{}x?.()}};p.current=requestAnimationFrame(E),y.current=setTimeout(()=>{if(y.current=null,f.current===k){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{A.paused||(Tn(A,0),A.pause(),x?.())}catch{}}},B+150)},[C]);o.useEffect(()=>{const B=document.createElement("audio");return B.loop=!0,B.crossOrigin="anonymous",i.current=B,()=>{C();try{B.pause(),B.src=""}catch{}i.current=null,c.current=null,d.current=null}},[C]);const h=e?Oo(e.settings):0,w=!!e?.settings.enabled&&h>0;o.useEffect(()=>{if(!w)return;let B=0;const x=setInterval(()=>{const A=i.current;if(!A||A.paused){B=0;return}const k=t.current;if(k&&!k.paused&&!k.ended||v()||a.current==="playing"){B=0;return}B+=1,B>=2&&(B=0,_())},400);return()=>clearInterval(x)},[_,w,t,a,v]),o.useEffect(()=>{const B=()=>{const x=i.current;if(document.hidden){if(x&&!x.paused){C();try{x.pause()}catch{}}return}if(!x||!x.paused)return;const A=t.current,k=!!A&&!A.paused&&!A.ended||v()||a.current==="playing",N=m.current;k&&N?.enabled&&N.volume>0&&b(N.volume)};return document.addEventListener("visibilitychange",B),()=>document.removeEventListener("visibilitychange",B)},[C,b,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 g=o.useRef(null);return o.useEffect(()=>()=>{g.current?.(),g.current=null},[]),o.useEffect(()=>{const B=e?.settings,x=i.current;if(!x)return;const A=B?Oo(B):0;if(!B||!B.enabled||A===0){_();return}if(c.current!==B.type){const k=X5(B.type);k&&(c.current=B.type,u(k),d.current=k,_(150,()=>{if(d.current!==k)return;d.current=null,x.src=k,x.load();const N=t.current;if(N&&!N.paused||v()){g.current?.();const S=()=>{x.removeEventListener("canplay",S),g.current===E&&(g.current=null);const O=t.current,$=m.current;(O&&!O.paused&&!O.ended||v())&&$?.enabled&&$.volume>0&&b($.volume)},E=()=>x.removeEventListener("canplay",S);g.current=E,x.addEventListener("canplay",S)}}))}else{const k=t.current,N=!!k&&!k.paused&&!k.ended||v()||a.current==="playing";if(N&&d.current)b(A);else if(N&&x.paused&&x.src)b(A);else if(!x.paused)if(!N)_();else{C();const S=Va(x),E=performance.now(),O=()=>{const $=Math.min(1,(performance.now()-E)/150);try{Tn(x,S+(A-S)*$)}catch{}$<1?p.current=requestAnimationFrame(O):p.current=null};p.current=requestAnimationFrame(O)}}},[e?.settings,e?.settings.enabled,h,e?.settings.type,C,b,_,t,a,m,v]),o.useEffect(()=>{const B=i.current;if(B)try{B.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:m,cancelNoiseFade:C,fadeInNoise:b,fadeOutNoise:_}}function Q5({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:f}){const y=o.useRef(null),v=o.useRef(0),C=o.useRef(null),b=o.useRef(0),_=o.useRef(!1);o.useEffect(()=>()=>{b.current++;try{if(C.current&&(cancelAnimationFrame(C.current),C.current=null),_.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}_.current=!1}}catch{}},[]);const h=(B,x=1)=>{try{const A=(B||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(B||"").length);return Math.max(700,Math.round(A*300/Math.max(.25,x)))}catch{return 1200}},w=o.useCallback(B=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const x=window.speechSynthesis,A=++b.current;try{try{x.cancel()}catch{}const k=B??e,N=Array.isArray(k)?k.filter(j=>!!j):[k||""];N.length===0&&N.push("");const S=Math.max(.3,Math.min(3,t));v.current=N.reduce((j,L)=>j+h(L,S||1),0),y.current=performance.now(),i(0),l("playing"),u("playMode");const E=m.current;E?.enabled&&(E?.volume??0)>0&&c(E.volume);const O=()=>{try{const j=y.current||performance.now(),L=performance.now()-j,P=v.current||1200,K=Math.min(1,L/P);try{r.current&&(r.current.style.left=`${K*100}%`),s.current&&s.current.style.setProperty("--progress",String(K))}catch{}K<1&&(C.current=requestAnimationFrame(O))}catch{}},$=()=>{if(A===b.current)try{C.current&&(cancelAnimationFrame(C.current),C.current=null),i(1),l("stopped");try{f.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},G=j=>{const L=new SpeechSynthesisUtterance(N[j]);try{L.rate=S}catch{}try{L.volume=Math.max(0,Math.min(1,a))}catch{}L.onend=()=>{if(A===b.current){if(j<N.length-1){try{G(j+1)}catch{$()}return}$()}},L.onerror=()=>{$()},L.onstart=()=>{if(!(j>0))try{C.current&&(cancelAnimationFrame(C.current),C.current=null),C.current=requestAnimationFrame(O)}catch{}},_.current=!0,x.speak(L)};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,f]),g=o.useCallback(()=>{b.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}C.current&&(cancelAnimationFrame(C.current),C.current=null),d(),y.current=null}catch{}l("stopped"),u("active"),i(0)},[d,l,u,i]);return{startTTS:w,stopTTS:g}}const e3=.01,t3=.3;async function n3(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(t3*l.sampleRate),v=Math.min(u.length,y);for(;c<v&&Math.abs(u[c])<=e3;)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),f=Math.floor(p/t)||1;return new Array(t).fill(0).map((y,v)=>{const C=c+v*f,b=Math.min(C+f,c+p,u.length);let _=0;for(let h=C;h<b;h++){const w=Math.abs(u[h]);w>_&&(_=w)}return _})}catch{return null}finally{try{s?.close?.()}catch{}}}async function Yu(e,t,a,r=!1){try{const s=await fetch(e);if(s.ok===!1)return null;const i=await s.arrayBuffer();return await n3(i,t,a,r)}catch(s){try{const i=si(s)}catch{}return null}}const Vo=45,a3=74,r3=2;function pr(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function mr(e){return pr(e)/45}const o3=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),Zu=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function Xu({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const r=Zu(t),s=Zu(a),i=[];let l=0;return e.forEach((u,c)=>{for(const[d,m]of[["lead",r],["sound",o3(u)],["tail",s]])i.push({kind:d,track:c,startMs:l,durMs:m}),l+=m}),{segments:i,totalMs:l,trackCount:e.length}}function Ju(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 s3(e,t){const a=Ju(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 i3(e,t,a){const r=Math.max(0,Math.floor(a)),s=Ju(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 l3({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 u3({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:r,leadInMs:s,tailMs:i}){const l=Xu({durationsSec:[r],leadInMs:s,tailMs:i});return s3(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function c3({bars:e,trackDurationSec:t,leadInMs:a,tailMs:r}){return i3(Xu({durationsSec:[t],leadInMs:a,tailMs:r}),0,e)}function d3(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function p3({ended:e,completedByEnd:t}){return!!e||!!t}function m3(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function h3(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function C3(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 Qu=4,f3=mr(Qu/Vo);function g3(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:f=0,tailMs:y=0,trackDurationSec:v=0}=e,C=o.useRef(null),b=o.useRef(null),[_,h]=o.useState(null),[w,g]=o.useState(!1),[B,x]=o.useState(null),[A,k]=o.useState(2),[N,S]=o.useState(0),[E,O]=o.useState(null),[$,G]=o.useState(!1),[j,L]=o.useState(!1),P=3,K=3,ee=1,V=300,q=o.useRef(0),R=o.useCallback(()=>{const be=C.current,te=b&&b.current?b.current:be?be.closest(".audio-player__wave"):null,de=te?te.getBoundingClientRect():be?be.getBoundingClientRect():null,pe=de?de.width:0,he=de?Math.max(100,de.width):320,ye=de?de.height:0,je=Math.max(ee,Math.min(V,Math.floor((he+K)/(P+K)))),Ye=je*P,He=Math.max(0,je-1),Pe=Math.max(0,He>0?(he-Ye)/He:K);return{bars:je,gap:Pe,height:ye,width:pe}},[]),I=o.useRef(void 0),D=o.useRef(null),H=o.useCallback(async(be,te,{quiet:de=!1}={})=>{const pe=++q.current,he=()=>q.current===pe;try{if(de||g(!1),I.current=be,!be){he()&&h(null);return}let ye=te;if(!ye)try{for(let He=0;He<4&&!(C.current||b.current);He++)await new Promise(Pe=>requestAnimationFrame(Pe));await new Promise(He=>requestAnimationFrame(He));const Ye=R();Ye.height>0&&S(Ye.height),ye=Ye.bars,k(Ye.gap)}catch{ye=120}D.current=ye;const je=await Yu(be,ye);if(!he())return;if(!je){h(null),g(!1);return}h(je),x(ye),g(!0)}catch{if(!he())return;h(null),g(!1)}},[g,h,S,k,x,R]);o.useEffect(()=>{const be=b.current;if(!be||typeof ResizeObserver>"u")return;let te=null;const de=new ResizeObserver(()=>{te!==null&&cancelAnimationFrame(te),te=requestAnimationFrame(()=>{te=null;try{const pe=R();if(pe.width<=0||(pe.height>0&&S(pe.height),D.current===null||pe.bars===D.current))return;const he=I.current;k(pe.gap),he?H(he,pe.bars,{quiet:!0}).catch(()=>{}):D.current=pe.bars}catch{}})});return de.observe(be),()=>{de.disconnect(),te!==null&&cancelAnimationFrame(te)}},[R,H]),o.useEffect(()=>{const be=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;H(typeof be=="string"?be:void 0).catch(()=>{}),L(!1)},[t,a,H]),o.useEffect(()=>{let be=!1;if(G(!1),!i||!B){O(null);return}const te=c>0?c*(u||1):void 0;return Yu(i,B,te,!0).then(de=>{be||(O(de),de||G(!0))}).catch(()=>{be||(O(null),G(!0))}),()=>{be=!0}},[i,B,c,u]);const M=Math.max(0,Math.min(1,d)),F=o.useMemo(()=>_&&_.length&&Math.max(..._)||1,[_]),z=B||40,Y=o.useMemo(()=>c3({bars:z,trackDurationSec:v,leadInMs:f,tailMs:y}),[z,v,f,y]),J=o.useMemo(()=>Array.from({length:z}).map((be,te)=>{const de=te>=Y.lead&&te<Y.lead+Y.sound,pe=Y.sound>0&&de?Math.min(z-1,Math.round((te-Y.lead)/Y.sound*z)):-1,he=de?_&&_[pe]!=null?_[pe]:null:_?0:null,ye=he==null?null:Math.min(1,he/F*M),je=ye!=null&&N>0&&pr(ye)<=Qu,Ye=ye==null?.15:je?0:mr(ye),He=je,Pe=z>1?te/(z-1):0;return n.jsx("div",{className:He?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Ye,"--i":te,"--mix":Pe}},te)}),[z,_,F,M,N,Y]),Z={"--progress":String(Math.max(0,Math.min(1,r)))},re=o.useMemo(()=>E&&E.length&&Math.max(...E.map(be=>Number.isFinite(be)?Math.abs(be):0))||1,[E]),ue=M*Math.max(0,l),le=!i||!E||!E.length?1:Math.max(1,ue),Ee={"--bar-gap":`${A}px`,"--wave-h":`${pr(le)}px`,"--wave-h1":`${Vo}px`},W=w&&(i?!!E||$:!0);o.useEffect(()=>{W&&L(!0)},[W]);const oe=j?w:W;o.useEffect(()=>{m?.(oe)},[oe,m]);const ge=B||40,Ne=o.useMemo(()=>Array.from({length:ge}).map((be,te)=>{const de=E&&E[te]!=null?E[te]:null,pe=de==null?0:Math.abs(de)/re*ue,he=Math.max(f3,mr(pe)),ye=ge>1?te/(ge-1):0;return n.jsx("div",{className:"audio-player__bar",style:{"--val":he,"--i":te,"--mix":ye}},te)}),[ge,E,re,ue,N]);return n.jsxs("div",{className:"audio-player__wave",ref:b,style:Ee,children:[i&&n.jsx("div",{className:`audio-player__wave-noise ${W?"is-ready":""}`,"aria-hidden":"true",children:Ne}),p&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${oe?"is-ready":""}`,ref:C,children:J}),n.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${oe?"is-ready":""}`,ref:s,style:Z,children:J})]})]})}const b3={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"},ec={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function Wo(e,t){return new Promise((a,r)=>{const s=document.createElement("audio");let i=!1;const l=()=>{try{s.src=""}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 y3=2e3;function tc(e,t=y3){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 v3({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(f=>f!==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 x3(){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 _3({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 w3(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 B3=400,A3=2e3,nc=5;function k3({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)},[]),f=o.useCallback(()=>{if(c.current!==null)return;let v=0;const C=()=>{if(Zn){const b=typeof performance<"u"&&performance.now?performance.now():Date.now();if(v>0&&b-v>B3){const _=m.current===null||b-m.current>A3;if(m.current=b,_&&d.current<nc){d.current+=1;const h=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Kt(`progress-ticker-slow-frames#${h}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(b-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>=nc?`(${h}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${h}\uBC88\uC9F8)`)}}v=b}try{const b=e.current,_=Array.isArray(r.current)?r.current[s.current||0]:void 0,h=!!_&&Number.isFinite(_.duration)&&(_.duration??0)>0,w=h?0:w3(b),g=t.current,B=(l||0)>0||(u||0)>0,x=B&&(i?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!x)try{g&&g.style.visibility!=="hidden"&&(g.style.visibility="hidden")}catch{}else{const A=h?_.duration:w||0;Zn&&x&&!(A>0)&&Kt("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 k=B?u3({phase:i?.positionRef.current?.phase??"sound",phaseElapsedMs:i?.positionRef.current?Math.max(0,Date.now()-i.positionRef.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:A,leadInMs:l||0,tailMs:u||0}):l3({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:r.current,index:s.current,audioDuration:w??0});try{g&&(g.style.visibility&&(g.style.visibility=""),g.style.left=`${k*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(k))}catch{}}}catch{}c.current=requestAnimationFrame(C)};c.current=requestAnimationFrame(C)},[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:f,stop:p,settleTo:y}}function qo({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}=ve.useTranslation(),f=e,y=cr(),v=o.useRef(y?.registerAnalyser);o.useEffect(()=>{v.current=y?.registerAnalyser});const C=o.useRef(null),b=o.useRef(null),_=o.useRef(null),h=x3(),w=o.useRef(null),g=o.useRef(!1),B=o.useRef(null),{ref:x,rect:A,show:k,hide:N}=_3();o.useEffect(()=>()=>{v.current?.("main",null),v.current?.("noise",null)},[]);const[S,E]=o.useState(!1),[O,$]=o.useState("idle"),[G,j]=o.useState("stopped"),L=o.useRef("stopped");o.useEffect(()=>{L.current=G},[G]);const[P,K]=o.useState(0),[ee,V]=o.useState("active"),q=o.useRef(!1);o.useEffect(()=>{if(ee!=="playMode"||!q.current)return;q.current=!1;const ne=typeof document<"u"?document.activeElement:null;if(ne&&ne!==document.body)return;const we=_.current?.querySelectorAll("button")[1];try{we?.focus()}catch{}},[ee]);const[R,I]=o.useState(null),[D,H]=o.useState(null),[M,F]=o.useState(0),[z,Y]=o.useState(!1),[J,Z]=o.useState(0),re=y?.playbackRate??1,ue=y?.mainVolume??1,le=y?Io(y.settings):0,Ee=y?Gu(y.settings):ue,[W,oe]=o.useState("idle"),[ge,Ne]=o.useState(""),[be]=o.useState("top"),te=o.useRef(null),de=o.useRef(0),pe=o.useRef(null),he=o.useRef(!0),ye=q5({mountedRef:he}),je=o.useRef(null),Ye=o.useRef(d),He=o.useRef(m);o.useEffect(()=>{Ye.current=Math.max(0,d||0)},[d]),o.useEffect(()=>{He.current=Math.max(0,m||0)},[m]);const{start:Pe,stop:Fe,settleTo:ht}=k3({audioRef:C,fillRef:b,waveProgressRef:pe,sourcesRef:te,currentIndexRef:de,sequencer:ye,leadInMs:d,tailMs:m}),{onReadyChange:ut,waitForReady:nt,markNotReady:ct}=v3({showSoundWaveForm:u,showNoiseWaveForm:c}),ke=o.useRef(null),Ie=o.useRef(s),Be=o.useRef(r),Ze=o.useRef(null),X=o.useRef(!1),[ie,fe]=o.useState(!1),De=o.useCallback(ne=>{X.current=ne,fe(ne)},[]),et=o.useRef(null),{activeNoiseUrl:Xe,noiseSettingsRef:ft,fadeInNoise:dt,fadeOutNoise:at}=J5({noisePlayer:y,audioRef:C,playbackStateRef:L,sequencer:ye}),{startTTS:rt,stopTTS:ot}=Q5({ttsText:i,playbackRate:re,mainVolume:Ee,fillRef:b,waveProgressRef:pe,setProgress:K,setPlaybackState:j,setStateLocal:V,fadeInNoise:dt,fadeOutNoise:at,noiseSettingsRef:ft,onDoneRef:Be,handleEndRef:et});o.useEffect(()=>{St.current=ot});const tt=ne=>{if(typeof window>"u"||!window.speechSynthesis){try{Ne(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}rt(ne);return}st("tts"),rt(ne)},$e=Array.isArray(t)?t.filter(Boolean):t?[t]:[],qe=(!$e||$e.length===0)&&!!i,ze=Array.isArray(R)&&R.length>0?R:Array.isArray(D)&&D.length>0?D:null,mt=Math.max(Array.isArray(ze)?ze.length:0,$e.length);o.useEffect(()=>(he.current=!0,()=>{he.current=!1}),[]);const kt=()=>{ye.abort()},St=o.useRef(null),gt=o.useRef(null),vt=o.useRef(null),Oe=o.useRef(null);Oe.current||(Oe.current=()=>{vt.current=null;const ne=C.current;if(gt.current==="audio"&&ne&&(!ne.paused||ye.isRunning())){kt();try{ne.pause()}catch{}he.current&&(j("paused"),Fe(),at())}else if(gt.current==="tts")try{St.current?.()}catch{}});const st=ne=>{gt.current=ne,vt.current=er(Oe.current)},jt=()=>{vt.current?.(),vt.current=null};o.useEffect(()=>()=>{Oe.current&&tr(Oe.current)},[]);const zt=o.useRef(re);o.useEffect(()=>{zt.current=re||1},[re]);const Je=o.useCallback(ne=>{const we=zt.current||1;try{ne.defaultPlaybackRate=we}catch{}try{ne.playbackRate=we}catch{}},[]),_t=o.useCallback((ne,we)=>{ne.src=we,Je(ne),ne.load(),Je(ne)},[Je]),$t=o.useCallback(()=>{Ze.current&&(clearTimeout(Ze.current),Ze.current=null),oe("idle")},[]),At=o.useCallback(async(ne,we=3,ae=50,_e=0)=>{$t();const Re=ye.generation(),Ge=!!ne&&ne.currentTime>0&&!ne.ended,it=Math.max(0,Ye.current-Math.max(0,_e));if(it>0&&!Ge){st("audio"),Pe(),j("playing");const Ct=ft.current;if(Ct?.enabled&&(Ct.volume??0)>0)try{dt(Ct.volume)}catch{}if(!await ye.waitPad(it,"lead",_e)||!he.current||!ye.isCurrent(Re))return!1}ye.enterSound();for(let Ct=0;Ct<we;Ct++){if(!he.current||!ye.isCurrent(Re))return!1;try{return st("audio"),await ne.play(),!0}catch(Ce){if((Ce instanceof Error||typeof Ce=="object"&&Ce&&"name"in Ce?Ce.name:void 0)==="AbortError"){if(!ye.isCurrent(Re))return!1;await new Promise(T=>setTimeout(T,ae));continue}try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,Pe,ye,dt,ft,$t]),fn=o.useCallback(ne=>{const we=ye.generation(),ae=Math.max(0,He.current-Math.max(0,ne));Pe();const _e=ft.current;if(_e?.enabled&&(_e.volume??0)>0)try{dt(_e.volume)}catch{}const Re=()=>{try{je.current?.()}catch{}};if(ae<=0){ye.leave(),Re();return}ye.waitPad(ae,"tail",ne).then(Ge=>{ye.leave(),Ge&&ye.isCurrent(we)&&Re()}).catch(()=>{})},[ye,Pe,dt,ft]),gn=o.useCallback(()=>{const ne=C.current;if(!ne)return;const we=()=>{j("playing"),V("playMode"),Y(!0),Pe();try{Fr(),za(ne).then(Ge=>{if(he.current)try{v.current?.("main",Ge)}catch{}})}catch{}const Re=ft.current;Re?.enabled&&(Re?.volume??0)>0&&dt(Re.volume)},ae=()=>{p3({ended:!!ne?.ended,completedByEnd:X.current})||(j("paused"),Fe(),at())},_e=()=>{const Re=()=>{try{const Ge=te.current,it=d3(Ge,de.current);if(it!==null){de.current=it,F(it),Y(!0);const Ct=Ge?.[it]&&Ge[it].src;if(Ct&&ne){_t(ne,Ct),At(ne).catch(()=>{});return}}}catch{}j("stopped"),K(1);try{if(ne)try{ne.currentTime=0}catch{}}catch{}Fe(),Y(!1),at();try{!Ie.current&&et.current&&et.current()}catch{}};if(je.current=Re,He.current>0){Pe(),ye.waitPad(He.current,"tail").then(Ge=>{ye.leave(),Ge&&Re()}).catch(()=>{});return}Re()};return ne.addEventListener("play",we),ne.addEventListener("pause",ae),ne.addEventListener("ended",_e),()=>{try{ne.removeEventListener("play",we),ne.removeEventListener("pause",ae),ne.removeEventListener("ended",_e),Fe()}catch{}}},[dt,at,At,ft,Pe,Fe,ye]);o.useEffect(()=>gn(),[gn]),o.useEffect(()=>{Ie.current=s},[s]),o.useEffect(()=>{Be.current=r},[r]),o.useEffect(()=>{if(s||ee!=="active")return;const ne=B.current;if(!ne)return;let we=null;const ae=requestAnimationFrame(()=>{try{const _e=ne.getTotalLength();if(!_e)return;const Re=_e*.2;ne.style.strokeDasharray=`${_e-Re} ${Re}`;const Ge="triFlow_"+Math.random().toString(36).slice(2);we=document.createElement("style"),we.textContent=`@keyframes ${Ge}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${_e}}}`,document.head.appendChild(we),ne.style.animation=`${Ge} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ae),we?.remove()}},[ee,s]),o.useEffect(()=>{te.current=R},[R]),o.useEffect(()=>{de.current=M},[M]),o.useEffect(()=>{const ne=_.current,we=w.current;if(!ne||!we)return;let ae=null;const _e=32,Re=60,Ge=()=>{try{const Ct=Array.from(ne.querySelectorAll(":scope > .button"));let Ce=0;Ct.forEach(Le=>{if(Le===we)return;const Ke=Le.getBoundingClientRect();Ce+=Ke.width});const T=ne.getBoundingClientRect().width,U=Math.max(0,Math.floor(T-Ce-8)),ce=mt;if(!ce||U<=0){Array.from(we.children).forEach(Le=>{try{Le.style.width=""}catch{}});return}let Se=Math.floor(U/ce);Se>Re&&(Se=Re),Se<_e&&(Se=Math.max(_e,Math.floor(U/ce))),Array.from(we.querySelectorAll(".button")).forEach(Le=>{try{Le.style.width=`${Se}px`}catch{}})}catch{}},it=requestAnimationFrame(Ge);try{ae=new ResizeObserver(()=>{requestAnimationFrame(Ge)}),ae.observe(ne),ae.observe(we),window.addEventListener("resize",Ge)}catch{}return()=>{try{cancelAnimationFrame(it)}catch{}try{ae&&(ae.disconnect(),ae=null)}catch{}try{window.removeEventListener("resize",Ge)}catch{}}},[R,D,mt]),o.useEffect(()=>()=>{try{ke.current&&(clearTimeout(ke.current),ke.current=null),Ze.current&&(clearTimeout(Ze.current),Ze.current=null)}catch{}},[]);const cn=(ne,we)=>{I(ne),Z(we),ct(),H(m3(ne)),te.current=ne},dn=()=>{V("playMode"),F(0),Y(!0)},pn=async(ne,we)=>{De(!1),g.current=!1,_t(ne,we),await tc(ne),await nt()!==!1&&(E(!1),dn(),await At(ne))},Fn=async(ne,we=!1)=>{const ae=C.current;E(!0),$("measuring_duration");try{const _e=await Wo(ne,{timeoutMs:1e4,rejectOnError:!0});cn([{src:ne,objectUrl:null,duration:_e}],_e),$("ready"),we&&ae&&await pn(ae,ne)}finally{g.current=!1,E(!1)}},bn=async(ne,we=!1)=>{const ae=C.current;E(!0),$("measuring_duration");try{const _e=await Promise.all(ne.map(Ge=>Wo(Ge,{timeoutMs:1e4})));if(!he.current)return;const Re=ne.map((Ge,it)=>({src:Ge,objectUrl:null,duration:_e[it]||0}));cn(Re,h3(Re)),$("ready"),we&&ae&&Re.length>0&&await pn(ae,Re[0].src)}finally{g.current=!1,E(!1)}},Vt=async(ne=!1,we=!0)=>{const ae=C.current,_e=t?Array.isArray(t)?t:[t]:[];if(!_e||_e.length===0||!_e.some(Boolean))return!1;if(g.current)return null;g.current=!0,we&&E(!0),$("resolving");try{const Re=C3(t,a,Ks),Ge=[];let it=0;for(const Ct of Re){let Ce=Ct.src??null,T=null;if(!Ce&&Ct.resolvedPath){try{$("getting_signed_url"),Ce=await Ys(Ct.resolvedPath)}catch{Ce=null}if(!he.current)return!1;if(!Ce)try{$("downloading");const ce=await Zs(Ct.resolvedPath);if(!he.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{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),V("active")}catch{}}}if(!Ce)continue;let U=0;try{$("measuring_duration"),U=await Wo(Ce,{timeoutMs:3e3})}catch{U=0}if(!he.current){if(T)try{URL.revokeObjectURL(T)}catch{}for(const ce of Ge)if(ce.objectUrl)try{URL.revokeObjectURL(ce.objectUrl)}catch{}return!1}it+=U||0,Ge.push({...Ct,src:Ce,objectUrl:T,duration:U})}if(cn(Ge,it),Ge.length>0&&ne&&ae){const Ct=Ge[0];De(!1);try{h.keepOnly(Ge.map(Ce=>Ce.objectUrl))}catch{}if($("ready"),g.current=!1,Ct.src&&ae)try{if(_t(ae,Ct.src),await tc(ae),await nt()===!1)return!1;we&&E(!1),dn(),ae&&await At(ae)}catch{we&&E(!1)}else we&&E(!1);V("playMode"),F(0),Y(!0)}return Ge.length>0}finally{g.current=!1,we&&E(!1),$(Re=>Re==="ready"?"ready":"idle")}},yn=async ne=>{const we=ye.isRunning();if(ne.paused&&!we){if(X.current){await Rt();return}const ae=ye.resume();if(ae){if(j("playing"),ae.phase==="tail"){fn(ae.\uD750\uB978);return}await At(ne,3,50,ae.\uD750\uB978);return}await At(ne),j("playing")}else ye.pause(),kt(),ne.pause(),j("paused"),we&&(Fe(),at())},Wt=async()=>{const ne=C.current;if(!(!ne&&!qe)){if(qe){const we=window.speechSynthesis;if(ee==="active"){const ae=$r(),_e=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ae&&_e.length>0){if(g.current)return;V("load"),E(!0),$("synthesizing"),g.current=!0;try{const Re=await Promise.all(_e.map(Ge=>Promise.resolve(ae(Ge))));Re.length>1?await bn(Re,!0):await Fn(Re[0],!0)}catch{g.current=!1,E(!1),V("active"),tt(_e.length>0?_e:void 0)}return}tt(_e.length>0?_e:void 0);return}if(ee==="playMode"){const ae=!!we&&(we.speaking||we.paused)&&!(ne&&(ne.currentSrc||ne.getAttribute("src")));if(ne&&!ae){await yn(ne);return}try{if(we&&we.paused)try{st("tts"),we.resume(),j("playing")}catch{}else try{we.pause(),j("paused")}catch{}}catch{}}return}if(ee==="active"){if(s&&Array.isArray(te.current)&&te.current.length>0){const ae=te.current[0];try{if(ae.src&&ne)try{_t(ne,ae.src),dn(),ne&&await At(ne)}catch{}dn();return}catch{}}V("load");let we;try{we=await Vt(!0)}catch{we=!1}if(we===!1&&he.current){try{Ne(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}V("active")}return}if(ee!=="load"&&(ee==="playMode"||ee==="active"))try{ne&&await yn(ne)}catch(we){(we instanceof Error||typeof we=="object"&&we&&"name"in we)&&we.name}}},Rt=async()=>{const ne=C.current;if(ne)try{const we=te.current;if(Array.isArray(we)&&we.length>1){await Ft(0);return}De(!1);try{ne.currentTime=0}catch{}ne&&await At(ne),j("playing"),V("playMode")}catch{}},En=()=>{kt(),jt(),St.current?.();const ne=C.current;try{if(ne){try{ne.pause()}catch{}try{ne.currentTime=0}catch{}}}catch{}at(),j("stopped"),V("active"),K(0),Y(!1)},an=async(ne,{sameSegment:we=!1}={})=>{kt();const ae=ye.generation(),_e=C.current,Re=te.current?.[ne]?.src;try{if(De(!1),F(ne),Y(!0),de.current=ne,!Re||!_e||(we||ct(),_t(_e,Re),!we&&await nt()===!1)||!ye.isCurrent(ae)||(await At(_e),!ye.isCurrent(ae)))return;j("playing"),V("playMode")}catch{}},vn=async()=>{const ne=te.current,we=de.current||0;if(!ne||we<=0){await Rt();return}await an(we-1)},In=async()=>{const ne=te.current,we=de.current||0;if(!ne||we>=ne.length-1){En();return}await an(we+1)},mn=()=>{if(X.current)return;const ne=200,we=340;De(!0),kt(),jt();try{K(1)}catch{}ht(1);try{oe("hold")}catch{}try{const ae=C.current,_e=qe&&!!ae?.src;if(!qe||_e){if(ae){ae.pause();try{ae.currentTime=0}catch{}}}else ot();at()}catch{}try{j("stopped")}catch{}if(Y(!1),!Ie.current)try{Ze.current&&(clearTimeout(Ze.current),Ze.current=null),Ze.current=setTimeout(()=>{try{oe("out")}catch{}Ze.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{oe("idle")}catch{}Ze.current=null},we)},ne)}catch{}};o.useEffect(()=>{et.current=mn});const qt=o.useCallback(()=>Ne(""),[]),Ft=async ne=>{(te.current||[])[ne]&&await an(ne,{sameSegment:ne===de.current})},se=G==="playing",xe=o.useMemo(()=>{if(!D||D.length<=1)return D;const ne=D[M];return ne?[ne]:D},[D,M]),Te=s===!0;o.useEffect(()=>{try{const ne=C.current;ne&&typeof ne.playbackRate=="number"&&Je(ne)}catch{}},[re,Je]);const Ue=o.useRef({raf:null,timer:null});o.useEffect(()=>{const ne=C.current;if(!ne)return;const we=Math.max(0,Math.min(1,Ee)),ae=Ue.current,_e=()=>{ae.raf!==null&&(cancelAnimationFrame(ae.raf),ae.raf=null),ae.timer!==null&&(clearTimeout(ae.timer),ae.timer=null)};_e();const Re=Va(ne);if(ne.paused||Math.abs(Re-we)<.001||typeof requestAnimationFrame!="function"){try{Tn(ne,we)}catch{}return}const Ge=performance.now(),it=()=>{const Ct=Math.min(1,(performance.now()-Ge)/150);try{Tn(ne,Re+(we-Re)*Ct)}catch{}ae.raf=Ct<1?requestAnimationFrame(it):null};return ae.raf=requestAnimationFrame(it),ae.timer=setTimeout(()=>{_e();try{Tn(ne,we)}catch{}},200),_e},[Ee]);const Me=W==="hold",Ve=W==="out",We=ee==="playMode"&&!S&&!ie||Me||Ve,pt=G!=="stopped"||Me||Ve,Dt=G==="paused",Jt=Math.max(0,Math.min(100,(P||0)*100)),Qt=Ae("audio-player__fill",We?"is-visible":"",pt?"is-expanded":"",Dt?"is-paused":"",Ve?"is-out":"");return n.jsxs("div",{className:`audio-player ${Te?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof f=="string"?f:void 0,children:[n.jsxs("div",{className:`audio-player__panel ${se?"is-playing":""} ${S?"is-loading":""} ${ee!=="default"?"is-revealed":""}`,children:[S?n.jsxs("div",{className:"audio-player__loading",role:ec[O]?"status":void 0,"aria-live":ec[O]?"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.${O}`,{defaultValue:b3[O]})})]}):null,ee==="active"?n.jsx("button",{className:"audio-player__button",type:"button",disabled:Te,onClick:()=>{q.current=or(),N(),Wt()},"aria-label":typeof f=="string"?f:p("training.listen","\uB4E3\uAE30"),onMouseEnter:k,onMouseLeave:N,onFocus:k,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:B,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,A&&n.jsx(_n,{anchorRect:A,text:typeof f=="string"&&f?f:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),n.jsxs("div",{className:`audio-player__play ${ee==="playMode"||se?"is-visible":""}`,inert:!(ee==="playMode"||se)||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:vn,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:se?"pause":"play",onClick:Wt,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":se,width:"60px",variant:"transparent-white",disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:En,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),mt>1?n.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:mt}).map((ne,we)=>n.jsx(me,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(we+1),onClick:()=>{try{Ft(we)}catch{}},ariaLabel:p("training.sourcePlay",{n:we+1}),variant:"transparent-white",selected:z&&M===we,disabled:ee!=="playMode"||!(Array.isArray(R)&&R[we]),showTooltipInfo:!0},we))}):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:ee!=="playMode"}):null,n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:In,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:ee!=="playMode"}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:mn,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:ee!=="playMode"})]}),n.jsxs("div",{className:"audio-player__slider",children:[n.jsx("div",{className:Qt,ref:b,style:{left:`${Jt}%`},"aria-hidden":"true"}),(u||c)&&n.jsx(g3,{segments:xe,progress:P,totalDuration:J,waveProgressRef:pe,showSoundWaveForm:u,leadInMs:d,tailMs:m,trackDurationSec:R?.[M]?.duration??0,noiseSrc:c&&y?.settings.enabled&&le>0?Xe:null,noiseRatio:y?Fa(y.settings):0,noiseSpeed:y?.settings.speed??1,mainVolume:ue,onReadyChange:ut})]})]}),n.jsx("audio",{ref:C,crossOrigin:"anonymous",preload:"auto"})]}),!u&&n.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[n.jsx(Qe,{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:ge,position:be,onClose:qt})]})}function hr(e){const{t}=ve.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:f,canDecrease:y,fontSize:v,lineHeight:C}=al({storageKey:"tooltip-fontScale"}),b=o.useCallback(()=>d(B=>B==="dark"?"light":"dark"),[]),_=o.useCallback(B=>{try{B.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:`${C}px`,"--tt-line-height":`${C}px`,"--tt-marker-size":"28px"},g=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((B,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:B})]},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:!f}),n.jsx(me,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:c==="dark"?"moon":"sun-medium",onClick:b,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(sn,{anchorRect:s,className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:u,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:g}):n.jsx("div",{className:`tooltip-textbox ${c==="dark"?"is-dark":""}`,children:g})}function ac({state:e="disabled"}){const{t}=ve.useTranslation();return n.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[n.jsx("div",{className:"bullet__dot",children:n.jsx(Qe,{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 rc(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(hn)).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 oc({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}=ve.useTranslation(),f=rn("(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(),C=o.useRef(null),[b,_]=o.useState(!1),[h,w]=o.useState(null),[g,B]=o.useState(null);rc(b&&!!h,()=>{if(typeof document>"u")return null;const S=Array.from(document.querySelectorAll(".tooltip-content"));for(let E=S.length-1;E>=0;E--)if(S[E].querySelector(".tooltip-textbox__root"))return S[E];return null},()=>C.current?.querySelector("button")??null);const x=o.useRef(i);o.useEffect(()=>{x.current=i});const A=o.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(S=>typeof S=="string"||typeof S=="number")?l.join(""):"",[l]),k=o.useCallback(()=>{_(!1),w(null),B(null)},[]);o.useEffect(()=>{if(!b)return;let S;try{typeof x.current=="function"&&(S=x.current())}catch{}if(S===!1){k();return}B(typeof S<"u"&&S!==null?S:null)},[A]);const N=o.useCallback(()=>{let S;try{typeof i=="function"&&(S=i())}catch{}if(S!==!1){if(B(typeof S<"u"&&S!==null?S:l),!C.current){_(E=>!E);return}if(b)_(!1),w(null),B(null);else{const E=C.current.getBoundingClientRect();w(E),_(!0)}}},[i,l,b]);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:f?"dot":"bar",icon:"play-circle",label:f?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:C,children:n.jsx(me,{htmlType:"button",size:32,type:f?"dot":"bar",icon:"eye",label:f?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:N,className:b?"is-selected":void 0,"aria-expanded":b,"aria-haspopup":"dialog",variant:r==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),b&&n.jsx(hr,{text:g??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:h,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function Uo(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Kn({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:s={},children:i,className:l="",onDone:u=void 0,useTitleFaded:c=void 0}){const{t:d}=ve.useTranslation(),[m,p]=o.useState(()=>Uo(e,t));o.useEffect(()=>{const B=Uo(e,t);if(B!==m){const x=setTimeout(()=>p(B),0);return()=>clearTimeout(x)}},[e,t,m]);const f=o.useCallback((...B)=>{Uo(e,t)==="done"||m==="done"||typeof u=="function"&&u(...B)},[e,t,m,u]),[y,v]=o.useState(!1),[C,b]=o.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),_=o.useCallback(B=>{if(!B)return null;try{const x=B;if(typeof B=="object"&&(x.currentTarget||x.target)&&(x.nativeEvent||x.type)){const N=x.currentTarget??x.target;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect()}if(B instanceof DOMRect)return B;const A=B;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const k=B?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),h=o.useCallback((B,{text:x="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:N="center",alignY:S="top"}={})=>{const E=_(B);b({text:x,label:A,anchorRect:E,backdrop:k,alignX:N,alignY:S}),v(!0)},[_]),w=o.useCallback(()=>{v(!1),b(B=>({...B,anchorRect:null}))},[]),g=o.Children.map(i,B=>{if(o.isValidElement(B)){const x=B;if(typeof x.type=="string")return x;const A=x.props??{},k=typeof A.onDone=="function"?A.onDone:f,N=typeof A.disabled=="boolean";let S=m==="disabled";return N&&(S=!!A.disabled),o.cloneElement(x,{onDone:k,disabled:S,showTooltip:h,hideTooltip:w})}return B});return n.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${l}`,"aria-current":m==="active",children:[n.jsx(ac,{state:m}),n.jsxs("div",{className:"training-step__content",children:[n.jsx(oc,{state:m,title:r,...s,useFaded:c}),g]}),y?n.jsx(sn,{anchorRect:C.anchorRect,backdrop:C.backdrop,onClose:w,ariaLabel:d("tooltip.textbox","\uBCF8\uBB38"),children:n.jsx(hr,{text:C.text,onClose:w})}):null]})}function sc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=ve.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:f,fontSize:y,lineHeight:v}=al({storageKey:"textbox_fontScale"}),[C,b]=o.useState(""),_=o.useRef(null),h=o.useRef(!1),w=o.useCallback(()=>{h.current=or()&&!!_.current&&_.current.contains(document.activeElement),i("active")},[]),g=o.useCallback(()=>b(""),[]),B=$=>{try{b($)}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 A=o.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,N]=o.useState(A);k!==A&&(N(A),i("disabled"));const S=t==="disabled"?s:t,E=S==="disabled"?"training-text-box--disabled":S==="active"?"training-text-box--active":S==="done"?"training-text-box--done":"",O=o.useMemo(()=>({fontSize:`${y}px`,lineHeight:`${v}px`}),[y,v]);return o.useEffect(()=>{if(S==="disabled"||!h.current)return;h.current=!1;const $=document.activeElement;$&&$!==document.body||_.current?.querySelector(".training-text-box__buttons button")?.focus()},[S]),n.jsxs("div",{ref:_,className:`training-text-box ${E} ${S!=="disabled"&&l==="dark"?"is-dark":""}`,children:[S==="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":S==="disabled",children:n.jsx("span",{className:"training-text-box__inner h3",style:O,children:A})}),S!=="disabled"&&n.jsxs("div",{className:"training-text-box__buttons","aria-hidden":S==="disabled",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:m,onDisabledClick:()=>B(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:!f,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:d,onDisabledClick:()=>B(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:C,position:"top",onClose:g})]})}function Go({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:s,onDone:i,onChange:l,answer:u,wrongAnswers:c,choices:d,multiSelect:m=!1,correctCount:p=0,useDisabledCovered:f=!1,choiceIcons:y,shuffleChoices:v=!0}){const{t:C}=ve.useTranslation(),b=r??C("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),_=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",w=Array.isArray(d)&&d.length?d:typeof u<"u"?[u].concat(Array.isArray(c)?c:[]):void 0,g=c?c.join("||"):"",B=d?d.join("||"):"",[x,A]=o.useState(()=>Array.isArray(w)?v?xa(w):w.slice():void 0);o.useEffect(()=>{Array.isArray(w)&&w.length?A(v?xa(w):w.slice()):A(void 0)},[u,g,B,v]);const[k,N]=o.useState(null),[S,E]=o.useState(()=>new Set);o.useEffect(()=>{N(null),E(new Set)},[B,u,g]);const O=o.useRef(void 0);o.useEffect(()=>{const j=O.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(N(null),E(new Set)),O.current=t},[t,e]);const $=o.useCallback(j=>{if(h!=="active")return;const L=x?.[j];if(L==null)return;const P=L,K=h==="active"||h==="done";if(m){const ee=new Set(S),V=ee.has(P);V?ee.delete(P):ee.add(P),E(ee),typeof l=="function"&&l({selectedValues:[...ee],__ts:Date.now()}),K&&(typeof p=="number"&&p>0?ee.size>=p:!V)&&typeof i=="function"&&h==="active"&&i({selectedValues:[...ee],__ts:Date.now()})}else N(P),typeof l=="function"&&l({selectedIndex:j,selectedValue:P,__ts:Date.now()}),K&&typeof i=="function"&&h==="active"&&i({selectedIndex:j,selectedValue:P,__ts:Date.now()})},[x,h,m,l,i,p,S]),G=`training-step__buttons${Array.isArray(x)&&x.length>3?" training-step__buttons--wrap-3":""}`;return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:b,useTitleFaded:s,children:n.jsx("div",{className:G,children:Array.isArray(x)&&x.length>0?x.map((j,L)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>$(L),ariaLabel:String(j),label:j,useLabel:!0,icon:y?y[String(j)]:void 0,variant:"default",disabled:h==="disabled",selected:m?S.has(j):k===j,useDisabledCovered:f,minWidth:0},String(j))):null})})}function Ko({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l,demoSelected:u}){const{t:c}=ve.useTranslation(),d=r??c("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,p=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",f=l&&typeof l=="object"?l.sentence||"":typeof l=="string"?l:"",y=l&&typeof l=="object"?l.choices:void 0,[v,C]=o.useState(u??null),b=`${String(f)}\0${JSON.stringify(y??null)}`,[_,h]=o.useState(b);_!==b&&(h(b),u==null&&C(null));const[w,g]=o.useState(u);Object.is(w,u)||(g(u),C(u??null));const B=o.useRef(void 0);o.useEffect(()=>{const N=B.current;typeof N=="number"&&typeof t=="number"&&typeof e=="number"&&N>=e&&t<e&&u==null&&C(null),B.current=t},[t,e,u]);const x=o.useCallback(N=>{const S=typeof N=="object"&&N!==null?Object.assign({},N,{__ts:Date.now()}):{value:N,__ts:Date.now()};typeof i=="function"&&i(S),p==="active"&&typeof s=="function"&&s(S)},[i,p,s]),A=o.useCallback(()=>{p==="active"&&(C(!1),x(!1))},[x,p]),k=o.useCallback(()=>{p==="active"&&(C(!0),x(!0))},[x,p]);return n.jsxs(Kn,{index:e,stepIndex:t,isLast:a,title:d,onDone:s,useTitleFaded:!1,children:[n.jsx(sc,{context:l,state:p}),p==="disabled"&&n.jsx("p",{className:"training-step__locked-hint caption-1",role:"status",children:c("training.answerLockedHint","\uB2E4 \uB4E4\uC73C\uBA74 \uACE0\uB97C \uC218 \uC788\uC5B4\uC694.")}),n.jsx("div",{className:"training-step__buttons",children:Array.isArray(y)&&y.length>0?y.slice(0,6).map((N,S)=>n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:()=>{p==="active"&&(C(S),x&&x(S))},disabled:p==="disabled",ariaLabel:String(N),label:N,variant:p,selected:v===S},S)):n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:A,disabled:p==="disabled",icon:"x",ariaLabel:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:c("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!1}),n.jsx(me,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:p==="disabled",icon:"circle",ariaLabel:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:c("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:v===!0})]})})]})}function Yo({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:f,showSoundWaveForm:y,showNoiseWaveForm:v,leadInMs:C,tailMs:b}){const{t:_}=ve.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(Kn,{index:e,stepIndex:t,isLast:a,title:h,onDone:s,titleProps:{usePreviewTextBtn:c,previewText:d,onPreviewTextBtn:m},children:n.jsx(qo,{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:C,tailMs:b},`audio-p${f??0}-s${e}`)})}const N3=[];function Zo({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=N3}){const{t:u}=ve.useTranslation(),c=r??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),d=I=>typeof I=="string"?I:I&&(I.context||I.sentence||I.question||"")||"",[m,p]=o.useState(Array.isArray(l)?l:[]),[f,y]=o.useState(()=>(m||[]).map((I,D)=>({id:D,text:d(I)}))),v=o.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),C=v!=="disabled",b=o.useRef(void 0);o.useEffect(()=>{if(b.current===l)return;b.current=l;const I=Array.isArray(l)?l:[];p(I);const D=(H=>{const M=(H||[]).map((J,Z)=>({id:Z,text:d(J)}));if(M.length<=1)return M;const F=(J,Z)=>{if(J.length!==Z.length)return!1;for(let re=0;re<J.length;re++)if(J[re].text!==Z[re].text)return!1;return!0};let z=xa(M),Y=0;for(;F(z,M)&&Y<20;)z=xa(M),Y+=1;return z})(I);y(D);try{if(typeof i=="function"){const H=D.filter((M,F)=>M.text===d(I[F])).length;i({shuffled:D,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}if(typeof s=="function"&&v==="active"){const H=D.filter((M,F)=>M.text===d(I[F])).length;s({shuffled:D,score:H,total:(I||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[l]);const _=(I,D)=>{const H=[...f],M=I+D;if(M<0||M>=H.length)return;const F=H[M];H[M]=H[I],H[I]=F,L(H);try{if(typeof s=="function"&&v==="active"){const z=H.filter((Y,J)=>Y.text===d(m[J])).length;s({shuffled:H,score:z,total:(m||[]).length,__ts:Date.now()})}}catch{}},[h,w]=o.useState(null),g=o.useRef(null),B=o.useRef(null),x=o.useRef(null),A=o.useRef(null),k=o.useRef(null),N=o.useRef({x:0,y:0}),S=o.useRef(null),E=o.useRef({dx:0,dy:0}),O=()=>{if(S.current!==null)return;const I=()=>{if(!g.current){S.current=null;return}S.current=requestAnimationFrame(I);const D=N.current,H=E.current||{dx:0,dy:0};g.current&&(g.current.style.transform=`translate3d(${D.x-H.dx}px, ${D.y-H.dy}px, 0)`)};S.current=requestAnimationFrame(I)},$=o.useRef(new Map),G=o.useRef(new Map),j=()=>{const I=new Map;return $.current.forEach((D,H)=>{D&&D.getBoundingClientRect&&I.set(H,D.getBoundingClientRect())}),I},L=I=>{const D=j();y(I);try{if(typeof i=="function"){const H=I.filter((M,F)=>M.text===d(m[F])).length;i({shuffled:I,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=j();I.forEach(M=>{const F=D.get(M.id),z=H.get(M.id),Y=$.current.get(M.id);if(!Y||!F||!z)return;const J=F.top-z.top;J&&(Y.style.transition="none",Y.style.transform=`translateY(${J}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const Z=()=>{Y.style.transition="",Y.removeEventListener("transitionend",Z)};Y.addEventListener("transitionend",Z)}))})})},P=(I,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(I))}catch{}try{D.dataTransfer&&(D.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),D.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}w(I);try{const H=f[I],M=document.createElement("div");M.className="order-list__dragging-object order-list__dragging-object--visible",M.textContent=H&&H.text?H.text:"",document.body.appendChild(M),g.current=M;const F=$.current.get(H.id);let z=D.clientX||0,Y=D.clientY||0;try{if(F&&F.getBoundingClientRect){const Ee=F.getBoundingClientRect();z=Ee.left+Ee.width/2,Y=Ee.top+Ee.height/2}}catch{}const J=M.getBoundingClientRect(),Z=J.width/2,re=J.height/2;E.current={dx:Z,dy:re},M.style.transition="none",N.current={x:z,y:Y},M.style.transform=`translate3d(${z-Z}px, ${Y-re}px, 0)`,requestAnimationFrame(()=>{try{M.style.transition=""}catch{}O()});const ue=Ee=>{const W=Ee;N.current={x:W.clientX,y:W.clientY},O()};x.current=ue,document.addEventListener("mousemove",ue);const le=Ee=>{const W=Ee;N.current={x:W.clientX,y:W.clientY},O()};B.current=le,document.addEventListener("dragover",le);try{D.dataTransfer?.setData("text/plain",String(I));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:I}))}catch{}}catch{}}catch{}},K=(I,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const H=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(H&&A.current!==H){if(A.current)try{A.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}A.current=H}}catch{}},ee=(I,D)=>{D.preventDefault();const H=D.dataTransfer?.getData("text/plain")||"",M=H?parseInt(H,10):h,F=I;if(typeof M!="number"||isNaN(M)||M===F){w(null),R(),V();return}const z=LC(f,M,F);L(z),w(null),V();try{if(typeof s=="function"&&v==="active"){const Y=z.filter((J,Z)=>J.text===d(m[Z])).length;s({shuffled:z,score:Y,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[F];if(!Y)return;const J=Y.querySelector(".order-list__slot")||Y;try{J.classList.add("pulse"),J.offsetHeight,J.classList.add("to-dark");const Z=()=>{J.classList.remove("pulse","to-dark"),J.removeEventListener("transitionend",Z)};J.addEventListener("transitionend",Z)}catch{}})}catch{}R()},V=()=>{if(g.current){try{document.body.removeChild(g.current)}catch{}g.current=null}B.current&&(document.removeEventListener("dragover",B.current),B.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),S.current!==null&&(cancelAnimationFrame(S.current),S.current=null)},q=()=>{w(null),R(),V()};o.useEffect(()=>()=>V(),[]);const R=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),A.current){try{A.current.classList.remove("drag-over")}catch{}A.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,(f||[]).length);f.forEach((D,H)=>{const M=G.current.get(D.id);if(!M)return;let F=50;I>1&&(F=Math.round(H/(I-1)*100));try{M.style.setProperty("--marker-pos",F+"%")}catch{}})}catch{}},[f]),o.useEffect(()=>()=>{V(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:c,children:n.jsx("div",{className:"order-list",children:f.map((I,D)=>{const H=Math.max(1,(f||[]).length),M=H>1?Math.round(D/(H-1)*100):50;return n.jsx("div",{className:"order-list__item",children:n.jsxs("div",{className:"order-list__slot","data-disabled":v==="disabled","aria-disabled":v==="disabled",children:[v!=="disabled"?n.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":M+"%"},ref:F=>{const z=G.current;F?z.set(I.id,F):z.delete(I.id)},children:n.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,n.jsxs("div",{ref:F=>{const z=$.current;F?z.set(I.id,F):z.delete(I.id)},className:`order-list__draggable ${h===D?"dragging":""}`,"data-disabled":v==="disabled","aria-disabled":v==="disabled",tabIndex:v==="disabled"?-1:0,draggable:C,onDragStart:C?F=>P(D,F):void 0,onDragEnter:C?F=>K(D,F):void 0,onDragOver:C?F=>K(D,F):void 0,onDragLeave:C?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const F=document.querySelectorAll(".order-list .order-list__item");F&&F[D]&&(F[D].classList.remove("drag-over"),A.current===F[D]&&(A.current=null))}catch{}},80)}catch{}}:void 0,onDrop:C?F=>ee(D,F):void 0,onDragEnd:C?q:void 0,children:[n.jsx("span",{className:"order-list__item-text body-2",children:I.text}),C?n.jsxs("span",{className:"order-list__item-buttons",children:[n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(D,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===0,useBorder:!1,useDisabledInvisible:!0}),n.jsx(me,{htmlType:"button",size:32,type:"dot",onClick:()=>_(D,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===f.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},I.id)})})})}const D3=8e3;function E3(e,t){return new Promise(a=>{let r=!1;const s=()=>{r||(r=!0,a())};e.then(s,s),setTimeout(s,t)})}function ic({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:s,onChange:i,context:l=[],selectable:u=!1,hideLabel:c=!1,hideAudio:d=!1,maxCards:m,playAllGapMs:p=0}){const{t:f}=ve.useTranslation(),y=r??f("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),v=o.useMemo(()=>Array.isArray(l)?l:l&&l.items||[],[l]),C=m??3,b=(v||[]).slice(0,C);(v||[]).length>C&&console.warn(`TrainingStepCard: ${v.length} items passed but only ${C} shown`);const _=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":_<t?"done":_===t?"active":"disabled",[w,g]=o.useState(null),B=o.useRef([]),[x,A]=o.useState(!1),k=o.useRef(null),N=o.useRef(!0);o.useEffect(()=>(N.current=!0,()=>{N.current=!1}),[]);const S=o.useMemo(()=>v.map(L=>L?.id??L?.word??"").join("|"),[v]);o.useEffect(()=>{g(null)},[S]);const E=o.useRef(void 0);o.useEffect(()=>{const L=E.current;typeof L=="number"&&typeof t=="number"&&typeof e=="number"&&L>=e&&t<e&&g(null),E.current=t},[t,e]);const O=o.useCallback((L,P)=>{if(u)return;const K={item:L,index:P,__ts:Date.now()};try{typeof i=="function"&&i(K)}catch{}if(h==="active"&&typeof s=="function")try{s(K)}catch{}},[u,i,h,s]),$=o.useRef(p);o.useEffect(()=>{$.current=Math.max(0,p||0)},[p]);const G=o.useCallback(async()=>{if(x||h==="disabled")return;A(!0);let L=!1;const P=new Promise(K=>{k.current=()=>{L=!0,K()}});try{for(let K=0;K<b.length&&!(!N.current||L);K++){const ee=B.current[K];if(!ee)continue;await Promise.race([E3(ee.play(),D3),P]);const V=Math.max(0,$.current||0);V>0&&K<b.length-1&&!L&&N.current&&await Promise.race([new Promise(q=>{setTimeout(q,V)}),P])}}finally{k.current=null,A(!1)}},[x,h,b.length]),j=o.useCallback((L,P)=>{if(h!=="active")return;g(P);const K={selectedValue:L.word||L.title||"",selectedIndex:P,item:L,__ts:Date.now()};try{typeof i=="function"&&i(K)}catch{}if(h==="active"&&typeof s=="function")try{s(K)}catch{}},[i,h,s]);return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:y,onDone:s,titleProps:{usePlayAllBtn:!d&&b.length>0,onPlayAll:G,playAllActive:x},children:n.jsx("div",{className:"training-step__cards",onClickCapture:L=>{const P=k.current;if(!P)return;const K=L.target;K&&typeof K.closest=="function"&&K.closest(".training-word-card__bottom")&&P()},children:b.length===0?n.jsx("div",{className:"training-step__empty",children:f("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((L,P)=>n.jsx(So,{ref:K=>{B.current[P]=K},item:L,disabled:h==="disabled",onPlayDone:()=>O(L,P),selectable:u,selected:u&&w===P,onSelect:u?()=>j(L,P):void 0,flipDelay:P*120,hideLabel:c,hideAudio:d},L&&L.id||P))})})}const S3=160,j3={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function T3(e,t){const a=j3[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const lc=()=>{};function $n(e){const t=o.useId();if(!("variant"in e)){const{label:h,sub:w,onClick:g,children:B,align:x="horizontal",icon:A,useFullWidth:k=!1}=e,N=S=>{g&&S.target===S.currentTarget&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),g())};return n.jsxs("div",{className:Ae("panel-row",x==="vertical"?"panel-row--vertical":"",k?"panel-row--label-fixed panel-row--fill":"",g?"panel-row--clickable":""),onClick:g,onKeyDown:g?N:void 0,role:g?"button":void 0,tabIndex:g?0:void 0,children:[A!=null&&n.jsx("div",{className:"panel-row__icon",children:A}),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:B})]})}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 f=null;const y=a==="toggle"?`panel-toggle-${t}`:void 0,v=u?`panel-error-${t}`:void 0,C=`panel-helper-${t}`;if(a==="toggle"){const h=e;f=n.jsx(Wl,{checked:h.checked,onChange:h.onChange,id:y})}else if(a==="segmented"){const h=e;f=n.jsx(kn,{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((g,B)=>n.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:n.jsx(un,{options:g.options,value:g.value,onChange:g.onChange,placeholder:g.placeholder,block:d,error:!!u,ariaDescribedBy:v,ariaLabel:g.ariaLabel??([r,g.placeholder].filter(Boolean).join(" ")||void 0)})},B))}):n.jsx(un,{options:h.options??[],value:h.value??"",onChange:h.onChange??lc,block:d,error:!!u,ariaLabel:r,ariaDescribedBy:v});f=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?f=n.jsx("div",{className:"panel-row__button-group",children:h.buttons.map((w,g)=>n.jsx(me,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},g))}):f=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;f=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;f=n.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[n.jsx(Gn,{value:h.value,onChange:h.onChange??lc,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?C:void 0}),h.helperText&&n.jsx("div",{id:C,className:"panel-row__helper caption-1",children:h.helperText})]})}else a==="custom"&&(f=e.children);u&&a!=="input"&&a!=="dropdown"&&(f=n.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[f,n.jsx("span",{id:v,className:"caption-1 panel-row__error",role:"alert",children:u})]}));const b=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:Ae("panel-row",c==="vertical"?"panel-row--vertical":"",b?"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:f})]})}function uc(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function M3({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=ve.useTranslation();return n.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(s=>{const i=e[s],l=s==="\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:l}),i&&t&&n.jsx(me,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${l} ${r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(s)})]}),i?n.jsxs("div",{className:"panel-row__device-info",children:[n.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&n.jsx(Bt,{size:"small",variant:lu(i.device),fill:"soft",label:T3(i.device,r)}),uc(i)&&n.jsx("span",{className:"panel-row__device-detail body-3",children:uc(i)})]}),n.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),No(i.wornYear,i.wornMonth,i.wornDay)&&n.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:No(i.wornYear,i.wornMonth,i.wornDay)})})]}):n.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},s)})})}function Cr({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:f=!0,useBg:y=!0,useRowBorder:v=!0,labelWidth:C,form:b=!1,loading:_,empty:h,children:w}){const g=Ae("panel",`panel--${i}`,b?"panel--form":"",l!==void 0?"panel--fill":"",f?"":"panel--no-border",y?"":"panel--no-bg",v?"":"panel--no-row-border",p?"panel--compact-rows":"",c),B={};l!==void 0&&(B.minHeight=l),u!==void 0&&(B.maxWidth=typeof u=="number"?`${u}px`:u),C!==void 0&&(B["--panel-label-width"]=typeof C=="number"?`${C}px`:C);const x=t?`h${t}`:"div";return n.jsxs("div",{className:g,style:Object.keys(B).length?B:void 0,children:[(!!e||r!=null)&&n.jsxs("div",{className:Ae("panel__header",r!=null?"panel__header--with-disc":""),children:[a&&n.jsx(Qe,{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($n,{variant:"loading"}):h!=null&&o.Children.toArray(w).length===0?n.jsx($n,{variant:"empty",children:h}):d?n.jsx("div",{className:Ae("panel__body--scroll",m==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function L3({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 f=new ResizeObserver(([y])=>d(y.contentRect.width));return f.observe(p),()=>f.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",s),style:{"--panel-grid-cols":m?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function $3(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 cc(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"}]}$3(Mt.t.bind(Mt)),cc(Mt.t.bind(Mt));const Xo="none",R3=.5,P3=1.5,F3=.25;function Jo({title:e,valueLabel:t,value:a,min:r,max:s,step:i,tickStep:l,size:u,disabled:c,onChange:d}){return n.jsxs($n,{variant:"custom",label:e,useFullWidth:!0,children:[n.jsx(au,{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:Ae("noise-settings__value","button-1",c?"noise-settings__value--disabled":""),children:t})]})}function dc({anchorRect:e,onClose:t}){const{t:a}=ve.useTranslation(),r=rn("(max-width: 767px)")?40:24,s=cr(),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(C=>{try{s?.setMainVolume(Math.max(0,Math.min(1,C/100)))}catch{}},[s]),f=o.useCallback(C=>{try{s?.setPlaybackRate(C)}catch{}},[s]),y=o.useCallback(C=>{const b=Math.min(Pa,Math.max(0,Math.round(C*10)/10));try{s?.setSettings({noiseRatio:b})}catch{}},[s]),v=o.useCallback(C=>{try{C===Xo?s?.setSettings({enabled:!1}):s?.setSettings({type:C,enabled:!0})}catch{}},[s]);return n.jsx(sn,{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(Cr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[n.jsx(Jo,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:p}),n.jsx(Jo,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${c.toFixed(2)}x`,value:c,min:R3,max:P3,step:F3,size:r,onChange:f}),n.jsx($n,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:n.jsx(kn,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Xo,label:a("training.noise.type.none","\uC5C6\uC74C")},...cc(a).map(C=>({key:C.value,label:C.label}))],value:u?l:Xo,onChange:v})}),n.jsx(Jo,{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:qu,size:r,disabled:!u,onChange:y})]})})}function pc({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}=ve.useTranslation(),[m,p]=o.useState(!1),[f,y]=o.useState(null),[v,C]=o.useState(!1),b=o.useRef(null),_=o.useRef(null),h=cr(),w=u>0,g=w&&l<u-1,B=!w||l>=u-1,x=s===Math.max(0,i);o.useEffect(()=>{e||(p(!1),y(null))},[e]);const A=o.useCallback(()=>{p(!1),y(null)},[]),k=o.useCallback(()=>{if(m){p(!1),y(null);return}const P=b?.current?.getBoundingClientRect();P&&y(P),t?.(),p(!0)},[m,t]),N=o.useCallback(()=>{if(m){p(!1),y(null);return}const P=_?.current?.getBoundingClientRect();P&&y(P),t?.(),p(!0)},[m,t]),S=rn("(max-width: 767px)"),E=o.useRef(null),[O,$]=o.useState(null),G=o.useCallback(()=>{C(P=>{const K=!P;return $(K?E.current?.getBoundingClientRect()??null:null),K})},[]),j=o.useCallback(()=>{C(!1),$(null)},[]);o.useEffect(()=>{c&&(C(!1),$(null))},[c]);const L=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(Bo,{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(Bo,{analyser:h?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]});return rc(e&&m,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[b.current,_.current].map(P=>P?.querySelector("button")??null).find(P=>!!P&&P.getClientRects().length>0)??b.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:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:k,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:E,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":S?v:void 0,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&v&&!S&&n.jsx("div",{className:"pp-bottom__meters",children:L})]}),e&&v&&S&&O&&n.jsx(sn,{anchorRect:O,onClose:j,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:L})}),n.jsxs("div",{className:"pp-bottom__right",children:[B&&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}),g&&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(dc,{anchorRect:f,onClose:A})]})}function mc({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:f}){const{t:y}=ve.useTranslation(),v=rn("(max-width: 767px)"),C=Number.isInteger(m)?m:u||0,b=Number.isInteger(d)?d:c||0,_=p||f,h=Array.isArray(r)?v?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,g=typeof t=="string"?t.trim():t,B=!!(w||g),x=B?w||g:y("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=h||(w?t:void 0),k=v&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,N=o.useMemo(()=>{const S=i&&typeof i=="object"?{...i}:{};return!("width"in S)&&!("height"in S)&&(S.width="40px",S.height="40px"),S},[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($l,{icon:s,label:e,tooltip:l,wrapperStyle:N}):null}),n.jsxs("div",{className:"pp-title__text",children:[k?n.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,n.jsx("span",{className:`pp-title__title h2${B?"":" pp-title__title--empty"}`,children:x}),a?n.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),n.jsx(iu,{max:Math.max(0,b??0),index:Math.max(0,C??0)})]})}function I3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function O3(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 hc=(e,t)=>{if(!t)return t;const a=typeof Mt?.t=="function"?Mt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function Cc(e,t,a){const r=e,s=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Ci().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?hc(`topic.${i.key}`,i.label):void 0,l?hc(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function Qo(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function fc(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 H3(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function z3({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:s=[],emptyMessage:i,buildResults:l,metaPatch:u}){const c=Cc(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 V3(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function W3(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 q3(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 gc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function U3(e,t,a,r){return gc(e,t*a+r)}function G3({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 K3(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 Y3(){const e=o.useContext(bc);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function Z3({index:e,stepIndex:t,isLast:a=!1,title:r,choices:s=[],onDone:i,onChange:l}){const{t:u}=ve.useTranslation(),c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[m,p]=o.useState(()=>s.map(()=>null)),f=JSON.stringify(s),y=s.length;o.useEffect(()=>{p(Array.from({length:y},()=>null))},[f]);const v=o.useRef(void 0);o.useEffect(()=>{const h=v.current;typeof h=="number"&&typeof t=="number"&&typeof e=="number"&&h>=e&&t<e&&p(Array.from({length:y},()=>null)),v.current=t},[t,e,y]);const C=o.useMemo(()=>m.filter(h=>h!==null).length+1,[m]),b=o.useCallback(h=>{if(d!=="active")return;const w=m;let g;if(w[h]!=null){const x=w[h];g=w.map(A=>A!==null&&A>=x?null:A)}else g=[...w],g[h]=C;p(g);const B={selectedOrder:g,words:s,__ts:Date.now()};try{typeof l=="function"&&l(B)}catch{}if(w[h]==null&&g.length>0&&g.every(x=>x!==null))try{typeof i=="function"&&i(B)}catch{}},[d,m,C,l,i,s]),_=r??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return n.jsx(Kn,{index:e,stepIndex:t,isLast:a,title:_,onDone:i,children:n.jsx("div",{className:"training-step__cards",children:s.map((h,w)=>n.jsx(So,{item:{word:h},disabled:d==="disabled",selectable:!0,selected:m[w]!==null,orderRank:m[w],onSelect:()=>b(w),flipDelay:w*120,hideLabel:!1,hideAudio:!0},`${h}-${w}`))})})}function fr(e){return null}fr.__isTrainingPage=!0;function ma(e,t){const a=Y3();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 yc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l}=ma(e,t);return n.jsx(Yo,{...a,index:r,stepIndex:s,isLast:i,onDone:l})}function vc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Go,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function xc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Ko,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function _c({_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 wc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(ic,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function X3({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:s,isLast:i,onDone:l,onChange:u}=ma(e,t);return n.jsx(Z3,{...a,index:r,stepIndex:s,isLast:i,onDone:l,onChange:u})}function es(...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 J3(e){return es(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Bc(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=es(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 Ac(e){const{score:t,contextsLength:a,results:r=[],subtitle:s,onReplay:i,onClose:l,inline:u=!1,pending:c=!1}=e||{},{t:d}=ve.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 f=o.useCallback(h=>{const w=Bc(h),g=es(h?.wording,h?.label);return w===!0?{variant:"main",label:g??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:w===!1?{variant:"danger",label:g??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:g??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),y=a??0,v=t??0,C=o.useMemo(()=>Array.isArray(r)?r:[],[r]),b=o.useMemo(()=>C.map(h=>{const w=h??{},g=J3(w)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:B,label:x}=f(w),A=Array.isArray(w.corrects)?w.corrects:[],k=A.length?A.join(", "):w.answer!=null&&w.answer!==""?String(w.answer):null,N=typeof w.selectedText=="string"?w.selectedText:null,S=Bc(w)===!0;return{problem:g,variant:B,label:x,answer:k,selectedText:N,isCorrect:S}}),[C,f,d]),_=o.useMemo(()=>b.some(h=>h.answer!==null||h.selectedText!==null),[b]);return n.jsx(Ln,{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})]})})]}),b.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")})]}),b.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(Bt,{variant:h.variant,label:h.label,fill:"soft",minWidth:80})})]},w))]})})]})})}function Q3(e){o.useEffect(()=>{if(!e)return;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,PC({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()}},[e])}function gr(e,t){return e&&e.id||`page-${t??0}`}function br(e,t){return e&&e.key||`step-${t??0}`}function yr(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function e7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const t7=300,n7=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},Rn=Object.freeze({}),kc=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function Nc(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 a7=e=>n.jsx(Ac,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function r7(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:f,onComplete:y,onNext:v,onSettings:C,useNoiseSetting:b=!0,children:_,ariaLabel:h,label:w,buildResults:g,onResult:B,typeKey:x,entryPoint:A,dailyTotal:k,itemRef:N,renderResultPopup:S,noiseOverride:E}=e;Q3(x&&!kc.has(x)?x:"");const O=o.useRef(0);o.useEffect(()=>{O.current=Date.now()},[]);const{t:$}=ve.useTranslation(),G=B,j=!!t,L=t?.id||null,P=t?.meta||{},K=Array.isArray(t?.pages)?t.pages:[],ee=Array.isArray(_)||o.isValidElement(_)&&typeof _!="function"?o.Children.toArray(_).filter(o.isValidElement):[],V=ee.length>0,q=se=>se===fr||se?.__isTrainingPage===!0,R=V&&ee.some(se=>q(se.type)),I=R?ee.filter(se=>q(se.type)).map((se,xe)=>{const Te=se.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:ee}],D=V&&!j&&typeof _!="function",H=D?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 se=document.body;return se.dataset.ihabTrainingPopupCount=String(Number(se.dataset.ihabTrainingPopupCount||"0")+1),se.classList.add("ihab-training-popup-open"),()=>{const xe=Number(se.dataset.ihabTrainingPopupCount||"1")-1;xe>0?se.dataset.ihabTrainingPopupCount=String(xe):(delete se.dataset.ihabTrainingPopupCount,se.classList.remove("ihab-training-popup-open"))}},[]),o.useEffect(()=>{if(!(typeof document>"u"||!document.body))return I4()},[]);const[M,F]=o.useState({...Oa,enabled:!1}),z=o.useRef(M);o.useEffect(()=>{z.current=M},[M]);const Y=o.useRef(E),J=o.useRef(!1),Z=o.useRef(null);o.useEffect(()=>{let se=!1;const xe=Te=>{if(se)return;J.current=!0;const Ue=Te?Ia({...Oa,enabled:!1},Te):{...Oa},Me=Z.current;Z.current=null;const Ve=Me?Ia(Ue,Me):Ue;z.current=Ve,F(Ve),Me&&!Y.current&&ci(Ve),Ga(Ve);const We=Y.current;if(We){const pt=typeof We=="function"?We(Ve):We,Dt=Ia(Ve,pt);z.current=Dt,F(Dt),Ga(Dt)}};return HC().then(xe),()=>{se=!0}},[]);const[re,ue]=o.useState(null),[le,Ee]=o.useState(null),W=o.useCallback((se,xe)=>{se==="main"?ue(xe):Ee(xe)},[]),oe=o.useRef(null),ge=o.useRef(null),Ne=o.useCallback(()=>{ge.current!==null&&(clearTimeout(ge.current),ge.current=null);const se=oe.current;oe.current=null,se&&ci(se)},[]);o.useEffect(()=>{if(typeof window>"u")return;const se=()=>{document.visibilityState==="hidden"&&Ne()};return window.addEventListener("pagehide",Ne),document.addEventListener("visibilitychange",se),()=>{window.removeEventListener("pagehide",Ne),document.removeEventListener("visibilitychange",se),Ne()}},[Ne]);const be=o.useCallback(se=>{const xe=Ia(z.current,se);if(z.current=xe,F(xe),!J.current){Z.current={...Z.current??{},...se},Ga(xe);return}Y.current||(oe.current=xe,ge.current!==null&&clearTimeout(ge.current),ge.current=setTimeout(Ne,t7)),Ga(xe)},[Ne]),te=M.mainSpeed,de=M.mainVolume,pe=o.useCallback(se=>be({mainSpeed:se}),[be]),he=o.useCallback(se=>be({mainVolume:se}),[be]),ye=o.useMemo(()=>({settings:M,setSettings:be,registerAnalyser:W,mainAnalyser:re,noiseAnalyser:le,playbackRate:te,setPlaybackRate:pe,mainVolume:de,setMainVolume:he}),[M,be,W,re,le,te,pe,de,he]),je=o.useRef(null),[Ye,He]=o.useState(0),Pe=o.useRef([]),[Fe,ht]=o.useState("center"),[ut,nt]=o.useState(!1),ct=o.useRef(!1),ke=o.useRef(null),Ie=o.useCallback(se=>{ct.current||(ct.current=!0,nt(!0),ke.current=setTimeout(()=>{try{se()}catch{ct.current=!1,nt(!1)}},n7()?0:S3))},[]);o.useEffect(()=>()=>{ke.current&&clearTimeout(ke.current)},[]);const Be=o.useRef(f);o.useEffect(()=>{Be.current=f}),o.useEffect(()=>{const se=je.current,xe=document.activeElement;if(Yr(se,xe),se){const Te=Array.from(se.querySelectorAll(hn)).filter(Ue=>!Ue.closest('[aria-hidden="true"]'))[0];if(Te)try{Te.focus()}catch{}}return()=>{const Te=document.activeElement;if(!Te||Te===document.body||se&&se.contains(Te))try{Zr(xe)?.focus?.()}catch{}}},[]),o.useEffect(()=>Vn(()=>Ie(()=>{const se=Be.current;typeof se=="function"&&se()})),[Ie]),Gr(je,!0);const[Ze,X]=o.useState(!1),ie=o.useRef(!1),[fe,De]=o.useState(null),et=o.useRef(0),Xe=()=>{et.current+=1,De(null)},[ft,dt]=o.useState(""),[at,rt]=o.useState(()=>yr()),ot=o.useRef(typeof c=="number"?c:null);o.useEffect(()=>{!j&&!D||(rt(yr()),Xe())},[j,L,D]),o.useEffect(()=>{D&&rt(se=>{const xe=Math.max(0,Math.min(se.pageIndex,Math.max(0,H-1)));return xe!==se.pageIndex?{...se,pageIndex:xe,stepIndex:0}:se})},[D,H]);const tt=D?Math.max(0,Math.min(at.pageIndex,H-1)):0,$e=D?I[tt]:null,qe=D&&$e&&Array.isArray($e.steps)?$e.steps:[],ze=j?at.pageIndex:D?tt:typeof c=="number"?c:0,mt=j?K[Math.max(0,Math.min(at.pageIndex,Math.max(0,K.length-1)))]:null,kt=j&&mt&&Array.isArray(mt.steps)?mt.steps:[],St=j?kt.length:D?qe.length:typeof p=="number"?p:0,gt=j||D?Math.max(0,Math.min(at.stepIndex,Math.max(0,St))):typeof m=="number"?m:0,vt=j?K.length:D?H:typeof d=="number"?d:0;o.useEffect(()=>{if(!j&&!D)return;const se=j?gr(mt,ze):$e?.id||`children-page-${ze??0}`,xe=new Date().toISOString();for(let Te=0;Te<=gt;Te+=1){const Ue=j?br(kt[Te],Te):`step-${Te}`,Me=zt(se,Ue);jt.current.has(Me)||jt.current.set(Me,xe)}},[j,D,ze,gt,$e?.id]),o.useLayoutEffect(()=>{const se=ot.current;if(typeof ze=="number"&&se!==null&&ze!==se&&ze>se)try{dt($("training.problemNotice",{n:ze+1}))}catch{}ot.current=typeof ze=="number"?ze:ot.current},[ze,c,$]),o.useLayoutEffect(()=>{const se=je.current;if(!se)return;const xe=()=>se.querySelector(".page-popup__scroll");let Te=null,Ue=null,Me=null;const Ve=Qt=>{const ne=xe();if(!ne)return;const we=ne.scrollHeight<=ne.clientHeight;if(ht(we?"center":"top"),Qt&&!ie.current){ie.current=!0;try{X(!0)}catch{}try{Dt.disconnect()}catch{}}},We=()=>{Te!==null&&cancelAnimationFrame(Te),Te=requestAnimationFrame(()=>{Ue!==null&&clearTimeout(Ue),Ue=setTimeout(()=>Ve(!0),60)})},pt=()=>{Me!==null&&cancelAnimationFrame(Me),Me=requestAnimationFrame(()=>Ve(!1))};We(),window.addEventListener("resize",pt);const Dt=new MutationObserver(We);Dt.observe(se,{childList:!0,subtree:!0,attributes:!0});const Jt=setTimeout(()=>{ie.current||Ve(!0)},400);return()=>{window.removeEventListener("resize",pt),Te!==null&&cancelAnimationFrame(Te),Ue!==null&&clearTimeout(Ue),Me!==null&&cancelAnimationFrame(Me),clearTimeout(Jt);try{Dt.disconnect()}catch{}}},[je]);const Oe=o.useCallback(se=>{je.current&&(je.current._childOnNext=se)},[]),st=o.useCallback(se=>{je.current&&(je.current._childOnResult=se)},[]),jt=o.useRef(new Map),zt=(se,xe)=>`${se}\0${xe}`,Je=o.useCallback((se,xe,Te)=>{rt(Ue=>{const Me=Ue.answersByPage[se]||{},Ve=Me[xe],We=Qo(Te),pt=Qo(Ve);if(Ve&&pt>We)return Ue;const Dt=fc(Te,jt.current.get(zt(se,xe)),We);return{...Ue,answersByPage:{...Ue.answersByPage,[se]:{...Me,[xe]:Dt}}}})},[rt]),_t=o.useCallback((se,xe,Te)=>{const Ue=gr(mt,ze),Me=br(se,xe);Je(Ue,Me,Te)},[mt,ze,Je]),$t=o.useCallback((se,xe,Te)=>{const Ue=gr(mt,ze),Me=br(se,xe);Je(Ue,Me,Te),!Te?.allowChange&&se?.autoAdvance!==!1&&rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,xe+1)}))},[mt,ze,Je,rt]),At=o.useCallback((se,xe)=>{const Te=$e?.id||`children-page-${ze??0}`,Ue=typeof xe=="number"?xe:gt??0,Me=`step-${Ue}`;Je(Te,Me,se),se?.allowChange||rt(Ve=>({...Ve,stepIndex:Math.max(Ve.stepIndex,Ue+1)}))},[$e,ze,gt,Je,rt]),fn=o.useCallback((se,xe)=>{const Te=$e?.id||`children-page-${ze??0}`,Ue=`step-${typeof xe=="number"?xe:gt??0}`;Je(Te,Ue,se)},[$e,ze,gt,Je]),gn=D?{currentPageIndex:ze??0,currentStepIndex:gt??0,totalStepsInPage:qe.length,handleStepDone:At,handleStepChange:fn}:null,cn=async()=>{const se=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:K,flowState:at,answersByPage:at.answersByPage})):null;return typeof G=="function"&&await Promise.resolve(G(se))||se},dn=async()=>{const se=$e?.id||`children-page-${at.pageIndex}`,xe=at.answersByPage[se]||{},Te=R?(()=>{const Ve={};let We=0;return I.forEach(pt=>{const Dt=at.answersByPage[pt.id]||{},Jt=Array.isArray(pt.steps)?pt.steps.length:0;for(let Qt=0;Qt<Jt;Qt+=1){const ne=Dt[`step-${Qt}`];typeof ne<"u"&&(Ve[`step-${We+Qt}`]=ne)}We+=Jt}),Ve})():xe;if(typeof g=="function"){const Ve=await Promise.resolve(g(Te,{pageAnswers:xe,answersByPage:at.answersByPage,pages:I,currentPageId:se}));return typeof G=="function"&&await Promise.resolve(G(Ve))||Ve}const Ue=Object.entries(xe).map(([Ve,We],pt)=>({index:pt,key:Ve,payload:We})),Me={results:Ue,answers:Ue,score:0};return typeof G=="function"&&await Promise.resolve(G(Me))||Me},pn=()=>{const se=++et.current,xe=()=>se!==et.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(j){const Me=cn();De(Rn);const Ve=Me;Promise.resolve(Ve).then(We=>{xe()||De(We||{isEmpty:!0})}).catch(We=>{!xe()&&De({isEmpty:!0})});return}if(D){const Me=dn();De(Rn);const Ve=Me;Promise.resolve(Ve).then(We=>{xe()||De(We||{isEmpty:!0})}).catch(We=>{!xe()&&De({isEmpty:!0})});return}const Te=je.current&&je.current._childOnResult,Ue=Me=>{try{return Me?Me():void 0}catch{return}};if(typeof Te=="function"){const Me=Ue(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{}Me&&typeof Me.then!="function"?De(Me):De(Me&&typeof Me.then=="function"?Rn:{});const Ve=()=>{xe()||De(We=>We===Rn?{}:We)};Promise.resolve(Me).then(We=>{We&&!xe()?De(We):Ve()}).catch(We=>{Ve()});return}if(typeof G=="function"){const Me=Ue(G);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{}Me&&typeof Me.then!="function"?De(Me):De(Me&&typeof Me.then=="function"?Rn:{});const Ve=()=>{xe()||De(We=>We===Rn?{}:We)};Promise.resolve(Me).then(We=>{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{}We&&!xe()?De(We):Ve()}).catch(We=>{console.error("viewResults external handler failed",We),Ve()});return}},Fn=()=>{if(j){if(typeof ze=="number"&&typeof vt=="number"&&ze<vt-1){rt(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return pn()}if(D){const xe=qe.length;if(typeof gt=="number"&&gt<xe-1){rt(Te=>({...Te,stepIndex:Te.stepIndex+1}));return}if(typeof ze=="number"&&typeof vt=="number"&&ze<vt-1){rt(Te=>({...Te,pageIndex:Te.pageIndex+1,stepIndex:0}));return}return pn()}if(typeof v=="function"){try{v()}catch{}return}const se=je.current&&je.current._childOnNext;if(typeof se=="function"){try{se()}catch{}return}},bn=j?P.title||P.label||h||$("common.popup","\uD31D\uC5C5"):a||w||(Array.isArray(s)?s[s.length-1]:void 0)||h||$("common.popup","\uD31D\uC5C5"),Vt=h||bn,yn=j?P.title??P.label??bn:a??w??bn,Wt=(se,xe)=>{const Te=gr(mt,ze),Ue=br(se,xe),Me=at.answersByPage[Te]?.[Ue],Ve=e7(se,{page:mt,pageIndex:ze,step:se,stepIndex:xe,storedPayload:Me,answersByPage:at.answersByPage,flowState:at}),We={key:Ue,index:xe,stepIndex:gt,isLast:xe===kt.length-1};switch(se?.type){case"listen":return n.jsx(Yo,{...We,...Ve,onDone:pt=>$t(se,xe,pt)});case"confirm":return n.jsx(Go,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});case"confirmWithText":return n.jsx(Ko,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});case"orderList":return n.jsx(Zo,{...We,...Ve,onDone:pt=>$t(se,xe,pt),onChange:pt=>_t(se,xe,pt)});default:return null}},Rt=o.useRef(void 0);o.useEffect(()=>{const se=Rt.current;if(Rt.current=ze,se===void 0||se===ze||!or())return;const xe=je.current;if(!xe)return;const Te=document.activeElement;if(!(!Te||Te===document.body||!xe.contains(Te)||Te.disabled===!0))return;const Ue=xe.querySelector(`.training-steps ${hn.split(", ").join(", .training-steps ")}`)??Array.from(xe.querySelectorAll(hn)).find(Me=>!Me.closest('[aria-hidden="true"]'));try{Ue?.focus()}catch{}},[ze]);const En=j?K.length>0?n.jsx("div",{className:"training-steps",children:kt.map((se,xe)=>Wt(se,xe))},`replay-${Ye}`):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||$("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,an=D?n.jsxs(bc.Provider,{value:gn,children:[$e?.pageTop?n.jsx("div",{className:"training-page-top",children:$e.pageTop}):null,n.jsx("div",{className:"training-steps",children:qe.map((se,xe)=>{const Te=se;return o.cloneElement(Te,{...Te.props,_stepIndex:xe,_totalSteps:qe.length,_stepKey:`step-${xe}`,_pageIndex:ze})})},`replay-${Ye}`),$e?.pageBottom?n.jsx("div",{className:"training-page-bottom",children:$e.pageBottom}):null]}):null,vn=o.useCallback(()=>{let se;if(x){const xe=fe,{results:Te,correct:Ue,total:Me}=Nc(fe);FC({items:OC(Te),category:kc.has(x)?"sentence":"word",trainingType:x,entryPoint:A??"sentence",itemRef:N??null,correct:Ue,total:Me,score:typeof xe?.score=="number"?xe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-O.current)/1e3)),dailyTotal:k??null}),se={correct:Ue,total:Me,attempt:Pe.current.length+1,previousAttempts:[...Pe.current]}}Xe(),Ie(()=>{typeof y=="function"&&y(se),typeof f=="function"&&f()})},[y,f,x,A,k,N,fe,De,Ie]),In=o.useCallback(()=>dt(""),[dt]),mn=o.useCallback(()=>{Ie(()=>{typeof f=="function"&&f()})},[f,Ie]),qt=n.jsxs("div",{className:`page-popup${ut?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Vt,children:[n.jsxs("div",{ref:je,className:`page-popup__panel ${Ze?"":"page-popup__panel--measuring"} ${Fe==="center"?"page-popup__panel--center":Fe==="top"?"page-popup__panel--top":""}`,children:[n.jsx(mc,{title:yn,subtitle:j?P.subtitle||P.label:Array.isArray(s)?s.join(" / "):void 0,desc:j?void 0:r,depth:j?P.depth:s,icon:j?P.icon:i,wrapperStyle:j?P.wrapperStyle:l,iconTooltip:j?P.iconTooltip:u,progressMax:vt,progressIndex:ze,pageIndex:ze,pageCount:vt,onBack:mn,onClose:mn}),n.jsx("div",{className:"page-popup__scroll",children:n.jsx("div",{className:`page-popup__content ${Fe==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:D?an:j?En:typeof _=="function"?_({registerOnNext:Oe,registerOnResult:st,panelRef:je,setResultOverlay:De}):_})}),n.jsx(pc,{onSettings:C,onNext:Fn,onResult:pn,useNoiseSettingBtn:!!(j?P.useNoiseSetting??!0:b),stepIndex:gt,stepCount:St,pageIndex:ze,pageCount:vt,resultOpen:!!(fe&&!fe.isEmpty)})]}),fe&&!fe.isEmpty&&(S??a7)({score:fe.score,results:fe.results||fe.answers||[],contextsLength:fe.results?fe.results.length:fe.answers?fe.answers.length:0,onReplay:()=>{if(O.current=Date.now(),fe!==Rn){const{correct:se,total:xe}=Nc(fe);Pe.current.push({correct:se,total:xe})}if(Xe(),He(se=>se+1),j){if(rt(yr()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(D){rt(yr());return}try{const se=je.current&&je.current._childOnResult;typeof se=="function"&&se({replay:!0})}catch{}},onClose:vn,pending:fe===Rn}),fe?.isEmpty&&n.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":$("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:$("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:vn,label:$("training.result.done","\uC644\uB8CC")})})]})}),n.jsx(sa,{message:ft,position:"top",onClose:In})]}),Ft=n.jsx(Ho.Provider,{value:ye,children:qt});return typeof document<"u"&&document.body?en.createPortal(Ft,document.body):Ft}const Pn=r7;Pn.Page=fr,Pn.ListenStep=yc,Pn.ConfirmStep=vc,Pn.ConfirmWithTextStep=xc,Pn.OrderListStep=_c,Pn.CardStep=wc,Pn.CardOrderStep=X3;function o7({label:e,homonum:t}){const a=Qn()?.(e,t)??"",{imgRef:r,loading:s,hasImage:i,onLoad:l,onError:u}=Eo(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 Dc({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(o7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const s7=new Intl.Collator("ko");function i7({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:f,emptyHint:y,sectionType:v="page",disc:C}){const{t:b,i18n:_}=ve.useTranslation(),h=_.language?.startsWith("ko")??!1,{anchorRect:w,openAt:g,close:B}=Aa(),[x,A]=o.useState(null),k=o.useCallback(()=>{B(),A(null)},[B]);yb(k,!!x);const N=(r??"").trim(),S=/^[^,[\]\s]+$/.test(N)?N:"",E=S.length>0,O=r===void 0&&t===void 0,$=E?"match":O?"original":"ganada",[G,j]=o.useState(()=>$),[L,P]=o.useState("50"),[K,ee]=o.useState(1),[V,q]=o.useState(E);V!==E&&(q(E),j($));const R=G==="match"&&!E||G==="original"&&!O?$:G,I=o.useMemo(()=>[...E?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...O?[{value:"original",label:b("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:b("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:b("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:b("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:b("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:b("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:b("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[b,E,O]),D=o.useMemo(()=>["10","25","50","100"].map(te=>({value:te,label:b("wordSearch.pageSize",{count:Number(te),defaultValue:`${te}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),H=te=>te.words?.[0],M=o.useMemo(()=>{const te=[...S].length,de=wC(S),pe=new Map;return he=>{let ye=pe.get(he);return ye===void 0&&(ye=de((he.words?.[0]?.label??"").slice(0,te))?0:1,pe.set(he,ye)),ye}},[S]),F=o.useCallback((te,de)=>{const pe=je=>H(je)?.label??"",he=je=>H(je)?.syllables??[...pe(je)].length,ye=je=>(je.words??[]).reduce((Ye,He)=>{const Pe=parseInt(He.grade??"",10);return Number.isFinite(Pe)&&Pe<Ye?Pe:Ye},999);switch(R){case"match":return M(te)-M(de)||s7.compare(pe(te),pe(de));case"ganada":return pe(te).localeCompare(pe(de),"ko");case"ganada_desc":return pe(de).localeCompare(pe(te),"ko");case"syllable":return he(te)-he(de)||pe(te).localeCompare(pe(de),"ko");case"syllable_desc":return he(de)-he(te)||pe(te).localeCompare(pe(de),"ko");case"grade":return ye(te)-ye(de)||pe(te).localeCompare(pe(de),"ko");case"grade_desc":return ye(de)-ye(te)||pe(te).localeCompare(pe(de),"ko");default:return 0}},[R,M]),z=o.useMemo(()=>s.slice().sort(F),[s,F]),Y=Number(L)||10,J=o.useMemo(()=>(i??[]).flatMap(te=>te.items.slice().sort(F).map(de=>({item:de,label:te.label}))),[i,F]),Z=i?J.length:z.length,re=Math.max(1,Math.ceil(Z/Y)),ue=Math.min(K,re),le=o.useMemo(()=>z.slice((ue-1)*Y,ue*Y),[z,ue,Y]),Ee=o.useMemo(()=>{if(!i)return null;const te=J.slice((ue-1)*Y,ue*Y),de=new Map;for(const{item:pe,label:he}of te)de.has(he)||de.set(he,[]),de.get(he).push(pe);return[...de.entries()].map(([pe,he])=>({label:pe,items:he}))},[i,J,ue,Y]);o.useEffect(()=>{ee(1)},[G,L,Z,r]);const W=Z>0?n.jsxs("div",{className:"word-search-result-block__toolbar",children:[n.jsx(un,{size:40,options:I,value:R,onChange:j,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),n.jsx(un,{size:40,options:D,value:L,onChange:P,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),n.jsx(nr,{page:ue,totalPages:re,onChange:ee})]}):void 0,oe=te=>{u&&u(te)},ge=t!==void 0&&a?n.jsxs(n.Fragment,{children:[b("wordSearch.resultTitlePrefix","\uCD1D "),n.jsx("span",{style:{color:"var(--color-main)"},children:t}),b("wordSearch.resultTitleSuffix",{unit:h?jC(a):a})]}):void 0,Ne=t!==void 0&&t>0&&c!==void 0&&a?b("wordSearch.resultDisc",{unit:h?MC(a):a,max:c,selected:l.length}):void 0,be=C??Ne;return n.jsxs(la,{type:v,className:Ae("word-search-result-block",f),children:[n.jsxs("div",{className:"word-search-result-block__inner",children:[(ge||W||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(Qe,{icon:e,className:"word-search-result-block__head-icon"}),ge&&n.jsx("span",{className:"word-search-result-block__title h3",children:ge})]}),W&&n.jsx("div",{className:"word-search-result-block__head-actions",children:W}),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:b("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?(Ee??[]).map(te=>n.jsx("div",{className:"word-search-result-block__group",children:n.jsx("div",{className:"word-search-result-block__items",children:te.items.map(de=>{const pe=l.includes(de.id);return n.jsx("div",{onMouseEnter:he=>{g(he.currentTarget),A(de.words??[])},onMouseLeave:k,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(de.words??[]).map(he=>he.label),subLabel:(de.words??[]).some(he=>he.subLabel)?(de.words??[]).map(he=>he.subLabel):void 0,selected:pe,onClick:()=>oe(de.id),minWidth:200})},de.id)})})},te.label)):n.jsx("div",{className:"word-search-result-block__items",children:le.map(te=>{const de=l.includes(te.id);return n.jsx("div",{onMouseEnter:pe=>{g(pe.currentTarget),A(te.words??[])},onMouseLeave:k,children:n.jsx(me,{htmlType:"button",size:"word",align:"grid",label:(te.words??[]).map(pe=>pe.label),subLabel:(te.words??[]).some(pe=>pe.subLabel)?(te.words??[]).map(pe=>pe.subLabel):void 0,selected:de,onClick:()=>oe(te.id),minWidth:200})},te.id)})}),x&&w&&n.jsx(Dc,{words:x,anchorRect:w})]}),re>1&&n.jsx("div",{className:"word-search-result-block__pagination-bottom",children:n.jsx(nr,{page:ue,totalPages:re,onChange:ee})}),(d||m)&&n.jsxs("div",{className:"word-search-result-block__actions",children:[d&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:b("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:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:m})})]})]})}function l7(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 u7({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:f,disc:y,showInfoButton:v=!0,onClearPhoneme:C,onSearch:b,onSearchEmpty:_,searchDisabled:h=!1,searchLabel:w,searchChecking:g=!1,pairMode:B=!1,sectionType:x="page",beforeSearchContent:A,beforeContent:k,afterContent:N,hideCountControl:S=!1,ordinal:E=!1}){const{t:O}=ve.useTranslation(),$=o.useMemo(()=>O("wordPairs.infoNotes",{returnObjects:!0}),[O]),G=o.useMemo(()=>Array.from({length:s-i+1},(M,F)=>{const z=i+F;return{key:String(z),label:O("wordPairs.count",{n:z})}}),[O,s,i]),j=o.useMemo(()=>O("wordPairs.ordinals",{returnObjects:!0}),[O]),L=o.useCallback(M=>E?O("wordPairs.phonemeOrdinalLabel",{ordinal:j[M-1]??M}):a===1?O("wordPairs.phonemeSingleLabel","\uC74C\uC808"):O("wordPairs.phonemeN",{n:M}),[E,j,a,O]),P=o.useCallback(M=>E?O("wordPairs.phonemeContrastOrdinalLabel",{ordinal:j[M-1]??M}):a===1?O("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):O("wordPairs.phonemeContrast",{n:M}),[E,j,a,O]),K=o.useCallback((M,F)=>F?n.jsxs(n.Fragment,{children:[M,n.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):M,[]),{anchorRect:ee,toggleAt:V,close:q}=Aa(),R=o.useCallback(M=>r(Number(M)),[r]),I=rn("(max-width: 767px)"),D=o.useCallback(M=>l7(M,e).map(({label:F,value:z,displayLabel:Y})=>{const J=!!z&&z!=="\uC5C6\uC74C";return n.jsxs("span",{className:Ae("phoneme-select-block__cell-jamo-part",z?"":"phoneme-select-block__cell-jamo-part--empty",J?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[n.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${z==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:z==="\uC5C6\uC74C"?"x":z||d}),J&&n.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Y??F})]},F)}),[e,d]),H=n.jsxs(n.Fragment,{children:[n.jsx("div",{"data-tooltip-ignore":!0,children:n.jsx(me,{htmlType:"button",size:40,type:I?"dot":void 0,icon:"info",label:I?void 0:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:ee?"is-selected":void 0,"aria-expanded":!!ee,"aria-haspopup":"dialog",onClick:M=>V(M.currentTarget)})}),ee&&n.jsx(Wn,{title:O("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:$,anchorRect:ee,onClose:q})]});return n.jsxs(la,{type:x,title:p,icon:f,disc:y,action:v?H:void 0,className:Ae("phoneme-select-block",m),children:[k,!S&&n.jsx("div",{className:"phoneme-select-block__controls",children:n.jsx(kn,{options:G,value:String(a),onChange:R,size:40,ariaLabel:O("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),className:"phoneme-select-block__count-control"})}),n.jsx("div",{className:"phoneme-select-block__cells",children:B?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,F)=>{const z=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:D(z)})}),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:O("wordPairs.phonemeSelect.vs","\uB300")}),n.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((M,F)=>{const z=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:D(z)})}),n.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:P(F+1)})]},F)})})]}):t.map((M,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:D(M)})}),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:B?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((M,F)=>{const z=t[F*2]??{};return n.jsx(Dn,{title:K(L(F+1),F===0),sections:u?u(z,F*2):l,selected:z,onSelect:c?.(F*2),align:"newline"},F)})}),n.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((M,F)=>{const z=t[F*2+1]??{};return n.jsx(Dn,{title:P(F+1),sections:u?u(z,F*2+1):l,selected:z,onSelect:c?.(F*2+1),align:"newline"},F)})})]}):t.map((M,F)=>n.jsx(Dn,{title:K(L(F+1),F===0),sections:u?u(M,F):l,selected:M,onSelect:c?.(F),align:"newline"},F))})}),A&&n.jsx("div",{className:"phoneme-select-block__before-search",children:A}),(C||b||g)&&(()=>{const M=t.every(F=>Object.entries(F).every(([z,Y])=>!Y||z==="\uC885\uC131"&&Y==="\uC5C6\uC74C"));return n.jsxs("div",{className:"phoneme-select-block__search-row",onClick:M?_:void 0,children:[C&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:O("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:M,onClick:M?void 0:C}),b?n.jsx(me,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:g?n.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??O("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:M||h||g,onDisabledClick:g?()=>{}:void 0,"aria-busy":g||void 0,onClick:b}):g?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??O("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),N]})}function c7({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}=ve.useTranslation();return n.jsx(Dn,{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 d7({title:e,headerAction:t,sections:a,selected:r,onSelect:s,className:i}){const{t:l}=ve.useTranslation();return a.length===0?null:n.jsx(Dn,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:s,align:"newline"})}function p7({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:s,positionCount:i,onPositionCountChange:l,inputMode:u,onInputModeChange:c,className:d}){const{t:m}=ve.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")},f=b=>m("wordPairs.count",{n:b}),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:[f(1),f(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]:f(i),[p.inputMode]:u==="phoneme"?p.pronInput:p.charInput},C=(b,_)=>{_===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):_===p.phonemeOrder?s(b===p.orderMatch?"ordered":"unordered"):_===p.count?l(b===f(2)?2:1):_===p.inputMode&&c(b===p.pronInput?"phoneme":"word")};return n.jsx(Dn,{className:d,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:y,selected:v,onSelect:C,align:"inline"})}function m7(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:f,onClose:y,pageSizeOptions:v=[10,25,50,100],initialPageSize:C,emptyText:b,noMatchText:_,countLabel:h,topContent:w,className:g=""}=e,{t:B}=ve.useTranslation(),x=l??B("common.search","\uAC80\uC0C9"),A=b??B("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),k=_??B("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[N,S]=o.useState(""),[E,O]=o.useState(c??r[0]?.key??""),[$,G]=o.useState(d),[j,L]=o.useState(String(C??v[0]??10)),[P,K]=o.useState(1);o.useEffect(()=>{K(1)},[N,j]);const ee=u!==null,V=o.useCallback((J,Z)=>{if(!Z)return!0;const re=Z.toLowerCase();return r.some(ue=>{const le=J[ue.key];return le==null?!1:String(le).toLowerCase().includes(re)})},[r]),q=u??V,R=o.useMemo(()=>{const J=ee?a.filter(Z=>q(Z,N)):a;return E?[...J].sort((Z,re)=>{const ue=Z[E],le=re[E];return ue===le?0:ro(ue,le,$)}):J},[a,N,E,$,ee,q]),I=Math.max(1,Math.ceil(R.length/Number(j)));P>I&&K(I);const D=Math.min(P,I),H=R.slice((D-1)*Number(j),D*Number(j)),M=o.useCallback(J=>{E===J?G(Z=>!Z):(O(J),G(!0)),K(1)},[E]),F=o.useMemo(()=>{if(typeof h=="function"){const J=R.length,Z=h(J);if(typeof Z=="string"){const re=Z.lastIndexOf(String(J));if(re>=0)return{prefix:Z.slice(0,re),suffix:Z.slice(re+String(J).length)}}return{label:Z}}if(typeof h=="string"&&h.includes("{n}")){const[J,Z]=h.split("{n}");return{prefix:J,suffix:Z}}return{prefix:B("common.totalCountPrefix","\uCD1D "),suffix:B("common.totalCountSuffix","\uAC1C")}},[h,R.length,B]),z=o.useMemo(()=>r.map(J=>({label:J.label,onClick:J.sortable!==!1?()=>M(J.key):void 0,className:J.className,sortDir:J.sortable!==!1&&E===J.key?$?"asc":"desc":null})),[r,E,$,M]),Y=o.useMemo(()=>v.map(J=>({value:String(J),label:B("common.pageSizeLabel",{n:J})})),[v,B]);return n.jsxs(Ln,{className:`popup-list ${g}`,title:t,onClose:y,children:[w,"label"in F&&n.jsx("p",{className:"toolbar__count body-1",children:F.label}),n.jsx(go,{count:"label"in F?void 0:{value:R.length,prefix:F.prefix,suffix:F.suffix},search:ee?{value:N,onChange:S,placeholder:x}:void 0,pageSize:{options:Y,value:j,onChange:L},pagination:{page:D,total:I,onChange:K}}),n.jsx(ko,{size:"medium",gridTemplateColumns:s,mobileGridTemplateColumns:i,resizable:!0,fields:z,items:H,onRowClick:f,renderRow:J=>{const Z=p!=null?J.id!=null&&p.has(J.id):m!=null&&J.id===m;return r.map(re=>({content:re.render?re.render(J):J[re.key]??"",className:Ae(re.className,Z&&"popup-list__row--selected")}))},empty:ee&&N!==""&&a.length>0?k:A})]})}function Ec(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:f,closeOnConfirm:y=!0,onClose:v,inline:C,size:b="small",className:_,initialFocus:h="close"}=e,{t:w}=ve.useTranslation(),g=o.useRef(null);o.useEffect(()=>{if(C||h==="close")return;const S=g.current?.closest(".popup-panel"),E=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),O=h==="confirm"?E[E.length-1]:c?void 0:E[d?1:0];O&&!O.disabled&&O.focus()},[]);const B=o.useRef(!1),[x,A]=o.useState(!1),k=S=>{let E=!1;return{close:()=>{E=!0,S()},\uB2EB\uC558\uB098:()=>E}},N=async S=>{if(B.current)return;B.current=!0;const E=typeof document<"u"?document.activeElement:null;A(!0);let O=!1;try{O=await S()}catch($){typeof console<"u"&&console.error($)}finally{O||(B.current=!1,A(!1),requestAnimationFrame(()=>{const $=document.activeElement;(!$||$===document.body)&&E?.isConnected&&E.focus()}))}};return n.jsxs(Ln,{title:t,onClose:v,closeDisabled:x,inline:C,size:b,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:S})=>{await N(async()=>{const E=k(S);await d.onClick(E.close);const O=d.closeOnClick??!0;return O&&S(),O||E.\uB2EB\uC558\uB098()})}}]:[],...c?[]:[{label:u??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:S})=>S()}],{label:l??w("common.confirm","\uD655\uC778"),variant:m,disabled:p||x,onClick:async({closeWithAnimation:S})=>{await N(async()=>{const E=k(S);return await f(E.close),y&&S(),y||E.\uB2EB\uC558\uB098()})}}],children:[r!=null&&n.jsx("div",{className:"confirm-popup__top",children:r}),s&&s.length>0&&n.jsx(Cr,{children:s.map((S,E)=>n.jsx($n,{label:S.label,children:n.jsx("span",{className:"panel-row__text body-2",children:S.value})},E))}),n.jsx("p",{ref:g,className:"body-2 confirm-popup__message",children:a}),i]})}function h7(e,t,a={}){const{t:r}=ve.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(Ec,{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 C7({onApply:e,onCancel:t}){const{t:a}=ve.useTranslation(),[r,s]=o.useState(""),[i,l]=o.useState(!1),[u,c]=o.useState(null),d=o.useRef(null);o.useEffect(()=>{d.current?.focus()},[]);const m=o.useCallback(async y=>{const v=r.trim();if(v){l(!0),c(null);try{await e(v),y()}catch(C){c(si(C)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[r,e]),p=o.useCallback((y,v)=>{y.key==="Enter"&&!y.nativeEvent.isComposing&&m(v)},[m]),f=y=>{s(y.target.value),c(null)};return n.jsx(Ln,{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:y})=>y()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:y})=>{m(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"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:f,onKeyDown:v=>p(v,y),disabled:i,autoComplete:"off",spellCheck:!1}),u&&n.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:u})]})})}const Sc=["var(--color-main)","var(--color-sub)"],f7=2e3;function g7(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 ts({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:s,trigger:i=0}){const l=o.useMemo(()=>{const C=Math.floor(t/2),b=t-C,_=(h,w)=>Array.from({length:h}).map((g,B)=>{const x=6+Math.random()*12,A=Math.round(Math.min(18,x*Math.min(1.5,1+r*.4))),k=Sc[Math.floor(Math.random()*Sc.length)],N=Math.random()*300,S=(360+Math.random()*260)*r*1.2,E=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,O=Math.cos(E)*S,$=Math.sin(E)*S*1.35,G=Math.random()*720-360,j=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),L=Math.random()>.7?"50%":"3px";return{id:`${w}-${B}`,side:w,size:A,color:k,delay:N,vx:O,vy:$,angularVel:G,life:j,borderRadius:L}});return[..._(C,"left"),..._(b,"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),f=o.useRef(null),y=()=>{if(typeof document>"u")return null;let C=document.querySelector("[data-ihab-effect-root]");return C||(C=document.createElement("div"),C.className="app-effect",C.dataset.ihabEffectRoot="",C.style.position="fixed",C.style.inset="0",C.style.pointerEvents="none",C.style.zIndex="99998",document.body.appendChild(C)),C};if(typeof document<"u"&&f.current==null&&(f.current=y()),o.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const q=setTimeout(()=>m.current?.(),0);return()=>clearTimeout(q)}const C=1200,b=performance.now(),_=f.current&&f.current!==document.body?f.current.getBoundingClientRect():null,h=Math.max(60,(window.innerHeight||800)*.05),w=q=>Math.max(40,(q||window.innerWidth)*.02),g=_?.width||window.innerWidth||375,B=_?.height||window.innerHeight||812,x=q=>{const R=[...q].sort((I,D)=>I-D);return R[Math.floor(R.length/2)]||1},A=x(l.map(q=>Math.abs(q.vy))),k=x(l.map(q=>Math.abs(q.vx))),N=Math.sqrt(2*C*(B*.72+h))/A,S=A*N/C,E=g*.5/(k*S),O=(q,R,I)=>Math.min(I,Math.max(R,q)),$=O(N,.8,2.4),G=O(E,.7,2.2),j=a>0?a/f7:1,L=l.map(q=>({...q,life:q.life*j,vx:q.vx*G,vy:q.vy*$,startTime:b+q.delay,ended:!1})),P=_?{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},ee=q=>{let R=!1;for(const I of L){const D=c.current[I.id];if(!D||!D)continue;if(q<I.startTime){D.style.display="none",R=!0;continue}if(!I._inited){const le=I.side==="left"?P.x:K.x,Ee=I.side==="left"?P.y:K.y;D.style.left=`${le}px`,D.style.top=`${Ee}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof I.color=="string"&&I.color.startsWith("var(")&&(D.style.background=g7(D,I.color)??"#FF0060"),I._inited=!0}const H=(q-I.startTime)/1e3;if(H<0)continue;const M=I.life/1e3;if(H>=M){D.style.opacity="0",D.style.display="none",I.ended=!0;continue}R=!0;const F=I.side==="left"?P.x:K.x,z=I.side==="left"?P.y:K.y,Y=F+I.vx*H,J=z+I.vy*H+.5*C*H*H,Z=(I.angularVel||0)*H,re=Y-F,ue=J-z;D.style.transform=`translate3d(${re}px, ${ue}px, 0) rotate(${Z}deg)`,D.style.opacity=`${Math.max(0,1-H/M)}`}R?d.current=requestAnimationFrame(ee):m.current?.()};d.current=requestAnimationFrame(ee);const V=setTimeout(()=>{try{if((f.current?f.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const q=document.createElement("div");q.className="party-container",q.style.position="fixed",q.style.inset="0",q.style.pointerEvents="none",q.style.overflow="visible",q.style.zIndex="2147483647";for(const R of l){const I=document.createElement("span");I.className=`confetti confetti--${R.side}`,I.setAttribute("aria-hidden","true"),I.style.display="none",I.style.position="fixed",I.style.left="0px",I.style.top="0px",I.style.width=`${R.size}px`,I.style.height=`${Math.max(4,R.size*.6)}px`,I.style.background=R.color,I.style.borderRadius=R.borderRadius,I.style.transform="translate3d(0,0,0)",I.style.opacity="0",q.appendChild(I),c.current[R.id]=I}(document.body||f.current).appendChild(q),p.current=q}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(V),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(C=>n.jsx("span",{"aria-hidden":!0,ref:b=>{c.current[C.id]=b},className:`confetti confetti--${C.side}`,style:{width:`${C.size}px`,height:`${Math.max(4,C.size*.6)}px`,background:C.color,borderRadius:C.borderRadius}},`${C.id}-${i}`))});return typeof document<"u"?en.createPortal(v,f.current||document.body):v}const ns=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:ns(u.count),strength:ns(u.strength),duration:ns(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(ts,{active:t,trigger:e}),a&&n.jsx(ts,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:s})]})}function y7({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}=ve.useTranslation();rb(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(Bt,{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 v7(e){return e??""}const jc=o.createContext({words:[],loading:!1});function x7(){return o.useContext(jc)}function _7({words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c,children:d}){return n.jsx(jc.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:s,remoteVersion:i,progress:l,clearAndRefetch:u,checkRemoteVersion:c},children:d})}function w7({items:e,actions:t,columns:a,flat:r=!1,className:s,style:i}){const l=a??e.length;return n.jsx("section",{className:Ae("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 B7=(e,t)=>`${e} / ${t}`;function A7({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:s=B7,pageWidth:i,pageHeight:l,margin:u,className:c,style:d}){const{t:m}=ve.useTranslation(),p=o.useRef(null),f=o.useRef(null),y=o.useRef(null),v=o.useRef(null),[C,b]=o.useState(null),[_,h]=o.useState(!1);o.useEffect(()=>{const j=p.current;if(!j)return;const L=()=>h(j.scrollWidth>j.clientWidth+1);if(L(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(L);return P.observe(j),()=>P.disconnect()},[C]);const w=e.map(j=>`${j.id}\0${j.section??""}\0${j.group??""}`).join(""),g=C&&C.shape===w?C.pages:null,[B,x]=o.useState(0);o.useEffect(()=>{const j=v.current;if(!j||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>x(j.offsetHeight));return L.observe(j),()=>L.disconnect()},[]);const[A,k]=o.useState(0);o.useEffect(()=>{const j=f.current;if(!j||typeof ResizeObserver>"u")return;let L=null;const P=typeof requestAnimationFrame=="function"?V=>requestAnimationFrame(V):V=>setTimeout(V,16),K=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:V=>clearTimeout(V),ee=new ResizeObserver(()=>{L==null&&(L=P(()=>{L=null,k(V=>V+1)}))});return Array.from(j.children).forEach(V=>ee.observe(V)),()=>{ee.disconnect(),L!=null&&K(L)}},[w]),o.useLayoutEffect(()=>{const j=f.current,L=v.current;if(!j||!L)return;const P=M=>M.getBoundingClientRect().height||M.offsetHeight,K=new Map;y.current?.querySelectorAll("[data-chrome-section]").forEach(M=>{K.set(M.dataset.chromeSection??"",P(M))});const ee=M=>P(L)-(K.get(M??"")??0),V=Array.from(j.children).map(M=>P(M)),q=[];e.forEach((M,F)=>{const z=q[q.length-1],Y=z?e[z[0]]:void 0;Y&&M.group!=null&&Y.group===M.group&&Y.section===M.section?z.push(F):q.push([F])});const R=[];let I=[],D=0;const H=()=>{I.length&&R.push(I),I=[],D=0};q.forEach(M=>{const F=M.reduce((Y,J)=>Y+V[J],0),z=ee(e[M[0]].section);I.length&&e[I[0]].section!==e[M[0]].section&&H(),F>z?M.forEach(Y=>{I.length&&D+V[Y]>z+.01&&H(),I.push(Y),D+=V[Y]}):(I.length&&D+F>z+.01&&H(),M.forEach(Y=>I.push(Y)),D+=F)}),H(),b(M=>M&&M.shape===w&&JSON.stringify(M.pages)===JSON.stringify(R)?M:{shape:w,pages:R})},[w,B,i,l,u,A]);const N=po,S=N,E=r??n.jsxs(n.Fragment,{children:[n.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),O=(j,L,P)=>({header:n.jsxs("div",{className:"report-doc__header",children:[n.jsx("h2",{className:"report-doc__title h3b",children:P!=null&&t?.[P]||null}),a]}),footer:n.jsxs("div",{className:"report-doc__footer caption-1",children:[n.jsx("span",{className:"report-doc__footer-left",children:E}),n.jsx("span",{className:"report-doc__page-no",children:s(j,L)})]})}),$=Array.from(new Set(e.map(j=>j.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:Ae("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(j=>{const L=O(1,1,j||void 0);return n.jsxs("div",{"data-chrome-section":j,children:[L.header,L.footer]},j)})}),n.jsx("div",{ref:f,className:"report-doc__measure-blocks",children:e.map(j=>n.jsx("div",{children:j.content},j.id))})]}),g&&n.jsx("div",{className:"report-doc__pages",children:g.map((j,L)=>{const{header:P,footer:K}=O(L+1,g.length,e[j[0]].section);return n.jsxs("section",{className:"report-doc__page",children:[P,j.map(ee=>n.jsx("div",{children:e[ee].content},e[ee].id)),K]},L)})})]})}function k7({title:e,fields:t,columns:a=4,className:r,style:s}){return n.jsxs("div",{className:Ae("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 Yn=new Map;let vr=null;const N7=12;function D7(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 xr(){const e=new Map;for(const t of Yn.keys()){if(!t.isConnected)continue;const a=D7(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+N7)}}}function E7(e){return typeof window>"u"?()=>{}:(Yn.set(e,(Yn.get(e)??0)+1),Yn.get(e)===1&&typeof ResizeObserver<"u"&&(vr??(vr=new ResizeObserver(()=>xr())),vr.observe(e)),xr(),()=>{const t=(Yn.get(e)??1)-1;if(t>0){Yn.set(e,t),xr();return}Yn.delete(e),vr?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),xr()})}function S7({title:e,message:t,actionLabel:a,onAction:r,icon:s,onClose:i,className:l=""}){const{t:u}=ve.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,f=p?.parentElement?.closest(".update-alert-stack")??p,y=f?E7(f):null;return()=>{y?.(),m.current&&p&&p.contains(document.activeElement)&&Ya(p)}},[]),n.jsxs("div",{ref:d,className:Ae("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(hs,{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 j7({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:f}){const y=t?`h${t}`:"div",v=i!=null||l!=null,C=s!=null&&s!==!1,b=o.useCallback(_=>{c&&_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),c())},[c]);return n.jsxs("div",{className:Ae("training-card",c?"training-card--clickable":"",f),onClick:c,onKeyDown:c?b: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:" "})]}),C&&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 T7({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:f,children:y,className:v}){const{t:C}=ve.useTranslation(),b=o.useId(),_=t?`h${t}`:"span",h=s!=null,w=Ae("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:f,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?b: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?C("common.expandFor",{name:e}):C("common.collapseFor",{name:e}):r?C("common.expand","\uC5F4\uAE30"):C("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!r,onClick:s}),typeof e=="string"?n.jsx(_,{id:b,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:g=>g.stopPropagation(),children:[i&&n.jsx(un,{size:40,options:i.options,value:i.value,placeholder:i.placeholder,onChange:i.onChange,ariaLabel:typeof e=="string"&&e?C("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 M7="speechear:saved_word_tables";function L7(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 $7(){try{const e=localStorage.getItem(M7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(L7):[]}catch{return[]}}function Tc(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 as(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function R7(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 P7({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:f,onLoad:y,onRemoveItem:v,onReset:C,resetLabel:b,saveButtonLabel:_,secondarySaveButtonLabel:h,onReorder:w,showCellCount:g,onAddItem:B,className:x,renderSavePopup:A,renderWordSearch:k,hideControls:N,saveOnly:S,tableName:E,nameValue:O,onNameChange:$,descriptionValue:G,onDescriptionChange:j,namePlaceholder:L,descriptionPlaceholder:P,existingNames:K,editingName:ee,onCancel:V,initialItemsPerPage:q,renderCellAction:R,actionsLeftExtra:I}){const{t:D}=ve.useTranslation(),H=b??D("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),M=p===void 0,F=!!$,[z,Y]=o.useState([]),J=(O??"").trim(),Z=J||(L??"").trim(),re=(G??"").trim()||(P??"").trim(),ue=(K??[]).map(ae=>ae.trim().toLowerCase()),le=[ee?.trim().toLowerCase(),...z].filter(ae=>!!ae),Ee=[...ue];for(const ae of le){const _e=Ee.indexOf(ae);_e!==-1&&Ee.splice(_e,1)}const W=J!==""&&Ee.includes(J.toLowerCase()),[oe,ge]=o.useState(Array(4).fill(null)),[Ne,be]=o.useState(4),[te,de]=o.useState(null),pe=oe.slice(0,Ne),he=!!d?.show,[ye,je]=o.useState(!0),[Ye,He]=o.useState(!0),Pe=d&&{...d,top:ye,bottom:Ye},[Fe,ht]=o.useState("landscape"),[ut,nt]=o.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[ct,ke]=o.useState("\uD45C\uC2DC"),[Ie,Be]=o.useState(!0),[Ze,X]=o.useState(!0),ie=o.useRef(null),fe=o.useRef([]),[De,et]=o.useState(q==="all"?Number.POSITIVE_INFINITY:q??8),[Xe,ft]=o.useState("right"),[dt,at]=o.useState(!1),[rt,ot]=o.useState(!1),{toastMessage:tt,toastType:$e,showWarning:qe,clearToast:ze}=dl("warning"),mt=o.useCallback(()=>de(null),[de]);B&&!M&&!g&&Kt("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[kt,St]=o.useState(()=>Math.max(p?.length??1,1)),gt=M?Ne:g?Math.max(kt,p?.length??1,1):Math.max(p?.length??0,1),{width:vt,height:Oe}=ua[Fe],st=!M&&!g,jt=p?.length??0,zt=Math.min(De,Math.max(jt,1)),Je=st?zt:gt,_t=st?gu(p??[],Je):null,$t=!!_t&&_t.length>1,At=M?pe.some(ae=>ae!==null&&ae.length>1):(p??[]).some(ae=>(ae.words??[]).length>1),fn=E?.trim()||`${mi(_a())} ${At?D("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):D("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,gn=o.useCallback(()=>$t?fe.current.filter(ae=>ae!==null):ie.current?[ie.current]:[],[$t]),{print:cn,openNewWindow:dn,downloadHtml:pn}=Ro({getElements:gn,paperW:vt,paperH:Oe,fileName:fn,onPopupBlocked:()=>{qe(D("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=ae=>{be(ae),ge(_e=>_e.length>=ae?_e:[..._e,...Array(ae-_e.length).fill(null)]),de(null)},bn=ae=>{ge(_e=>{const Re=[..._e];return Re[ae]=null,Re}),te===ae&&de(null)},Vt=ae=>{if(te===null)return;const _e=te;ge(Ge=>{const it=[...Ge];return it[_e]=ae.length>0?ae:null,it});const Re=pe.findIndex((Ge,it)=>it>_e&&Ge===null);de(Re!==-1?Re:null)},yn=M?pe.some(ae=>ae?.some(_e=>!!_e.colloquialPronunciation)):(p??[]).some(ae=>(ae.words??[]).some(_e=>!!_e.colloquialLabel)),Wt=o.useMemo(()=>Qn()?M?oe.slice(0,Ne).flatMap(ae=>(ae??[]).map(_e=>[_e.word,_e.homonum])):(p??[]).flatMap(ae=>(ae.words??[]).map(_e=>[_e.label,_e.homonum])):[],[M,oe,Ne,p]),[Rt,En]=o.useState(!1);o.useEffect(()=>{if(Wt.length===0)return;let ae=!1;return Promise.all(Wt.map(([_e,Re])=>ni(_e,Re))).then(_e=>{ae||En(_e.some(Boolean))},()=>{}),()=>{ae=!0}},[Wt]);const an=Wt.length>0&&Rt,vn=o.useMemo(()=>[...M||g?[{label:D("wordTable.filter.columns","\uCE78 \uC218"),items:i5.map(ae=>({value:`${ae}\uCE78`,displayLabel:D("wordTable.filter.column",{count:ae})})),display:"segmented"}]:[],...st&&(p?.length??0)>0?[Lu(D,{hasPairs:At,itemCount:jt})]:[],...$t?[l5(D)]:[]],[D,M,g,st,p?.length,At,jt,$t]),In={...M||g?{[D("wordTable.filter.columns","\uCE78 \uC218")]:`${gt}\uCE78`}:{},...st&&(p?.length??0)>0?{[D(At?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${zt}\uAC1C`}:{},...$t?{[D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ru[Xe]}:{}},mn=(ae,_e)=>{_e===D("wordTable.filter.columns","\uCE78 \uC218")?M?Fn(parseInt(ae)):St(parseInt(ae)):_e===D(At?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?et($u(parseInt(ae),jt)):_e===D("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&ft(Pu(ae))},qt=M?R7(pe.filter(ae=>ae!==null&&ae.length>0).map(ae=>({id:as(ae),words:ae.map(Tc)}))):p??[],Ft=()=>{M&&ge(ae=>ae.length>Ne?ae.slice(0,Ne):ae)},se=(ae=!1)=>{if(ot(ae),F&&f){const _e=Z.trim().toLowerCase();_e&&Y(Re=>Re.includes(_e)?Re:[...Re,_e]),f(Z,qt,re||void 0,ae),Ft();return}if(S&&f){f("",qt,void 0,ae),Ft();return}if(f){at(!0);return}pn()},[xe,Te]=o.useState(!1),[Ue,Me]=o.useState(""),Ve=Ue.trim(),We=Ve!==""&&ue.includes(Ve.toLowerCase()),pt=()=>{Me(Z?D("wordTable.save.copyName",{name:Z,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Te(!0)},Dt=()=>{!Ve||We||!f||(f(Ve,qt,re||void 0,!0),Ft(),Te(!1))},Jt=qt.length===0,Qt=Jt||F&&(Z===""||W),ne=()=>{if(Jt){qe(D("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&Z===""){qe(D("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&W&&qe(D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},we=n.jsx(ca,{items:qt,orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:gt});return n.jsxs(n.Fragment,{children:[n.jsxs(la,{type:"page",icon:t,title:e,disc:a,className:Ae("word-table-block",x),children:[xe&&n.jsx(Ln,{size:"small",title:h??D("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Te(!1),footer:({closeWithAnimation:ae})=>n.jsxs(n.Fragment,{children:[n.jsx(me,{htmlType:"button",size:48,type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:ae}),n.jsx(me,{htmlType:"button",size:48,type:"bar",variant:"main",label:D("common.save","\uC800\uC7A5"),disabled:!Ve||We,onClick:Dt})]}),children:n.jsx(Gn,{label:D("wordTable.save.nameLabel","\uC774\uB984"),value:Ue,onChange:Me,placeholder:D("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:Dt,error:We?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),dt&&f&&A?.({defaultName:typeof e=="string"?e:D("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:we,previewW:vt,previewH:Oe,items:qt,existingNames:$7().map(ae=>ae.name),saveAsNew:rt,onSave:(ae,_e)=>{f(ae,qt,_e,rt),Ft(),at(!1)},onCancel:()=>at(!1)}),(M||B)&&te!==null&&k?.({cellIndex:te,onConfirm:M?Vt:ae=>{if(B){const _e=ae[0];if(_e){const Re=new Set((p??[]).map(it=>it.id));let Ge=as([_e]);for(let it=2;Re.has(Ge);it++)Ge=`${as([_e])}~${it}`;B({id:Ge,words:[Tc(_e)]})}}de(null)},onClose:mt}),!N&&n.jsx(Mo,{title:r,collapsible:s,defaultCollapsed:i,collapsed:l,onCollapsedChange:u,headerSummary:c,hasImage:an,hasColloquial:yn,contentTypes:ut,orientation:Fe,showOutline:Ie,cutLine:ct,showDivLine:Ze,setters:{setContentTypes:nt,setOrientation:ht,setShowOutline:Be,setCutLine:ke,setShowDivLine:X,setShowTopInfo:je,setShowBottomInfo:He},showCutLine:(st?Je:gt)>1,showDivLine2:At,middleSections:vn,extraSelected:In,onExtraSelect:mn,showPaperBands:he,showTopInfo:ye,showBottomInfo:Ye}),$t&&_t?n.jsx("div",{className:"word-table-block__pages",children:_t.map((ae,_e)=>n.jsx(ca,{orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:Je,items:ae,onRemoveItem:v,onReorder:w&&((Re,Ge)=>w(Re+_e*Je,Ge+_e*Je)),renderCellAction:R&&((Re,Ge)=>R(Re+_e*Je,Ge)),brand:Pe,code:m,contentRef:Re=>{fe.current[_e]=Re},pageNumber:{current:_e+1,total:_t.length},pageNumberPosition:Xe},_e))}):n.jsx(ca,{orientation:Fe,contentTypes:ut,cutLine:ct,showOutline:Ie,showDivLine:Ze,count:gt,items:M?void 0:p??[],editCells:M?pe:void 0,activeCell:te,onActivateCell:M||B?de:void 0,onRemoveCell:M?bn:void 0,onRemoveItem:M?void 0:v,onReorder:M?void 0:w,renderCellAction:M?void 0:R,brand:Pe,code:m,showFillerAdd:!!B,contentRef:ie}),F&&!N&&n.jsxs(Cr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[n.jsx($n,{variant:"custom",label:D("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:n.jsx(Gn,{required:!0,value:O??"",onChange:$,placeholder:L?L+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:W?D("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ae=>{(ae.key==="Tab"&&!ae.shiftKey||ae.key===" ")&&!(O??"").trim()&&(L??"").trim()&&(ae.preventDefault(),$?.(L??""))}})}),n.jsx($n,{variant:"custom",label:D("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:n.jsx(Gn,{value:G??"",onChange:j,placeholder:P?P+D("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):D("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:D("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ae=>{(ae.key==="Tab"&&!ae.shiftKey||ae.key===" ")&&!(G??"").trim()&&(P??"").trim()&&(ae.preventDefault(),j?.(P??""))}})})]})]}),!N&&n.jsxs("div",{className:"word-table-block__actions",children:[n.jsxs("div",{className:"word-table-block__actions-left",children:[!S&&C&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:H,onClick:C}),!S&&I,!S&&y&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:y}),!S&&n.jsx(me,{htmlType:"button",size:40,type:"bar",label:D("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:dn})]}),n.jsxs("div",{className:"word-table-block__actions-right",children:[V&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("common.cancel","\uCDE8\uC18C"),onClick:V}),!S&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:D("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:cn}),h&&n.jsx(me,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>F?pt():se(!0),disabled:Jt,onDisabledClick:()=>{qe(D("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:_??D("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>se(!1),disabled:Qt,onDisabledClick:ne})]})]}),n.jsx(sa,{message:tt,type:$e,onClose:ze})]})}function Mc({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:Ae("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 F7({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:f,downloadCount:y,onPublisherClick:v,selected:C,onClick:b,onMore:_,titleNode:h,className:w}){const{t:g}=ve.useTranslation(),B=h!=null,x=m!=null||p!=null||f!=null||y!=null,A=k=>{k.target===k.currentTarget&&!B&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),b?.())};return n.jsxs("div",{className:Ae("word-table-button",C?"word-table-button--selected":"",x?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":s?`${t} (${s})`:t,onClick:B?void 0:b,onKeyDown:A,children:[d&&n.jsx("span",{className:"word-table-button__new-dot","aria-label":g("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),n.jsx(Mc,{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})]}),_&&!B&&n.jsx(me,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:g("common.moreFor",{name:t}),onClick:k=>{k.stopPropagation(),_(k)}})]}),(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?pi(r,g):""})}),n.jsxs("span",{className:"word-table-button__meta-right",children:[(i||u)&&n.jsxs("span",{className:"word-table-button__badges",children:[i&&n.jsx(Bt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??g("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),u&&n.jsx(Bt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??g("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":g("wordTable.publisherFilter",{name:m,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:k=>{k.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:pi(p,g)})]}),n.jsxs("span",{className:"word-table-button__store-stats",children:[f!=null&&n.jsx(Bt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(f),"aria-label":g("common.likeCount",{count:f,defaultValue:`\uC88B\uC544\uC694 ${f}`})}),y!=null&&n.jsx(Bt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(y),"aria-label":g("common.downloadCount",{count:y,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${y}`})})]})]})]})}/**
1049
1049
  * @license lucide-react v1.38.0 - ISC
1050
1050
  *
1051
1051
  * This source code is licensed under the ISC license.