@ihabdevteam/core 0.91.0 → 0.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/components.cjs.js +9 -9
- package/dist/components.esm.css +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +12 -12
- package/dist/ihabdevteam-core.d.ts +22 -2
- package/dist/packages/core/src/components/BarChart.js +24 -10
- package/dist/packages/core/src/components/Tooltip/DescriptionTooltip.css +10 -0
- package/dist/packages/core/src/components/Tooltip/DescriptionTooltip.d.ts +20 -1
- package/dist/packages/core/src/components/Tooltip/DescriptionTooltip.js +5 -4
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ questions?`,contactButton:"Contact Us",items:[{q:"Can I cancel at any time?",a:"
|
|
|
8
8
|
{{url}}`},shareLinkCreating:"Creating link\u2026"},colName:"Name",colBirthDate:"DOB",colPhone:"Phone",sendSms:"Send via SMS",copyLink:"Copy Link",copyLinkTooltip:"Copy link (paste in KakaoTalk)",addCard:"Add Word Training Bundle",addGroup:"Add Group",addGroupDesc:"Enter a name for the new group.",cardGroupEmpty:"No cards in this group",cardSearchPlaceholder:"Search by card name",copySuffix:"{{name}} (Copy)",defaultDescCount:"{{count}} word trainings",cardsEmpty:"No word training bundles created yet.",create:"Add Word Training",empty:"No word training created yet.",groupEmpty:"No word training in this group",groupNamePlaceholder:"Group name",noGroup:"No Group",searchPlaceholder:"Search by training name",tab:{cards:"Word Training Bundles",training:"Word Training"},totalPrefix:"",totalSuffix:" word trainings",renameCardAriaLabel:"Rename {{name}}",viewLabel:"View type"},I1={title:"My Word Tables",subtitle:"Manage your saved word tables.",searchPlaceholder:"Search by name",colName:"Table Name",open:"Open",deleteConfirm:"Delete this word table?",addButton:"Add Table",deleted:"Word table deleted.",empty:"No saved word tables.",countSuffix:" tables",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word count"},addPairButton:"Add Contrast Pair Table",groupNamePlaceholder:"Group name",groupAddTitle:"Add Group",groupAddButton:"Add",groupNameRequired:"Please enter a group name.",groupNameDuplicate:"A group with this name already exists.",groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",deleteGroupConfirmTitle:"Delete the '{{group}}' group?",storeBadge:"Training Store",addCard:"Add Word Table Card",addGroup:"Add Group",cardsEmpty:"No word table cards created yet.",deleteGroup:"Delete Group",duplicated:"Word table duplicated.",groupEmpty:"No word tables.",menu:{copyLink:"Copy Link",deactivateLink:"Deactivate Share Link",duplicate:"Copy",openBuilder:"Edit",openNewTab:"Open in New Tab",publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},sharedBadge:"Shared",newBadge:"Newly created",renameGroup:"Rename Group",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishDefaultDesc:"{{count}} words"},z1={title:"Key Words",empty:"No key words available.",tableTitle:"'{{name}}' Key Word Table",print:"Print",saveToMyTable:"Save to My Tables",saved:"Saved to My Tables.",wordTableName:"{{name}} Key Words"},O1={defaultName:"Word Table",title:"Word Table Builder",createTitlePair:"Compose Contrast Pair Table",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",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)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},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:{loadError:"Failed to load the word table list. Please refresh",renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",shareLinkError:"Failed to create link",shareLinkCopied:"Link copied",shareLinkCreated:"Link created",shareLinkDeactivated:"Share link deactivated.",shareLinkDeactivateError:"Failed to deactivate share link.",customWordNotShareable:"This contains words you added yourself, so it cannot be shared -- others do not have them.",duplicateError:"Failed to duplicate",unpublishError:"Failed to remove from Training Store",unpublished:"Removed from Training Store",saveSuccess:"Word table saved.",shareLinkCreating:"Creating link\u2026"},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} 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 a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",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"}},F1={editTitle:"Edit '{{name}}'",editBanner:{message:"Saving will update the word table you're editing."},subtitle:"Select filters to search for words.",filterTitle:"Word Search Settings",searchOptionsTitle:"Search Options",filter:{wordInput:"Word Input",wordInputShort:"Input",wordInputInfo:["Finds words containing the full syllables you type. A syllable typed without a final consonant matches any final (\uC218 \u2192 \uC218\xB7\uC220\xB7\uC219\xB7\uC21C\u2026).","Mix syllables and phonemes in one search. [\u3131\uC218 \u2192 any word containing a syllable with initial '\u3131' immediately followed by '\uC218' \u2014 \uAD6D\uC218\xB7\uAC80\uC218\u2026]","Use commas (,) to separate syllable positions. Each position can be a full syllable or a single consonant/vowel; leave it empty for unconstrained. ['\uAC00,\u3134,,\uB2E4' \u2192 any word containing '\uAC00' \xB7 initial '\u3134' \xB7 any \xB7 '\uB2E4' in a row]","Use underscores (_) for initial/medial/final positions ('_' = unconstrained; trailing positions may be omitted). ['\u3131_' \u2192 words containing a syllable with initial '\u3131' / '_\u314F' \u2192 medial '\u314F' / '__\u3131,\uACE0' \u2192 a syllable with final '\u3131' immediately followed by '\uACE0']"],wordPlaceholder:"Enter characters",wordInputError:"Invalid input format. Use only complete characters, consonants/vowels, or the '__\u3131' (onset\xB7nucleus\xB7coda) template.",wordInputUsageLabel:"Usage",viewChar:"Choose Letters",viewPron:"Choose Sound",viewDirect:"Type Letters",inputMode:"Input mode",phonemeCho:"Initial",phonemeJung:"Vowel",phonemeJong:"Final",phonemePosition:"Position",positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",phonemeModeInfo:["Find words by initial, vowel, or final consonant alone \u2014 no typing needed.","Selecting multiple values matches any one of them.","Narrowing position to Start/Middle/End checks only that syllable (first, middle, or last)."],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",selectLabel:"Select",onlyHasImage:"Only words with images",onlyHasImageInfo:"Only words with images: keeps only results with a registered word 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.",emptyMidNeedsThree:"There is no word-medial position in the syllable counts you picked \u2014 it only exists from 3 syllables up. Try 3+ syllables, or switch the position to initial or final.",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"},pageSize:"Show {{count}}",pageSizeAria:"Page size",loadError:"Failed to load word data. Please refresh.",loadErrorButton:"Failed to load data \u2014 Refresh",checkingImages:"Checking images\u2026",maxSelectReached:"Cannot select more.",printBlockTitle:"Word Table Preview",popup:{title:"Select a word for cell {{n}}"},title:"Create Word Table",imageFilterOn:"Showing only words that have an image \u2014 about 7% of all words have one, and roughly one in four at level 1. Turn that option off in Search options to see more."},W1={title:"Word Management",subtitle:"Review all words in a table, exclude individual words, or add new ones to build your own word pool.",noSelection:"None",gradeSuffix:"grade",includeInSearch:"Include in search",searchPlaceholder:"Search word or pronunciation",add:"Add Word",addTitle:"Add Word",addConfirm:"Add",listTitle:"Word List",empty:"No matching words.",removeAdded:"Delete",addedBadge:"Added",view:{all:"All",excluded:"Excluded",added:"Added"},col:{exclude:"Exclude",word:"Word",pron:"Pronunciation",colloquialPron:"Colloquial Pronunciation",grade:"Grade",pos:"POS",wordType:"Type",meaning:"Meaning"},toast:{duplicate:"This word already exists.",added:"Word added."},viewLabel:"View type"},H1={clearAllSelection:"Clear All Selections",scrollToTable:"Go to Word Table",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},V1={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"}},G1={title:"Password Change Required",subtitleMustChange:"You signed in with a temporary password issued by an administrator. You must set a new password to continue.",subtitleExpired:"Your password has expired per security policy. You must set a new password to continue.",currentPassword:"Current Password",newPassword:"New Password",confirmPassword:"Confirm New Password",changing:"Changing\u2026",submit:"Change Password",error:{currentRequired:"Please enter your current password.",mismatch:"New passwords do not match.",sameAsCurrent:"Please use a different password from your current one.",reused:"You can't reuse a recently used password.",reusedWithCount:"You can't reuse your last {{count}} passwords.",tooShort:"Password is too short.",currentIncorrect:"Current password is incorrect.",unauthorized:"Please sign in again.",unknown:"Failed to change your password. Please try again in a moment."}},q1={memoLabel:"Feedback message",reportBug:"Report a bug",title:"Send feedback",cropHint:"Drag to select an area \xB7 click to capture the whole screen",captureFull:"Capture all",memoPlaceholder:"Describe the issue",memoPlaceholderOptional:"Briefly describe the issue (optional)",retake:"Retake",addScreenshot:"Add screenshot",send:"Send",sending:"Sending\u2026",sent:"\u2713 Sent!",captureError:"An error occurred while capturing.",sendFailed:"Failed to send",errorPrefix:"Error",menuCapture:"Capture screenshot",menuTextOnly:"Text only"},Y1={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"}},U1={title:"Word suggestions"},K1={scope:{user:"Your pass",org:"Your organization pass"},expired:{title:"{{scope}} has expired",message:"{{plan}} (ended {{date}}) \u2014 purchase a pass to keep using it."},today:{title:"{{scope}} expires today"},tomorrow:{title:"{{scope}} expires tomorrow"},soon:{title:"{{scope}} expires in {{days}} days",message:"{{plan}} ends on {{date}}. Purchase a pass before it expires."},action:"Buy a pass"},Z1={inProgress:"Training with {{name}}",endFailed:"Couldn't end the session. Please try again.",ending:"Ending\u2026",end:"End Training",endConfirm:"End this training session? It will be recorded in the visit history.",endConfirmTitle:"End session"},X1={tab:{login:"Sign In",signup:"Sign Up"},email:"Email",username:"Username",password:"Password",passwordPlaceholder:"Enter password",confirmPassword:"Confirm Password",submitSignup:"Sign Up",processing:"Processing\u2026",signupSuccess:"A confirmation email has been sent. Please check your inbox.",backToLogin:"Back to sign in",resetPassword:{link:"Forgot password?",title:"Reset Password",desc:"Enter the email address you signed up with and we'll send you a password reset link.",button:"Send reset link",success:`A reset link has been sent to your email.
|
|
9
9
|
Please check your inbox.`,failed:"Failed to send the reset link. Please try again later."},error:{emailRequired:"Please enter your email.",signupDisabled:"Self sign-up is currently disabled. Please join through an invitation.",lockedWithMinutes:"Your account is locked after {{count}} failed sign-in attempts. Try again in {{minutes}} minutes.",lockedContactAdmin:"Your account is locked after {{count}} failed sign-in attempts. Please contact an administrator.",attemptsLeft:"{{message}} ({{count}} attempts left)",passwordRequired:"Please enter your password.",usernameRequired:"Please enter a username.",passwordMinLength:"Password must be at least 6 characters.",passwordMinLengthN:"Password must be at least {{n}} characters.",passwordMismatch:"Passwords do not match.",invalidCredentials:"Incorrect email or password.",emailNotConfirmed:"Email verification is not complete. Please check your inbox.",invalidEmailFormat:"Invalid email format.",termsRequired:"Please agree to the Terms of Use.",privacyRequired:"Please agree to the Privacy Policy.",emailFormat:"This is not a valid email format.",usernameMaxLength:"Username must be at most 12 characters.",serviceUnavailable:"Can't reach the service right now. Please try again shortly, and contact an administrator if it continues.",unknown:"Sign-in failed. Please try again shortly, and contact an administrator if it continues."},agreement:{termsTitle:"Terms of Use",privacyTitle:"Privacy Policy",termsLabel:"I agree to the Terms of Use.",privacyLabel:"I agree to the Privacy Policy.",view:"View",loadError:"Failed to load the document."},resetPage:{title:"Reset Password",sessionChecking:"Checking session\u2026",accessDenied:"This page can only be accessed via the reset link in your email. If the link has expired, please request a new one.",newPassword:"New password",confirmPassword:"Confirm new password",mismatch:"Passwords do not match.",reused:"You cannot reuse your last {{count}} passwords.",submit:"Reset password",submitting:"Resetting\u2026",done:"Your password has been reset. Please go to the homepage and sign in again.",goHome:"Go to homepage"},emailPlaceholder:"Enter your email",passwordNewPlaceholder:"Enter your password",usernamePlaceholder:"Enter your username",orDivider:"or",kakaoStart:"Continue with Kakao"},J1={title:"Kakao login linked",messageWithEmail:"Kakao login was added to {{email}}. You can now sign in either way.",message:"Kakao login was added to your existing account with the same email. You can now sign in either way.",keep:"OK",unlink:"Unlink",unlinkFailed:"Could not unlink."},Q1={title:"Agreement required",subtitle:"Please agree to the Terms of Use and Privacy Policy to continue using the service.",submit:"Agree and continue",processing:"Processing\u2026",error:"Failed to save your agreement. Please try again later."},ef={title:"Address Search",loadError:"Failed to load Daum Postcode script"},tf={addTitle:"Add Training Bundle",editTitle:"Edit Training Bundle",nameLabel:"Training Bundle Name",namePlaceholder:"Enter training bundle name",basketLabel:"Selected Training",selectLabel:"Select Training",customerSelect:"Select Customers",tab:{byTopic:"By Topic",byType:"By Type"},toast:{maxItems:"You can select up to 10 items per training type.",noItemsToAdd:"No items available to add."},descLabel:"Description",descPlaceholder:"Briefly describe this training (optional)",copyLink:"Copy Link",removeLink:"Remove Link",linkCopied:"Link copied.",linkCreated:"Link created.",linkRemoved:"Link removed.",linkCreating:"Creating\u2026",linkError:"Failed to create link.",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",shareLinkLabel:"Shared Link",basketEmpty:"No training selected",basketPerTypeMax:"/ max 10 each",clearAll:"Clear All",removeLinkConfirm:{title:"Remove Shared Link",body:"Remove this shared link? It will no longer be accessible.",confirm:"Remove"},groupLabel:"Group",groupPlaceholder:"Group name (optional)",noGroup:"No Group",shareLink:"Create Link"},af={type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant",other:"Other"},direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",productNamePlaceholder:"Enter product name",registerTitle:"Device Registration",validationError:{brandAndProduct:"Please enter brand and product name.",wornYear:"Worn year must be between {{min}} and {{max}}.",brand:"Choose a brand.",productName:"Enter a product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",editTitle:"Edit device",editSubmit:"Save device",deleteSubmit:"Delete device"},of={stat:{totalCustomers:"Total Customers",monthlyTraining:"This Month's Training",monthlyVisits:"This Month's Visits",savedWordTables:"Saved Word Tables",todayVisits:"Today's Visits",todayVisitsEmpty:"No visits scheduled today",subscription:"Subscription Status",subscriptionRemaining:"In Use",subscriptionTotal:"Total",subscriptionHeld:"Held"},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}}"},moreItems:"+ {{count}} more",headerBadge:"Pre-Open 30 days",greeting:"{{name}}",subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},rf={title:"Word Pairs",editTitle:"Edit '{{name}}'",editBanner:{message:"Saving will update the contrast pair table you're editing."},subtitle:"Select phonemes to search for minimal pairs.",phonemeSelect:{title:"Phoneme Selection",emptySummary:"Select a phoneme.",needsContrast:"Select the contrast phoneme.",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}}",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",glide:"Glide",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",noCoda:"None",noCodaTip:"Find only words without a final consonant",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",selectInfo:["Only words with images: keeps only results with a registered word image.","Only same phoneme structure: keeps only pairs where both words have the same syllable structure (length, batchim, etc.)."],onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure",scopeSearchWordOnly:"Search word only"},resultUnit:"pairs",group:{onset:"Onset Contrast",vowel:"Vowel Contrast",glide:"Glide Contrast",coda:"Coda Contrast"},toast:{samePhonemesError:"The base phoneme and the contrast phoneme must be different."},searchLabel:{error:"Failed to load data",loading:"Loading\u2026",checking:"Checking images"},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."],imageFilterOn:"Showing only words that have an image \u2014 a pair needs an image for both words, so far fewer pairs remain. Turn that option off in Search options to see more."},nf={title:"Games",subtitle:"Train your listening with fun games",scoreSaveFailed:"Failed to save your score. Please try again.",endsIn:"Ends in {{days}}d {{hours}}h",bestScore:"Best Score",totalScore:"Total score",rank:"Rank",leaderboard:{title:"Ranking",loading:"Loading the ranking\u2026",empty:"No scores yet. Be the first!",unavailable:"Couldn't load the ranking. Try reopening in a moment.",me:"You",anonymous:"Anonymous",score:"{{score}} pts",chase:"{{points}} more points to reach #{{rank}}.",top:"You're #1! Now defend it."},crossword:{title:"Crossword Puzzle",desc:"Listen to each word and fill the grid with letter tiles.",tip1:"Tap a numbered square to hear the word that goes there (both in turn if it starts two).",tip2:"Tap the letter tiles below to fill the blanks",tip3:"Fill in all cells, then tap 'Check answer' to see your result",scoreTitle:"Scoring",score1:"10 points per correct cell, nothing deducted for wrong ones.",score2:"Speed and difficulty don't raise it.",score3:"Rounds add up, so the more you play the higher you climb.",playHint:"Tap a numbered square to hear the word there. (If a square has two numbers, in the order you tap.)",pickCellFirst:"Pick a square to fill first. Squares with a number play the word for that spot. (Two numbers: in the order you tap them.)",levelIntro:"Pick a difficulty and get a fresh puzzle every time.",wordsLoading:"Loading words\u2026",alertNoPuzzle:"Could not build a puzzle. Please try again.",level:{basic:"Basic",intermediate:"Intermediate",advanced:"Advanced"},levelDesc:{basic:"Start with easy words",intermediate:"A bit more challenging",advanced:"The hardest words"},alertFillAll:"Please fill in all cells.",undo:"\u21A9 Undo",checkAnswer:"\u2713 Check",cellEmpty:"empty",cellCorrect:"correct",cellWrong:"wrong",hintLabel:"{{label}} {{number}}",horizontal:"Across",vertical:"Down"},reflex:{title:"Reflex Game",desc:"Listen and quickly click the correct word.",roundCount:"{{total}} rounds \xB7 {{timeLimit}}s each",tip1:"Click the correct answer from 4 choices when you hear the word",tip2:"Click the question to hear the word again",tip3:"Answer within {{timeLimit}} seconds",accuracy:"{{pct}}% accuracy",avgTime:"avg {{time}}s",timeout:"(timeout)",correctMsg:"\u2713 Correct! {{time}}s",wrongMsg:"\u2717 Answer: {{word}}"},typing:{title:"Word Typing",desc:"Listen and type the word within the time limit.",roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each",placeholder:"Type the word you heard",tip1:"Listen and type the word within the time limit",tip2:"Tap 'Listen again' to hear the word again",tip3:"Press Enter or the Confirm button to submit",accuracy:"{{pct}}% accuracy",notEntered:"(not entered)",correctMsg:"\u2713 Correct!",wrongMsg:"\u2717 Answer: {{word}}"},sentenceTyping:{title:"Sentence Typing",desc:"Listen and type the sentence within the time limit.",roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each",placeholder:"Type the sentence you heard",tip1:"Listen and type the sentence within the time limit",tip2:"Tap 'Listen again' to hear the sentence again",tip3:"Press Enter or the Confirm button to submit"},wordDefense:{inputLabel:"Type the word you heard",title:"Word Defense",desc:"Type incoming words to defeat them.",introTitle:"Space Defense",introDesc:"A word plays whenever an alien appears.",introDesc2:"Type the word you heard to defeat the alien!",tip1:"Click alien / Spacebar \u2192 hear the word again",tip2:"Aliens come from all directions",tip3:"The invasion speed increases over time",gameoverTitle:"Base Destroyed!",killCount:"Aliens defeated: {{count}}",msgPerfect:"Perfect space defense!",msgGood:"Well fought!",msgTryAgain:"Keep practicing!",dailyBest:"Today's Best",replayBtn:"Listen Again",energyBtn:"Use Energy",energyTitle:"Activate energy (Tab) \u2014 remove all enemies",clickToPlay:"Click to play immediately",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",allCorrect:"Clap clap clap \u2014 All correct!",scoreEarned:"You scored {{score}}",scoreSummary:"{{correct}} of {{total}} cells correct",retry:"Try Again",next:"Next Quiz"},common:{howToPlay:"How to Play",start:"Start",retry:"Play Again",confirm:"Confirm",listenAgain:"Listen Again",result:"Result",score:"Score {{score}}",timerSec:"{{sec}}s",progressFilled:"Progress \u2014 {{filled}} of {{total}} cells filled",roundCorrect:"Round {{n}} correct",roundWrong:"Round {{n}} incorrect",accuracy:"{{pct}}% accuracy",rankChecking:"Checking rank\u2026",rankValue:"Rank #{{rank}}",bestScore:"Best {{score}} pts",newRecord:"New record",dialogIntro:"{{game}} \u2014 how to play",dialogResult:"{{game}} \u2014 results",dialogPlay:"{{game}} \u2014 in progress"},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"}},sf={lead:`IHAB builds trust
|
|
10
10
|
through sound
|
|
11
|
-
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"},lf={nav:{programs:"Programs",manager:"Manager",themes:"Training Topics",plans:"Pricing",login:"Log in",menuOpen:"Open menu",menuClose:"Close menu"},hero:{eyebrow:"Auditory Training by Hearing Professionals",title:"Practice <em>hearing speech</em><br/>with programs made by<br/>hearing professionals.",sub:"IHAB \uB9D0\uADC0 is an auditory training program designed to support everyday communication for hearing aid wearers, with a variety of listening scenarios and engaging content.",ctaPrimary:"Start for free"},marquee:["4,460 listening contents","Audiology expert advisory","Everyday recovery for hearing aid users","Daily updates","9 topic categories","Noise environment simulation"],counter:{prefix:"A total of",unit:"",unitSuffix:"",suffix:"vast training contents.",trainingCardSuffix:" sent.",cap:"With 4,000+ listening contents updated daily, no two listening experiences are ever repeated.",chips:[{num:"1,284",label:"Sentence listening in noise"},{num:"1,612",label:"Short story listening"},{num:"986",label:"Long story listening"},{num:"578",label:"Sentence ordering"}]},features:{title:"All the <em>auditory training</em> you need, <em>in one place</em>",sub:"From today's listening to noise training, word discrimination, and games\u2014<br/>experience everything you need for auditory rehabilitation with \uB9D0\uADC0.",items:[{title:"Today's Listening",desc:"Fresh daily listening training to support consistent auditory rehabilitation."},{title:"Topic Training",desc:"Improve real-life listening ability with topics like daily life, news, and weather."},{title:"Word Training",desc:"Focused training to distinguish phonemes by comparing onset, vowel, and coda differences."},{title:"Listening in Noise",desc:"Build adaptability to clearly distinguish speech in various noise environments."},{title:"Games",desc:"Keep up with auditory training without getting bored through fun game formats."},{title:"Training Log",desc:"Track your auditory rehabilitation progress at a glance with history and statistics."},{title:"Expert Management",desc:"Audiologists and hearing aid centers can manage patient training settings and visit history together."}]},programs:{title:"Auditory training program designed for<br/><em>diverse listening</em> situations and <em>engagement</em>",sub:"Consistent auditory rehabilitation improves auditory attention and cognitive ability.",steps:[{n:"01",variant:"start",title:"Listen",desc:"Training to hear sentences in real everyday noise environments"},{n:"02",variant:"feedback",title:"Remember",desc:"Review the sentence and check which parts you heard clearly"},{n:"03",variant:"done",title:"Confirm",desc:"Save accuracy and trends per session to inform the next training"}]},themes:{title:"Auditory training with <em>topics</em><br/>you're <em>interested</em> in",sub:"Organized by topics you encounter in everyday life so you can practice listening naturally.",sentenceSuffix:" sentences",items:{weather:"Weather",food:"Food",people:"People",koreanCulture:"Korean Culture",stories:"Stories",locations:"Locations",societyArts:"Society & Arts",natureScience:"Nature & Science",sports:"Sports",health:"Health"}},manager:{title:"Manager features for<br/><em>auditory training professionals</em>",sub:"We provide a manager page service that lets you manage customers and set up personalized auditory training.",footText:"Save your preferred training directly to set up your own custom preset.",footBtn:"Apply for \uB9D0\uADC0 Manager"},pricing:{title:"Enjoy all \uB9D0\uADC0 content<br/>without limits"},cta:{eyebrow:"Start right now",title:"10 minutes a day \u2014 regain<br/>confidence in daily communication.",sub:"Log in with your IHAB account to start training immediately<br/>with the first-visit customer preset.",btn:"Log in with IHAB and start \uB9D0\uADC0"},trainingPhone:{title:"Sentence Listening in Noise",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"}},stickyCta:"Log in and start \uB9D0\uADC0",stickyTaglinePrefix:"'s\xA0",stickyTaglineHighlight:"auditory training",stickyTaglineSuffix:" \u2014 ready to start?",forceLogout:{duplicateSession:"You were signed out because this account signed in on another device.",sessionExpired:"Your session expired, so you were signed out."}},cf={yearField:"Year",monthField:"Month",dayField:"Day",yearLabel:"{{y}}",monthLabel:"{{m}}",hourLabel:"{{h}}:00",daySuffix:"",minuteSuffix:"",dayLabel:"{{n}}",timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},df={discrimination:{label:"Discrimination Training",disc:"Training to distinguish whether two sounds are the same or different.",types:{SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches the sound you heard.",setupSub:"Choose a target word and distractors to create a same-sound picking question.",step1:"Select the target word.",step2:"Select other words to present alongside it."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different.",setupSub:"Choose two words to compare and create a same-or-different question.",step1:"Listen to the two sounds.",step2:"Are they the same or different?",choiceSame:"Same",choiceDiff:"Different"},HEAR_AND_PICK_SAME:{label:"Hear & Match the Word",sub:"Pick the word card that matches what you heard.",setupSub:"Choose a target word and distractors to create a word-matching question.",step1:"Listen to the word.",step2:"Select the matching word card."},HEAR_AND_PICK_INCLUDED:{label:"Hear & Pick Word with Syllable",sub:"Pick the word card that contains the syllable you heard.",setupSub:"Create a question using a target with the syllable and distractors without it.",step1:"Listen to the syllable.",step2:"Select the word that contains this syllable."},STARTS_WITH_SAME_SOUND:{label:"Hear & Pick Same Starting Sound",sub:"Pick the word that starts with the same sound as the one you heard.",setupSub:"Create a question using words that start with the same sound and distractors that don't.",step1:"Listen to the word.",step2:"Select the word starting with the same sound."}}},synthesis:{label:"Synthesis Training",disc:"Training to combine two or more syllables or phonemes into a word.",types:{MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do you get when you combine these 2 syllables?",setupSub:"Choose a target word and it will be split into 2 syllables for the question.",step1:"Listen to the 2 syllables.",step2:"What word do they make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do you get when you combine these 3 syllables?",setupSub:"Choose a target word and it will be split into 3 syllables for the question.",step1:"Listen to the 3 syllables.",step2:"What word do they make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do you get when you combine these 2 phonemes?",setupSub:"Choose a target sound and create a 2-phoneme combination question.",step1:"Listen to the 2 phonemes.",step2:"What sound do they make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do you get when you combine these 3 phonemes?",setupSub:"Choose a target sound and create a 3-phoneme combination question.",step1:"Listen to the 3 phonemes.",step2:"What sound do they make?"}}},deletion:{label:"Deletion Training",disc:"Training to identify the remaining sound after removing a syllable or phoneme.",types:{DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable Word",sub:"What sound is left when you remove one syllable from a 2-syllable word?",setupSub:"Choose a 2-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable Word",sub:"What sound is left when you remove one syllable from a 3-syllable word?",setupSub:"Choose a 3-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word is left when you remove part of a compound word?",setupSub:"Choose a compound word and create a partial-deletion question.",step1:"Listen to the compound word.",step2:"What word remains when part is removed?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound is left when you remove the final consonant?",setupSub:"Choose a 1-syllable word with a final consonant and create a deletion question.",step1:"Listen to the word.",step2:"What sound remains when the coda is removed?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant from 1-Syllable Word",sub:"What sound remains after removing the consonant?",setupSub:"Choose a 1-syllable word and create a consonant-removal question.",step1:"Listen to the word.",step2:"What sound remains when the consonant is removed?"}}},substitution:{label:"Substitution Training",disc:"Training to create new sounds by substituting syllables or phonemes.",types:{CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable in 2-Syllable Word",sub:"Change one syllable of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable in 3-Syllable Word",sub:"Change one syllable of a 3-syllable word to make a new word.",setupSub:"Choose a 3-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme in 1-Syllable Word",sub:"Change one phoneme of a 1-syllable word to make a new sound.",setupSub:"Choose a 1-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme in 2-Syllable Word",sub:"Change one phoneme of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new word."}}},attention:{label:"Auditory Attention Training",disc:"Training attention and short-term memory by listening to and recalling sequences of sounds.",types:{LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall in Order",sub:"Select the three word cards in the order you heard them.",setupSub:"Choose three words to present and create a recall-in-order question.",step1:"Listen to the three words.",step2:"Select them in the order you heard them."}}}},uf={subtitle:"Select a training type",resultUnit:"word set",nameLabel:"Name",namePlaceholder:"Enter training name",options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",save:"Save",preview:"Preview",excludeOptions:{none:"None",noImage:"No Image"},toast:{nameRequired:"Please enter a set name.",noWords:"No words selected.",noProblem:"Please complete at least one question.",loginRequired:"Login required.",saveFailed:"Failed to save.",saveSuccess:'"{{name}}" set saved ({{count}} questions).',saveSuccessWithIncomplete:'"{{name}}" set saved ({{count}} questions, {{incomplete}} incomplete excluded).',bundleApplied:"Applied to the current question."},suggest:{noCoda:"No batchim",syllable:"{{n}} syllable(s)"}},pf={namePlaceholder:"Enter a training name.",trainingTitle:"'{{name}}' Word Training",questionInput:"Enter a word",answer:"Answer",distractor:"Distractor",groupStep:"Select the word set for the problem.",pickWordStep:"Choose the word to use in the question.",groupStepSub:"The correct answer and distractors are chosen at random from the selected set.",sameOrDiffStepSub:"Chosen at random from the selected word set.",problemNav:"Q {{current}} / {{count}}",problemNum:"Q {{n}}",clearQuestion:"Deselect",removeQuestion:"Remove Question",addQuestion:"Add Question",noWords:"No words match the selected filters.",validOk:"Valid word.",validNoImage:"No image for this word.",validNeed1SyllCoda:"Only 1-syllable words with a final consonant are allowed.",validNeed1SyllNoCoda:"Only 1-syllable words without a final consonant are allowed (excluding words starting with \u3147).",validNeed2Syll:"Only 2-syllable words are allowed.",validNeed3Syll:"Only 3-syllable words are allowed.",manualOnlyHint:"This type doesn't support automatic suggestions yet. Please enter the question word manually."},hf={unexpectedTitle:"Something went wrong",unexpectedMessage:"An unexpected error occurred. Please try again.",retry:"Try Again"},mf={loadError:"Word Data Load Failed",loadErrorMessage:"Failed to load word data. Please check your network and try again.",updateAvailable:"Word Data v{{version}}",updateMessage:"New word data is available.",phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items",update:{title:"Word Data Update"}},bf={title:"Apply for Malgwi Manager",submitting:"Submitting\u2026",submit:"Apply",promo:{title:"3-Day Free Trial for Malgwi Manager",desc:"Register now and try Malgwi Manager free for 3 days!",action:"View Info Page"},applicantEmail:"Applicant Email",companyId:{label:"Company ID",placeholder:"e.g. ACME01 (uppercase letters & numbers)",helper:"Company ID cannot be changed after creation. Only uppercase letters, numbers, _, - are allowed.",errors:{required:"Please enter a company ID",startWithLetter:"Company ID must start with an uppercase letter.",tooLong:"Company ID must be 12 characters or fewer."}},companyName:{label:"Company / Username",placeholder:"Enter company name or username",errors:{required:"Please enter a company name",tooLong:"Company / Username must be 12 characters or fewer."}},companyType:{label:"Company Type",placeholder:"Select company type",errors:{required:"Please select a company type"}},phone:{label:"Phone",errors:{required:"Please enter a phone number",format:"Please enter a valid phone number"}}},gf={clearAriaLabel:"Clear input"},ff={ariaLabel:"Select tab"},vf={ariaLabel:"Tabs"},yf={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},xf={ariaLabel:"User avatar"},Cf={title:"Homework",subtitle:"Check and do the homework your manager sent you.",completed:"Done",inProgress:"In progress",fromManager:"Manager",received:"received",recordExpired:"The homework has expired, so the result was not recorded. Please contact your manager.",segment:{all:"All",new:"New",inprogress:"In Progress",done:"Done"},pageSize:{10:"Show 10",20:"Show 20",50:"Show 50"},searchPlaceholder:"Search homework name",sort:{newest:"Newest",oldest:"Oldest",title:"Title"},relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework",empty:"No homework received."},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},_f={title:"Training Status",sub:"View your hearing training records",weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword",trainingTime:"Training Time",timeAvg:"Avg time",accuracy:"Accuracy",unit:" times"},sentence:{title:"Sentence Training"},word:{title:"Word Training"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining",unit:""},today:{title:"Today's Listening",progress:"Progress",accuracy:"Accuracy",progressAvg:"Avg progress",unitPct:"%",tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{title:"Training Time",countLabel:"{{n}} sessions",empty:"No training records",sec:"{{n}}s",min:"{{n}}m",hourMin:"{{h}}h {{m}}m",hour:"{{h}}h"},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",detailEmpty:"No training records for this period.",detailError:"Could not load training records. Please try again shortly.",col:{date:"Date",type:"Type",score:"Score",time:"Time"},trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"},accuracy:{overall:"Overall accuracy",itemUnit:" items",skipped:"{{n}} had no accuracy record and were left out of this count."},insight:{title:"At a glance",sub:"What went well and what didn't this period, compared with the last",strong:"Doing well",weak:"Struggling",improving:"Improving",declining:"Slipping",stale:"Not lately",vsBefore:"vs. previous {{delta}}",thin:"Not enough sessions to compare yet ({{n}})"}},wf={title:"Training Store",subtitle:"Browse trainings shared by other managers and add them to your list.",searchPlaceholder:"Search by training name or publisher",category:{word:"Word Tables",wordTraining:"Word Training",sentence:"Sentence Training"},sort:{newest:"Newest",likes:"Most liked",downloads:"Most downloaded"},wordKind:{pair:"Pairs",single:"Words",emptyHintToSingle:"No pair tables here, but the 'Words' tab has some.",emptyHintToPair:"No word tables here, but the 'Pairs' tab has some."},pageSize:"{{n}} per page",countPrefix:"Total ",countSuffix:" trainings",notice:"Log in with a manager account to add trainings to your list.",empty:"No trainings have been published yet.",emptyHint:"You can publish your own trainings from the Training Settings page.",like:"Like",unlike:"Unlike",loginRequired:"Login required",import:"Add to my trainings",importButton:"Import",publisher:"Publisher",importFail:"Import failed: {{error}}",importSuccess:"Added '{{title}}' to your training list.",dupTitle:"Same content already exists",dupMessageOne:"Same content as <m>{{title}}</m>. Import anyway?",dupMessageMany:"Same content as <m>{{title}}</m> and <m>{{n}}</m> more. Import anyway?",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"},unpublishOnDelete:"The store listing will also be deleted.",publish:{confirmLabel:"Post",confirmLoading:"Posting\u2026",descPlaceholder:"One-line description for the Training Store (optional)",dialogTitle:"Post to Training Store",message:"Publish '{{name}}' to the Training Store."},categoryLabel:"Resource type",toast:{registered:"Published to the Malgue Library",registerError:"Failed to publish to the Malgue Library"}},kf={common:{cardName:"Card Name",cardNamePlaceholder:"Enter card name",group:"Group",groupPlaceholder:"Group name (optional)",description:"Description",descriptionPlaceholder:"Briefly describe this card (optional)",nameRequired:"Please enter a card name.",removeAll:"Remove All",deleteConfirm:"Delete '{{name}}'?",deleteConfirmDefault:"Delete this card?"},wordTrainingCard:{createTitle:"Create Word Training Bundle",editTitle:"Edit Word Training Bundle",deleteTitle:"Delete Word Training Bundle",selectSection:"Select Trainings",defaultSection:"Default Trainings",defaultSectionDesc:"Words are filled automatically when you add a standard training",mySection:"My Trainings",noTrainingsEmpty:"Please create a word training first.",adding:"Adding\u2026",add:"Add",basket:"Selected Trainings",basketEmpty:"No trainings selected",trainingRequired:"Please add at least one training.",maxTrainingsAlert:"You can add up to {{max}} trainings",notEnoughWords:"Not enough words to generate questions",addSaveError:"Failed to save the training. Please try again",complete:{message:"All done! Great job!",button:"Done"}},shareLink:{saveCardFirst:"Save the card first.",copied:"Link copied",created:"Link created",createFailed:"Failed to create link",copyBlocked:"Copying was blocked, so the link is selected. Press Ctrl/\u2318+C to copy",removed:"Link removed",removeFailed:"Failed to remove link"}},Sf={manage:{title:"Homework",sub:"View shared training links and submission status.",searchPlaceholder:"Search by title or recipient",emptySearch:"No results found.",emptyLinks:"No shared homework links yet.",unit:"item(s)",loadFailed:"Could not load homework links."},card:{deleteTitle:"Delete Homework Link",deleteMessage:"Delete this homework link? Submitted results will also be removed."},status:{inactive:"Inactive",expired:"Expired",active:"Active",noTarget:"No Target",sentFmt:"{{target}} \xB7 sent {{date}}"},menu:{activate:"Activate",deactivate:"Deactivate"},personalLinkTitle:"Personal link"},Af={title:"Invitations",sub:"Create and manage invite links \u2014 no customer info needed.",copyAriaLabel:"Copy link",deleteAriaLabel:"Delete",deleteConfirmTitle:"Delete invite link",deleteConfirmMessage:"Delete this invite link? Any link already shared will stop working."},Tf={card:{sub:"Word Training Bundle",empty:"No word training in this card."}},Bf={ariaLabel:"Contact Us",emailPlaceholder:"Email for reply",contentPlaceholder:"Please enter your inquiry.",cancelLabel:"Cancel",submitLabel:"Send",title:"Contact Us",emailLabel:"Email",contentLabel:"Inquiry",successMsg:"\u2713 Your inquiry has been submitted.",submitError:"Failed to submit your inquiry.",subText:"Send us a message about purchasing a subscription plan. We will respond within 1\u20132 business days."},Nf={inProgress:"Exam in progress"},Df={countSuffix:"",searchPlaceholder:"Search links",creating:"Creating\u2026",create:"Create Link",colLink:"Link",colCreatedAt:"Created At",empty:"No items.",loadFailed:"Could not load invitations."},Ef={empty:"No training items to run.",loading:"Loading training data\u2026",subtitle:"Select a topic to start listening practice.",title:"Run Training"},jf={reason:{invalid:"This invite has expired or is no longer valid.",notFound:"This invite does not exist.",notLoggedIn:"Please sign in.",rateLimited:"Please try again in a moment."},defaultOrgName:"the organization",loading:"Loading\u2026",invalidTitle:"Can't open this invite",acceptError:"Failed to accept the invite.",alreadyConnected:"already connected.",connected:"connected.",doneMessage:"{{orgName}} \u2014 {{suffix}}",doneSub:"You can now receive homework from your manager.",goToHomework:"Go to homework",failedTitle:"Couldn't accept the invite",home:"Home",readyTitle:"Invite from {{orgName}}",readySub:"Register as a customer of {{orgName}} and start receiving homework?",accepting:"Connecting\u2026",acceptButton:"Accept invite"},Lf={reason:{notFound:"This link does not exist.",inactive:"This link has been deactivated.",expired:"This link has expired.",maxUses:"This link has reached its maximum uses.",missingToken:"This link is invalid.",default:"This link is not valid.",unavailable:"We can't check this link right now."},checking:"Checking the link\u2026",validBadge:"Valid link",availableUntil:"Available until {{date}}",redirecting:"Redirecting\u2026",redirectingIn3s:"Redirecting to the app in 3 seconds.",enterNow:"Enter now",invalidBadge:"Unavailable",expiredAt:"Expired: {{date}}",contactAdmin:"If you believe this link should still work, please contact your administrator.",unavailableBadge:"Cannot check",unavailableHint:"Check your connection and open the link again. The link itself is still fine."},Mf={loading:"Loading\u2026",invalidTitle:"Can't open this link",invalidMessage:"This shared link doesn't exist, or has expired or been deactivated.",goToMyHomework:"Go to My Homework",recordFailed:"This homework link has expired, so your result wasn't saved. Please contact your manager."},Pf={defaultTitle:"Word Table"},Rf={label:"Share link",copyAriaLabel:"Copy link",removeAriaLabel:"Remove link",creating:"Creating\u2026",hint:"You can only create a share link for a saved card.",removeConfirmTitle:"Remove share link",removeConfirmMessage:"Remove this share link? The existing link will stop working."},$f={title:"Organization link request",subtitle:"The organization below wants to register you as their customer. Please confirm this is an organization you actually use before choosing.",registeredName:"Registered as: {{name}}",decline:"Decline",accept:"Accept",error:"Failed to process: {{message}} \u2014 please try again."},If={steps:"Step {{current}} of {{total}}"},zf={title:"Build the next training",lead:"Sets containing items {{name}} has not caught yet. Only these go in.",planGroup:"Into a training plan",bundleGroup:"Into a word-training bundle",pending:"{{count}} left",unknownSet:"Set name not found",confirm:"Create",newBase:"{{name}} training",planDesc:"{{count}} set(s) holding items {{name}} got wrong",bundleDesc:"{{count}} word training(s) holding items {{name}} got wrong",madePlan:"{{count}} training plan(s)",madeBundle:"{{count}} word-training bundle(s)",created:"Created '{{name}}' \u2014 {{what}}",nothingMade:"No set could be included, so nothing was created.",noSetNote:"{{n}} item(s) could not be included \u2014 the record does not say which set they came from.",emptyTitle:"Nothing to build right now",emptyAllClear:"No items are still being missed.",emptyNoSet:"{{n}} item(s) are still missed, but the records do not say which set they came from, so they cannot be pulled back. One more training run will start recording it."},Of={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",grainLabel:"View by",grainRun:"By problem",grainItem:"By item",colTitle:"Title",colWhen:"When",colScore:"Correct",correct:"Right",wrong:"Wrong",colDuration:"Duration",scoreFmt:"{{correct}}/{{total}}",unitRun:" runs",runsEmpty:"No training recorded yet.",colType:"Type",colRate:"Accuracy",colTried:"Tries",colLatest:"Latest",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",empty:"No training misses recorded yet.",loadFailed:"Could not load the training records.",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}}",allClear:"All caught up",tried:"{{count}}x",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg",truncated:"Only the most recent {{n}} items were loaded \u2014 the counts below cover just those."},Ff={resetColumns:"Reset column widths"},Wf={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colWord:"Word",colRate:"Accuracy",colTried:"Tries",colLatest:"When",colTrend:"Change",unitTime:" times",empty:"No word tables scored yet.",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",tried:"{{count}}x",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",deleteOne:"Delete \u201C{{name}}\u201D scoring",deleteTitle:"Delete this scoring?",deleteMessage:"Deletes the \u201C{{name}}\u201D scoring from {{when}}. This cannot be undone.",nextCountCapped:"{{shown}} of {{total}}",loadFailed:"Could not load word scores."},Hf={title:"What to train next?",subtitle:"Picked for the {{count}} words {{name}} has not mastered yet.",allClear:"All correct last time. Nothing to focus on right now.",noMatch:"None of your tables contain these words.",coverage:"{{covered}} of {{total}} cells",uncovered:"{{count}} words not in any table",makeNew:"Make a new table from these {{count}}",newTableBase:"{{name}} focus",newTableDesc:"The {{count}} words {{name}} has not mastered yet.",created:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",button:"Suggest next table"},Vf={hint:"Pin what you want to keep; the rest can be redrawn.",pin:"Pin \u201C{{name}}\u201D",unpin:"Unpin \u201C{{name}}\u201D",remove:"Remove \u201C{{name}}\u201D",regenerate:"Redraw the rest",regenerating:"Drawing\u2026",save:"Create as shown",count:"{{total}} \xB7 {{pinned}} pinned",empty:"Nothing left. At least one is needed."},Gf={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},qf={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Yf={previewRegion:"Report preview \u2014 scrollable sideways"},Uf={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Kf={common:d1,plan:u1,calendar:p1,passCard:h1,searchField:m1,rating:b1,colorPicker:g1,dropdown:f1,accordion:v1,header:y1,nav:x1,settings:C1,usage:_1,account:w1,help:k1,notifications:S1,wordSuggestion:A1,training:T1,trainingSettings:B1,customers:N1,today:D1,payment:E1,coupons:j1,visits:L1,company:M1,sentenceTraining:P1,trainingType:R1,myWordTraining:$1,myWordTable:I1,keyWords:z1,wordTable:O1,wordSearch:F1,wordManagement:W1,wordPrint:H1,topic:V1,passwordExpiry:G1,feedbackWidget:q1,accessLinkManager:Y1,wordRecommend:U1,subscriptionExpiry:K1,customerTrainingBanner:Z1,login:X1,kakaoLink:J1,agreementGate:Q1,addressSearch:ef,trainingPlan:tf,device:af,manager:of,wordPairs:rf,game:nf,footer:sf,landing:lf,date:cf,trainingGroup:df,trainingSetPage:uf,wordTrainingPreview:pf,error:hf,wordData:mf,infoInput:bf,textField:gf,segmentedControl:ff,tabs:vf,fileUpload:yf,avatar:xf,myHomework:Cf,trainingStatus:_f,store:wf,cardPopup:kf,homework:Sf,invite:Af,wordTraining:Tf,inquiry:Bf,exam:Nf,inviteManage:Df,trainingPlanRun:Ef,orgInvitePage:jf,linkGate:Lf,homeworkGate:Mf,wordTableView:Pf,shareLinkFooter:Rf,linkRequestGate:$f,progress:If,nextTraining:zf,trainingMiss:Of,table:Ff,wordScore:Wf,nextTable:Hf,draft:Vf,topBanner:Gf,datePicker:qf,report:Yf,tooltip:Uf};const Nr="0.91.0",Lo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],co="ko",Fn="ihab_display_language";function Yc(){try{const e=localStorage.getItem(Fn);if(e&&Lo.some(t=>t.code===e))return e}catch{}return co}function Zf(e){try{localStorage.setItem(Fn,e)}catch{}}function Uc(e){try{document.documentElement.lang=e}catch{}}Ca.on("languageChanged",Uc),Uc(Yc()),Ca.use(me.initReactI18next).init({resources:{ko:{translation:c1},en:{translation:Kf}},lng:Yc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Kc=l.createContext({locale:co,supportedLocales:Lo});function Xf(){return l.useContext(Kc)}function Jf({locale:e=co,children:t}){return l.useEffect(()=>{const a=Lo.find(r=>r.code===e)?e:co;Ca.language!==a&&Ca.changeLanguage(a)},[e]),o.jsx(Kc.Provider,{value:{locale:e,supportedLocales:Lo},children:t})}function _e(...e){return e.filter(Boolean).join(" ")}var Qf=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";te(Qf);const Zc=new Set,Xc=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Wn(e,...t){!Xc||Zc.has(e)||(Zc.add(e),console.warn(...t))}/**
|
|
11
|
+
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"},lf={nav:{programs:"Programs",manager:"Manager",themes:"Training Topics",plans:"Pricing",login:"Log in",menuOpen:"Open menu",menuClose:"Close menu"},hero:{eyebrow:"Auditory Training by Hearing Professionals",title:"Practice <em>hearing speech</em><br/>with programs made by<br/>hearing professionals.",sub:"IHAB \uB9D0\uADC0 is an auditory training program designed to support everyday communication for hearing aid wearers, with a variety of listening scenarios and engaging content.",ctaPrimary:"Start for free"},marquee:["4,460 listening contents","Audiology expert advisory","Everyday recovery for hearing aid users","Daily updates","9 topic categories","Noise environment simulation"],counter:{prefix:"A total of",unit:"",unitSuffix:"",suffix:"vast training contents.",trainingCardSuffix:" sent.",cap:"With 4,000+ listening contents updated daily, no two listening experiences are ever repeated.",chips:[{num:"1,284",label:"Sentence listening in noise"},{num:"1,612",label:"Short story listening"},{num:"986",label:"Long story listening"},{num:"578",label:"Sentence ordering"}]},features:{title:"All the <em>auditory training</em> you need, <em>in one place</em>",sub:"From today's listening to noise training, word discrimination, and games\u2014<br/>experience everything you need for auditory rehabilitation with \uB9D0\uADC0.",items:[{title:"Today's Listening",desc:"Fresh daily listening training to support consistent auditory rehabilitation."},{title:"Topic Training",desc:"Improve real-life listening ability with topics like daily life, news, and weather."},{title:"Word Training",desc:"Focused training to distinguish phonemes by comparing onset, vowel, and coda differences."},{title:"Listening in Noise",desc:"Build adaptability to clearly distinguish speech in various noise environments."},{title:"Games",desc:"Keep up with auditory training without getting bored through fun game formats."},{title:"Training Log",desc:"Track your auditory rehabilitation progress at a glance with history and statistics."},{title:"Expert Management",desc:"Audiologists and hearing aid centers can manage patient training settings and visit history together."}]},programs:{title:"Auditory training program designed for<br/><em>diverse listening</em> situations and <em>engagement</em>",sub:"Consistent auditory rehabilitation improves auditory attention and cognitive ability.",steps:[{n:"01",variant:"start",title:"Listen",desc:"Training to hear sentences in real everyday noise environments"},{n:"02",variant:"feedback",title:"Remember",desc:"Review the sentence and check which parts you heard clearly"},{n:"03",variant:"done",title:"Confirm",desc:"Save accuracy and trends per session to inform the next training"}]},themes:{title:"Auditory training with <em>topics</em><br/>you're <em>interested</em> in",sub:"Organized by topics you encounter in everyday life so you can practice listening naturally.",sentenceSuffix:" sentences",items:{weather:"Weather",food:"Food",people:"People",koreanCulture:"Korean Culture",stories:"Stories",locations:"Locations",societyArts:"Society & Arts",natureScience:"Nature & Science",sports:"Sports",health:"Health"}},manager:{title:"Manager features for<br/><em>auditory training professionals</em>",sub:"We provide a manager page service that lets you manage customers and set up personalized auditory training.",footText:"Save your preferred training directly to set up your own custom preset.",footBtn:"Apply for \uB9D0\uADC0 Manager"},pricing:{title:"Enjoy all \uB9D0\uADC0 content<br/>without limits"},cta:{eyebrow:"Start right now",title:"10 minutes a day \u2014 regain<br/>confidence in daily communication.",sub:"Log in with your IHAB account to start training immediately<br/>with the first-visit customer preset.",btn:"Log in with IHAB and start \uB9D0\uADC0"},trainingPhone:{title:"Sentence Listening in Noise",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"}},stickyCta:"Log in and start \uB9D0\uADC0",stickyTaglinePrefix:"'s\xA0",stickyTaglineHighlight:"auditory training",stickyTaglineSuffix:" \u2014 ready to start?",forceLogout:{duplicateSession:"You were signed out because this account signed in on another device.",sessionExpired:"Your session expired, so you were signed out."}},cf={yearField:"Year",monthField:"Month",dayField:"Day",yearLabel:"{{y}}",monthLabel:"{{m}}",hourLabel:"{{h}}:00",daySuffix:"",minuteSuffix:"",dayLabel:"{{n}}",timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},df={discrimination:{label:"Discrimination Training",disc:"Training to distinguish whether two sounds are the same or different.",types:{SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches the sound you heard.",setupSub:"Choose a target word and distractors to create a same-sound picking question.",step1:"Select the target word.",step2:"Select other words to present alongside it."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different.",setupSub:"Choose two words to compare and create a same-or-different question.",step1:"Listen to the two sounds.",step2:"Are they the same or different?",choiceSame:"Same",choiceDiff:"Different"},HEAR_AND_PICK_SAME:{label:"Hear & Match the Word",sub:"Pick the word card that matches what you heard.",setupSub:"Choose a target word and distractors to create a word-matching question.",step1:"Listen to the word.",step2:"Select the matching word card."},HEAR_AND_PICK_INCLUDED:{label:"Hear & Pick Word with Syllable",sub:"Pick the word card that contains the syllable you heard.",setupSub:"Create a question using a target with the syllable and distractors without it.",step1:"Listen to the syllable.",step2:"Select the word that contains this syllable."},STARTS_WITH_SAME_SOUND:{label:"Hear & Pick Same Starting Sound",sub:"Pick the word that starts with the same sound as the one you heard.",setupSub:"Create a question using words that start with the same sound and distractors that don't.",step1:"Listen to the word.",step2:"Select the word starting with the same sound."}}},synthesis:{label:"Synthesis Training",disc:"Training to combine two or more syllables or phonemes into a word.",types:{MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do you get when you combine these 2 syllables?",setupSub:"Choose a target word and it will be split into 2 syllables for the question.",step1:"Listen to the 2 syllables.",step2:"What word do they make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do you get when you combine these 3 syllables?",setupSub:"Choose a target word and it will be split into 3 syllables for the question.",step1:"Listen to the 3 syllables.",step2:"What word do they make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do you get when you combine these 2 phonemes?",setupSub:"Choose a target sound and create a 2-phoneme combination question.",step1:"Listen to the 2 phonemes.",step2:"What sound do they make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do you get when you combine these 3 phonemes?",setupSub:"Choose a target sound and create a 3-phoneme combination question.",step1:"Listen to the 3 phonemes.",step2:"What sound do they make?"}}},deletion:{label:"Deletion Training",disc:"Training to identify the remaining sound after removing a syllable or phoneme.",types:{DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable Word",sub:"What sound is left when you remove one syllable from a 2-syllable word?",setupSub:"Choose a 2-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable Word",sub:"What sound is left when you remove one syllable from a 3-syllable word?",setupSub:"Choose a 3-syllable target word and create a syllable-deletion question.",step1:"Listen to the word.",step2:"What sound remains when one syllable is removed?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word is left when you remove part of a compound word?",setupSub:"Choose a compound word and create a partial-deletion question.",step1:"Listen to the compound word.",step2:"What word remains when part is removed?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound is left when you remove the final consonant?",setupSub:"Choose a 1-syllable word with a final consonant and create a deletion question.",step1:"Listen to the word.",step2:"What sound remains when the coda is removed?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant from 1-Syllable Word",sub:"What sound remains after removing the consonant?",setupSub:"Choose a 1-syllable word and create a consonant-removal question.",step1:"Listen to the word.",step2:"What sound remains when the consonant is removed?"}}},substitution:{label:"Substitution Training",disc:"Training to create new sounds by substituting syllables or phonemes.",types:{CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable in 2-Syllable Word",sub:"Change one syllable of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable in 3-Syllable Word",sub:"Change one syllable of a 3-syllable word to make a new word.",setupSub:"Choose a 3-syllable target word and create a syllable-substitution question.",step1:"Listen to the word.",step2:"Change one syllable to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme in 1-Syllable Word",sub:"Change one phoneme of a 1-syllable word to make a new sound.",setupSub:"Choose a 1-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme in 2-Syllable Word",sub:"Change one phoneme of a 2-syllable word to make a new word.",setupSub:"Choose a 2-syllable target word and create a phoneme-substitution question.",step1:"Listen to the word.",step2:"Change one phoneme to make a new word."}}},attention:{label:"Auditory Attention Training",disc:"Training attention and short-term memory by listening to and recalling sequences of sounds.",types:{LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall in Order",sub:"Select the three word cards in the order you heard them.",setupSub:"Choose three words to present and create a recall-in-order question.",step1:"Listen to the three words.",step2:"Select them in the order you heard them."}}}},uf={subtitle:"Select a training type",resultUnit:"word set",nameLabel:"Name",namePlaceholder:"Enter training name",options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",save:"Save",preview:"Preview",excludeOptions:{none:"None",noImage:"No Image"},toast:{nameRequired:"Please enter a set name.",noWords:"No words selected.",noProblem:"Please complete at least one question.",loginRequired:"Login required.",saveFailed:"Failed to save.",saveSuccess:'"{{name}}" set saved ({{count}} questions).',saveSuccessWithIncomplete:'"{{name}}" set saved ({{count}} questions, {{incomplete}} incomplete excluded).',bundleApplied:"Applied to the current question."},suggest:{noCoda:"No batchim",syllable:"{{n}} syllable(s)"}},pf={namePlaceholder:"Enter a training name.",trainingTitle:"'{{name}}' Word Training",questionInput:"Enter a word",answer:"Answer",distractor:"Distractor",groupStep:"Select the word set for the problem.",pickWordStep:"Choose the word to use in the question.",groupStepSub:"The correct answer and distractors are chosen at random from the selected set.",sameOrDiffStepSub:"Chosen at random from the selected word set.",problemNav:"Q {{current}} / {{count}}",problemNum:"Q {{n}}",clearQuestion:"Deselect",removeQuestion:"Remove Question",addQuestion:"Add Question",noWords:"No words match the selected filters.",validOk:"Valid word.",validNoImage:"No image for this word.",validNeed1SyllCoda:"Only 1-syllable words with a final consonant are allowed.",validNeed1SyllNoCoda:"Only 1-syllable words without a final consonant are allowed (excluding words starting with \u3147).",validNeed2Syll:"Only 2-syllable words are allowed.",validNeed3Syll:"Only 3-syllable words are allowed.",manualOnlyHint:"This type doesn't support automatic suggestions yet. Please enter the question word manually."},hf={unexpectedTitle:"Something went wrong",unexpectedMessage:"An unexpected error occurred. Please try again.",retry:"Try Again"},mf={loadError:"Word Data Load Failed",loadErrorMessage:"Failed to load word data. Please check your network and try again.",updateAvailable:"Word Data v{{version}}",updateMessage:"New word data is available.",phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items",update:{title:"Word Data Update"}},bf={title:"Apply for Malgwi Manager",submitting:"Submitting\u2026",submit:"Apply",promo:{title:"3-Day Free Trial for Malgwi Manager",desc:"Register now and try Malgwi Manager free for 3 days!",action:"View Info Page"},applicantEmail:"Applicant Email",companyId:{label:"Company ID",placeholder:"e.g. ACME01 (uppercase letters & numbers)",helper:"Company ID cannot be changed after creation. Only uppercase letters, numbers, _, - are allowed.",errors:{required:"Please enter a company ID",startWithLetter:"Company ID must start with an uppercase letter.",tooLong:"Company ID must be 12 characters or fewer."}},companyName:{label:"Company / Username",placeholder:"Enter company name or username",errors:{required:"Please enter a company name",tooLong:"Company / Username must be 12 characters or fewer."}},companyType:{label:"Company Type",placeholder:"Select company type",errors:{required:"Please select a company type"}},phone:{label:"Phone",errors:{required:"Please enter a phone number",format:"Please enter a valid phone number"}}},gf={clearAriaLabel:"Clear input"},ff={ariaLabel:"Select tab"},vf={ariaLabel:"Tabs"},yf={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},xf={ariaLabel:"User avatar"},Cf={title:"Homework",subtitle:"Check and do the homework your manager sent you.",completed:"Done",inProgress:"In progress",fromManager:"Manager",received:"received",recordExpired:"The homework has expired, so the result was not recorded. Please contact your manager.",segment:{all:"All",new:"New",inprogress:"In Progress",done:"Done"},pageSize:{10:"Show 10",20:"Show 20",50:"Show 50"},searchPlaceholder:"Search homework name",sort:{newest:"Newest",oldest:"Oldest",title:"Title"},relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework",empty:"No homework received."},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},_f={title:"Training Status",sub:"View your hearing training records",weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword",trainingTime:"Training Time",timeAvg:"Avg time",accuracy:"Accuracy",unit:" times"},sentence:{title:"Sentence Training"},word:{title:"Word Training"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining",unit:""},today:{title:"Today's Listening",progress:"Progress",accuracy:"Accuracy",progressAvg:"Avg progress",unitPct:"%",tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{title:"Training Time",countLabel:"{{n}} sessions",empty:"No training records",sec:"{{n}}s",min:"{{n}}m",hourMin:"{{h}}h {{m}}m",hour:"{{h}}h"},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",detailEmpty:"No training records for this period.",detailError:"Could not load training records. Please try again shortly.",col:{date:"Date",type:"Type",score:"Score",time:"Time"},trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"},accuracy:{overall:"Overall accuracy",itemUnit:" items",skipped:"{{n}} had no accuracy record and were left out of this count."},insight:{title:"At a glance",sub:"What went well and what didn't this period, compared with the last",strong:"Doing well",weak:"Struggling",improving:"Improving",declining:"Slipping",stale:"Not lately",vsBefore:"vs. previous {{delta}}",thin:"Not enough sessions to compare yet ({{n}})"}},wf={title:"Training Store",subtitle:"Browse trainings shared by other managers and add them to your list.",searchPlaceholder:"Search by training name or publisher",category:{word:"Word Tables",wordTraining:"Word Training",sentence:"Sentence Training"},sort:{newest:"Newest",likes:"Most liked",downloads:"Most downloaded"},wordKind:{pair:"Pairs",single:"Words",emptyHintToSingle:"No pair tables here, but the 'Words' tab has some.",emptyHintToPair:"No word tables here, but the 'Pairs' tab has some."},pageSize:"{{n}} per page",countPrefix:"Total ",countSuffix:" trainings",notice:"Log in with a manager account to add trainings to your list.",empty:"No trainings have been published yet.",emptyHint:"You can publish your own trainings from the Training Settings page.",like:"Like",unlike:"Unlike",loginRequired:"Login required",import:"Add to my trainings",importButton:"Import",publisher:"Publisher",importFail:"Import failed: {{error}}",importSuccess:"Added '{{title}}' to your training list.",dupTitle:"Same content already exists",dupMessageOne:"Same content as <m>{{title}}</m>. Import anyway?",dupMessageMany:"Same content as <m>{{title}}</m> and <m>{{n}}</m> more. Import anyway?",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"},unpublishOnDelete:"The store listing will also be deleted.",publish:{confirmLabel:"Post",confirmLoading:"Posting\u2026",descPlaceholder:"One-line description for the Training Store (optional)",dialogTitle:"Post to Training Store",message:"Publish '{{name}}' to the Training Store."},categoryLabel:"Resource type",toast:{registered:"Published to the Malgue Library",registerError:"Failed to publish to the Malgue Library"}},kf={common:{cardName:"Card Name",cardNamePlaceholder:"Enter card name",group:"Group",groupPlaceholder:"Group name (optional)",description:"Description",descriptionPlaceholder:"Briefly describe this card (optional)",nameRequired:"Please enter a card name.",removeAll:"Remove All",deleteConfirm:"Delete '{{name}}'?",deleteConfirmDefault:"Delete this card?"},wordTrainingCard:{createTitle:"Create Word Training Bundle",editTitle:"Edit Word Training Bundle",deleteTitle:"Delete Word Training Bundle",selectSection:"Select Trainings",defaultSection:"Default Trainings",defaultSectionDesc:"Words are filled automatically when you add a standard training",mySection:"My Trainings",noTrainingsEmpty:"Please create a word training first.",adding:"Adding\u2026",add:"Add",basket:"Selected Trainings",basketEmpty:"No trainings selected",trainingRequired:"Please add at least one training.",maxTrainingsAlert:"You can add up to {{max}} trainings",notEnoughWords:"Not enough words to generate questions",addSaveError:"Failed to save the training. Please try again",complete:{message:"All done! Great job!",button:"Done"}},shareLink:{saveCardFirst:"Save the card first.",copied:"Link copied",created:"Link created",createFailed:"Failed to create link",copyBlocked:"Copying was blocked, so the link is selected. Press Ctrl/\u2318+C to copy",removed:"Link removed",removeFailed:"Failed to remove link"}},Sf={manage:{title:"Homework",sub:"View shared training links and submission status.",searchPlaceholder:"Search by title or recipient",emptySearch:"No results found.",emptyLinks:"No shared homework links yet.",unit:"item(s)",loadFailed:"Could not load homework links."},card:{deleteTitle:"Delete Homework Link",deleteMessage:"Delete this homework link? Submitted results will also be removed."},status:{inactive:"Inactive",expired:"Expired",active:"Active",noTarget:"No Target",sentFmt:"{{target}} \xB7 sent {{date}}"},menu:{activate:"Activate",deactivate:"Deactivate"},personalLinkTitle:"Personal link"},Af={title:"Invitations",sub:"Create and manage invite links \u2014 no customer info needed.",copyAriaLabel:"Copy link",deleteAriaLabel:"Delete",deleteConfirmTitle:"Delete invite link",deleteConfirmMessage:"Delete this invite link? Any link already shared will stop working."},Tf={card:{sub:"Word Training Bundle",empty:"No word training in this card."}},Bf={ariaLabel:"Contact Us",emailPlaceholder:"Email for reply",contentPlaceholder:"Please enter your inquiry.",cancelLabel:"Cancel",submitLabel:"Send",title:"Contact Us",emailLabel:"Email",contentLabel:"Inquiry",successMsg:"\u2713 Your inquiry has been submitted.",submitError:"Failed to submit your inquiry.",subText:"Send us a message about purchasing a subscription plan. We will respond within 1\u20132 business days."},Nf={inProgress:"Exam in progress"},Df={countSuffix:"",searchPlaceholder:"Search links",creating:"Creating\u2026",create:"Create Link",colLink:"Link",colCreatedAt:"Created At",empty:"No items.",loadFailed:"Could not load invitations."},Ef={empty:"No training items to run.",loading:"Loading training data\u2026",subtitle:"Select a topic to start listening practice.",title:"Run Training"},jf={reason:{invalid:"This invite has expired or is no longer valid.",notFound:"This invite does not exist.",notLoggedIn:"Please sign in.",rateLimited:"Please try again in a moment."},defaultOrgName:"the organization",loading:"Loading\u2026",invalidTitle:"Can't open this invite",acceptError:"Failed to accept the invite.",alreadyConnected:"already connected.",connected:"connected.",doneMessage:"{{orgName}} \u2014 {{suffix}}",doneSub:"You can now receive homework from your manager.",goToHomework:"Go to homework",failedTitle:"Couldn't accept the invite",home:"Home",readyTitle:"Invite from {{orgName}}",readySub:"Register as a customer of {{orgName}} and start receiving homework?",accepting:"Connecting\u2026",acceptButton:"Accept invite"},Lf={reason:{notFound:"This link does not exist.",inactive:"This link has been deactivated.",expired:"This link has expired.",maxUses:"This link has reached its maximum uses.",missingToken:"This link is invalid.",default:"This link is not valid.",unavailable:"We can't check this link right now."},checking:"Checking the link\u2026",validBadge:"Valid link",availableUntil:"Available until {{date}}",redirecting:"Redirecting\u2026",redirectingIn3s:"Redirecting to the app in 3 seconds.",enterNow:"Enter now",invalidBadge:"Unavailable",expiredAt:"Expired: {{date}}",contactAdmin:"If you believe this link should still work, please contact your administrator.",unavailableBadge:"Cannot check",unavailableHint:"Check your connection and open the link again. The link itself is still fine."},Mf={loading:"Loading\u2026",invalidTitle:"Can't open this link",invalidMessage:"This shared link doesn't exist, or has expired or been deactivated.",goToMyHomework:"Go to My Homework",recordFailed:"This homework link has expired, so your result wasn't saved. Please contact your manager."},Pf={defaultTitle:"Word Table"},Rf={label:"Share link",copyAriaLabel:"Copy link",removeAriaLabel:"Remove link",creating:"Creating\u2026",hint:"You can only create a share link for a saved card.",removeConfirmTitle:"Remove share link",removeConfirmMessage:"Remove this share link? The existing link will stop working."},$f={title:"Organization link request",subtitle:"The organization below wants to register you as their customer. Please confirm this is an organization you actually use before choosing.",registeredName:"Registered as: {{name}}",decline:"Decline",accept:"Accept",error:"Failed to process: {{message}} \u2014 please try again."},If={steps:"Step {{current}} of {{total}}"},zf={title:"Build the next training",lead:"Sets containing items {{name}} has not caught yet. Only these go in.",planGroup:"Into a training plan",bundleGroup:"Into a word-training bundle",pending:"{{count}} left",unknownSet:"Set name not found",confirm:"Create",newBase:"{{name}} training",planDesc:"{{count}} set(s) holding items {{name}} got wrong",bundleDesc:"{{count}} word training(s) holding items {{name}} got wrong",madePlan:"{{count}} training plan(s)",madeBundle:"{{count}} word-training bundle(s)",created:"Created '{{name}}' \u2014 {{what}}",nothingMade:"No set could be included, so nothing was created.",noSetNote:"{{n}} item(s) could not be included \u2014 the record does not say which set they came from.",emptyTitle:"Nothing to build right now",emptyAllClear:"No items are still being missed.",emptyNoSet:"{{n}} item(s) are still missed, but the records do not say which set they came from, so they cannot be pulled back. One more training run will start recording it."},Of={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",grainLabel:"View by",grainRun:"By problem",grainItem:"By item",colTitle:"Title",colWhen:"When",colScore:"Correct",correct:"Right",wrong:"Wrong",colDuration:"Duration",scoreFmt:"{{correct}}/{{total}}",unitRun:" runs",runsEmpty:"No training recorded yet.",colType:"Type",colRate:"Accuracy",colTried:"Tries",colLatest:"Latest",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",empty:"No training misses recorded yet.",loadFailed:"Could not load the training records.",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}}",allClear:"All caught up",tried:"{{count}}x",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg",truncated:"Only the most recent {{n}} items were loaded \u2014 the counts below cover just those."},Ff={resetColumns:"Reset column widths"},Wf={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colWord:"Word",colRate:"Accuracy",colTried:"Tries",colLatest:"When",colTrend:"Change",unitTime:" times",empty:"No word tables scored yet.",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",tried:"{{count}}x",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",deleteOne:"Delete \u201C{{name}}\u201D scoring",deleteTitle:"Delete this scoring?",deleteMessage:"Deletes the \u201C{{name}}\u201D scoring from {{when}}. This cannot be undone.",nextCountCapped:"{{shown}} of {{total}}",loadFailed:"Could not load word scores."},Hf={title:"What to train next?",subtitle:"Picked for the {{count}} words {{name}} has not mastered yet.",allClear:"All correct last time. Nothing to focus on right now.",noMatch:"None of your tables contain these words.",coverage:"{{covered}} of {{total}} cells",uncovered:"{{count}} words not in any table",makeNew:"Make a new table from these {{count}}",newTableBase:"{{name}} focus",newTableDesc:"The {{count}} words {{name}} has not mastered yet.",created:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",button:"Suggest next table"},Vf={hint:"Pin what you want to keep; the rest can be redrawn.",pin:"Pin \u201C{{name}}\u201D",unpin:"Unpin \u201C{{name}}\u201D",remove:"Remove \u201C{{name}}\u201D",regenerate:"Redraw the rest",regenerating:"Drawing\u2026",save:"Create as shown",count:"{{total}} \xB7 {{pinned}} pinned",empty:"Nothing left. At least one is needed."},Gf={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},qf={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Yf={previewRegion:"Report preview \u2014 scrollable sideways"},Uf={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Kf={common:d1,plan:u1,calendar:p1,passCard:h1,searchField:m1,rating:b1,colorPicker:g1,dropdown:f1,accordion:v1,header:y1,nav:x1,settings:C1,usage:_1,account:w1,help:k1,notifications:S1,wordSuggestion:A1,training:T1,trainingSettings:B1,customers:N1,today:D1,payment:E1,coupons:j1,visits:L1,company:M1,sentenceTraining:P1,trainingType:R1,myWordTraining:$1,myWordTable:I1,keyWords:z1,wordTable:O1,wordSearch:F1,wordManagement:W1,wordPrint:H1,topic:V1,passwordExpiry:G1,feedbackWidget:q1,accessLinkManager:Y1,wordRecommend:U1,subscriptionExpiry:K1,customerTrainingBanner:Z1,login:X1,kakaoLink:J1,agreementGate:Q1,addressSearch:ef,trainingPlan:tf,device:af,manager:of,wordPairs:rf,game:nf,footer:sf,landing:lf,date:cf,trainingGroup:df,trainingSetPage:uf,wordTrainingPreview:pf,error:hf,wordData:mf,infoInput:bf,textField:gf,segmentedControl:ff,tabs:vf,fileUpload:yf,avatar:xf,myHomework:Cf,trainingStatus:_f,store:wf,cardPopup:kf,homework:Sf,invite:Af,wordTraining:Tf,inquiry:Bf,exam:Nf,inviteManage:Df,trainingPlanRun:Ef,orgInvitePage:jf,linkGate:Lf,homeworkGate:Mf,wordTableView:Pf,shareLinkFooter:Rf,linkRequestGate:$f,progress:If,nextTraining:zf,trainingMiss:Of,table:Ff,wordScore:Wf,nextTable:Hf,draft:Vf,topBanner:Gf,datePicker:qf,report:Yf,tooltip:Uf};const Nr="0.92.0",Lo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],co="ko",Fn="ihab_display_language";function Yc(){try{const e=localStorage.getItem(Fn);if(e&&Lo.some(t=>t.code===e))return e}catch{}return co}function Zf(e){try{localStorage.setItem(Fn,e)}catch{}}function Uc(e){try{document.documentElement.lang=e}catch{}}Ca.on("languageChanged",Uc),Uc(Yc()),Ca.use(me.initReactI18next).init({resources:{ko:{translation:c1},en:{translation:Kf}},lng:Yc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Kc=l.createContext({locale:co,supportedLocales:Lo});function Xf(){return l.useContext(Kc)}function Jf({locale:e=co,children:t}){return l.useEffect(()=>{const a=Lo.find(r=>r.code===e)?e:co;Ca.language!==a&&Ca.changeLanguage(a)},[e]),o.jsx(Kc.Provider,{value:{locale:e,supportedLocales:Lo},children:t})}function _e(...e){return e.filter(Boolean).join(" ")}var Qf=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";te(Qf);const Zc=new Set,Xc=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Wn(e,...t){!Xc||Zc.has(e)||(Zc.add(e),console.warn(...t))}/**
|
|
12
12
|
* @license lucide-react v1.38.0 - ISC
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
@@ -814,8 +814,8 @@ and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Dir
|
|
|
814
814
|
* This source code is licensed under the ISC license.
|
|
815
815
|
* See the LICENSE file in the root directory of this source tree.
|
|
816
816
|
*/const A_=[["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}],["path",{d:"M7 10v12",key:"1qc93n"}]],T_=K("thumbs-up",A_),bd={"alert-triangle":ed,"align-start-vertical":lv,anchor:OC,armchair:WC,"arrow-down":dv,"arrow-left":pv,"arrow-right":mv,"arrow-right-left":gv,"arrow-up-a-z":VC,"audio-lines":vv,baby:xv,ban:_v,"bar-chart-2":qC,bell:kv,"book-marked":Av,"book-open":Bv,"bow-arrow":Dv,braces:jv,bug:Mv,calendar:pd,"calendar-check":Rv,"calendar-days":Iv,camera:Ov,car:KC,"chart-column":Wv,"chart-line":Vv,"chart-pie":qv,check:td,"chevron-down":hd,"chevron-left":ad,"chevron-right":od,"chevron-up":md,circle:y_,"clipboard-list":Xv,coffee:XC,combine:Qv,copy:ty,"chevrons-left-right-ellipsis":oy,"credit-card":ny,database:rd,diff:ly,download:nd,ear:uy,edit:hy,"edit-2":by,"edit-3":fy,ellipsis:id,eraser:xy,"external-link":_y,eye:ky,"file-text":Ay,"flip-horizontal":By,"folder-open":Dy,"folder-plus":jy,gamepad:My,"gamepad-2":QC,gavel:Ry,"git-merge":sd,globe:zy,headphones:Fy,heart:Hy,home:Gy,inbox:t_,info:Yy,"key-round":Ky,landmark:Xy,layers:Qy,"layout-dashboard":tx,leaf:ox,lightbulb:nx,link:sx,"link-2":cx,"link-2-off":ux,list:hx,"list-checks":bx,"list-ordered":fx,"list-tree":o_,loader:yx,lock:Cx,"log-out":wx,mail:Sx,"map-pin":Tx,menu:w_,"message-circle":Nx,"message-circle-question-mark":Ex,"message-square":Lx,"message-square-more":n_,"message-square-text":Px,minus:s_,"minus-circle":$x,moon:S_,"more-horizontal":id,package:zx,palette:Fx,"party-popper":Hx,pause:Gx,pencil:Yx,phone:Kx,play:Xx,"play-circle":Qx,plus:t2,printer:o2,"refresh-cw":n2,repeat:s2,replace:c2,rocket:u2,"rotate-ccw":h2,"rotate-cw":b2,salad:f2,"scan-search":y2,search:w2,"circle-alert":ld,"alert-circle":ld,"check-circle":cd,scissors:S2,"search-x":T2,send:N2,settings:E2,"share-2":c_,"shield-check":L2,"shopping-cart":P2,shuffle:$2,"skip-back":z2,"skip-forward":F2,sparkles:u_,square:H2,star:G2,store:Y2,"sun-medium":K2,table:X2,"table-2":Q2,tag:tC,terminal:oC,"text-cursor-input":nC,"text-initial":sC,"thumbs-up":T_,ticket:cC,trash:hC,triangle:C_,"trash-2":uC,"trending-up":bC,"triangle-alert":ed,trophy:fC,type:h_,unlink:yC,upload:CC,user:Vn,"user-plus":kC,"user-round":AC,"user-round-check":BC,users:DC,"users-round":jC,volume:b_,"volume-2":dd,wrench:PC,x:ud,zap:IC};function B_(e){return bd[e]??null}const gd=new Set;function N_(e){return Xc&&!(e in bd)&&!gd.has(e)&&(gd.add(e),console.warn(`[ihabdevteam-core] lucide \uC544\uC774\uCF58 '${e}' \uC774 \uC815\uC801 \uBAA9\uB85D\uC5D0 \uC5C6\uC5B4 \uB80C\uB354\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. utils/lucideIconSet.ts \uC758 STATIC_LUCIDE_ICONS \uC5D0 \uCD94\uAC00\uD558\uC138\uC694.`)),Promise.resolve(null)}const D_=e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Za-z])([0-9])/g,"$1-$2").replace(/[_ ]+/g,"-").toLowerCase();function E_(e){const t=e.toLowerCase();if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")||e.includes("/assets/"))return null;const a=(e.split("/").pop()||"").replace(/\.svg$/,"");return a?D_(a):null}const fd=new Map;function j_(e){const t=typeof e=="string"?E_(e):null,a=t?B_(t)??fd.get(t)??null:null,[r,n]=l.useState(null);return l.useEffect(()=>{if(!t||a)return;let i=!1;return N_(t).then(s=>{fd.set(t,s),i||n(s)}),()=>{i=!0}},[t,a]),a??r}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function vd(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function L_(e){if(Array.isArray(e))return e}function M_(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r,n,i,s,c=[],d=!0,u=!1;try{if(i=(a=a.call(e)).next,t!==0)for(;!(d=(r=i.call(a)).done)&&(c.push(r.value),c.length!==t);d=!0);}catch(m){u=!0,n=m}finally{try{if(!d&&a.return!=null&&(s=a.return(),Object(s)!==s))return}finally{if(u)throw n}}return c}}function P_(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
817
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R_(e,t){return L_(e)||M_(e,t)||$_(e,t)||P_()}function $_(e,t){if(e){if(typeof e=="string")return vd(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?vd(e,t):void 0}}const yd=Object.entries,xd=Object.setPrototypeOf,I_=Object.isFrozen,z_=Object.getPrototypeOf,O_=Object.getOwnPropertyDescriptor;let bt=Object.freeze,yt=Object.seal,uo=Object.create,Cd=typeof Reflect<"u"&&Reflect,Gn=Cd.apply,qn=Cd.construct;bt||(bt=function(t){return t}),yt||(yt=function(t){return t}),Gn||(Gn=function(t,a){for(var r=arguments.length,n=new Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return t.apply(a,n)}),qn||(qn=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return new t(...r)});const Ya=pt(Array.prototype.forEach),F_=pt(Array.prototype.lastIndexOf),_d=pt(Array.prototype.pop),Mo=pt(Array.prototype.push),W_=pt(Array.prototype.splice),po=Array.isArray,Po=pt(String.prototype.toLowerCase),Yn=pt(String.prototype.toString),wd=pt(String.prototype.match),Ro=pt(String.prototype.replace),kd=pt(String.prototype.indexOf),H_=pt(String.prototype.trim),V_=pt(Number.prototype.toString),G_=pt(Boolean.prototype.toString),Sd=typeof BigInt>"u"?null:pt(BigInt.prototype.toString),Ad=typeof Symbol>"u"?null:pt(Symbol.prototype.toString),Rt=pt(Object.prototype.hasOwnProperty),$o=pt(Object.prototype.toString),St=pt(RegExp.prototype.test),Ua=q_(TypeError);function pt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return Gn(e,t,r)}}function q_(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return qn(e,a)}}function Ye(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Po;if(xd&&xd(e,null),!po(t))return e;let r=t.length;for(;r--;){let n=t[r];if(typeof n=="string"){const i=a(n);i!==n&&(I_(t)||(t[r]=i),n=i)}e[n]=!0}return e}function Y_(e){for(let t=0;t<e.length;t++)Rt(e,t)||(e[t]=null);return e}function zt(e){const t=uo(null);for(const r of yd(e)){var a=R_(r,2);const n=a[0],i=a[1];Rt(e,n)&&(po(i)?t[n]=Y_(i):i&&typeof i=="object"&&i.constructor===Object?t[n]=zt(i):t[n]=i)}return t}function U_(e){switch(typeof e){case"string":return e;case"number":return V_(e);case"boolean":return G_(e);case"bigint":return Sd?Sd(e):"0";case"symbol":return Ad?Ad(e):"Symbol()";case"undefined":return $o(e);case"function":case"object":{if(e===null)return $o(e);const t=e,a=Xt(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:$o(r)}return $o(e)}default:return $o(e)}}function Xt(e,t){for(;e!==null;){const r=O_(e,t);if(r){if(r.get)return pt(r.get);if(typeof r.value=="function")return pt(r.value)}e=z_(e)}function a(){return null}return a}function K_(e){try{return St(e,""),!0}catch{return!1}}const Td=bt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Un=bt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Kn=bt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Z_=bt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Zn=bt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),X_=bt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Bd=bt(["#text"]),Nd=bt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Xn=bt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Dd=bt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Dr=bt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),J_=yt(/{{[\w\W]*|^[\w\W]*}}/g),Q_=yt(/<%[\w\W]*|^[\w\W]*%>/g),ew=yt(/\${[\w\W]*/g),tw=yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),aw=yt(/^aria-[\-\w]+$/),Ed=yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ow=yt(/^(?:\w+script|data):/i),rw=yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),nw=yt(/^html$/i),iw=yt(/^[a-z][.\w]*(-[.\w]+)+$/i),jd=yt(/<[/\w!]/g),Ld=yt(/<[/\w]/g),sw=yt(/<\/no(script|embed|frames)/i),lw=yt(/\/>/i),Ot={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Md=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],cw=bt(Ye({},Md)),dw=(function(){const e={};return Ya(Md,t=>{e[t]=yt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),bt(e)})(),uw=function(){return typeof window>"u"?null:window},pw=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";a&&a.hasAttribute(n)&&(r=a.getAttribute(n));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Pd=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},La=function(t,a,r,n){return Rt(t,a)&&po(t[a])?Ye(n.base?zt(n.base):{},t[a],n.transform):r},Jn=function(t,a,r){const n=Rt(t,a)?t[a]:void 0;return n&&typeof n=="object"?zt(n):r()};function Rd(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:uw();const t=he=>Rd(he);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Ot.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,n=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,s=e.Node,c=e.Element,d=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const m=e.DOMParser,h=e.trustedTypes,p=c.prototype,g=Xt(p,"cloneNode"),f=Xt(p,"remove"),b=Xt(p,"nextSibling"),v=Xt(p,"childNodes"),y=Xt(p,"parentNode"),_=Xt(p,"shadowRoot"),C=Xt(p,"attributes"),x=s&&s.prototype?Xt(s.prototype,"nodeType"):null,k=s&&s.prototype?Xt(s.prototype,"nodeName"):null,w=s&&s.prototype?Xt(s.prototype,"ownerDocument"):null,S=function(N){return x?x(N):N.nodeType},j=function(N){return k?k(N):N.nodeName};if(typeof i=="function"){const he=a.createElement("template");he.content&&he.content.ownerDocument&&(a=he.content.ownerDocument)}let A,T="",F,R=!1,E=0;const M=function(){if(E>0)throw Ua('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},D=function(N){M(),E++;try{return A.createHTML(N)}finally{E--}},H=function(N){M(),E++;try{return A.createScriptURL(N)}finally{E--}},J=function(){return R||(F=pw(h,n),R=!0),F},ee=a,ae=ee.implementation,B=ee.createNodeIterator,L=ee.createDocumentFragment,$=ee.getElementsByTagName,z=r.importNode;let V=Pd();t.isSupported=typeof yd=="function"&&typeof y=="function"&&ae&&ae.createHTMLDocument!==void 0;const X=J_,W=Q_,Y=ew,O=tw,ie=aw,ue=ow,fe=rw,ye=iw;let pe=Ed,P=null;const q=Ye({},[...Td,...Un,...Kn,...Zn,...Bd]);let oe=null;const ge=Ye({},[...Nd,...Xn,...Dd,...Dr]);let de=Object.seal(uo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),I=null,Z=null;const Q=Object.seal(uo(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ve=!0,De=!0,$e=!1,Le=!0,Ee=!1,je=!0,Te=!1,Ie=!1,He=null,be=null,Ke=!1,Ve=!1,Re=!1,qe=!1,vt=!0,Ue=!1;const Xe="user-content-";let ut=!0,ze=!1,rt={},et=null;const We=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Je=null;const tt=Ye({},["audio","video","img","source","image","track"]);let xt=null;const Et=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),it="http://www.w3.org/1998/Math/MathML",Ht="http://www.w3.org/2000/svg",mt="http://www.w3.org/1999/xhtml";let Vt=mt,ia=!1,Gt=null;const Ea=Ye({},[it,Ht,mt],Yn),sa=bt(["mi","mo","mn","ms","mtext"]);let Kt=Ye({},sa);const ja=bt(["annotation-xml"]);let jt=Ye({},ja);const Ga=Ye({},["title","style","font","a","script"]);let $t=null;const ya=["application/xhtml+xml","text/html"],qa="text/html";let Qe=null,It=null;const kt=a.createElement("form"),xa=function(N){return N instanceof RegExp||N instanceof Function},la=function(){let N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(It&&It===N)return;(!N||typeof N!="object")&&(N={}),N=zt(N),$t=ya.indexOf(N.PARSER_MEDIA_TYPE)===-1?qa:N.PARSER_MEDIA_TYPE,Qe=$t==="application/xhtml+xml"?Yn:Po,P=La(N,"ALLOWED_TAGS",q,{transform:Qe}),oe=La(N,"ALLOWED_ATTR",ge,{transform:Qe}),Gt=La(N,"ALLOWED_NAMESPACES",Ea,{transform:Yn}),xt=La(N,"ADD_URI_SAFE_ATTR",Et,{transform:Qe,base:Et}),Je=La(N,"ADD_DATA_URI_TAGS",tt,{transform:Qe,base:tt}),et=La(N,"FORBID_CONTENTS",We,{transform:Qe}),I=La(N,"FORBID_TAGS",zt({}),{transform:Qe}),Z=La(N,"FORBID_ATTR",zt({}),{transform:Qe}),rt=Rt(N,"USE_PROFILES")?N.USE_PROFILES&&typeof N.USE_PROFILES=="object"?zt(N.USE_PROFILES):N.USE_PROFILES:!1,ve=N.ALLOW_ARIA_ATTR!==!1,De=N.ALLOW_DATA_ATTR!==!1,$e=N.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=N.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ee=N.SAFE_FOR_TEMPLATES||!1,je=N.SAFE_FOR_XML!==!1,Te=N.WHOLE_DOCUMENT||!1,Ve=N.RETURN_DOM||!1,Re=N.RETURN_DOM_FRAGMENT||!1,qe=N.RETURN_TRUSTED_TYPE||!1,Ke=N.FORCE_BODY||!1,vt=N.SANITIZE_DOM!==!1,Ue=N.SANITIZE_NAMED_PROPS||!1,ut=N.KEEP_CONTENT!==!1,ze=N.IN_PLACE||!1,pe=K_(N.ALLOWED_URI_REGEXP)?N.ALLOWED_URI_REGEXP:Ed,Vt=typeof N.NAMESPACE=="string"?N.NAMESPACE:mt,Kt=Jn(N,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ye({},sa)),jt=Jn(N,"HTML_INTEGRATION_POINTS",()=>Ye({},ja));const G=Jn(N,"CUSTOM_ELEMENT_HANDLING",()=>uo(null));if(de=uo(null),Rt(G,"tagNameCheck")&&xa(G.tagNameCheck)&&(de.tagNameCheck=G.tagNameCheck),Rt(G,"attributeNameCheck")&&xa(G.attributeNameCheck)&&(de.attributeNameCheck=G.attributeNameCheck),Rt(G,"allowCustomizedBuiltInElements")&&typeof G.allowCustomizedBuiltInElements=="boolean"&&(de.allowCustomizedBuiltInElements=G.allowCustomizedBuiltInElements),yt(de),Ee&&(De=!1),Re&&(Ve=!0),rt&&(P=Ye({},Bd),oe=uo(null),rt.html===!0&&(Ye(P,Td),Ye(oe,Nd)),rt.svg===!0&&(Ye(P,Un),Ye(oe,Xn),Ye(oe,Dr)),rt.svgFilters===!0&&(Ye(P,Kn),Ye(oe,Xn),Ye(oe,Dr)),rt.mathMl===!0&&(Ye(P,Zn),Ye(oe,Dd),Ye(oe,Dr))),Q.tagCheck=null,Q.attributeCheck=null,Rt(N,"ADD_TAGS")&&(typeof N.ADD_TAGS=="function"?Q.tagCheck=N.ADD_TAGS:po(N.ADD_TAGS)&&(P===q&&(P=zt(P)),Ye(P,N.ADD_TAGS,Qe))),Rt(N,"ADD_ATTR")&&(typeof N.ADD_ATTR=="function"?Q.attributeCheck=N.ADD_ATTR:po(N.ADD_ATTR)&&(oe===ge&&(oe=zt(oe)),Ye(oe,N.ADD_ATTR,Qe))),Rt(N,"ADD_FORBID_CONTENTS")&&po(N.ADD_FORBID_CONTENTS)&&(et===We&&(et=zt(et)),Ye(et,N.ADD_FORBID_CONTENTS,Qe)),ut&&(P["#text"]=!0),Te&&Ye(P,["html","head","body"]),P.table&&(Ye(P,["tbody"]),delete I.tbody),N.TRUSTED_TYPES_POLICY){if(typeof N.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ua('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof N.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ua('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const se=A;A=N.TRUSTED_TYPES_POLICY;try{T=D("")}catch(ke){throw A=se,ke}}else N.TRUSTED_TYPES_POLICY===null?(A=void 0,T=""):(A===void 0&&(A=J()),A&&typeof T=="string"&&(T=D("")));bt&&bt(N),It=N},ne=Ye({},[...Un,...Kn,...Z_]),xe=Ye({},[...Zn,...X_]),Ce=function(N,G,se){return G.namespaceURI===mt?N==="svg":G.namespaceURI===it?N==="svg"&&(se==="annotation-xml"||Kt[se]):!!ne[N]},U=function(N,G,se){return G.namespaceURI===mt?N==="math":G.namespaceURI===Ht?N==="math"&&jt[se]:!!xe[N]},le=function(N,G,se){return G.namespaceURI===Ht&&!jt[se]||G.namespaceURI===it&&!Kt[se]?!1:!xe[N]&&(Ga[N]||!ne[N])},we=function(N){let G=y(N);(!G||!G.tagName)&&(G={namespaceURI:Vt,tagName:"template"});const se=Po(N.tagName),ke=Po(G.tagName);return Gt[N.namespaceURI]?N.namespaceURI===Ht?Ce(se,G,ke):N.namespaceURI===it?U(se,G,ke):N.namespaceURI===mt?le(se,G,ke):!!($t==="application/xhtml+xml"&&Gt[N.namespaceURI]):!1},Se=function(N){Mo(t.removed,{element:N});try{y(N).removeChild(N)}catch{if(f(N),!y(N))throw Ua("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ae=function(N,G,se){try{N.removeAttributeNode(G)}catch{try{N.removeAttribute(se)}catch{}}},Oe=function(N){ce(N);const G=v(N);if(G){const ke=[];Ya(G,Ne=>{Mo(ke,Ne)}),Ya(ke,Ne=>{try{f(Ne)}catch{}})}const se=C(N);if(se)for(let ke=se.length-1;ke>=0;--ke){const Ne=se[ke],Pe=Ne&&Ne.name;typeof Pe=="string"&&Ae(N,Ne,Pe)}},nt=function(N,G,se){if(!se)try{se=G.getAttributeNode(N)}catch{se=null}Mo(t.removed,{attribute:se||null,from:G});try{se?G.removeAttributeNode(se):G.removeAttribute(N)}catch{try{G.removeAttribute(N)}catch{}}if(N==="is")if(Ve||Re)try{Se(G)}catch{}else try{G.setAttribute(N,"")}catch{}},ct=function(N){const G=C(N);if(G)for(let se=G.length-1;se>=0;--se){const ke=G[se],Ne=ke&&ke.name;typeof Ne!="string"||oe[Qe(Ne)]||Ae(N,ke,Ne)}},ce=function(N){const G=[N];for(;G.length>0;){const se=G.pop();S(se)===Ot.element&&ct(se);const Ne=v(se);if(Ne)for(let Pe=Ne.length-1;Pe>=0;--Pe)G.push(Ne[Pe])}},Be=function(N,G){return je?N==="patchsrc"?!0:N==="for"&&G!=="label"&&G!=="output":!1},at=function(N){if(!je)return;const G=[N];for(;G.length>0;){const se=G.pop(),ke=S(se);if(ke===Ot.processingInstruction||ke===Ot.comment&&St(Ld,se.data)){try{f(se)}catch{}continue}if(ke===Ot.element){const Pe=se,ot=Qe(j(se));try{Pe.hasAttribute&&Pe.hasAttribute("patchsrc")&&Pe.removeAttribute("patchsrc"),Pe.hasAttribute&&Pe.hasAttribute("for")&&Be("for",ot)&&Pe.removeAttribute("for")}catch{}}const Ne=v(se);if(Ne)for(let Pe=Ne.length-1;Pe>=0;--Pe)G.push(Ne[Pe])}},Ct=function(N){let G=null,se=null;if(Ke)N="<remove></remove>"+N;else{const Pe=wd(N,/^[\r\n\t ]+/);se=Pe&&Pe[0]}$t==="application/xhtml+xml"&&Vt===mt&&(N='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+N+"</body></html>");const ke=A?D(N):N;if(Vt===mt)try{G=new m().parseFromString(ke,$t)}catch{}if(!G||!G.documentElement){G=ae.createDocument(Vt,"template",null);try{G.documentElement.innerHTML=ia?T:ke}catch{}}const Ne=G.body||G.documentElement;return N&&se&&Ne.insertBefore(a.createTextNode(se),Ne.childNodes[0]||null),Vt===mt?$.call(G,Te?"html":"body")[0]:Te?G.documentElement:Ne},_t=function(N){const G=w?w(N):N.ownerDocument;return B.call(G||N,N,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Zt=function(N){return N=Ro(N,X," "),N=Ro(N,W," "),N=Ro(N,Y," "),N},Eo=function(N){var G;N.normalize();const se=w?w(N):N.ownerDocument,ke=B.call(se||N,N,d.SHOW_TEXT|d.SHOW_COMMENT|d.SHOW_CDATA_SECTION|d.SHOW_PROCESSING_INSTRUCTION,null);let Ne=ke.nextNode();for(;Ne;)Ne.data=Zt(Ne.data),Ne=ke.nextNode();const Pe=(G=N.querySelectorAll)===null||G===void 0?void 0:G.call(N,"template");Pe&&Ya(Pe,ot=>{lo(ot.content)&&Eo(ot.content)})},Ar=function(N){const G=k?k(N):null;return typeof G!="string"||Qe(G)!=="form"?!1:typeof N.nodeName!="string"||typeof N.textContent!="string"||typeof N.removeChild!="function"||N.attributes!==C(N)||typeof N.removeAttribute!="function"||typeof N.setAttribute!="function"||typeof N.namespaceURI!="string"||typeof N.insertBefore!="function"||typeof N.hasChildNodes!="function"||N.nodeType!==x(N)||N.childNodes!==v(N)},lo=function(N){if(!x||typeof N!="object"||N===null)return!1;try{return x(N)===Ot.documentFragment}catch{return!1}},jo=function(N){if(!x||typeof N!="object"||N===null)return!1;try{return typeof x(N)=="number"}catch{return!1}};function ca(he,N,G){he.length!==0&&Ya(he,se=>{se.call(t,N,G,It)})}const yg=function(N,G){return!!(je&&N.hasChildNodes()&&!jo(N.firstElementChild)&&St(jd,N.textContent)&&St(jd,N.innerHTML)||je&&N.namespaceURI===mt&&cw[G]&&(jo(N.firstElementChild)||typeof N.textContent=="string"&&St(dw[G],N.textContent))||N.nodeType===Ot.processingInstruction||je&&N.nodeType===Ot.comment&&St(Ld,N.data))},Tr=function(N,G){if(N instanceof RegExp)return St(N,G);if(N instanceof Function){for(var se=arguments.length,ke=new Array(se>2?se-2:0),Ne=2;Ne<se;Ne++)ke[Ne-2]=arguments[Ne];return!!N(G,...ke)}return!1},xg=function(N,G,se){if(!I[G]&&Gc(G)&&Tr(de.tagNameCheck,G))return!1;if(ut&&!et[G]){const ke=y(N),Ne=v(N);if(Ne&&ke){const Pe=Ne.length;for(let ot=Pe-1;ot>=0;--ot){const st=N===se?g(Ne[ot],!0):Ne[ot];ke.insertBefore(st,b(N))}}}return Se(N),!0},Fc=function(N,G,se,ke){return N.length===0?G:G===se||G===ke?zt(G):G},Wc=function(N,G){return N===G||y(N)!==null?!1:(ze&&ce(N),!0)},Hc=function(N,G){if(ca(V.beforeSanitizeElements,N,null),Wc(N,G))return!0;if(Ar(N))return Se(N),!0;const se=Qe(j(N));if(P=Fc(V.uponSanitizeElement,P,q,He),ca(V.uponSanitizeElement,N,{tagName:se,allowedTags:P}),Wc(N,G))return!0;if(yg(N,se))return Se(N),!0;if(I[se]||!(Q.tagCheck instanceof Function&&Q.tagCheck(se))&&!P[se]){const Ne=xg(N,se,G);return Ne===!1&&ca(V.afterSanitizeElements,N,null),Ne}if(S(N)===Ot.element&&!we(N)||(se==="noscript"||se==="noembed"||se==="noframes")&&St(sw,N.innerHTML))return Se(N),!0;if(Ee&&N.nodeType===Ot.text){const Ne=Zt(N.textContent);N.textContent!==Ne&&(Mo(t.removed,{element:N.cloneNode()}),N.textContent=Ne)}return ca(V.afterSanitizeElements,N,null),!1},Vc=function(N,G,se){if(Z[G]||Be(G,N)||vt&&(G==="id"||G==="name")&&(se in a||se in kt))return!1;const ke=oe[G]||Q.attributeCheck instanceof Function&&Q.attributeCheck(G,N);return De&&St(O,G)||ve&&St(ie,G)?!0:ke?xt[G]||St(pe,Ro(se,fe,""))||(G==="src"||G==="xlink:href"||G==="href")&&N!=="script"&&kd(se,"data:")===0&&Je[N]||$e&&!St(ue,Ro(se,fe,""))?!0:!se:Gc(N)&&Tr(de.tagNameCheck,N)&&Tr(de.attributeNameCheck,G,N)||G==="is"&&de.allowCustomizedBuiltInElements&&Tr(de.tagNameCheck,se)},Cg=Ye({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Gc=function(N){return!Cg[Po(N)]&&St(ye,N)},_g=function(N,G,se,ke){if(A&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!se)switch(h.getAttributeType(N,G)){case"TrustedHTML":return D(ke);case"TrustedScriptURL":return H(ke)}return ke},wg=function(N,G,se,ke){try{se?N.setAttributeNS(se,G,ke):N.setAttribute(G,ke),Ar(N)?Se(N):_d(t.removed)}catch{nt(G,N)}},qc=function(N){ca(V.beforeSanitizeAttributes,N,null);const G=N.attributes;if(!G||Ar(N))return;oe=Fc(V.uponSanitizeAttribute,oe,ge,be);const se={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:oe,forceKeepAttr:void 0};let ke=G.length;const Ne=Qe(N.nodeName);for(;ke--;){const Pe=G[ke],ot=Pe.name,st=Pe.namespaceURI,Mt=Pe.value,Pt=Qe(ot),On=Mt;let Lt=ot==="value"?On:H_(On);if(se.attrName=Pt,se.attrValue=Lt,se.keepAttr=!0,se.forceKeepAttr=void 0,ca(V.uponSanitizeAttribute,N,se),Lt=se.attrValue,Ue&&(Pt==="id"||Pt==="name")&&kd(Lt,Xe)!==0&&(nt(ot,N,Pe),Lt=Xe+Lt),je&&St(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Lt)){nt(ot,N,Pe);continue}if(Pt==="attributename"&&wd(Lt,"href")){nt(ot,N,Pe);continue}if(!se.forceKeepAttr){if(!se.keepAttr){nt(ot,N,Pe);continue}if(!Le&&St(lw,Lt)){nt(ot,N,Pe);continue}if(Ee&&(Lt=Zt(Lt)),!Vc(Ne,Pt,Lt)){nt(ot,N,Pe);continue}Lt=_g(Ne,Pt,st,Lt),Lt!==On&&wg(N,ot,st,Lt)}}ca(V.afterSanitizeAttributes,N,null)},Br=function(N){let G=null;const se=_t(N);for(ca(V.beforeSanitizeShadowDOM,N,null);G=se.nextNode();)if(ca(V.uponSanitizeShadowNode,G,null),Hc(G,N),qc(G),lo(G.content)&&Br(G.content),S(G)===Ot.element){const ke=_(G);lo(ke)&&(zn(ke),Br(ke))}ca(V.afterSanitizeShadowDOM,N,null)},zn=function(N){const G=[{node:N,shadow:null}];for(;G.length>0;){const se=G.pop();if(se.shadow){Br(se.shadow);continue}const ke=se.node,Pe=S(ke)===Ot.element,ot=v(ke);if(ot)for(let st=ot.length-1;st>=0;--st)G.push({node:ot[st],shadow:null});if(Pe){const st=k?k(ke):null;if(typeof st=="string"&&Qe(st)==="template"){const Mt=ke.content;lo(Mt)&&G.push({node:Mt,shadow:null})}}if(Pe){const st=_(ke);lo(st)&&G.push({node:null,shadow:st},{node:st,shadow:null})}}};return t.sanitize=function(he){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=null,se=null,ke=null,Ne=null;if(ia=!he,ia&&(he="<!-->"),typeof he!="string"&&!jo(he)&&(he=U_(he),typeof he!="string"))throw Ua("dirty is not a string, aborting");if(!t.isSupported)return he;Ie?(P=He,oe=be):la(N),(V.uponSanitizeElement.length>0||V.uponSanitizeAttribute.length>0)&&(P=zt(P)),V.uponSanitizeAttribute.length>0&&(oe=zt(oe)),t.removed=[];const Pe=ze&&typeof he!="string"&&jo(he);if(Pe){at(he);const Mt=j(he);if(typeof Mt=="string"){const Pt=Qe(Mt);if(!P[Pt]||I[Pt])throw Oe(he),Ua("root node is forbidden and cannot be sanitized in-place")}if(Ar(he))throw Oe(he),Ua("root node is clobbered and cannot be sanitized in-place");try{zn(he)}catch(Pt){throw Oe(he),Pt}}else if(jo(he))G=Ct("<!---->"),se=G.ownerDocument.importNode(he,!0),se.nodeType===Ot.element&&se.nodeName==="BODY"||se.nodeName==="HTML"?G=se:G.appendChild(se),zn(se);else{if(!Ve&&!Ee&&!Te&&he.indexOf("<")===-1)return A&&qe?D(he):he;if(G=Ct(he),!G)return Ve?null:qe?T:""}G&&Ke&&Se(G.firstChild);const ot=Pe?he:G;try{const Mt=_t(ot);for(;ke=Mt.nextNode();)Hc(ke,ot),qc(ke),lo(ke.content)&&Br(ke.content)}catch(Mt){throw Pe&&(Oe(he),Ya(t.removed,Pt=>{Pt.element&&ce(Pt.element)})),Mt}if(Pe)return Ya(t.removed,Mt=>{Mt.element&&ce(Mt.element)}),Ee&&Eo(he),he;if(Ve){if(Ee&&Eo(G),Re)for(Ne=L.call(G.ownerDocument);G.firstChild;)Ne.appendChild(G.firstChild);else Ne=G;return(oe.shadowroot||oe.shadowrootmode)&&(Ne=z.call(r,Ne,!0)),Ne}let st=Te?G.outerHTML:G.innerHTML;return Te&&P["!doctype"]&&G.ownerDocument&&G.ownerDocument.doctype&&G.ownerDocument.doctype.name&&St(nw,G.ownerDocument.doctype.name)&&(st="<!DOCTYPE "+G.ownerDocument.doctype.name+`>
|
|
818
|
-
`+st),Ee&&(st=Zt(st)),A&&qe?D(st):st},t.setConfig=function(){let he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};
|
|
817
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R_(e,t){return L_(e)||M_(e,t)||$_(e,t)||P_()}function $_(e,t){if(e){if(typeof e=="string")return vd(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?vd(e,t):void 0}}const yd=Object.entries,xd=Object.setPrototypeOf,I_=Object.isFrozen,z_=Object.getPrototypeOf,O_=Object.getOwnPropertyDescriptor;let bt=Object.freeze,yt=Object.seal,uo=Object.create,Cd=typeof Reflect<"u"&&Reflect,Gn=Cd.apply,qn=Cd.construct;bt||(bt=function(t){return t}),yt||(yt=function(t){return t}),Gn||(Gn=function(t,a){for(var r=arguments.length,n=new Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return t.apply(a,n)}),qn||(qn=function(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return new t(...r)});const Ua=pt(Array.prototype.forEach),F_=pt(Array.prototype.lastIndexOf),_d=pt(Array.prototype.pop),Mo=pt(Array.prototype.push),W_=pt(Array.prototype.splice),po=Array.isArray,Po=pt(String.prototype.toLowerCase),Yn=pt(String.prototype.toString),wd=pt(String.prototype.match),Ro=pt(String.prototype.replace),kd=pt(String.prototype.indexOf),H_=pt(String.prototype.trim),V_=pt(Number.prototype.toString),G_=pt(Boolean.prototype.toString),Sd=typeof BigInt>"u"?null:pt(BigInt.prototype.toString),Ad=typeof Symbol>"u"?null:pt(Symbol.prototype.toString),Rt=pt(Object.prototype.hasOwnProperty),$o=pt(Object.prototype.toString),St=pt(RegExp.prototype.test),Ka=q_(TypeError);function pt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return Gn(e,t,r)}}function q_(e){return function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return qn(e,a)}}function Ye(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Po;if(xd&&xd(e,null),!po(t))return e;let r=t.length;for(;r--;){let n=t[r];if(typeof n=="string"){const i=a(n);i!==n&&(I_(t)||(t[r]=i),n=i)}e[n]=!0}return e}function Y_(e){for(let t=0;t<e.length;t++)Rt(e,t)||(e[t]=null);return e}function zt(e){const t=uo(null);for(const r of yd(e)){var a=R_(r,2);const n=a[0],i=a[1];Rt(e,n)&&(po(i)?t[n]=Y_(i):i&&typeof i=="object"&&i.constructor===Object?t[n]=zt(i):t[n]=i)}return t}function U_(e){switch(typeof e){case"string":return e;case"number":return V_(e);case"boolean":return G_(e);case"bigint":return Sd?Sd(e):"0";case"symbol":return Ad?Ad(e):"Symbol()";case"undefined":return $o(e);case"function":case"object":{if(e===null)return $o(e);const t=e,a=Xt(t,"toString");if(typeof a=="function"){const r=a(t);return typeof r=="string"?r:$o(r)}return $o(e)}default:return $o(e)}}function Xt(e,t){for(;e!==null;){const r=O_(e,t);if(r){if(r.get)return pt(r.get);if(typeof r.value=="function")return pt(r.value)}e=z_(e)}function a(){return null}return a}function K_(e){try{return St(e,""),!0}catch{return!1}}const Td=bt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Un=bt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Kn=bt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Z_=bt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Zn=bt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),X_=bt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Bd=bt(["#text"]),Nd=bt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Xn=bt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Dd=bt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Dr=bt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),J_=yt(/{{[\w\W]*|^[\w\W]*}}/g),Q_=yt(/<%[\w\W]*|^[\w\W]*%>/g),ew=yt(/\${[\w\W]*/g),tw=yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),aw=yt(/^aria-[\-\w]+$/),Ed=yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ow=yt(/^(?:\w+script|data):/i),rw=yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),nw=yt(/^html$/i),iw=yt(/^[a-z][.\w]*(-[.\w]+)+$/i),jd=yt(/<[/\w!]/g),Ld=yt(/<[/\w]/g),sw=yt(/<\/no(script|embed|frames)/i),lw=yt(/\/>/i),Ot={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Md=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],cw=bt(Ye({},Md)),dw=(function(){const e={};return Ua(Md,t=>{e[t]=yt(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),bt(e)})(),uw=function(){return typeof window>"u"?null:window},pw=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";a&&a.hasAttribute(n)&&(r=a.getAttribute(n));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Pd=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},La=function(t,a,r,n){return Rt(t,a)&&po(t[a])?Ye(n.base?zt(n.base):{},t[a],n.transform):r},Jn=function(t,a,r){const n=Rt(t,a)?t[a]:void 0;return n&&typeof n=="object"?zt(n):r()};function Rd(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:uw();const t=he=>Rd(he);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==Ot.document||!e.Element)return t.isSupported=!1,t;let a=e.document;const r=a,n=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,s=e.Node,c=e.Element,d=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const m=e.DOMParser,h=e.trustedTypes,p=c.prototype,g=Xt(p,"cloneNode"),f=Xt(p,"remove"),b=Xt(p,"nextSibling"),v=Xt(p,"childNodes"),y=Xt(p,"parentNode"),_=Xt(p,"shadowRoot"),C=Xt(p,"attributes"),x=s&&s.prototype?Xt(s.prototype,"nodeType"):null,k=s&&s.prototype?Xt(s.prototype,"nodeName"):null,w=s&&s.prototype?Xt(s.prototype,"ownerDocument"):null,S=function(N){return x?x(N):N.nodeType},j=function(N){return k?k(N):N.nodeName};if(typeof i=="function"){const he=a.createElement("template");he.content&&he.content.ownerDocument&&(a=he.content.ownerDocument)}let A,B="",F,R=!1,E=0;const M=function(){if(E>0)throw Ka('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},D=function(N){M(),E++;try{return A.createHTML(N)}finally{E--}},H=function(N){M(),E++;try{return A.createScriptURL(N)}finally{E--}},ee=function(){return R||(F=pw(h,n),R=!0),F},J=a,ae=J.implementation,T=J.createNodeIterator,L=J.createDocumentFragment,$=J.getElementsByTagName,z=r.importNode;let V=Pd();t.isSupported=typeof yd=="function"&&typeof y=="function"&&ae&&ae.createHTMLDocument!==void 0;const X=J_,W=Q_,Y=ew,O=tw,ie=aw,ue=ow,fe=rw,ye=iw;let pe=Ed,P=null;const q=Ye({},[...Td,...Un,...Kn,...Zn,...Bd]);let oe=null;const ge=Ye({},[...Nd,...Xn,...Dd,...Dr]);let de=Object.seal(uo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),I=null,Z=null;const Q=Object.seal(uo(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ve=!0,De=!0,$e=!1,Le=!0,Ee=!1,je=!0,Te=!1,Ie=!1,He=null,be=null,Ke=!1,Ve=!1,Re=!1,qe=!1,vt=!0,Ue=!1;const Xe="user-content-";let ut=!0,ze=!1,rt={},et=null;const We=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Je=null;const tt=Ye({},["audio","video","img","source","image","track"]);let xt=null;const Et=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),it="http://www.w3.org/1998/Math/MathML",Ht="http://www.w3.org/2000/svg",mt="http://www.w3.org/1999/xhtml";let Vt=mt,na=!1,Gt=null;const Ea=Ye({},[it,Ht,mt],Yn),ia=bt(["mi","mo","mn","ms","mtext"]);let Kt=Ye({},ia);const ja=bt(["annotation-xml"]);let jt=Ye({},ja);const qa=Ye({},["title","style","font","a","script"]);let $t=null;const ya=["application/xhtml+xml","text/html"],Ya="text/html";let Qe=null,It=null;const kt=a.createElement("form"),xa=function(N){return N instanceof RegExp||N instanceof Function},sa=function(){let N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(It&&It===N)return;(!N||typeof N!="object")&&(N={}),N=zt(N),$t=ya.indexOf(N.PARSER_MEDIA_TYPE)===-1?Ya:N.PARSER_MEDIA_TYPE,Qe=$t==="application/xhtml+xml"?Yn:Po,P=La(N,"ALLOWED_TAGS",q,{transform:Qe}),oe=La(N,"ALLOWED_ATTR",ge,{transform:Qe}),Gt=La(N,"ALLOWED_NAMESPACES",Ea,{transform:Yn}),xt=La(N,"ADD_URI_SAFE_ATTR",Et,{transform:Qe,base:Et}),Je=La(N,"ADD_DATA_URI_TAGS",tt,{transform:Qe,base:tt}),et=La(N,"FORBID_CONTENTS",We,{transform:Qe}),I=La(N,"FORBID_TAGS",zt({}),{transform:Qe}),Z=La(N,"FORBID_ATTR",zt({}),{transform:Qe}),rt=Rt(N,"USE_PROFILES")?N.USE_PROFILES&&typeof N.USE_PROFILES=="object"?zt(N.USE_PROFILES):N.USE_PROFILES:!1,ve=N.ALLOW_ARIA_ATTR!==!1,De=N.ALLOW_DATA_ATTR!==!1,$e=N.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=N.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ee=N.SAFE_FOR_TEMPLATES||!1,je=N.SAFE_FOR_XML!==!1,Te=N.WHOLE_DOCUMENT||!1,Ve=N.RETURN_DOM||!1,Re=N.RETURN_DOM_FRAGMENT||!1,qe=N.RETURN_TRUSTED_TYPE||!1,Ke=N.FORCE_BODY||!1,vt=N.SANITIZE_DOM!==!1,Ue=N.SANITIZE_NAMED_PROPS||!1,ut=N.KEEP_CONTENT!==!1,ze=N.IN_PLACE||!1,pe=K_(N.ALLOWED_URI_REGEXP)?N.ALLOWED_URI_REGEXP:Ed,Vt=typeof N.NAMESPACE=="string"?N.NAMESPACE:mt,Kt=Jn(N,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ye({},ia)),jt=Jn(N,"HTML_INTEGRATION_POINTS",()=>Ye({},ja));const G=Jn(N,"CUSTOM_ELEMENT_HANDLING",()=>uo(null));if(de=uo(null),Rt(G,"tagNameCheck")&&xa(G.tagNameCheck)&&(de.tagNameCheck=G.tagNameCheck),Rt(G,"attributeNameCheck")&&xa(G.attributeNameCheck)&&(de.attributeNameCheck=G.attributeNameCheck),Rt(G,"allowCustomizedBuiltInElements")&&typeof G.allowCustomizedBuiltInElements=="boolean"&&(de.allowCustomizedBuiltInElements=G.allowCustomizedBuiltInElements),yt(de),Ee&&(De=!1),Re&&(Ve=!0),rt&&(P=Ye({},Bd),oe=uo(null),rt.html===!0&&(Ye(P,Td),Ye(oe,Nd)),rt.svg===!0&&(Ye(P,Un),Ye(oe,Xn),Ye(oe,Dr)),rt.svgFilters===!0&&(Ye(P,Kn),Ye(oe,Xn),Ye(oe,Dr)),rt.mathMl===!0&&(Ye(P,Zn),Ye(oe,Dd),Ye(oe,Dr))),Q.tagCheck=null,Q.attributeCheck=null,Rt(N,"ADD_TAGS")&&(typeof N.ADD_TAGS=="function"?Q.tagCheck=N.ADD_TAGS:po(N.ADD_TAGS)&&(P===q&&(P=zt(P)),Ye(P,N.ADD_TAGS,Qe))),Rt(N,"ADD_ATTR")&&(typeof N.ADD_ATTR=="function"?Q.attributeCheck=N.ADD_ATTR:po(N.ADD_ATTR)&&(oe===ge&&(oe=zt(oe)),Ye(oe,N.ADD_ATTR,Qe))),Rt(N,"ADD_FORBID_CONTENTS")&&po(N.ADD_FORBID_CONTENTS)&&(et===We&&(et=zt(et)),Ye(et,N.ADD_FORBID_CONTENTS,Qe)),ut&&(P["#text"]=!0),Te&&Ye(P,["html","head","body"]),P.table&&(Ye(P,["tbody"]),delete I.tbody),N.TRUSTED_TYPES_POLICY){if(typeof N.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ka('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof N.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ka('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const se=A;A=N.TRUSTED_TYPES_POLICY;try{B=D("")}catch(ke){throw A=se,ke}}else N.TRUSTED_TYPES_POLICY===null?(A=void 0,B=""):(A===void 0&&(A=ee()),A&&typeof B=="string"&&(B=D("")));bt&&bt(N),It=N},ne=Ye({},[...Un,...Kn,...Z_]),xe=Ye({},[...Zn,...X_]),Ce=function(N,G,se){return G.namespaceURI===mt?N==="svg":G.namespaceURI===it?N==="svg"&&(se==="annotation-xml"||Kt[se]):!!ne[N]},U=function(N,G,se){return G.namespaceURI===mt?N==="math":G.namespaceURI===Ht?N==="math"&&jt[se]:!!xe[N]},le=function(N,G,se){return G.namespaceURI===Ht&&!jt[se]||G.namespaceURI===it&&!Kt[se]?!1:!xe[N]&&(qa[N]||!ne[N])},we=function(N){let G=y(N);(!G||!G.tagName)&&(G={namespaceURI:Vt,tagName:"template"});const se=Po(N.tagName),ke=Po(G.tagName);return Gt[N.namespaceURI]?N.namespaceURI===Ht?Ce(se,G,ke):N.namespaceURI===it?U(se,G,ke):N.namespaceURI===mt?le(se,G,ke):!!($t==="application/xhtml+xml"&&Gt[N.namespaceURI]):!1},Se=function(N){Mo(t.removed,{element:N});try{y(N).removeChild(N)}catch{if(f(N),!y(N))throw Ka("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ae=function(N,G,se){try{N.removeAttributeNode(G)}catch{try{N.removeAttribute(se)}catch{}}},Oe=function(N){ce(N);const G=v(N);if(G){const ke=[];Ua(G,Ne=>{Mo(ke,Ne)}),Ua(ke,Ne=>{try{f(Ne)}catch{}})}const se=C(N);if(se)for(let ke=se.length-1;ke>=0;--ke){const Ne=se[ke],Pe=Ne&&Ne.name;typeof Pe=="string"&&Ae(N,Ne,Pe)}},nt=function(N,G,se){if(!se)try{se=G.getAttributeNode(N)}catch{se=null}Mo(t.removed,{attribute:se||null,from:G});try{se?G.removeAttributeNode(se):G.removeAttribute(N)}catch{try{G.removeAttribute(N)}catch{}}if(N==="is")if(Ve||Re)try{Se(G)}catch{}else try{G.setAttribute(N,"")}catch{}},ct=function(N){const G=C(N);if(G)for(let se=G.length-1;se>=0;--se){const ke=G[se],Ne=ke&&ke.name;typeof Ne!="string"||oe[Qe(Ne)]||Ae(N,ke,Ne)}},ce=function(N){const G=[N];for(;G.length>0;){const se=G.pop();S(se)===Ot.element&&ct(se);const Ne=v(se);if(Ne)for(let Pe=Ne.length-1;Pe>=0;--Pe)G.push(Ne[Pe])}},Be=function(N,G){return je?N==="patchsrc"?!0:N==="for"&&G!=="label"&&G!=="output":!1},at=function(N){if(!je)return;const G=[N];for(;G.length>0;){const se=G.pop(),ke=S(se);if(ke===Ot.processingInstruction||ke===Ot.comment&&St(Ld,se.data)){try{f(se)}catch{}continue}if(ke===Ot.element){const Pe=se,ot=Qe(j(se));try{Pe.hasAttribute&&Pe.hasAttribute("patchsrc")&&Pe.removeAttribute("patchsrc"),Pe.hasAttribute&&Pe.hasAttribute("for")&&Be("for",ot)&&Pe.removeAttribute("for")}catch{}}const Ne=v(se);if(Ne)for(let Pe=Ne.length-1;Pe>=0;--Pe)G.push(Ne[Pe])}},Ct=function(N){let G=null,se=null;if(Ke)N="<remove></remove>"+N;else{const Pe=wd(N,/^[\r\n\t ]+/);se=Pe&&Pe[0]}$t==="application/xhtml+xml"&&Vt===mt&&(N='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+N+"</body></html>");const ke=A?D(N):N;if(Vt===mt)try{G=new m().parseFromString(ke,$t)}catch{}if(!G||!G.documentElement){G=ae.createDocument(Vt,"template",null);try{G.documentElement.innerHTML=na?B:ke}catch{}}const Ne=G.body||G.documentElement;return N&&se&&Ne.insertBefore(a.createTextNode(se),Ne.childNodes[0]||null),Vt===mt?$.call(G,Te?"html":"body")[0]:Te?G.documentElement:Ne},_t=function(N){const G=w?w(N):N.ownerDocument;return T.call(G||N,N,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Zt=function(N){return N=Ro(N,X," "),N=Ro(N,W," "),N=Ro(N,Y," "),N},Eo=function(N){var G;N.normalize();const se=w?w(N):N.ownerDocument,ke=T.call(se||N,N,d.SHOW_TEXT|d.SHOW_COMMENT|d.SHOW_CDATA_SECTION|d.SHOW_PROCESSING_INSTRUCTION,null);let Ne=ke.nextNode();for(;Ne;)Ne.data=Zt(Ne.data),Ne=ke.nextNode();const Pe=(G=N.querySelectorAll)===null||G===void 0?void 0:G.call(N,"template");Pe&&Ua(Pe,ot=>{lo(ot.content)&&Eo(ot.content)})},Ar=function(N){const G=k?k(N):null;return typeof G!="string"||Qe(G)!=="form"?!1:typeof N.nodeName!="string"||typeof N.textContent!="string"||typeof N.removeChild!="function"||N.attributes!==C(N)||typeof N.removeAttribute!="function"||typeof N.setAttribute!="function"||typeof N.namespaceURI!="string"||typeof N.insertBefore!="function"||typeof N.hasChildNodes!="function"||N.nodeType!==x(N)||N.childNodes!==v(N)},lo=function(N){if(!x||typeof N!="object"||N===null)return!1;try{return x(N)===Ot.documentFragment}catch{return!1}},jo=function(N){if(!x||typeof N!="object"||N===null)return!1;try{return typeof x(N)=="number"}catch{return!1}};function la(he,N,G){he.length!==0&&Ua(he,se=>{se.call(t,N,G,It)})}const yg=function(N,G){return!!(je&&N.hasChildNodes()&&!jo(N.firstElementChild)&&St(jd,N.textContent)&&St(jd,N.innerHTML)||je&&N.namespaceURI===mt&&cw[G]&&(jo(N.firstElementChild)||typeof N.textContent=="string"&&St(dw[G],N.textContent))||N.nodeType===Ot.processingInstruction||je&&N.nodeType===Ot.comment&&St(Ld,N.data))},Tr=function(N,G){if(N instanceof RegExp)return St(N,G);if(N instanceof Function){for(var se=arguments.length,ke=new Array(se>2?se-2:0),Ne=2;Ne<se;Ne++)ke[Ne-2]=arguments[Ne];return!!N(G,...ke)}return!1},xg=function(N,G,se){if(!I[G]&&Gc(G)&&Tr(de.tagNameCheck,G))return!1;if(ut&&!et[G]){const ke=y(N),Ne=v(N);if(Ne&&ke){const Pe=Ne.length;for(let ot=Pe-1;ot>=0;--ot){const st=N===se?g(Ne[ot],!0):Ne[ot];ke.insertBefore(st,b(N))}}}return Se(N),!0},Fc=function(N,G,se,ke){return N.length===0?G:G===se||G===ke?zt(G):G},Wc=function(N,G){return N===G||y(N)!==null?!1:(ze&&ce(N),!0)},Hc=function(N,G){if(la(V.beforeSanitizeElements,N,null),Wc(N,G))return!0;if(Ar(N))return Se(N),!0;const se=Qe(j(N));if(P=Fc(V.uponSanitizeElement,P,q,He),la(V.uponSanitizeElement,N,{tagName:se,allowedTags:P}),Wc(N,G))return!0;if(yg(N,se))return Se(N),!0;if(I[se]||!(Q.tagCheck instanceof Function&&Q.tagCheck(se))&&!P[se]){const Ne=xg(N,se,G);return Ne===!1&&la(V.afterSanitizeElements,N,null),Ne}if(S(N)===Ot.element&&!we(N)||(se==="noscript"||se==="noembed"||se==="noframes")&&St(sw,N.innerHTML))return Se(N),!0;if(Ee&&N.nodeType===Ot.text){const Ne=Zt(N.textContent);N.textContent!==Ne&&(Mo(t.removed,{element:N.cloneNode()}),N.textContent=Ne)}return la(V.afterSanitizeElements,N,null),!1},Vc=function(N,G,se){if(Z[G]||Be(G,N)||vt&&(G==="id"||G==="name")&&(se in a||se in kt))return!1;const ke=oe[G]||Q.attributeCheck instanceof Function&&Q.attributeCheck(G,N);return De&&St(O,G)||ve&&St(ie,G)?!0:ke?xt[G]||St(pe,Ro(se,fe,""))||(G==="src"||G==="xlink:href"||G==="href")&&N!=="script"&&kd(se,"data:")===0&&Je[N]||$e&&!St(ue,Ro(se,fe,""))?!0:!se:Gc(N)&&Tr(de.tagNameCheck,N)&&Tr(de.attributeNameCheck,G,N)||G==="is"&&de.allowCustomizedBuiltInElements&&Tr(de.tagNameCheck,se)},Cg=Ye({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Gc=function(N){return!Cg[Po(N)]&&St(ye,N)},_g=function(N,G,se,ke){if(A&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!se)switch(h.getAttributeType(N,G)){case"TrustedHTML":return D(ke);case"TrustedScriptURL":return H(ke)}return ke},wg=function(N,G,se,ke){try{se?N.setAttributeNS(se,G,ke):N.setAttribute(G,ke),Ar(N)?Se(N):_d(t.removed)}catch{nt(G,N)}},qc=function(N){la(V.beforeSanitizeAttributes,N,null);const G=N.attributes;if(!G||Ar(N))return;oe=Fc(V.uponSanitizeAttribute,oe,ge,be);const se={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:oe,forceKeepAttr:void 0};let ke=G.length;const Ne=Qe(N.nodeName);for(;ke--;){const Pe=G[ke],ot=Pe.name,st=Pe.namespaceURI,Mt=Pe.value,Pt=Qe(ot),On=Mt;let Lt=ot==="value"?On:H_(On);if(se.attrName=Pt,se.attrValue=Lt,se.keepAttr=!0,se.forceKeepAttr=void 0,la(V.uponSanitizeAttribute,N,se),Lt=se.attrValue,Ue&&(Pt==="id"||Pt==="name")&&kd(Lt,Xe)!==0&&(nt(ot,N,Pe),Lt=Xe+Lt),je&&St(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Lt)){nt(ot,N,Pe);continue}if(Pt==="attributename"&&wd(Lt,"href")){nt(ot,N,Pe);continue}if(!se.forceKeepAttr){if(!se.keepAttr){nt(ot,N,Pe);continue}if(!Le&&St(lw,Lt)){nt(ot,N,Pe);continue}if(Ee&&(Lt=Zt(Lt)),!Vc(Ne,Pt,Lt)){nt(ot,N,Pe);continue}Lt=_g(Ne,Pt,st,Lt),Lt!==On&&wg(N,ot,st,Lt)}}la(V.afterSanitizeAttributes,N,null)},Br=function(N){let G=null;const se=_t(N);for(la(V.beforeSanitizeShadowDOM,N,null);G=se.nextNode();)if(la(V.uponSanitizeShadowNode,G,null),Hc(G,N),qc(G),lo(G.content)&&Br(G.content),S(G)===Ot.element){const ke=_(G);lo(ke)&&(zn(ke),Br(ke))}la(V.afterSanitizeShadowDOM,N,null)},zn=function(N){const G=[{node:N,shadow:null}];for(;G.length>0;){const se=G.pop();if(se.shadow){Br(se.shadow);continue}const ke=se.node,Pe=S(ke)===Ot.element,ot=v(ke);if(ot)for(let st=ot.length-1;st>=0;--st)G.push({node:ot[st],shadow:null});if(Pe){const st=k?k(ke):null;if(typeof st=="string"&&Qe(st)==="template"){const Mt=ke.content;lo(Mt)&&G.push({node:Mt,shadow:null})}}if(Pe){const st=_(ke);lo(st)&&G.push({node:null,shadow:st},{node:st,shadow:null})}}};return t.sanitize=function(he){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=null,se=null,ke=null,Ne=null;if(na=!he,na&&(he="<!-->"),typeof he!="string"&&!jo(he)&&(he=U_(he),typeof he!="string"))throw Ka("dirty is not a string, aborting");if(!t.isSupported)return he;Ie?(P=He,oe=be):sa(N),(V.uponSanitizeElement.length>0||V.uponSanitizeAttribute.length>0)&&(P=zt(P)),V.uponSanitizeAttribute.length>0&&(oe=zt(oe)),t.removed=[];const Pe=ze&&typeof he!="string"&&jo(he);if(Pe){at(he);const Mt=j(he);if(typeof Mt=="string"){const Pt=Qe(Mt);if(!P[Pt]||I[Pt])throw Oe(he),Ka("root node is forbidden and cannot be sanitized in-place")}if(Ar(he))throw Oe(he),Ka("root node is clobbered and cannot be sanitized in-place");try{zn(he)}catch(Pt){throw Oe(he),Pt}}else if(jo(he))G=Ct("<!---->"),se=G.ownerDocument.importNode(he,!0),se.nodeType===Ot.element&&se.nodeName==="BODY"||se.nodeName==="HTML"?G=se:G.appendChild(se),zn(se);else{if(!Ve&&!Ee&&!Te&&he.indexOf("<")===-1)return A&&qe?D(he):he;if(G=Ct(he),!G)return Ve?null:qe?B:""}G&&Ke&&Se(G.firstChild);const ot=Pe?he:G;try{const Mt=_t(ot);for(;ke=Mt.nextNode();)Hc(ke,ot),qc(ke),lo(ke.content)&&Br(ke.content)}catch(Mt){throw Pe&&(Oe(he),Ua(t.removed,Pt=>{Pt.element&&ce(Pt.element)})),Mt}if(Pe)return Ua(t.removed,Mt=>{Mt.element&&ce(Mt.element)}),Ee&&Eo(he),he;if(Ve){if(Ee&&Eo(G),Re)for(Ne=L.call(G.ownerDocument);G.firstChild;)Ne.appendChild(G.firstChild);else Ne=G;return(oe.shadowroot||oe.shadowrootmode)&&(Ne=z.call(r,Ne,!0)),Ne}let st=Te?G.outerHTML:G.innerHTML;return Te&&P["!doctype"]&&G.ownerDocument&&G.ownerDocument.doctype&&G.ownerDocument.doctype.name&&St(nw,G.ownerDocument.doctype.name)&&(st="<!DOCTYPE "+G.ownerDocument.doctype.name+`>
|
|
818
|
+
`+st),Ee&&(st=Zt(st)),A&&qe?D(st):st},t.setConfig=function(){let he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};sa(he),Ie=!0,He=P,be=oe},t.clearConfig=function(){It=null,Ie=!1,He=null,be=null,A=F,B=""},t.isValidAttribute=function(he,N,G){It||sa({});const se=Qe(he),ke=Qe(N);return Vc(se,ke,G)},t.addHook=function(he,N){typeof N=="function"&&Rt(V,he)&&Mo(V[he],N)},t.removeHook=function(he,N){if(Rt(V,he)){if(N!==void 0){const G=F_(V[he],N);return G===-1?void 0:W_(V[he],G,1)[0]}return _d(V[he])}},t.removeHooks=function(he){Rt(V,he)&&(V[he]=[])},t.removeAllHooks=function(){V=Pd()},t}var hw=Rd();function $d(e,{onEnd:t,rate:a=.9}={}){if(typeof window>"u"||typeof SpeechSynthesisUtterance>"u"||!("speechSynthesis"in window)){t?.();return}const r=window.speechSynthesis,n=()=>{r.cancel();const i=new SpeechSynthesisUtterance(e),s=r.getVoices().find(c=>c.lang.startsWith("ko"));s&&(i.voice=s),i.rate=a,i.onend=t?function(c){try{t()}catch{}}:null,r.speak(i)};r.getVoices().length>0?n():r.addEventListener("voiceschanged",n,{once:!0})}function Id(){typeof window<"u"&&"speechSynthesis"in window&&window.speechSynthesis.cancel()}const mw=/^(?:[a-z]+:)?\/\//i;let zd="";function bw(e){const t=String(e||"").trim();return t?t.replace(/\/+$/,""):""}function Od(e){zd=bw(e)}function Qn(){return zd}function Io(e){const t=String(e||"").trim();if(!t)return"";if(mw.test(t)||t.startsWith("data:")||t.startsWith("blob:"))return t;const a=t.startsWith("/")?t:`/${t}`,r=Qn();return r?`${r}${a}`:a}const Fd="__ihab_core_storage_resolvers__";function zo(){return globalThis[Fd]??null}function gw(e){globalThis[Fd]=e}let ei=class extends Error{constructor(t){super(`
|
|
819
819
|
[ihabdevteam-core] ${t}() \uD638\uCD9C \uC2E4\uD328 \u2014 configureStorage()\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
|
|
820
820
|
|
|
821
821
|
\uC571 \uCD08\uAE30\uD654 \uC2DC\uC810(main.tsx \uB4F1)\uC5D0 \uC544\uB798\uC640 \uAC19\uC774 \uD55C \uBC88 \uD638\uCD9C\uD558\uC138\uC694:
|
|
@@ -834,22 +834,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
834
834
|
\uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
|
|
835
835
|
npm install @supabase/supabase-js
|
|
836
836
|
pnpm add @supabase/supabase-js
|
|
837
|
-
`),this.name="StorageNotConfiguredError"}};function ti(e){gw(e)}function Er(e,t){if(!e)return null;const a=zo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function ai(e){if(!e)return!1;const t=zo();if(!t)throw new ei("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Oo(e){if(!e)return null;const t=zo();if(!t)throw new ei("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function jr(e){const t=zo();if(!t)throw new ei("downloadSound");return t.download(e)}function oi(){return zo()?.noiseBaseUrl??"/sounds/noise"}const ri="__ihab_core_tts_config__";function Wd(e){globalThis[ri]=e}function Fo(){return globalThis[ri]?.urlResolver??null}function ni(){return globalThis[ri]?.fallbackUrlResolver??null}const fw=new Map;function Hd(){fw.clear()}const Vd="__ihab_core_pronunciation_resolver__";function Gd(e){globalThis[Vd]=e}function ii(){return globalThis[Vd]??null}let Wo=null;const qd=new WeakMap;function vw(){if(Wo)return Wo;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Wo=new e,Wo):null}catch{return null}}function Ho(){try{Wo?.resume()}catch{}}function Vo(e){if(!e)return null;const t=qd.get(e);if(t)return t;const a=vw();if(!a)return null;try{const r=a.createMediaElementSource(e),n=a.createAnalyser();return n.fftSize=1024,n.smoothingTimeConstant=.6,r.connect(n),r.connect(a.destination),qd.set(e,n),n}catch{return null}}function si(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const n=t[r];a+=n*n}return Math.sqrt(a/t.length)}const Yd="__ihab_core_image_config__";function Ud(e){globalThis[Yd]=e}function Ma(){return globalThis[Yd]??null}const Go="word_image_existence_map_v1";let da=null;const Lr=new Map;function qo(){if(da)return da;try{const e=typeof localStorage<"u"?localStorage.getItem(Go):null;da=e?JSON.parse(e):{}}catch{da={}}return da}let li=null;function yw(){li||(li=setTimeout(()=>{li=null;try{typeof localStorage<"u"&&da&&localStorage.setItem(Go,JSON.stringify(da))}catch{}},200))}function Mr(e,t){return`${e}_${t??1}`}async function Yo(e,t){const a=qo(),r=Mr(e,t);if(r in a)return a[r];if(Lr.has(r))return Lr.get(r);const n=Ma();if(!n)return!1;const i=n(e,t);if(!i)return!1;const s=fetch(i,{method:"HEAD",signal:AbortSignal.timeout(8e3)}).then(c=>c.ok).catch(()=>!1).then(c=>(a[r]=c,yw(),Lr.delete(r),c));return Lr.set(r,s),s}function ci(e,t){const a=qo(),r=Mr(e,t);return r in a?a[r]:void 0}async function Kd(e,t={}){const{force:a=!1,concurrency:r=16,onProgress:n}=t,i=qo(),s=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Mr(d)in i));let c=0;if(s.length>0){let d=0;const u=Array.from({length:Math.min(r,s.length)},async()=>{for(;d<s.length;){const m=d++,h=s[m],p=Mr(h);if(!a&&p in i){c++,n?.(c,s.length);continue}try{await Yo(h)}catch{}c++,n?.(c,s.length)}});await Promise.all(u)}try{typeof localStorage<"u"&&da&&localStorage.setItem(Go,JSON.stringify(da))}catch{}return{checked:s.length,cached:Object.keys(i).length,total:e.length}}function Pr(){const e=qo(),t=Object.values(e);return t.length===0?null:{total:t.length,exists:t.filter(Boolean).length}}function Zd(e){const t=qo();Object.assign(t,e);try{typeof localStorage<"u"&&localStorage.setItem(Go,JSON.stringify(t))}catch{}}function di(){da={};try{typeof localStorage<"u"&&localStorage.removeItem(Go)}catch{}}const Ze=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],dt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],gt=["","\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 Me(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 ui(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(r=>Me(r)),e.set(t,a)),a}}function ua(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function pi(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,r=null;for(let n=0;n<e.length;n++){const i=Me(e[n]),s=Me(t[n]);if(!i||!s)return"random";if(i.cho===s.cho&&i.jung===s.jung&&i.jong===s.jong)continue;a++;const c=i.cho!==s.cho,d=i.jung!==s.jung,u=i.jong!==s.jong;(c?1:0)+(d?1:0)+(u?1:0)>1?r="multi":c?r="cho":d?r="jung":r="jong"}return a!==1?"random":r==="cho"?"cho":r==="jung"?"jung":r==="jong"?"jong":"random"}function hi(e){const t=Me(e[0]||"");return t?Ze[t.cho]:""}function mi(e){return[...e].map(t=>{const a=Me(t);return a?Ze[a.cho]:t}).join("")}function bi(e){return!!e&&[...e].every(t=>Ze.includes(t))}function Xd(e,t){return t?bi(t)?mi(e).includes(t):e.toLowerCase().includes(t.toLowerCase()):!0}function ho(e,t){if(!t)return!0;const a=[...t],r=c=>Ze.includes(c),n=c=>dt.includes(c),i=a.map(c=>r(c)?"cho":n(c)?"jung":Me(c)?"syl":"other");if(i.includes("other"))return e.includes(t);const s=[...e];for(let c=0;c+a.length<=s.length;c++){let d=!0;for(let u=0;u<a.length;u++){const m=s[c+u],h=i[u];if(h==="cho"){if(hi(m)!==a[u]){d=!1;break}}else if(h==="jung"){const p=Me(m);if(!p||dt[p.jung]!==a[u]){d=!1;break}}else{const p=Me(a[u]);if(p&&p.jong===0){const g=Me(m);if(!g||g.cho!==p.cho||g.jung!==p.jung){d=!1;break}}else if(m!==a[u]){d=!1;break}}}if(d)return!0}return!1}const mo={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"]},Jd=Object.fromEntries(Object.entries(mo).map(([e,t])=>[t.join(""),gt[Number(e)]]));function xw(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r){if(Ze[r.cho]===t)return!0;if(r.jong>0){if(gt[r.jong]===t)return!0;const n=mo[r.jong];if(n&&n.includes(t))return!0}}}return!1}function Qd(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r&&Ze[r.cho]===t)return!0}return!1}function eu(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r&&dt[r.jung]===t)return!0}return!1}function tu(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(!r||r.jong<=0)continue;if(gt[r.jong]===t)return!0;const n=mo[r.jong];if(n&&n.includes(t))return!0}return!1}function bo(e){if(!e)return 0;let t=0;for(const a of e)Me(a)&&t++;return t}function gi(e){if(!e)return!1;let t=!1;for(const a of e){const r=Me(a);if(r&&(t=!0,r.jong>0))return!1}return t}function Cw(e,t){if(e.jong<=0)return!1;if(t.includes(gt[e.jong]))return!0;const a=mo[e.jong];return!!a&&a.some(r=>t.includes(r))}function fi(e,t,a){if(!e)return!1;const r=[...e],n=i=>{const s=Me(r[i]);if(!s||t.cho&&!t.cho.includes(Ze[s.cho])||t.jung&&!t.jung.includes(dt[s.jung]))return!1;if(t.jongNone){if(s.jong>0)return!1}else if(t.jong&&!Cw(s,t.jong))return!1;return!0};if(a==="head")return n(0);if(a==="tail")return n(r.length-1);if(a==="mid"){for(let i=1;i<r.length-1;i++)if(n(i))return!0;return!1}for(let i=0;i<r.length;i++)if(n(i))return!0;return!1}function vi(e){return e.includes(",")||e.includes("_")}function au(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",r=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=Jd[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:r,jong:n||"_"}]}return[...e].map(t=>Me(t)?{kind:"syllable",ch:t}:Ze.includes(t)?{kind:"cho",jamo:t}:dt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function _w(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Me(t.ch);if(!a)return e===t.ch;if(a.jong===0){const r=Me(e);return!!r&&r.cho===a.cho&&r.jung===a.jung}return e===t.ch}case"cho":{const a=Me(e);return!!a&&Ze[a.cho]===t.jamo}case"jung":{const a=Me(e);return!!a&&dt[a.jung]===t.jamo}case"template":{const a=Me(e);return!(!a||t.cho!=="_"&&Ze[a.cho]!==t.cho||t.jung!=="_"&&dt[a.jung]!==t.jung||t.jong!=="_"&>[a.jong]!==t.jong)}case"invalid":return!1}}function yi(e,t){const a=t.split(",").flatMap(n=>au(n.trim()));if(a.length===0)return!0;const r=[...e];if(r.length<a.length)return!1;for(let n=0;n+a.length<=r.length;n++)if(a.every((i,s)=>_w(r[n+s],i)))return!0;return!1}function ou(e){const t=e.split(",").flatMap(i=>au(i.trim())),a=new Set,r=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":r.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&r.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const s=Me(i.ch);s&&(a.add(Ze[s.cho]),r.add(dt[s.jung]),s.jong!==0&&n.add(gt[s.jong]));break}}return a.size===0&&r.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:r.size?[...r]:null,jong:n.size?[...n]:null}}function ww(e){return!!Me(e)||Ze.includes(e)||dt.includes(e)}function ru(e){const t=e.trim();if(!t)return{ok:!0};for(const a of t.split(",")){const r=a.trim();if(r!==""){if(r.includes("_")){const n=[...r];if(n.length>4)return{ok:!1};const i=n[0],s=n[1],c=n.slice(2).join(""),d=i===void 0||i==="_"||Ze.includes(i),u=s===void 0||s==="_"||dt.includes(s),m=c===""||c==="_"||gt.filter(Boolean).includes(c)||!!Jd[c];if(d&&u&&m)continue;return{ok:!1}}if(![...r].every(ww))return{ok:!1}}}return{ok:!0}}const kw={cho:Ze.length,jung:dt.length,jong:gt.length};function Sw(e,t,a,r,n=1/0){if(!e||a<1)return[];const i=[...e].map(h=>Me(h));if(i.some(h=>!h))return[];const s=i,c=s.length;if(a>c)return[];const d=kw[t],u=new Set,m=[];(function h(p,g){if(g.length===a){m.push([...g]);return}for(let f=p;f<c;f++)g.push(f),h(f+1,g),g.pop()})(0,[]);for(const h of m)if((function p(g,f){if(u.size>=n)return;if(g===h.length){const y=f.map(_=>ua(_.cho,_.jung,_.jong)).join("");y!==e&&r.has(y)&&u.add(y);return}const b=h[g],v=s[b][t];for(let y=0;y<d;y++){if(y===v)continue;const _=f.slice();if(_[b]={...f[b],[t]:y},p(g+1,_),u.size>=n)return}})(0,s),u.size>=n)break;return[...u]}function Aw(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let r=0;r<e.length;r++){const n=Me(e[r]),i=Me(t[r]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function nu(e,t){const a=t.trim();if(!a||!/[^\s,_]/.test(a))return e;if(vi(a))return e.filter(s=>yi(s.word,a));const r=e.filter(s=>ho(s.word,a)||ho(s.pronunciation??"",a)),n=[...a].length,i=s=>!!s&&ho(s.slice(0,n),a);return r.map(s=>({w:s,rank:i(s.word)||i(s.pronunciation??"")?0:1})).sort((s,c)=>s.rank-c.rank).map(s=>s.w)}const xi="word_pair_index_v2",Ci="word_pair_index_sig_v2";let pa=null,Uo=null;function iu(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(xi),t=localStorage.getItem(Ci);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function Tw(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(xi,JSON.stringify(e)),localStorage.setItem(Ci,t)}catch{}}function Bw(e){const t=e.map(r=>`${r.word}|${r.pron??""}`).sort();let a=0;for(const r of t)for(let n=0;n<r.length;n++)a=(a<<5)-a+r.charCodeAt(n)|0;return`${t.length}-${a}`}async function Nw(e,t){const a=new Set,r=[];for(const u of e){if(!u.word||a.has(u.word))continue;const m=u.pron||u.word,h=Array.from(m).map(Me);h.some(p=>p===null)||h.length===Array.from(u.word).length&&(a.add(u.word),r.push({word:u.word,syls:h}))}const n={},i=r.length,s=new Map;for(const u of r){const m=u.syls.length;s.has(m)||s.set(m,[]),s.get(m).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of s.values()){const m=u[0].syls.length;for(let h=0;h<m;h++)for(const p of d){const g=new Map;for(const f of u){let b="";for(let y=0;y<m;y++){y>0&&(b+="~");const _=f.syls[y];y===h?p==="cho"?b+=`*:${_.jung}:${_.jong}`:p==="jung"?b+=`${_.cho}:*:${_.jong}`:b+=`${_.cho}:${_.jung}:*`:b+=`${_.cho}:${_.jung}:${_.jong}`}let v=g.get(b);v||(v=[],g.set(b,v)),v.push(f)}for(const f of g.values())if(!(f.length<2))for(let b=0;b<f.length;b++){const v=f[b];for(let y=b+1;y<f.length;y++){const _=f[y];v.syls[h][p]!==_.syls[h][p]&&(n[v.word]||(n[v.word]={cho:[],jung:[],jong:[]}),n[_.word]||(n[_.word]={cho:[],jung:[],jong:[]}),n[v.word][p].push(_.word),n[_.word][p].push(v.word))}}}c+=u.length,t?.(c,i),await new Promise(h=>setTimeout(h,0))}return i>0&&t?.(i,i),n}async function su(e,t={}){const a=Bw(e);if(!t.force){if(pa&&Uo===a)return pa;const n=iu();if(n&&n.sig===a)return pa=n.index,Uo=a,pa}const r=await Nw(e,t.onProgress);return pa=r,Uo=a,Tw(r,a),r}function Ka(){if(pa)return pa;const e=iu();return e?(pa=e.index,Uo=e.sig,pa):null}function _i(){pa=null,Uo=null;try{typeof localStorage<"u"&&(localStorage.removeItem(xi),localStorage.removeItem(Ci))}catch{}}const wi={cho:Ze,jung:dt,jong:gt},ft=e=>Array.isArray(e)?e.length>0:!!e;function Ko(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const r=e[a],n=t[a];if(!(!r||!n)&&(r.cho!==n.cho&&Ze[r.cho]==="\u3147"!=(Ze[n.cho]==="\u3147")||r.jong!==n.jong&&r.jong===0!=(n.jong===0)))return!0}return!1}function ki(e,t,a){const r=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(r):null,s=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==r&&(i&&n&&Ko(i,n(a.pronOf(c)))||s.push(c)));return s}function Rr(e,t,a){const r=t?.[e];if(!r)return[];const n=a.kind?r[a.kind]??[]:[...r.cho??[],...r.jung??[],...r.jong??[]];return ki(e,n,a)}function Si(e,t,a,r,n,i,s){const c=["cho","jung","jong"].filter(p=>ft(e[p])),d={};for(const p of c){const g=e[p];d[p]=new Set(Array.isArray(g)?g:[g])}const u=n==="pron",m=new Map;for(const p of t){const g=a(i(p));if(g.some(y=>!y))continue;let f=g;if(!u&&(f=a(p),f.length!==g.length||f.some(y=>!y)))continue;const b=g.length,v=m.get(b);v?v.push({w:p,dPron:g,dPos:f}):m.set(b,[{w:p,dPron:g,dPos:f}])}const h=new Map;for(const[p,g]of m){const f=new Map,b=(v,y)=>{const _=v.dPos[y];return _!=null&&c.every(C=>d[C].has(wi[C][_[C]]))};for(const v of g){let y;if(s==="head")y=b(v,0)?0:-1;else if(s==="tail")y=b(v,p-1)?p-1:-1;else if(s==="mid"){y=-1;for(let C=1;C<p-1;C++)if(b(v,C)){y=C;break}}else y=v.dPos.findIndex(C=>C!=null&&c.every(x=>d[x].has(wi[x][C[x]])));if(y<0)continue;const _=f.get(y);_?_.push(v):f.set(y,[v])}for(const[v,y]of f){const _=new Set(c.map(k=>v+":"+k)),C=k=>{let w="";for(let S=0;S<p;S++){const j=k[S];for(const A of["cho","jung","jong"])w+=(_.has(S+":"+A)?"*":j[A])+"."}return w},x=new Map;for(const k of g){const w=C(k.dPron),S=x.get(w);S?S.push(k):x.set(w,[k])}for(const k of y){const w=x.get(C(k.dPron))??[],S=[];for(const j of w){if(j.w===k.w)continue;let A=!0;for(const T of c){const F=k.dPron[v][T],R=j.dPron[v][T];if(R===F){A=!1;break}if(u&&d[T].has(wi[T][R])){A=!1;break}}A&&(r&&Ko(k.dPron,j.dPron)||S.push(j.w))}h.set(k.w,S)}}}return h}const $r=0,lu=1,Za=2,Ai=3,Dw=4,Ir=5,Ti=6,zr=7,Ew=8,cu=9,Zo=10,jw=11,Xo=12,Lw=13,Jo=14,Or=15,Fr=16,Qo=17,Mw=18,ha=0,_a=1,Pw=3,Xa=4,Bi=5,Ni=6,ma=7,At=8,du=9,uu=10,Wr=11,pu=12,Di=13,Hr=15,Vr=16,wa=17,hu=18,Ei=21,mu=27,Rw=20,$w={1:$r,2:lu,4:Za,7:Ai,8:Ir,16:Ti,17:zr,19:cu,20:Zo,22:Xo,23:Jo,24:Or,25:Fr,26:Qo},Iw={[Pw]:[_a,Zo],[Bi]:[Xa,Xo],[du]:[At,$r],[uu]:[At,Ti],[Wr]:[At,zr],[pu]:[At,Zo],[Di]:[At,Fr],14:[At,Qo],[hu]:[wa,Zo]},zw={[Ni]:Za,[Hr]:Ir},ji={2:_a,24:_a,3:_a,9:_a,5:Xa,6:Xa,19:ma,20:ma,22:ma,23:ma,25:ma,27:ma,11:At,12:At,13:At,15:At,10:Vr,14:wa,18:wa,26:wa},bu={[$r]:Or,[Ai]:Fr,[zr]:Qo,[Xo]:Jo},gu={[$r]:lu,[Ai]:Dw,[zr]:Ew,[cu]:Zo,[Xo]:Lw},Ow=new Set([Bi,uu,Wr,pu,Di,Hr,hu]),Fw=new Set(["\uBC1F"]);function fu(e){const t=(e??"").trim();if(!t)return"";const a=[...t],r=a.map(Me);if(r.some(i=>i===null))return t;const n=r;for(let i=0;i<n.length;i++){const s=n[i],c=n[i+1],d=s.jong;if(!c){s.jong=ji[s.jong]??s.jong;break}if(s.jong===ha)continue;if(c.cho===jw){if(c.jung===Rw){if(s.jong===ma){s.jong=ha,c.cho=Xo;continue}if(s.jong===25){s.jong=ha,c.cho=Jo;continue}if(s.jong===Di){s.jong=At,c.cho=Jo;continue}}if(s.jong===mu){s.jong=ha;continue}const m=zw[s.jong];if(m!==void 0){s.jong=ha,c.cho=m;continue}const h=Iw[s.jong];if(h){s.jong=h[0],c.cho=h[1];continue}const p=$w[s.jong];p!==void 0&&(s.jong=ha,c.cho=p);continue}if((s.jong===mu||s.jong===Ni||s.jong===Hr)&&bu[c.cho]!==void 0){c.cho=bu[c.cho],s.jong=s.jong===Ni?Xa:s.jong===Hr?At:ha;continue}if(c.cho===Mw){if(s.jong===Bi){s.jong=Xa,c.cho=Jo;continue}if(s.jong===du){s.jong=At,c.cho=Or;continue}if(s.jong===Wr){s.jong=At,c.cho=Qo;continue}const m=ji[s.jong]??s.jong;if(m===_a){s.jong=ha,c.cho=Or;continue}if(m===ma){s.jong=ha,c.cho=Fr;continue}if(m===wa){s.jong=ha,c.cho=Qo;continue}}let u=ji[s.jong]??s.jong;d===Wr&&Fw.has(a[i])&&(u=wa),s.jong=u,gu[c.cho]!==void 0&&(u===_a||u===ma||u===wa||Ow.has(d))&&(c.cho=gu[c.cho]),(c.cho===Za||c.cho===Ti)&&(s.jong===_a?s.jong=Ei:s.jong===ma?s.jong=Xa:s.jong===wa&&(s.jong=Vr)),c.cho===Ir?s.jong===Xa?s.jong=At:s.jong===Vr||s.jong===Ei?c.cho=Za:s.jong===_a?(s.jong=Ei,c.cho=Za):s.jong===wa&&(s.jong=Vr,c.cho=Za):s.jong===At&&c.cho===Za&&(c.cho=Ir)}return n.map(i=>ua(i.cho,i.jung,i.jong)).join("")}const Ww={\u3131:"\u3131",\u3132:"\u3131",\u314B:"\u3131",\u3133:"\u3131",\u313A:"\u3131",\u3134:"\u3134",\u3135:"\u3134",\u3136:"\u3134",\u3137:"\u3137",\u3145:"\u3137",\u3146:"\u3137",\u3148:"\u3137",\u314A:"\u3137",\u314C:"\u3137",\u314E:"\u3137",\u3139:"\u3139",\u313C:"\u3139",\u313D:"\u3139",\u313E:"\u3139",\u3140:"\u3139",\u3141:"\u3141",\u313B:"\u3141",\u3142:"\u3142",\u314D:"\u3142",\u313F:"\u3142",\u3144:"\u3142",\u3147:"\u3147"},Hw={\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"}};function Gr(e){return Ww[e]??e}const go=/[ㄱ-ㅎ]/,Vw=/[ㅏ-ㅣ]/;function er(e){for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||go.test(a)||Vw.test(a))return a}return null}function Li(e){const t=er(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":go.test(t)?"\uC774":"\uAC00"}function Mi(e){return`${e}${Li(e)}`}function Pi(e){const t=er(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":go.test(t)?"\uC744":"\uB97C"}function Ri(e){return`${e}${Pi(e)}`}function $i(e){const t=er(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":go.test(t)?"\uC740":"\uB294"}function vu(e){return`${e}${$i(e)}`}function Ii(e){const t=er(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":go.test(t)?"\uACFC":"\uC640"}function yu(e){return`${e}${Ii(e)}`}function zi(e){const t=er(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const r=(a-44032)%28;return r===0||r===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":go.test(t)?"\uC73C\uB85C":"\uB85C"}function xu(e){return`${e}${zi(e)}`}function Oi(e,t,a){const r=e.slice(),[n]=r.splice(t,1);return r.splice(a,0,n),r}function Ge(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const n=Math.floor(t()*(r+1));[a[r],a[n]]=[a[n],a[r]]}return a}function Jt(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?Ge(e,a):Ge(e,a).slice(0,t)}const fo={SAME_SOUND_PICK:{difficulty:!0,choseong:!0,group:"discrimination"},SAME_OR_DIFF:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_SAME:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_INCLUDED:{difficulty:!0,choseong:!0,group:"discrimination"},STARTS_WITH_SAME_SOUND:{difficulty:!1,choseong:!0,group:"discrimination"},LISTEN_AND_REMEMBER_ORDER:{difficulty:!1,choseong:!0,group:"attention"},MERGE_2_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_2_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},DROP_1_FROM_2SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_1_FROM_3SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_PART_FROM_COMPOUND:{difficulty:!1,choseong:!0,group:"deletion"},DROP_FINAL_CONSONANT_FROM_1SYLL:{difficulty:!1,choseong:!0,group:"deletion"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{difficulty:!1,choseong:!0,group:"deletion"},CHANGE_1_SYLL_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_SYLL_IN_3SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_1SYLL:{difficulty:!1,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"}};function Gw(e){const t=e?fo[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const qw=Ze.indexOf("\u3147"),qr={DROP_FINAL_CONSONANT_FROM_1SYLL:{syllables:1,syllable:e=>e.jong>0},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{syllables:1,syllable:e=>e.jong===0&&e.cho!==qw},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0}},Yw=new Set([]);function Cu(e){return e in qr}function _u(e,t){const a=qr[e];if(!a)return!0;const r=[...t];if(r.length!==a.syllables)return!1;const n=Me(r[0]);return!!n&&a.syllable(n)}function wu(e){return Yw.has(e)}function Uw(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Fi(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function ku(e){const t=e.charCodeAt((e.length||1)-1)||0;if(t<44032||t>55203)return"\uB85C";const a=(t-44032)%28;return a===0||a===8?"\uB85C":"\uC73C\uB85C"}function Su(e){const t=e.charAt((e.length||1)-1),a=t.charCodeAt(0)||0;return a>=44032&&a<=55203?(a-44032)%28===0?"\uAC00":"\uC774":/[ㄱ-ㅎ]/.test(t)?"\uC774":"\uAC00"}const Au={\u3131:"\uAE30\uC5ED",\u3132:"\uC30D\uAE30\uC5ED",\u3134:"\uB2C8\uC740",\u3137:"\uB514\uADFF",\u3138:"\uC30D\uB514\uADFF",\u3139:"\uB9AC\uC744",\u3141:"\uBBF8\uC74C",\u3142:"\uBE44\uC74D",\u3143:"\uC30D\uBE44\uC74D",\u3145:"\uC2DC\uC637",\u3146:"\uC30D\uC2DC\uC637",\u3147:"\uC774\uC751",\u3148:"\uC9C0\uC752",\u3149:"\uC30D\uC9C0\uC752",\u314A:"\uCE58\uC753",\u314B:"\uD0A4\uC754",\u314C:"\uD2F0\uC755",\u314D:"\uD53C\uC756",\u314E:"\uD788\uC757",\u3133:"\uAE30\uC5ED\uC2DC\uC637",\u3135:"\uB2C8\uC740\uC9C0\uC752",\u3136:"\uB2C8\uC740\uD788\uC757",\u313A:"\uB9AC\uC744\uAE30\uC5ED",\u313B:"\uB9AC\uC744\uBBF8\uC74C",\u313C:"\uB9AC\uC744\uBE44\uC74D",\u313D:"\uB9AC\uC744\uC2DC\uC637",\u313E:"\uB9AC\uC744\uD2F0\uC755",\u313F:"\uB9AC\uC744\uD53C\uC756",\u3140:"\uB9AC\uC744\uD788\uC757",\u3144:"\uBE44\uC74D\uC2DC\uC637",\u314F:"\uC544",\u3150:"\uC560",\u3151:"\uC57C",\u3152:"\uC598",\u3153:"\uC5B4",\u3154:"\uC5D0",\u3155:"\uC5EC",\u3156:"\uC608",\u3157:"\uC624",\u3158:"\uC640",\u3159:"\uC65C",\u315A:"\uC678",\u315B:"\uC694",\u315C:"\uC6B0",\u315D:"\uC6CC",\u315E:"\uC6E8",\u315F:"\uC704",\u3160:"\uC720",\u3161:"\uC73C",\u3162:"\uC758",\u3163:"\uC774"};function Tu(e){if([...e].length!==1)return[e];const t=Me(e);if(!t)return[e];const a=[Ze[t.cho],dt[t.jung]];return t.jong!==0&&a.push(gt[t.jong]),a}function Wi(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const r=c=>Au[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${Uw(r(c))}`).join(" "),i=a[a.length-1],s=`"${i}"${Fi(r(i))}`;return`${n} ${s} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function Kw(e,t){return Wi(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}function Zw(e,t){const a=String(t?.word??t?.original??""),r=String(t?.changedFrom??""),n=String(t?.changedTo??"");return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Fi(a)} "${n}"${ku(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${r}"${Fi(r)} "${n}"${ku(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function Xw(e,t){const a=String(t?.word??t?.original??t?.base??""),r=String(t?.dropped??"");if(e==="DROP_FINAL_CONSONANT_FROM_1SYLL")return`"${a}"\uC5D0\uC11C \uBC1B\uCE68\uC774 \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`;if(e==="REMOVE_CONSONANT_AND_IDENTIFY_PHONEME"){const n=String(t?.missingConsonant??"");return`"${a}"\uC5D0\uC11C "${n}"${Su(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${r}"${Su(r)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Bu(e,t,a){switch(Gw(e)){case"synthesis":return Kw(e,a);case"substitution":return Zw(e,t);case"deletion":return Xw(e,t);default:return""}}function Nu(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,r)=>{const n=Au[a];if(!n)return t;if(!r)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,s=i!==0;let c=r;return r==="\uC640"||r==="\uACFC"?c=s?"\uACFC":"\uC640":r==="\uC744"||r==="\uB97C"?c=s?"\uC744":"\uB97C":r==="\uC774"||r==="\uAC00"?c=s?"\uC774":"\uAC00":r==="\uC740"||r==="\uB294"?c=s?"\uC740":"\uB294":(r==="\uC73C\uB85C"||r==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const Jw=e=>e==null?[]:Array.isArray(e)?e:[e];function Hi(e){if([...e].length!==1)return"";const t=Me(e);if(!t)return"";const a=Gr(gt[t.jong]),r=a===""?0:gt.indexOf(a);return ua(t.cho,t.jung,r<0?0:r)}function Yr(e,t){return t.get(e)||Hi(e)||e}function tr(e){return e?ft(e.cho)?"cho":ft(e.jung)?"jung":ft(e.jong)?"jong":null:null}function Pa(e,t){const a=(r,n)=>!ft(r)||Jw(r).includes(n);return a(t.cho,Ze[e.cho])&&a(t.jung,dt[e.jung])&&a(t.jong,gt[e.jong])}function Ja(e,t,a){const r=[...e];if(a!=="pron")return r.map(i=>Me(i));const n=[...t.get(e)||e];return n.length!==r.length?r.map(i=>Me(i)):n.map(i=>Me(i))}function Qa(e,t,a,r,n){const i=t==="cho"?Ze:t==="jung"?dt:gt,s=e[t],c=[],d=new Set([Yr(a,n)]),u=Ge(i.map((m,h)=>h).filter(m=>m!==s&&(t!=="cho"||i[m]!=="\u3147")&&(t!=="jong"||m!==0)));for(const m of u){if(c.length>=r)break;const h=t==="cho"?ua(m,e.jung,e.jong):t==="jung"?ua(e.cho,m,e.jong):ua(e.cho,e.jung,m),p=Yr(h,n);d.has(p)||(d.add(p),c.push(h))}return c}function Vi(e,t,a,r,n,i=null){const s=[...e];if(s.length!==2)return null;const c=s.map(h=>Me(h));if(c.some(h=>!h))return null;const d=Ja(e,a,r);if(d.some(h=>!h))return null;const u=tr(t);let m=u&&t?d.map((h,p)=>Pa(h,t)?p:-1).filter(h=>h>=0):[0,1];if(i!=null&&(m=m.filter(h=>h!==i)),!m.length)return null;for(const h of Ge(m)){const p=s[h];if(!n.has(p))continue;const g=Qa(c[h],u??"cho",p,40,a),f=[];for(const b of g)if(b!==p&&n.has(b)&&!f.includes(b)&&f.push(b),f.length>=2)break;if(!(f.length<2))return{question:e,distractors:[p,...f]}}return null}function Gi(e,t,a,r,n,i=null){const s=[...e];if(s.length!==3)return null;const c=s.map(h=>Me(h));if(c.some(h=>!h))return null;const d=Ja(e,a,r);if(d.some(h=>!h))return null;const u=tr(t),m=u&&t?d.map((h,p)=>Pa(h,t)?p:-1).filter(h=>h>=0):[0,1,2];if(!m.length)return null;for(const h of Ge(m))for(const p of Ge([0,1,2].filter(g=>g!==h&&(i==null||g===i)))){const g=[0,1,2].filter(_=>_!==p),f=g.map(_=>s[_]).join("");if(!n.has(f))continue;const b=g.indexOf(h),v=Qa(c[h],u??"cho",s[h],40,a),y=[];for(const _ of v){const C=g.map(k=>s[k]);C[b]=_;const x=C.join("");if(x!==f&&n.has(x)&&!y.includes(x)&&y.push(x),y.length>=2)break}if(!(y.length<2))return{question:e,distractors:[f,...y]}}return null}function qi(e,t,a,r,n,i=null){const s=[...e],c=s.length;if(c<2)return null;const d=[];for(let m=1;m<=c-1;m++)d.push({remain:s.slice(0,m).join(""),dropped:s.slice(m).join(""),droppedEnd:1}),d.push({remain:s.slice(c-m).join(""),dropped:s.slice(0,c-m).join(""),droppedEnd:0});const u=tr(t);for(const{remain:m,dropped:h,droppedEnd:p}of Ge(d)){if(i!=null&&p!==i||m===e||!n.has(m)||!n.has(h))continue;const g=[...m],f=g.map(y=>Me(y));if(f.some(y=>!y))continue;const b=Ja(m,a,r);if(b.some(y=>!y))continue;const v=u&&t?b.map((y,_)=>Pa(y,t)?_:-1).filter(y=>y>=0):g.map((y,_)=>_);if(v.length)for(const y of Ge(v)){const _=Qa(f[y],u??"cho",g[y],40,a),C=[];for(const x of _){const k=[...g];k[y]=x;const w=k.join("");if(w!==m&&n.has(w)&&!C.includes(w)&&C.push(w),C.length>=2)break}if(C.length>=2)return{question:e,distractors:[m,...C]}}}return null}function Yi(e,t,a,r,n,i=null){if([...e].length!==1)return null;const s=Me(a.get(e)||e);if(!s||s.jong===0)return null;const c=ua(s.cho,s.jung,0),d=Qa({cho:s.cho,jung:s.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const Ui=Ze.indexOf("\u3147");function Ki(e,t,a,r,n,i=null){if([...e].length!==1)return null;const s=Me(a.get(e)||e);if(!s||s.jong!==0||s.cho===Ui)return null;const c=ua(Ui,s.jung,0),d=Qa({cho:Ui,jung:s.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Zi(e){const t=new Map;for(const a of e){const r=[...a],n=r.length;if(!(n<2||n>3))for(let i=0;i<n;i++){let s=n+"|"+i+"|";for(let d=0;d<n;d++)s+=d===i?"*":r[d];const c=t.get(s);c?c.push(a):t.set(s,[a])}}return t}function Xi(e,t,a,r,n,i=null,s=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const m=d.map(_=>Me(_));if(m.some(_=>!_))return null;const h=Ja(e,a,r);if(h.some(_=>!_))return null;const p=_=>a.get(_)??_,g=p(e),f=!!t&&(ft(t.cho)||ft(t.jung)||ft(t.jong)),b=!!s&&(ft(s.cho)||ft(s.jung)||ft(s.jong)),v=_=>{let C=u+"|"+_+"|";for(let x=0;x<u;x++)C+=x===_?"*":d[x];return C};let y;if(i!=null){if(i>=u||f&&!Pa(h[i],t))return null;y=[i]}else f?y=h.map((_,C)=>Pa(_,t)?C:-1).filter(_=>_>=0):y=Array.from({length:u},(_,C)=>C);for(const _ of Ge(y)){const C=n.get(v(_))??[],x=[],k=[];for(const T of C){if(T===e)continue;const F=[...T].map(D=>Me(D)),R=m[_],E=F[_];if(!R||!E)continue;let M=0;if(R.cho!==E.cho&&M++,R.jung!==E.jung&&M++,R.jong!==E.jong&&M++,!(M<c||p(T)===g))if(b){const D=Ja(T,a,r)[_];D&&Pa(D,s)?x.push(T):k.push(T)}else x.push(T)}if(!x.length)continue;const w=Ge(x)[0],S=[],j=new Set([g,p(w)]),A=b?k:x.filter(T=>T!==w);for(const T of Ge(A)){const F=p(T);if(!j.has(F)&&(j.add(F),S.push(T),S.length>=2))break}if(!b&&S.length<2)for(const T of Ge(C)){if(T===e||T===w)continue;const F=p(T);if(!j.has(F)&&(j.add(F),S.push(T),S.length>=2))break}if(!(S.length<2))return{question:e,distractors:[w,...S]}}return null}function Ur(e,t="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"){if(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 Ji="\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.";function Qi(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Du(e){return Qi(e)?Ji:e}function Eu(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function ju(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Lu(e){let t=e==null?"":String(e);return/^[=+\-@\t\r]/.test(t)&&(t=" "+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}function Mu(e,t){const a=new Blob(["\uFEFF"+t],{type:"text/csv;charset=utf-8"}),r=URL.createObjectURL(a),n=document.createElement("a");n.href=r,n.download=e,n.click(),URL.revokeObjectURL(r)}const Pu="__ihab_core_word_pool__";function Qw(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Ru(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const r={entries:e,pairIndex:t??null,byWord:a};globalThis[Pu]=r,Qw()}function vo(){return globalThis[Pu]??null}const yo=globalThis;function es(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function $u(e){yo.__ihabTrainingTimeLogger=e}function ts(e){es("time",()=>yo.__ihabTrainingTimeLogger?.(e))}function Iu(e){yo.__ihabTrainingCompletionLogger=e}function as(e){es("completion",()=>yo.__ihabTrainingCompletionLogger?.(e))}function zu(e){yo.__ihabCrosswordLogger=e}function Ou(e){es("crossword",()=>yo.__ihabCrosswordLogger?.(e))}function Qt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function os(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 rs(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Qt(r.contextCode)??Qt(r.itemId)??Qt(r.itemCode)??Qt(r.id),question:Qt(r.question)??Qt(r.sentence)??Qt(r.word)??Qt(r.targetSyllable),answer:Qt(r.answer),selected:Qt(r.selectedText)??Qt(r.selected),correct:os(r)}}):[]}function Fu(e){return e.filter(t=>t.correct===!1)}let Wu=null,Hu=null,Vu=null;function Gu(e){Wu=e}function qu(e){Hu=e}function Yu(e){Vu=e}async function Uu(e,t){try{return await Wu?.(e,t)??null}catch{return null}}async function Ku(){try{return await Hu?.()??null}catch{return null}}async function Zu(e,t){try{return await Vu?.(e,t)??null}catch{return null}}const ns=globalThis;function Xu(e){ns.__ihabNoiseSettingsStore=e}async function is(){try{return await ns.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ss(e){const t=a=>{};try{const a=ns.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function ar(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(r=>{a+=r.toString(16).padStart(2,"0")}),a}const Ju=ar;function Qu(e,t){return`${e}/${ar(t)}.mp3`}function ep(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",r=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??ar;return async function(i){const s=String(i||"").trim();if(!s)return"";const c=`${n(s)}_${a}.mp3`,d=`${t}/${c}`;try{if(await ai(d)){const u=await Oo(d);if(u)return u}}catch{}if(e.generator)try{const u=await e.generator(s,d,e);if(u)return u}catch{}try{const u=`/api/tts?word=${encodeURIComponent(s)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(r))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function ls(e){if(typeof document<"u")try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.opacity="0",t.style.pointerEvents="none",document.body.appendChild(t),t.focus(),t.select(),t.setSelectionRange(0,e.length);const a=document.execCommand("copy");if(document.body.removeChild(t),a)return!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 xo="Asia/Seoul";function tp(e){return new Date(e).toLocaleDateString("ko-KR",{timeZone:xo,year:"numeric",month:"short",day:"numeric"})}function ap(e){return new Date(e).toLocaleString("ko-KR",{timeZone:xo,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function op(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US";return new Date(e).toLocaleDateString(a,{timeZone:xo,year:"numeric",month:"short",day:"numeric"})}function rp(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US";return new Date(e).toLocaleString(a,{timeZone:xo,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function np(e){return new Date(e).toLocaleString("ko-KR",{timeZone:xo,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function ip(e){if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat("en-GB",{timeZone:xo,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t)}function Kr(){return ka(new Date)}function ka(e){if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t)}function Zr(e,t){if(!e)return"";const a=new Date(e).getTime();if(Number.isNaN(a))return"";const r=Math.max(0,Math.floor((Date.now()-a)/1e3)),n=Math.floor(r/60),i=Math.floor(n/60),s=Math.floor(i/24),c=Math.floor(s/7),d=Math.floor(s/30),u=Math.floor(s/365);return n<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):n<60?t("store.time.minutesAgo",{n}):i<24?t("store.time.hoursAgo",{n:i}):s<7?t("store.time.daysAgo",{n:s}):c<5?t("store.time.weeksAgo",{n:c}):s<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:u})}function Xr(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const s=ka(e instanceof Date?e:String(e));if(!s)return i;const[c,d,u]=s.split("-"),m=r?d:String(Number(d)),h=r?u:String(Number(u));return`${c}${a}${m}${a}${h}${n?".":""}`}function sp(e){const t=e.replace(/\D/g,"").slice(0,11);return t.startsWith("02")?t.length<=2?t:t.length<=6?`${t.slice(0,2)}-${t.slice(2)}`:`${t.slice(0,2)}-${t.slice(2,t.length-4)}-${t.slice(t.length-4)}`:t.length<=3?t:t.length<=7?`${t.slice(0,3)}-${t.slice(3)}`:`${t.slice(0,3)}-${t.slice(3,t.length-4)}-${t.slice(t.length-4)}`}function lp(e){if(e){if(/^\d{4}\.\d{2}\.\d{2}$/.test(e))return e;if(/^\d{8}$/.test(e))return`${e.slice(0,4)}.${e.slice(4,6)}.${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e.replace(/-/g,".");if(/^\d{4}-\d{2}-\d{2}T/.test(e)){const t=new Date(e);return isNaN(t.getTime())?void 0:ka(t).replace(/-/g,".")}}}function cp(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function or(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function Jr(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:n,mm:a[2]})}function rr(e){return(e??0).toLocaleString("ko-KR")}const e4=[{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"}]}],t4=[{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"}];let cs=null;function dp(e){cs=e}function Qr(){return cs?.topicTypes??e4}function ds(){return cs?.trainingTypes??t4}const up="ihab_theme",a4="light";function us(){try{const e=localStorage.getItem(up);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return a4}function ps(e){try{document.documentElement.setAttribute("data-theme",e),localStorage.setItem(up,e)}catch{}}function pp(){ps(us())}const hp="ihab_font_scale",o4="medium",r4=["medium","large1","large2","large3"];function hs(){try{const e=localStorage.getItem(hp);if(r4.includes(e))return e}catch{}return o4}function ms(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(hp,e)}catch{}}function mp(){ms(hs())}const Ra=[],$a=[],Ia=[],za=[],nr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},ir={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},n4={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let bs=null,bp=null,Oa=null;function gs({counts:e,forceRefresh:t}={}){const a=Object.assign({},n4,e||{}),r=Kr(),n=ka(new Date(`${r}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&bp===r&&bs===i&&Oa)return Object.assign(nr,Oa.today),Object.assign(ir,Oa.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:nr,yesterday:ir};const s={LISTEN_IN_NOISE:Jt(Ra,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Jt($a,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Jt(Ia,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Jt(za,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return Oa&&bs===i&&Oa.yesterday&&Oa.yesterday.date===n&&(c=Oa.yesterday.selection),c||(c={LISTEN_IN_NOISE:Jt(Ra,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Jt($a,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Jt(Ia,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Jt(za,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(nr,s),Object.assign(ir,c),bp=r,bs=i,Oa={today:s,yesterday:{date:n,countsKey:i,selection:c}},{today:nr,yesterday:ir}}function gp(){return{today:nr,yesterday:ir}}function fs(){return{LISTEN_IN_NOISE:Ra,SHORT_STORY:$a,LONG_STORY:Ia,ORDERING_SENTENCE:za}}let vs=!1,sr=null;async function i4(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}&&void 0||"/",t=await fetch(`${e}data/allTrainingData.json`);return t.ok?await t.json():null}catch{return null}}async function ys(){if(!vs)return sr||(sr=(async()=>{const e=await i4();if(!e){sr=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}try{for(const t of Object.keys(e||{})){const a=e[t]||[];for(const r of a){const n=r,i=String(n.training_type||t),s=String(n.category_main_code||n.category_main||n.category_0||""),c=String(n.category_sub_code||n.category_sub||n.category_1||""),d=Object.assign({},n,{training_type:i,category_0:s,category_1:c});i==="LISTEN_IN_NOISE"?Ra.push(d):i==="SHORT_STORY"?$a.push(d):i==="LONG_STORY"?Ia.push(d):i==="ORDERING_SENTENCE"&&za.push(d)}}}catch{sr=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}try{gs()}catch{}vs=!0})(),sr)}function fp(){return vs}async function xs(e=3e3){const t=ys();return Promise.race([t,new Promise(a=>setTimeout(a,e))])}const en=[{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."}],vp=[{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\uC0C1\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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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"}]}],Cs={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function s4(e){return en.map(t=>{const a=Cs[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let tn=null,yp=null,xp=null;function l4(){const e=vo();if(e&&e.entries.length>0){const t=Ka();if(tn&&yp===e&&xp===t)return tn;const a=new Set,r=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),r.push({w:n.word,s:n.syllables,p:t?.[n.word]?[...t[n.word].cho??[],...t[n.word].jung??[],...t[n.word].jong??[]]:[],pron:n.pronunciation||n.word,grade:n.grade}));return tn=r,yp=e,xp=t,tn}return[]}const ea=new Proxy([],{get(e,t){const a=l4(),r=a[t];return typeof r=="function"?r.bind(a):r}});function an(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function ta(e,t){if(t>=e.length)return Ge(e);if(t===0)return[];const a=e.slice();for(let r=0;r<t;r++){const n=r+Math.floor(Math.random()*(a.length-r)),i=a[r];a[r]=a[n],a[n]=i}return a.slice(0,t)}let _s=null,Cp=null;function eo(){const e=vo();if(_s&&Cp===e)return _s;const t=new Map;for(const a of ea)a.w&&t.set(a.w,a.pron);return _s=t,Cp=e,t}function Ft(e){return eo().get(e)||e}function ws(e,t,a=new Set){const r=[];for(const n of Ge(e)){if(r.length>=t)break;const i=Ft(n);a.has(i)||(a.add(i),r.push(n))}return r}let c4=0;function Tt(e){return`${e}-rt-${++c4}`}function lr(e){const t=Pr();if(!t||t.total===0){const r=new Set;for(const n of e)r.add(n);return r}const a=new Set;for(const r of e)ci(r)===!0&&a.add(r);return a}const on=new Map;let _p=null,wp=null;function cr(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function kp(e){const t=cr(e.choseong),a=e.composition,r=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${cr(a.cho)}/${cr(a.jung)}/${cr(a.jong)}/${a.jongNone?"N":""}/${r}`:"",i=cr(e.grade);return`${e.difficulty??""}|${t}|${n}|${e.excludeNoImage?"1":"0"}|${e.count??""}|x${e.contrastCount??1}|${e.fullCount?"F":""}|s${e.sameStructureOnly===!1?"0":"1"}|v${e.phonemeView==="pron"?"p":"c"}|g${i}|t${e.targetSyllable??""}|c${e.choicesPerItem??""}`}async function Wt(e){const t=vo(),a=Ka();(t!==_p||a!==wp)&&(on.clear(),_p=t,wp=a);const r=kp(e);return on.has(r)||on.set(r,u4(e)),on.get(r)}function d4(e){if(!e)return null;const t=s=>s==null?null:Array.isArray(s)?s.length?s:null:[s],a=t(e.cho),r=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||r||i||n?n&&!a&&!r&&!i?s=>gi(s):s=>fi(s,{cho:a,jung:r,jong:i,jongNone:n}):null}async function u4(e){const{difficulty:t=null,choseong:a=null,composition:r=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,s=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,d=e.phonemeView==="pron"?"pron":"char",u=Math.max(1,e.contrastCount??1),m=t==="cho"||t==="jung"||t==="jong",h=m&&u>=2,p=t==="count",g=a?new Set(Array.isArray(a)?a:[a]):null,f=r?.syllable!=null?new Set(Array.isArray(r.syllable)?r.syllable:[r.syllable]):null,b=r?[d4(r),f?B=>f.has(bo(B)):null].filter(B=>B!=null):[],v=t==="random"||t===null,y=v||p,_=v||h||p;let C=ea.filter(B=>!B.w||s&&(!B.grade||!s.has(B.grade))?!1:_?!0:Array.isArray(B.p)&&B.p.length>0);g&&(C=C.filter(B=>{for(const L of g)if(xw(B.w,L))return!0;return!1})),b.length>0&&(C=C.filter(B=>{const L=d==="pron"?Ft(B.w):B.w;return b.every($=>$(L))})),n&&(C=C.filter(B=>B.w[0]===n));let x;if(i){const B=new Set;for(const L of C)if(B.add(L.w),Array.isArray(L.p))for(const $ of L.p)B.add($);if(y)for(const L of ea)L.w&&B.add(L.w);x=lr(B)}else{const B=new Set;for(const L of C)if(B.add(L.w),Array.isArray(L.p))for(const $ of L.p)B.add($);if(y)for(const L of ea)L.w&&B.add(L.w);x=B}let k=null;if(h){const B=new Set;for(const L of ea)L.w&&B.add(L.w);k=i?lr(B):B}const w=C.filter(B=>x.has(B.w)),S=600,j=Array.from(x),A=j.length>S?ta(j,S):j,T=p&&r!=null&&(ft(r.cho)||ft(r.jung)||ft(r.jong)),F=2500,R=new Map;if(p&&!T&&u>=2){for(const B of j){const L=bo(B),$=R.get(L);$?$.push(B):R.set(L,[B])}for(const[B,L]of R)L.length>F&&R.set(B,ta(L,F))}const E=ui(),M=T?Si(r,j,E,c,d,Ft):null,D=500,H=1500,J=e.fullCount?w:t==="random"?w.length>D?ta(w,D):w:w.length>H?ta(w,H):w,ee=Ka(),ae=[];for(const B of J){let L;const $=Ft(B.w);if(h)L=Sw(B.w,t,u,k,24).filter(z=>Ft(z)!==$);else if(p)T?L=(M.get(B.w)??[]).filter(z=>Ft(z)!==$):u<=1?L=Rr(B.w,ee,{okSet:x,pronOf:Ft,decompOf:E,sameStructureOnly:!1}):L=(R.get(bo(B.w))??[]).filter(z=>{if(z===B.w||Ft(z)===$)return!1;const V=Aw(B.w,z);return u>=5?V>=5:V===u});else if(v)L=A.filter(z=>z!==B.w&&z.length===B.w.length&&Ft(z)!==$);else{const z=t;L=Rr(B.w,ee,{kind:z,okSet:x,pronOf:Ft,decompOf:E,sameStructureOnly:!1}),L.length===0&&(L=(A.length>30?ta(A,30):A).filter(V=>V!==B.w&&pi(B.w,V)===t&&Ft(V)!==$))}if(c&&L.length>0&&(m||p&&!T)){const z=E(Ft(B.w));L=L.filter(V=>!Ko(z,E(Ft(V))))}L.length!==0&&ae.push({word:B,usable:L})}return ae}async function Sp(e,t){const{choicesPerItem:a=3,count:r=10}=t,n=a-1,i=(await Wt(t)).filter(c=>c.usable.length>=n),s=[];for(const c of Ge(i)){if(s.length>=r)break;const d=ws(c.usable,n);if(d.length<n)continue;const u=Ge([c.word.w,...d]);s.push({id:Tt(e+"-item"),index:s.length+1,word:c.word.w,syllables:c.word.s,choices:u,answerIndex:u.indexOf(c.word.w)})}return s}async function p4(e){const{choicesPerItem:t=3,count:a=10}=e,r=t-1,n=await Wt({...e,difficulty:null});if(n.length<t)return[];const i=[],s=Ge([...n]);for(const c of s){if(i.length>=a)break;const d=c.word.w,u=[...c.word.pron||d],m=an(u);if(!m)continue;const h=n.filter(f=>f.word.w!==d&&f.word.s===c.word.s&&!(f.word.pron||f.word.w).includes(m)&&f.word.pron!==c.word.pron);if(h.length<r)continue;const p=ws(h.map(f=>f.word.w),r);if(p.length<r)continue;const g=Ge([d,...p]);i.push({id:Tt("HPI-item"),index:i.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return i}async function h4(e){const{count:t=10}=e,a=(await Wt(e)).filter(r=>r.usable.length>=1);return Array.from({length:t},(r,n)=>{const i=an(a);if(!i)return null;const s=n%2===0;let c;if(s)c=[i.word.w,i.word.w];else{const d=an(i.usable);c=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Tt("SOD-item"),index:n+1,word:i.word.w,pair:c,same:s}}).filter(r=>!!r)}async function m4(e){const{choicesPerItem:t=3,count:a=10}=e,r=t-1,n=await Wt({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(p=>p.word.w),s=new Map(n.map(p=>[p.word.w,p.word.pron])),c=p=>(s.get(p)||p)[0]??"",d={};for(const p of n){const g=c(p.word.w);g&&(d[g]||(d[g]=[]),d[g].push(p.word.w))}const u=Object.entries(d).filter(([,p])=>p.length>=2).map(([p])=>p);if(u.length===0)return[];const m=[],h=Ge([...u]);for(let p=0;m.length<a&&p<a*4;p++){const g=h[p%h.length],f=d[g];if(f.length<2)continue;const b=Ge([...f]),v=b[0],y=b[1];if(!v||!y||v===y||(s.get(v)||v)===(s.get(y)||y))continue;const _=s.get(y)||y,C=i.filter(w=>c(w)!==g&&w!==v&&w!==y&&w.length===y.length&&(s.get(w)||w)!==_);if(C.length<r)continue;const x=ws(C,r);if(x.length<r)continue;const k=Ge([y,...x]);m.push({id:Tt("SWS-item"),index:m.length+1,sourceWord:v,targetSyllable:g,word:y,choices:k,answerIndex:k.indexOf(y)})}return m}function Ap(e,t,a){return ta(e,t).map((r,n)=>{const i=an(r.usable)??"",s=[...r.word.w],c=[...i],d=s.findIndex((m,h)=>m!==c[h]),u=Ge(r.usable.filter(m=>m&&m!==i)).slice(0,2);return{id:Tt(a),index:n+1,word:r.word.w,original:r.word.w,changed:i,changedFrom:d>=0?s[d]:"",changedTo:d>=0?c[d]:"",distractors:u}})}async function Tp(e,t,a){const{count:r=10}=t,n=eo(),i=ea.filter(g=>g.w&&g.s===e),s=t.excludeNoImage?lr(i.map(g=>g.w)):null,c=s?i.filter(g=>s.has(g.w)):i,d=new Set(c.map(g=>g.w)),u=Zi(d),m=t.phonemeView??"char",h=t.composition??null,p=[];for(const g of Ge(c)){if(p.length>=r)break;const f=Xi(g.w,h,n,m,u,null,null);if(!f)continue;const b=f.distractors[0],v=[...g.w],y=[...b],_=v.findIndex((C,x)=>C!==y[x]);p.push({id:Tt(a),index:p.length+1,word:g.w,original:g.w,changed:b,changedFrom:_>=0?v[_]:"",changedTo:_>=0?y[_]:"",distractors:f.distractors.slice(1)})}return p}async function b4(e){return Tp(2,e,"CS2-item")}async function g4(e){return Tp(3,e,"CS3-item")}async function f4(e){const t=(await Wt({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Ap(t,e.count??10,"CP1-item")}async function v4(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await Wt({...e,difficulty:t,contrastCount:1})).filter(r=>r.word.s===2&&r.usable.length>=1);return Ap(a,e.count??10,"CP2-item")}async function y4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(r=>r.word.s===2);return ta(a,t).map((r,n)=>({id:Tt("M2S-item"),index:n+1,word:r.word.w,answer:r.word.w,parts:[...r.word.w]}))}async function x4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(r=>r.word.s===3);return ta(a,t).map((r,n)=>({id:Tt("M3S-item"),index:n+1,word:r.word.w,answer:r.word.w,parts:[...r.word.w]}))}async function C4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s===2),r=eo(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=Vi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=[...c.word.w],p=h[0]===u?h[1]:h[0];s.push({id:Tt("D2-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:p,missingResult:u,distractors:m})}return s}async function _4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s===3),r=eo(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=Gi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=[...c.word.w];let p="";for(let g=0;g<h.length;g++)if(h.filter((f,b)=>b!==g).join("")===u){p=h[g];break}s.push({id:Tt("D3-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:p,missingResult:u,distractors:m})}return s}async function w4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s>=2),r=eo(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=qi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=c.word.w,p=h.startsWith(u)?h.slice(u.length):h.endsWith(u)?h.slice(0,h.length-u.length):"";s.push({id:Tt("DPC-item"),index:s.length+1,original:h,word:h,dropped:p,missingResult:u,distractors:m})}return s}async function k4(e){const{count:t=10}=e,a=(await Wt({...e})).map(r=>r.word.w);return a.length<3?[]:Array.from({length:t},(r,n)=>{const i=ta(a,3);return{id:Tt("LRO-item"),index:n+1,sequence:i,choices:Ge(i)}})}function rn(e,t,a){const r=ea.filter(s=>s.w&&s.s===e),n=t?lr(r.map(s=>s.w)):null,i=[];for(const s of r)if(!(n&&!n.has(s.w))){if(a){const c=Me(s.w);if(!c||!a(c))continue}i.push(s)}return i}function S4(e){const t=rn(1,e.excludeNoImage??!1,a=>a.jong===0);return ta(t,e.count??10).map((a,r)=>{const n=Me(a.w);return{id:Tt("M2P-item"),index:r+1,parts:[Ze[n.cho],dt[n.jung]],answer:a.w,word:a.w}})}function A4(e){const t=rn(1,e.excludeNoImage??!1,a=>a.jong>0&&!mo[a.jong]);return ta(t,e.count??10).map((a,r)=>{const n=Me(a.w);return{id:Tt("M3P-item"),index:r+1,parts:[Ze[n.cho],dt[n.jung],gt[n.jong]],answer:a.w,word:a.w}})}function T4(e){const t=qr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=rn(t.syllables,e.excludeNoImage??!1,t.syllable),r=eo(),n=[];for(const i of Ge(a)){if(n.length>=(e.count??10))break;const s=Yi(i.w,null,r);if(!s)continue;const[c,...d]=s.distractors;n.push({id:Tt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function B4(e){const t=qr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=rn(t.syllables,e.excludeNoImage??!1,t.syllable),r=eo(),n=[];for(const i of Ge(a)){if(n.length>=(e.count??10))break;const s=Ki(i.w,null,r);if(!s)continue;const c=Me(r.get(i.w)||i.w);if(!c)continue;const[d,...u]=s.distractors;n.push({id:Tt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:Ze[c.cho],remaining:d,distractors:u})}return n}const nn=new Map;let Bp=null,Np=null;async function Dp(e,t={}){const a=vo(),r=Ka();(a!==Bp||r!==Np)&&(nn.clear(),Bp=a,Np=r);const n=`${e}:${kp(t)}`;if(nn.has(n))return nn.get(n);const i=await D4(e,t);return nn.set(n,i),i}const N4={SAME_SOUND_PICK:e=>Sp("SSP",e),HEAR_AND_PICK_SAME:e=>Sp("HPS",e),HEAR_AND_PICK_INCLUDED:e=>p4(e),SAME_OR_DIFF:e=>h4(e),STARTS_WITH_SAME_SOUND:e=>m4(e),LISTEN_AND_REMEMBER_ORDER:e=>k4(e),MERGE_2_SYLLABLES:e=>y4(e),MERGE_3_SYLLABLES:e=>x4(e),MERGE_2_PHONEMES:e=>S4(e),MERGE_3_PHONEMES:e=>A4(e),DROP_1_FROM_2SYLL:e=>C4(e),DROP_1_FROM_3SYLL:e=>_4(e),DROP_PART_FROM_COMPOUND:e=>w4(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>T4(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>B4(e),CHANGE_1_SYLL_IN_2SYLL:e=>b4(e),CHANGE_1_SYLL_IN_3SYLL:e=>g4(e),CHANGE_1_PHONEME_IN_1SYLL:e=>f4(e),CHANGE_1_PHONEME_IN_2SYLL:e=>v4(e)};async function D4(e,t={}){const a=N4[e];return a?await a(t):[]}async function E4(e){const t=[null,"count"],a=Object.keys(fo);let r=0;for(const n of t)for(const i of a){const s=fo[i];Dp(i,{difficulty:s.difficulty?n:null,choseong:null,count:10,excludeNoImage:e}).catch(()=>{}),++r%6===0&&await new Promise(c=>setTimeout(c,0))}}async function j4(e){return(await Wt({...e,fullCount:!0})).length}async function L4(e={}){const t=[];for(const c of ea)c.w&&t.push(c.w);const a=e.excludeNoImage?lr(t):t,r=new Set,n=new Set,i=new Set,s=new Set;for(const c of a){s.add(bo(c));for(const d of c){const u=Me(d);if(u&&(Ze[u.cho]!=="\u3147"&&r.add(Ze[u.cho]),n.add(dt[u.jung]),u.jong>0)){i.add(gt[u.jong]);const m=mo[u.jong];m&&m.forEach(h=>i.add(h))}}}return{cho:r,jung:n,jong:i,syllable:s}}const Ep={free:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},personal_standard:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},mgr_free:{maxCustomers:5,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},none:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},lite_word:{maxCustomers:10,visitWord:!0,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!1},lite_sentence:{maxCustomers:10,visitWord:!1,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!0},lite:{maxCustomers:10,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},standard:{maxCustomers:30,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},pro:{maxCustomers:50,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0},enterprise:{maxCustomers:1/0,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!0,managerManagement:!0,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!0,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!0,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!0,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0}},jp={none:0,free:1,personal_standard:3,mgr_free:4,lite_word:5,lite_sentence:5,lite:6,standard:7,pro:8,enterprise:9},Lp={free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1},personal_standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null},mgr_free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1,trainingItemMax:5,customerMax:5,homeworkSendDaily:1},lite:{sentenceTrainingDaily:5,wordTrainingDaily:5,gameDaily:5,trainingItemMax:10,customerMax:10,homeworkSendDaily:10},standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:30,customerMax:30,homeworkSendDaily:30},pro:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:50,homeworkSendDaily:50},enterprise:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:null,homeworkSendDaily:null}};function Mp(e){const t=e.toLowerCase();return t.startsWith("manager_enterprise")?"enterprise":t.startsWith("manager_pro")?"pro":t.startsWith("manager_standard")?"standard":t.startsWith("manager_lite_word")?"lite_word":t.startsWith("manager_lite_sentence")?"lite_sentence":t.startsWith("manager_lite")||t.startsWith("mgr_lite")?"lite":t.startsWith("mgr_standard")?"standard":t.startsWith("mgr_pro")?"pro":t.startsWith("content_")||t.startsWith("speechear_")||t.startsWith("light_")||t==="light"?"personal_standard":"none"}const Pp=5,Rp=5;function $p({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const Ip={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"};var M4=Object.freeze({__proto__:null,CAPABILITY:fo,CHOSEONG:Ze,CORE_VERSION:Nr,JONGSEONG:gt,JUNGSEONG:dt,LONG_STORIES:Ia,NETWORK_ERROR_MESSAGE:Ji,NOISE_DATAS:Ra,ORDER_SETS:za,PLAN_FEATURES:Ep,PLAN_LIMITS:Lp,SHORT_STORIES:$a,TIER_RANK:jp,TOPIC_TYPES:vp,TRAINING_TYPES:en,TRAINING_TYPE_I18N_KEY:Cs,WORD_SUGGESTION_ACCOUNT_LIMIT:Rp,WORD_SUGGESTION_EXISTING_ERROR:Ip,WORD_SUGGESTION_WEEKLY_QUOTA:Pp,applyFontScale:ms,applyTheme:ps,buildChangeWholeSyllableProblem:Xi,buildDropCompoundProblem:qi,buildDropContrast3Problem:Gi,buildDropContrastProblem:Vi,buildDropFinalConsonantProblem:Yi,buildMultiPartPosContrast:Si,buildPairIndex:su,buildRemoveConsonantProblem:Ki,buildSyllableMaskIndex:Zi,bulkSetImageExistence:Zd,cardQuestionTitle:Bu,checkImageExists:Yo,classifyPairDifficulty:pi,clearAudioExistsCache:Hd,clearImageExistenceCache:di,clearPairIndexCache:_i,composeSyllable:ua,computeDailySelection:gs,configureImageResolver:Ud,configureNoiseSettingsStore:Xu,configurePronunciationResolver:Gd,configureStorage:ti,configureTTS:Wd,configureTrainingCategories:dp,copyText:ls,createDecompCache:ui,createTTSUrlResolver:ep,dateToDb:cp,downloadCsvText:Mu,downloadSound:jr,ensureTrainingDataLoaded:xs,escapeCsvField:Lu,fileExists:ai,filterContrastCandidates:ki,finalToPhoneme:Gr,firstChoseongOf:hi,formatCount:rr,formatDateKo:tp,formatDateLocale:op,formatDateLongKo:ap,formatDateLongLocale:rp,formatDatetimeKo:np,formatPhone:sp,formatRelativeTime:Zr,formatTimeHM:Jr,formatYmd:Xr,getAssetBaseUrl:Qn,getDailySelection:gp,getElementAnalyser:Vo,getErrorMessage:Ur,getImageExistenceStats:Pr,getImageExistsCached:ci,getImageResolver:Ma,getNoiseBaseUrl:oi,getPairIndex:Ka,getPlanTier:Mp,getPronunciationResolver:ii,getSavedFontScale:hs,getSavedTheme:us,getSignedOrPublicUrl:Oo,getTTSFallbackUrlResolver:ni,getTTSUrlResolver:Fo,getTodayKst:Kr,getTopicTypes:Qr,getTrainingPools:fs,getTrainingTypes:ds,getWordPool:vo,hasQuestionWordConstraint:Cu,hasSel:ft,hasStructureContrast:Ko,initFontScale:mp,initTheme:pp,isAllChoseong:bi,isManualOnlyType:wu,isNetworkErrorMessage:Qi,isSyllablePattern:vi,isThisWeekPick:$p,isTrainingDataLoaded:fp,isValidQuestionWord:_u,itemCorrectness:os,jamoToNamesForSpeech:Nu,loadGameLeaderboard:Zu,loadMyGameRanks:Ku,loadNoiseSettings:is,loadTrainingData:ys,logCrossword:Ou,logTrainingCompletion:as,logTrainingTime:ts,matchSyllables:Ja,matchesChoseongSearch:Xd,matchesSyllablePattern:yi,matchesWordQuery:ho,mergeQuestionText:Wi,minimalPairDistractors:Rr,normalizeDate:lp,officialSoundPath:Qu,parseSortValue:ju,parseSyllable:Me,patternToComposition:ou,phonemePartsOf:Tu,pickEuRo:zi,pickEulReul:Pi,pickEunNeun:$i,pickIga:Li,pickWaGwa:Ii,prewarmImageCache:Kd,primarySelPart:tr,readLevel:si,reorderArray:Oi,resolveAssetUrl:Io,resolveSoundPath:Er,resumeAudioMeter:Ho,sample:Jt,saveNoiseSettings:ss,searchAndRankWords:nu,setAssetBaseUrl:Od,setCrosswordLogger:zu,setGameLeaderboardLoader:Yu,setGameRanksLoader:qu,setGameScoreSubmitter:Gu,setTrainingCompletionLogger:Iu,setTrainingTimeLogger:$u,setWordPool:Ru,shuffle:Ge,sortToValue:Eu,soundOf:Yr,speak:$d,stopSpeaking:Id,submitGameScore:Uu,syllMatchesComp:Pa,syllableContrasts:Qa,syllableLength:bo,syllablePron:Hi,toBase64UrlSafe:Ju,toChoseong:mi,toItemResults:rs,toKstHm:ip,toKstYmd:ka,toStandardPronunciation:fu,toStorageName:ar,toUserErrorMessage:Du,validateSyllableSearchInput:ru,withEuRo:xu,withEulReul:Ri,withEunNeun:vu,withIga:Mi,withWaGwa:yu,wordContainsChoseong:Qd,wordContainsJongseong:tu,wordContainsJungseong:eu,wordHasNoCoda:gi,wordHasSyllableMatching:fi,wrongItems:Fu});function P4(e){return typeof window>"u"?"":hw.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use"],FORBID_ATTR:["xlink:href","href"]})}function R4(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),[i,s]=l.useState(null),[c,d]=l.useState(null);return l.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),s(null);return}const u=e.split("/").pop();let m=e;u&&(e.startsWith("/")?m=Io(e):/^(Logo|Symbol)/i.test(u)?m=Io(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),m=e)),a(m)},[e]),l.useEffect(()=>{if(!t)return;let u=!1;async function m(){try{let h=await fetch(t);h.ok||(h=await fetch(t));const p=h.headers.get("content-type")||"";if(u)return;if(p.includes("svg")){n("mask");return}if(p.startsWith("image/")){n("img");return}const g=await fetch(t);if(!g.ok)throw new Error("not ok");const f=await g.text();if(u)return;if(/^\s*<svg[\s>]/i.test(f)){const b=P4(f);if(!b){n("none");return}s(b),n("inline");return}n("none")}catch{u||n("none")}}return m(),()=>{u=!0}},[t]),l.useEffect(()=>{let u=!1,m=null;return r==="mask"&&t&&fetch(t).then(h=>{if(!h.ok)throw new Error("fetch failed");return h.blob()}).then(h=>{u||(m=URL.createObjectURL(h),d(m))}).catch(()=>{u||n("img")}),()=>{u=!0,m&&URL.revokeObjectURL(m),d(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function Fe(e){const{icon:t,label:a,className:r,imgClassName:n,maskClassName:i,svgClassName:s,wrapperStyle:c,size:d}=e||{},u=r??"iconRenderer-icon",m=n??"iconRenderer-icon-image",h=i??"iconRenderer-icon-mask",p=s??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,f=j_(g),{iconToUse:b,mode:v,svgText:y,blobUrl:_}=R4(g),C=(S,j={})=>o.jsx("span",{className:u,style:c,...j,children:S}),x=(S,j={})=>o.jsx("img",{src:S,alt:typeof a=="string"?a:a?String(a):"",className:m,...j});if(!t)return null;if(typeof t!="string")return C(t);if(t==="none")return C(o.jsx("span",{className:p,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(f)try{return C(l.createElement(f,{className:p,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(b&&b.endsWith(".svg")){if(v==="mask"){const S={"--icon-url":_?`url(${_})`:`url(${b})`};return C(o.jsx("span",{className:h,style:S}),{"aria-hidden":"true"})}return v==="img"?C(x(b,{onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):v==="inline"?C(o.jsx("span",{className:p,dangerouslySetInnerHTML:y?{__html:y}:void 0}),{"aria-hidden":"true"}):C(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return x(Io(t),{style:c,onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}});const k=typeof d=="number"?d:20,w=`<svg width="${k}" height="${k}" 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 C(o.jsx("span",{className:p,dangerouslySetInnerHTML:{__html:w}}),{"aria-hidden":"true"})}function zp({icon:e,emoji:t,title:a,message:r,hint:n,action:i,compact:s,className:c}){return o.jsxs("div",{className:_e("empty-state",s&&"empty-state--compact",c),children:[t&&o.jsx("span",{className:"empty-state__emoji",children:t}),e&&o.jsx(Fe,{icon:e,className:"empty-state__icon"}),a&&o.jsx("p",{className:"empty-state__title body-2",children:a}),r&&o.jsx("p",{className:"empty-state__message body-3",children:r}),n&&o.jsx("p",{className:"empty-state__hint caption-1",children:n}),i&&o.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:i.onClick,children:[i.icon&&o.jsx(Fe,{icon:i.icon,className:"button__icon"}),o.jsx("span",{className:"button__label button-1",children:i.label})]})]})}var $4=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}";te($4);function Op({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:n,className:i}){const{t:s}=me.useTranslation();return o.jsxs("div",{className:_e("empty-state","error-state",i),role:"alert",children:[o.jsx(Fe,{icon:a,className:"empty-state__icon error-state__icon"}),o.jsx("p",{className:"empty-state__message body-3",children:e??s("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&o.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&o.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:r,children:[o.jsx(Fe,{icon:"rotate-cw",className:"button__icon"}),o.jsx("span",{className:"button__label button-1",children:n??s("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var I4=".ihabdevteam-core-scope .action-card{--ac-color:var(--color-main);--ac-color-a10:var(--color-main-a10);aspect-ratio:1/1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);box-shadow:var(--shadow-card);cursor:pointer;display:block;overflow:hidden;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;width:100%}.ihabdevteam-core-scope .action-card--sub{--ac-color:var(--color-sub);--ac-color-a10:var(--color-sub-a10)}.ihabdevteam-core-scope .action-card:focus-visible{outline:none}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):focus-visible,.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover{border-color:var(--ac-color);box-shadow:var(--shadow-panel);transform:translateY(-4px)}.ihabdevteam-core-scope .action-card--disabled{cursor:wait;opacity:.6}.ihabdevteam-core-scope .action-card__body{display:flex;flex-direction:column;gap:var(--spacing-m);height:100%;padding:var(--spacing-l)}.ihabdevteam-core-scope .action-card__chip{align-items:center;background:var(--ac-color-a10);border-radius:var(--radius-m);color:var(--ac-color);display:flex;height:64px;justify-content:center;width:64px}.ihabdevteam-core-scope .action-card__text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .action-card__title{color:var(--color-text-primary);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight-bold);letter-spacing:var(--text-h2-spacing);line-height:var(--text-h2-line);margin:0}.ihabdevteam-core-scope .action-card__desc{color:var(--color-lightGray);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .action-card__cta{align-items:center;color:var(--ac-color);display:flex;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);gap:var(--spacing-xs);justify-content:flex-end;line-height:var(--text-body-2-line);margin-top:auto;padding-right:var(--spacing-s);padding-top:var(--spacing-s)}.ihabdevteam-core-scope .action-card__arrow{display:flex;transition:transform .2s}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover .action-card__arrow{transform:translateX(4px)}";te(I4);function Fp({icon:e,title:t,description:a,cta:r,tone:n="main",disabled:i=!1,onClick:s,className:c=""}){const d=()=>{i||s?.()};return o.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-label":t,onClick:d,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),d())},className:_e("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:o.jsxs("div",{className:"action-card__body",children:[o.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:o.jsx(Fe,{icon:e,size:34})}),o.jsxs("div",{className:"action-card__text",children:[o.jsx("h2",{className:"action-card__title",children:t}),o.jsx("p",{className:"action-card__desc",children:a})]}),o.jsxs("div",{className:"action-card__cta",children:[o.jsx("span",{children:r}),o.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:o.jsx(Fe,{icon:"arrow-right",size:18})})]})]})})}function Wp({as:e="div",className:t="",children:a,storage:r,...n}){r&&ti({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});const i=_e("ihabdevteam-core-scope",t);return o.jsx(e,{className:i,...n,children:a})}var z4=".ihabdevteam-core-scope .notice-box{background:var(--color-darkWhite);border-radius:var(--radius-m);color:var(--color-gray);margin:0 auto var(--spacing-page);padding:var(--spacing-l);position:relative;text-align:left}.ihabdevteam-core-scope .notice-box ul{margin:0;padding:0 0 0 18px}.ihabdevteam-core-scope .notice-box__inner{border-radius:var(--radius-s);padding:12px 14px;text-align:left}.ihabdevteam-core-scope .notice-box__title{color:var(--color-darkGray);margin:0 0 10px}.ihabdevteam-core-scope .notice-box__body,.ihabdevteam-core-scope .notice-box__line{color:var(--color-deepGray)}.ihabdevteam-core-scope .notice-box--default{border-color:var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--dashed{background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--important{border:1px solid var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .notice-box__dismiss{background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:10px;top:8px;transition:color .12s}.ihabdevteam-core-scope .notice-box__dismiss:hover{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .notice-box,.ihabdevteam-core-scope .notice-box__inner{padding:var(--spacing-s)}}";te(z4);function Hp({title:e="",lines:t=[],notices:a=null,children:r,variant:n="default",dismissible:i=!1,className:s=""}){const{t:c}=me.useTranslation(),[d,u]=l.useState(!1),m=l.useCallback(()=>u(!0),[]);if(d)return null;const h=`notice-box notice-box--${n} body-2 ${s}`.trim();if(a&&Array.isArray(a)&&a.length)return o.jsx("div",{className:h,role:"note",children:a.map((g,f)=>o.jsxs("div",{className:"notice-box__inner",children:[g.title?o.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,o.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?o.jsx("div",{children:g.lines.map((b,v)=>o.jsx("span",{className:"notice-box__line body-3",children:b},v))}):g.children??null})]},f))});const p=e||t.length?o.jsxs("div",{className:"notice-box__inner",children:[e?o.jsx("span",{className:"notice-box__title body-1",children:e}):null,o.jsx("div",{className:"notice-box__body",children:t.length?o.jsx("ul",{children:t.map((g,f)=>o.jsx("li",{className:"notice-box__line",children:g},f))}):r})]}):o.jsx("div",{className:"notice-box__inner",children:r});return o.jsxs("div",{className:h,role:"note",children:[p,i&&o.jsx("button",{className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var O4=".ihabdevteam-core-scope .button{align-items:center;background:var(--color-white);border:0;border:var(--button-border,0);box-sizing:border-box;color:inherit;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:0 12px;transition:background-color .14s ease,color .14s ease,transform .1s ease,box-shadow .14s ease}.ihabdevteam-core-scope .button__icon,.ihabdevteam-core-scope .button__left,.ihabdevteam-core-scope .button__right{align-items:center;color:inherit;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .button--align-center .button__label,.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:center}.ihabdevteam-core-scope .button__icon{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--small{height:16px;width:16px}.ihabdevteam-core-scope .button__icon--medium{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--large{height:36px;width:36px}.ihabdevteam-core-scope .button__center-group{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .button__center-group .button__label{display:inline-block;flex:0 1 auto;text-align:center}.ihabdevteam-core-scope .button__label{display:block;white-space:normal}.ihabdevteam-core-scope .button__label-text{align-items:center;display:inline-flex;justify-content:center;max-width:100%;vertical-align:middle;white-space:normal;word-break:break-word}.ihabdevteam-core-scope .button__label-text--has-sub{flex-direction:column;gap:3px}.ihabdevteam-core-scope .button__count{color:var(--color-main);font-weight:700;margin-left:4px}.ihabdevteam-core-scope .button--variant-main .button__count,.ihabdevteam-core-scope .is-selected .button__count,.ihabdevteam-core-scope [aria-pressed=true] .button__count{color:#fff}.ihabdevteam-core-scope .button__label:has(>.button__label-text+.button__label-text){gap:5px}.ihabdevteam-core-scope .button__sub-label-text{color:var(--button-subLabel-color,var(--color-gray));display:block}.ihabdevteam-core-scope .button__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .button__icon-mask{background-color:currentColor;display:block;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .button__icon-svg{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .button__icon-svg svg{display:block;height:100%;width:100%}.ihabdevteam-core-scope .button__icon-svg svg,.ihabdevteam-core-scope .button__icon-svg svg *{fill:currentColor;stroke:currentColor}.ihabdevteam-core-scope .button .button__label{color:currentColor;color:var(--button-text-color,currentColor);min-height:20px;min-width:20px}.ihabdevteam-core-scope .button .button__icon,.ihabdevteam-core-scope .button .button__left,.ihabdevteam-core-scope .button .button__right{color:currentColor;color:var(--button-icon-color,currentColor)}.ihabdevteam-core-scope .button--align-left{justify-content:flex-start}.ihabdevteam-core-scope .button--align-center{justify-content:center}.ihabdevteam-core-scope .button--align-right{justify-content:flex-end}.ihabdevteam-core-scope .button--align-left .button__label{align-items:center;display:inline-flex;flex:1 1 auto}.ihabdevteam-core-scope .button--align-left .button__label-text{justify-content:flex-start;text-align:left}.ihabdevteam-core-scope .button--align-center .button__label{align-items:center;display:flex;flex:1 1 auto;justify-content:center;text-align:center}.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:right}.ihabdevteam-core-scope .button--align-grid{justify-content:center}.ihabdevteam-core-scope .button--align-grid .button__label{display:grid;flex:1 1 auto;grid-auto-columns:1fr;grid-auto-flow:column;text-align:center}.ihabdevteam-core-scope .button.button--no-bg{background:transparent;border-color:transparent}.ihabdevteam-core-scope .button--variant-danger{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-error))}.ihabdevteam-core-scope .button--variant-danger:focus-visible,.ihabdevteam-core-scope .button--variant-danger:hover{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-error-a10);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-danger.is-selected,.ihabdevteam-core-scope .button--variant-danger[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-error);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-default{--button-text-color:var(--color-darkGray);--button-icon-color:var(--color-lightGray);--button-subLabel-color:var(--color-gray);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-whiteLine))}.ihabdevteam-core-scope .button--variant-default:focus-visible,.ihabdevteam-core-scope .button--variant-default:hover{--button-text-color:var(--color-black);--button-icon-color:var(--color-main);--button-subLabel-color:var(--color-black);background:var(--color-white);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-default.is-selected,.ihabdevteam-core-scope .button--variant-default[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-main{--button-subLabel-color:var(--color-white-a80);background:var(--color-main);border:var(--button-border,1px solid var(--color-main));color:#fff}.ihabdevteam-core-scope .button--variant-main:focus-visible,.ihabdevteam-core-scope .button--variant-main:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);border-color:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-main.is-selected,.ihabdevteam-core-scope .button--variant-main[aria-pressed=true]{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-sub{--button-subLabel-color:var(--color-white-a80);background:var(--color-primary,var(--color-sub));color:#fff}.ihabdevteam-core-scope .button--variant-sub:focus-visible,.ihabdevteam-core-scope .button--variant-sub:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-uiAccent);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white{--button-subLabel-color:var(--color-white-a60);background:transparent;border:var(--button-border,1px solid var(--color-white-a80));color:#fbfdff}.ihabdevteam-core-scope .button--variant-transparent-white:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-white:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-white-a10);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white.is-selected,.ihabdevteam-core-scope .button--variant-transparent-white[aria-pressed=true]{--button-subLabel-color:var(--color-lightGray);background:var(--color-white);color:var(--color-main)}.ihabdevteam-core-scope .button--variant-transparent-gray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-gray-a80));color:var(--color-gray-a80)}.ihabdevteam-core-scope .button--variant-transparent-gray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-gray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-gray-a10);color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-lightGray-a80));color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-lightGray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-lightGray-a10);color:var(--color-deepGray)}.ihabdevteam-core-scope .button--variant-disabled{--button-subLabel-color:var(--color-disabled);background-color:transparent;border:var(--button-border,1px solid var(--color-whiteLine));color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled .button__icon,.ihabdevteam-core-scope .button--variant-disabled .button__left,.ihabdevteam-core-scope .button--variant-disabled .button__right{color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled-covered{background-color:var(--color-darkWhite);border:var(--button-border,1px solid var(--color-darkWhite));border-color:var(--color-whiteLine);color:transparent}.ihabdevteam-core-scope .button--variant-disabled-covered .button__icon,.ihabdevteam-core-scope .button--variant-disabled-covered .button__left,.ihabdevteam-core-scope .button--variant-disabled-covered .button__right{color:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded,.ihabdevteam-core-scope .button--variant-disabled-invisibled{background:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded .button__icon,.ihabdevteam-core-scope .button--variant-disabled-faded .button__left,.ihabdevteam-core-scope .button--variant-disabled-faded .button__right,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__icon,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__label,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__left,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__right{color:transparent}.ihabdevteam-core-scope .button:disabled,.ihabdevteam-core-scope .button[disabled]{cursor:default}.ihabdevteam-core-scope .button--shape-rounded{border-radius:8px!important;border-radius:var(--button-rounded-radius,8px)!important}.ihabdevteam-core-scope .button--shape-pill{border-radius:9999px!important}.ihabdevteam-core-scope .button72{--button-rounded-radius:18px;border-radius:36px;height:72px;justify-content:center}.ihabdevteam-core-scope .button72--bar{min-width:220px}.ihabdevteam-core-scope .button72--dot{padding:0;width:72px}.ihabdevteam-core-scope .button56{--button-rounded-radius:14px;border-radius:28px;height:56px;justify-content:center}.ihabdevteam-core-scope .button56--bar{min-width:190px}.ihabdevteam-core-scope .button56--dot{padding:0;width:56px}.ihabdevteam-core-scope .button52{--button-rounded-radius:13px;border-radius:26px;height:52px;justify-content:center}.ihabdevteam-core-scope .button52--bar{min-width:175px}.ihabdevteam-core-scope .button52--dot{padding:0;width:52px}.ihabdevteam-core-scope .button48{--button-rounded-radius:12px;border-radius:24px;height:48px;justify-content:center}.ihabdevteam-core-scope .button48--bar{min-width:160px}.ihabdevteam-core-scope .button48--dot{padding:0;width:48px}.ihabdevteam-core-scope .button40{--button-rounded-radius:10px;border-radius:20px;height:40px;justify-content:center}.ihabdevteam-core-scope .button40--bar{min-width:100px}.ihabdevteam-core-scope .button40--dot{padding:0;width:40px}.ihabdevteam-core-scope .button40 .button__icon,.ihabdevteam-core-scope .button40--bar .button__icon,.ihabdevteam-core-scope .button40--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:16px;height:32px;justify-content:center}.ihabdevteam-core-scope .button32--bar{min-width:72px}.ihabdevteam-core-scope .button32--dot{padding:0;width:32px}.ihabdevteam-core-scope .button32 .button__icon,.ihabdevteam-core-scope .button32--bar .button__icon,.ihabdevteam-core-scope .button32--dot .button__icon{height:18px;width:18px}.ihabdevteam-core-scope .button28{--button-rounded-radius:7px;border-radius:14px;height:28px;justify-content:center}.ihabdevteam-core-scope .button28--bar{min-width:60px}.ihabdevteam-core-scope .button28--dot{padding:0;width:28px}.ihabdevteam-core-scope .button28 .button__icon,.ihabdevteam-core-scope .button28--bar .button__icon,.ihabdevteam-core-scope .button28--dot .button__icon{height:16px;width:16px}.ihabdevteam-core-scope .button24{--button-rounded-radius:6px;border-radius:12px;height:24px;justify-content:center}.ihabdevteam-core-scope .button24--bar{min-width:48px}.ihabdevteam-core-scope .button24--dot{padding:0;width:24px}.ihabdevteam-core-scope .button24 .button__icon,.ihabdevteam-core-scope .button24--bar .button__icon,.ihabdevteam-core-scope .button24--dot .button__icon{height:14px;width:14px}.ihabdevteam-core-scope .button-keyboard{border-radius:12px;height:32px;justify-content:center}.ihabdevteam-core-scope .button-keyboard--bar{min-width:32px;padding:0 12px}.ihabdevteam-core-scope .button-keyboard--dot{padding:0;width:32px}.ihabdevteam-core-scope .button-word{border-radius:12px;height:72px;justify-content:center;padding:0 16px}.ihabdevteam-core-scope .button-word--bar{min-width:120px}.ihabdevteam-core-scope .button-word--dot{padding:0;width:72px}@media (max-width:1024px){.ihabdevteam-core-scope .button56{--button-rounded-radius:13px;border-radius:25px;height:50px}.ihabdevteam-core-scope .button56--bar{min-width:170px}.ihabdevteam-core-scope .button56--dot{width:50px}.ihabdevteam-core-scope .button48{--button-rounded-radius:11px;border-radius:22px;height:44px}.ihabdevteam-core-scope .button48--bar{min-width:140px}.ihabdevteam-core-scope .button48--dot{width:44px}.ihabdevteam-core-scope .button40{--button-rounded-radius:9px;border-radius:18px;height:36px}.ihabdevteam-core-scope .button40--bar{min-width:88px}.ihabdevteam-core-scope .button40--dot{width:36px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:15px;height:30px}.ihabdevteam-core-scope .button32--bar{min-width:64px}.ihabdevteam-core-scope .button32--dot{width:30px}.ihabdevteam-core-scope .button24--bar{min-width:44px}}@media (max-width:768px){.ihabdevteam-core-scope .button56{--button-rounded-radius:12px;border-radius:23px;height:46px}.ihabdevteam-core-scope .button56--bar{min-width:150px}.ihabdevteam-core-scope .button56--dot{width:46px}.ihabdevteam-core-scope .button56 .button__icon,.ihabdevteam-core-scope .button56--bar .button__icon,.ihabdevteam-core-scope .button56--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button48{--button-rounded-radius:10px;border-radius:20px;height:40px}.ihabdevteam-core-scope .button48--bar{min-width:120px}.ihabdevteam-core-scope .button48--dot{width:40px}.ihabdevteam-core-scope .button48 .button__icon,.ihabdevteam-core-scope .button48--bar .button__icon,.ihabdevteam-core-scope .button48--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button40{--button-rounded-radius:8px;border-radius:17px;height:34px}.ihabdevteam-core-scope .button40--bar{min-width:80px}.ihabdevteam-core-scope .button40--dot{width:34px}.ihabdevteam-core-scope .button32{--button-rounded-radius:7px;border-radius:14px;height:28px}.ihabdevteam-core-scope .button32--bar{min-width:60px}.ihabdevteam-core-scope .button32--dot{width:28px}.ihabdevteam-core-scope .button24--bar{min-width:40px}}";te(O4);var F4=".ihabdevteam-core-scope .tooltip-content{animation:tooltip-pop .2s cubic-bezier(.2,.9,.2,1) both;background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);box-sizing:border-box;pointer-events:auto;position:absolute;transform-origin:left center;white-space:normal;will-change:transform,opacity;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content--inline{position:static}.ihabdevteam-core-scope .tooltip-content--bordered{border:1px solid var(--color-whiteLine)}.ihabdevteam-core-scope .tooltip-content.tooltip-description,.ihabdevteam-core-scope .tooltip-content.tooltip-info,.ihabdevteam-core-scope .tooltip-content.tooltip-training{background:transparent;box-shadow:none}.ihabdevteam-core-scope .tooltip-content__header{align-items:center;color:var(--color-gray);display:flex;height:40px;padding:0 2px 10px}.ihabdevteam-core-scope .tooltip-content.is-closing{opacity:0;transition:opacity .2s ease,transform .2s ease}.ihabdevteam-core-scope .tooltip-content[data-placement=top]{transform:translateY(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=bottom]{transform:translateY(6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=left]{transform:translateX(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=right]{transform:translateX(6px)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=top]{transform:translateY(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=bottom]{transform:translateY(6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=left]{transform:translateX(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=right]{transform:translateX(6px) scale(.98)}@keyframes tooltip-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.ihabdevteam-core-scope .tooltip-backdrop{background:var(--color-popupBlock);inset:0;position:fixed;z-index:calc(var(--z-tooltip) - 1)}.ihabdevteam-core-scope .tooltip-portal{inset:0;position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content.is-mobile{left:50%!important;max-width:calc(100% - 40px)!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:calc(100% - 40px)!important;z-index:var(--z-tooltip)!important}";te(F4);function ks(e,t=!0){l.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(dr)).filter(d=>!d.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const s=i[0],c=i[i.length-1];n.shiftKey&&document.activeElement===s?(n.preventDefault(),c.focus()):!n.shiftKey&&document.activeElement===c&&(n.preventDefault(),s.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const dr='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Sa(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:s=!0,className:c="",role:d="dialog",ariaLabel:u="",children:m,backdrop:h=!1,isMobilePopup:p=!1,useBorder:g=!0,header:f}=e||{},b=l.useRef(null),[v,y]=l.useState({position:"fixed",left:0,top:-9999}),[_,C]=l.useState(!1),[x,k]=l.useState("bottom"),[w,S]=l.useState(!1),[j,A]=l.useState(!1),T=!t&&!a,F=l.useCallback((D=!1)=>{if(j&&p)return;const H=a?a.getBoundingClientRect():t;if(!H||!b.current)return;const J=b.current,{offsetWidth:ee,offsetHeight:ae}=J,B=window.innerWidth,L=window.innerHeight,$=B-H.right,z=H.left,V=H.top,X=L-H.bottom;let W=0,Y=0,O="top";if(V>=ae+r)O="top",Y=H.top-r-ae,W=H.left+H.width/2-ee/2;else if(X>=ae+r)O="bottom",Y=H.bottom+r,W=H.left+H.width/2-ee/2;else if($>=ee+r)O="right",W=H.right+r,Y=H.top+H.height/2-ae/2;else if(z>=ee+r)O="left",W=H.left-r-ee,Y=H.top+H.height/2-ae/2;else{const ye=Math.max(V,X,$,z);ye===V?(O="top",Y=H.top-r-ae,W=H.left+H.width/2-ee/2):ye===X?(O="bottom",Y=H.bottom+r,W=H.left+H.width/2-ee/2):ye===$?(O="right",W=H.right+r,Y=H.top+H.height/2-ae/2):(O="left",W=H.left-r-ee,Y=H.top+H.height/2-ae/2)}const ie=Number(n)||8;W=Math.min(Math.max(W,ie),B-ee-ie),Y=Math.min(Math.max(Y,ie),L-ae-ie);const ue=Math.round(W),fe=Math.round(Y);D&&b.current?(b.current.style.left=`${ue}px`,b.current.style.top=`${fe}px`,b.current.dataset.placement=O):(k(O||x),y({position:"fixed",left:ue,top:fe}),S(!0))},[j,p,a,t,r,n,x]);l.useLayoutEffect(()=>{if(T)return;if(j&&p){y({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),S(!0);return}F();const D=requestAnimationFrame(()=>F());return()=>cancelAnimationFrame(D)},[t,a,r,m,n,T,j,p,F]),l.useEffect(()=>{if(T||j&&p||!b.current||typeof ResizeObserver>"u")return;const D=new ResizeObserver(()=>{t&&F()});return D.observe(b.current),()=>D.disconnect()},[t,m,n,T,j,p,F]),l.useEffect(()=>{if(T||j&&p)return;const D=()=>F(!0);return window.addEventListener("resize",D),document.addEventListener("scroll",D,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",D),document.removeEventListener("scroll",D,{capture:!0})}},[t,r,m,n,T,j,p,F]),l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const D=window.matchMedia("(max-width: 768px)"),H=()=>A(!!D.matches);H();try{D.addEventListener?D.addEventListener("change",H):D.addListener(H)}catch{try{D.addListener(H)}catch{}}return()=>{try{D.removeEventListener?D.removeEventListener("change",H):D.removeListener(H)}catch{}}},[]);const R=l.useRef(!1),E=l.useCallback((D=!1)=>{if(!(_||R.current)){if(R.current=!0,D){C(!0);try{i&&i()}catch{}return}C(!0),setTimeout(()=>{i&&i()},200)}},[_,i,C]);l.useEffect(()=>{const D=ee=>{const ae=b.current;if(!ae)return;const B=ee.target;if(B&&!ae.contains(B)){try{if(B.closest&&B.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},H=ee=>{const ae=b.current;if(!ae)return;const B=ee.target;if(B&&!ae.contains(B)){try{if(B.closest&&B.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},J=ee=>{if(ee.key==="Escape"){ee.stopPropagation(),E();return}if(ee.key==="Tab"){const ae=b.current;if(!ae)return;const B=ae.querySelectorAll(dr);if(!B||B.length===0)return;const L=B[0],$=B[B.length-1],z=document.activeElement;ee.shiftKey?z===L&&(ee.preventDefault(),$.focus()):z===$&&(ee.preventDefault(),L.focus())}};return document.addEventListener("pointerdown",D,!0),document.addEventListener("click",H,!0),document.addEventListener("keydown",J),()=>{document.removeEventListener("pointerdown",D,!0),document.removeEventListener("click",H,!0),document.removeEventListener("keydown",J)}},[i,s,E]),l.useEffect(()=>{const D=()=>{E(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",D),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",D)}},[E]);const M=o.jsxs("div",{ref:b,className:`tooltip-content ${T?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${_?"is-closing":""} ${c} ${j&&p?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:T?{}:{...v,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":x,"data-left":T?"":v.left,"data-top":T?"":v.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:[f!=null&&o.jsx("div",{className:"tooltip-content__header h5",children:f}),m]});if(T||typeof document>"u")return M;if(h||j&&p){const D=o.jsxs("div",{className:"tooltip-portal",children:[o.jsx("div",{className:"tooltip-backdrop",onClick:()=>{s&&E(!0)}}),M]});return qt.createPortal(D,document.body)}return qt.createPortal(M,document.body)}var W4='.ihabdevteam-core-scope .tooltip-info__content{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);color:var(--color-black);display:inline-flex;justify-content:center;line-height:1;overflow:hidden;padding:4px 12px;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-content.tooltip-info{pointer-events:none}.ihabdevteam-core-scope .tooltip-content.tooltip-info .tooltip-info__content{box-shadow:var(--shadow-tooltip)}.ihabdevteam-core-scope .tooltip-info[data-placement=bottom] .tooltip-info__content:after,.ihabdevteam-core-scope .tooltip-info[data-placement=top] .tooltip-info__content:after{content:"";height:0;margin:0;padding:0;position:absolute;width:0}';te(W4);function aa(e){const{anchorRect:t,text:a,offset:r=8,onClose:n,className:i="",ariaLabel:s}=e||{};return a?o.jsx(Sa,{anchorRect:t,offset:r,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:s||a,children:o.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var H4=".ihabdevteam-core-scope .tooltip-description__box{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;flex-direction:column;gap:10px;max-width:640px;padding:16px 20px}.ihabdevteam-core-scope .tooltip-description__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .tooltip-description__items{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .tooltip-description__item{align-items:flex-start;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs);margin:0}.ihabdevteam-core-scope .tooltip-description__index{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .tooltip-description__item--active{color:var(--color-main);font-weight:600}.ihabdevteam-core-scope .tooltip-description__item--active .tooltip-description__index{color:var(--color-main)}";te(H4);function to(e){const{t}=me.useTranslation(),{anchorRect:a,title:r,items:n,activeIndex:i=-1,showIndex:s=!0,onClose:c,offset:d=12}=e||{},u=Array.isArray(n)?n:n?[n]:[];return!u.length&&!r?null:o.jsx(Sa,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:!0,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:o.jsxs("div",{className:"tooltip-description__box",children:[r&&o.jsx("span",{className:"tooltip-description__title body-2",children:r}),o.jsx("ol",{className:"tooltip-description__items",children:u.map((m,h)=>o.jsxs("li",{className:`tooltip-description__item body-3${h===i?" tooltip-description__item--active":""}`,children:[s&&u.length>1&&o.jsxs("span",{className:"tooltip-description__index button-1",children:[h+1,"."]}),o.jsx("span",{children:m})]},h))})]})})}function re(e){const{size:t=48,type:a,htmlType:r,href:n,target:i,rel:s,icon:c,rightIcon:d,label:u,count:m,subLabel:h,children:p,ariaLabel:g,variant:f="default",align:b="center",selected:v,toggleable:y=!1,disabled:_=!1,useLabel:C=!0,useBorder:x=!0,useBG:k=!0,useDisabledCovered:w=!1,useDisabledInvisible:S=!1,width:j,minWidth:A,onClick:T,onDisabledClick:F,showTooltipInfo:R=!1,tooltipInfoText:E=null,tooltipDescription:M=null,iconSize:D="medium",iconColor:H,shape:J="rounded",color:ee,className:ae,...B}=e,L=typeof t=="string"&&isNaN(Number(t))?t.toLowerCase():String(Number(t)||48),$=L.match(/^\d+$/)?`button${L}`:`button-${L}`,z=Number(t),V=!isNaN(z)&&z<40?"button-2":"button-1",X=u??p,W=_||!!B.disabled,Y=W?w?"disabled-covered":S?"disabled-invisibled":"disabled":f,O=Y?`button--variant-${Y}`:"",ie=b?`button--align-${b}`:"",ue=J?`button--shape-${J}`:"",fe=typeof H=="string"&&H.startsWith("--")?`var(${H})`:H,ye={...j?{width:typeof j=="number"?`${j}px`:j}:{},...A?{minWidth:typeof A=="number"?`${A}px`:A}:{},...x?{}:{"--button-border":W?"0":"1px solid transparent"},...fe?{"--button-icon-color":fe}:{},...ee?{"--color-main":ee}:{}},pe=C===!1?"":X,P=Array.isArray(pe)?pe.length>0:!!pe,q=!!d,oe=a??(P||c||q?"bar":"dot"),ge=`${$}--${oe}`,de=l.useRef(null),I=l.useRef(W),[Z,Q]=l.useState(!!v),[ve,De]=l.useState(!1),[$e,Le]=l.useState(null),Ee=l.useCallback(()=>De(!1),[]);l.useEffect(()=>{typeof v=="boolean"&&Q(v)},[v]),l.useEffect(()=>{if(I.current&&!W&&de.current){const We=de.current;We.blur(),We.style.pointerEvents="none";const Je=requestAnimationFrame(()=>{requestAnimationFrame(()=>{de.current&&(de.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Je)}I.current=W},[W]);const je=typeof v=="boolean"?!!v:Z,Te=y||typeof v=="boolean"?je?"true":"false":void 0,Ie=_e("button",$,ge,O,ie,ue,je?"is-selected":null,k?null:"button--no-bg",ae),He=`button__icon button__icon--${D}`,be=Array.isArray(h)?h:h!==void 0?[h]:[],Ke=()=>{if(Array.isArray(pe))return pe.map((Je,tt)=>{const xt=be[tt];return o.jsxs("span",{className:`button__label-text${xt!==void 0?" button__label-text--has-sub":""}`,children:[Je,xt!==void 0&&o.jsx("span",{className:"button__sub-label-text caption-1",children:xt})]},tt)});const We=h!==void 0;return o.jsxs("span",{className:`button__label-text${We?" button__label-text--has-sub":""}`,children:[pe,m!=null&&o.jsx("span",{className:"button__count",children:m}),We&&o.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Ve=We=>{W||(typeof B.onMouseLeave=="function"&&B.onMouseLeave(We),typeof v!="boolean"&&Q(!1),We.currentTarget.blur())},Re=We=>{if(W){F?.(We);return}typeof v!="boolean"&&y&&Q(Je=>!Je),T?.(We)},qe=l.useCallback(()=>{(R||M)&&(De(!0),Le(de.current?.getBoundingClientRect()??null))},[R,M]),vt=l.useCallback(()=>{(R||M)&&(De(!1),Le(null))},[R,M]),Ue={...B};delete Ue.disabled,delete Ue.className,delete Ue.faded,delete Ue.useFaded,delete Ue.loading,delete Ue.onMouseLeave,delete Ue.onPointerEnter,delete Ue.onPointerLeave,delete Ue.onFocus,delete Ue.onBlur,W&&(Object.keys(Ue).forEach(We=>{/^on[A-Z]/.test(We)&&typeof Ue[We]=="function"&&delete Ue[We]}),Ue["aria-disabled"]="true");const Xe=(typeof R=="string"?R:null)??(typeof E=="string"?E:null)??(typeof g=="string"?g:null)??(typeof X=="string"?X:null)??void 0,ut=typeof g=="string"?g:typeof X=="string"?X:Xe,ze=(We,Je)=>o.jsx(Fe,{icon:We,label:Je??ut,className:He,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),rt=()=>oe==="dot"?o.jsxs(o.Fragment,{children:[ze(c),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()})]}):b==="center"&&c?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"button__center-group",children:[o.jsx("span",{className:"button__left",children:ze(c)}),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()})]}),q&&o.jsx("span",{className:"button__right",children:ze(d)})]}):o.jsxs(o.Fragment,{children:[c&&o.jsx("span",{className:"button__left",children:ze(c,g??X)}),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()}),q&&o.jsx("span",{className:"button__right",children:ze(d)})]}),et=!!n&&!W;return o.jsxs(o.Fragment,{children:[o.jsx(et?"a":"button",{...Ue,ref:de,...et?{href:n,target:i,rel:s??(i==="_blank"?"noreferrer":void 0)}:{type:r,disabled:W&&!F},className:Ie,"aria-pressed":Te,"aria-label":ut,"aria-disabled":et&&W?!0:void 0,style:ye,onClick:Re,onMouseLeave:Ve,onPointerEnter:We=>{qe(),!W&&typeof B.onPointerEnter=="function"&&B.onPointerEnter(We)},onPointerLeave:We=>{vt(),!W&&typeof B.onPointerLeave=="function"&&B.onPointerLeave(We)},onFocus:We=>{qe(),!W&&typeof B.onFocus=="function"&&B.onFocus(We)},onBlur:We=>{Ve(We),vt(),!W&&typeof B.onBlur=="function"&&B.onBlur(We)},children:rt()}),ve&&M?o.jsx(to,{anchorRect:$e,title:M.title,items:M.items,onClose:Ee}):ve&&Xe?o.jsx(aa,{anchorRect:$e,text:Xe,onClose:Ee}):null]})}function lt(e,t,a){const r=l.useRef(null);return l.useLayoutEffect(()=>{const n=r.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),r}var V4=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";te(V4);var G4=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";te(G4);const Co={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Ss=new WeakMap;function As(e){if(e)return Ss.get(e)}function Bt(e,t){e&&(e.style.setProperty(Co.title,t.title),e.style.setProperty(Co.description,t.description),Ss.set(e,t))}function Nt(e){e&&(e.style.removeProperty(Co.title),e.style.removeProperty(Co.description),Ss.delete(e))}const Ts={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Bs(){const e=lt(Ts,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var q4=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";te(q4);const Ns={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ds(){const e=lt(Ns,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var Y4=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";te(Y4);const Es={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function js(){const e=lt(Es,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var U4=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";te(U4);const Ls={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ms(){const e=lt(Ls,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var K4=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";te(K4);const Ps={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Rs(){const e=lt(Ps,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var Z4=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";te(Z4);const $s={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Is(){const e=lt($s,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var X4=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";te(X4);const zs={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Os(){const e=lt(zs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var J4=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";te(J4);const Fs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ws(){const e=lt(Fs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var Q4=".ihabdevteam-core-scope .promo-banner-bg-diagonal{background-color:var(--color-lightMain);background-image:repeating-linear-gradient(45deg,var(--color-main-a10) 0,var(--color-main-a10) 10px,transparent 10px,transparent 20px)}";te(Q4);const Hs={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Vs(){const e=lt(Hs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var e5=".ihabdevteam-core-scope .promo-banner-bg-dots{background-color:var(--color-lightSub);background-image:radial-gradient(var(--color-sub-a10) 2px,transparent 2px);background-size:14px 14px}";te(e5);const Gs={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function qs(){const e=lt(Gs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var t5=".ihabdevteam-core-scope .promo-banner-bg-outline{background:var(--color-white);border:1px solid var(--color-whiteLine);box-sizing:border-box}.ihabdevteam-core-scope .promo-banner-bg-outline__dot{background:linear-gradient(45deg,var(--color-main),var(--color-sub));border-radius:50%;bottom:-40px;height:140px;opacity:.12;position:absolute;right:-40px;width:140px}";te(t5);const Ys={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Us(){const e=lt(Ys,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:o.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var a5=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";te(a5);const Ks={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Zs(){const e=lt(Ks,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var o5=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";te(o5);const Xs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Js(){const e=lt(Xs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var r5=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";te(r5);const Qs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function el(){const e=lt(Qs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Vp=[{key:"main",label:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"soft",label:"\uC18C\uD504\uD2B8",textTone:"dark"},{key:"sub",label:"\uC11C\uBE0C \uCEEC\uB7EC",textTone:"light"},{key:"deep",label:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"softSub",label:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",textTone:"dark"},{key:"warm",label:"\uC6DC(\uAC15\uC870)",textTone:"dark"},{key:"dark",label:"\uB2E4\uD06C",textTone:"light"},{key:"radial",label:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"diagonal",label:"\uB300\uAC01\uC120 \uD328\uD134",textTone:"dark"},{key:"dots",label:"\uB3C4\uD2B8 \uD328\uD134",textTone:"dark"},{key:"outline",label:"\uC544\uC6C3\uB77C\uC778",textTone:"dark"},{key:"success",label:"\uC131\uACF5/\uC644\uB8CC",textTone:"light"},{key:"naver",label:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",textTone:"light"},{key:"instagram",label:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4",textTone:"light"}],tl={main:Bs,soft:Ds,sub:js,deep:Ms,softSub:Rs,warm:Is,dark:Os,radial:Ws,diagonal:Vs,dots:qs,outline:Us,success:Zs,naver:Js,instagram:el};function sn({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const s=v=>Math.max(a,Math.min(r,Number(v))),[c,d]=l.useState(()=>{try{const v=localStorage.getItem(e),y=v?Number(v):1;return Number.isFinite(y)?y:1}catch{return 1}});l.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const u=v=>{d(typeof v=="function"?y=>s(v(y)):s(v))},m=()=>u(v=>+(v+n).toFixed(6)),h=()=>u(v=>+(v-n).toFixed(6)),p=c<r-Number.EPSILON,g=c>a+Number.EPSILON,f=Math.round(t*c),b=Math.round(f*i);return{scale:c,setScale:u,increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}}const ln=l.createContext(null);function n5(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}function oa(e){const t=l.useContext(ln),a=i=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(i).matches,[r,n]=l.useState(a(e));return l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const i=window.matchMedia(e),s=d=>n(d.matches),c=i;return c.addEventListener?c.addEventListener("change",s):c.addListener&&c.addListener(s),n(i.matches),()=>{c.removeEventListener?c.removeEventListener("change",s):c.removeListener&&c.removeListener(s)}},[e]),t&&typeof t.mobile=="boolean"&&n5(e)?t.mobile:r}function al(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),t}function ur(e,t){const a=al(t);l.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const ol=" \xB7 ",Gp=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ol)?e.split(ol).pop()??e:e})(),rl=l.createContext(!1);function nl(e){const t=l.useContext(rl);l.useEffect(()=>{if(t||typeof e!="string"||!e)return;const a=document.title;return document.title=Gp?`${e}${ol}${Gp}`:e,()=>{document.title=a}},[e,t])}function qp(){const{t:e}=me.useTranslation();return l.useCallback(t=>{if(!t)return"";const a=new Date(t).getTime();if(Number.isNaN(a))return"";const r=Math.floor((Date.now()-a)/864e5);return r<=0?e("myHomework.relativeDay.today","\uC624\uB298"):r===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:r})},[e])}function Yp(e){const[t,a]=l.useState({current:"",next:"",confirm:""}),[r,n]=l.useState(null),[i,s]=l.useState(!1),c=l.useRef(null);l.useEffect(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);const d=l.useCallback(()=>{a({current:"",next:"",confirm:""}),n(null)},[]),u=l.useCallback(async()=>{if(!t.current){n({type:"error",text:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694."});return}if(!t.next){n({type:"error",text:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694."});return}if(t.next!==t.confirm){n({type:"error",text:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."});return}s(!0);const m=e?await e(t.current,t.next):null;if(s(!1),m){n({type:"error",text:m});return}n({type:"success",text:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."}),a({current:"",next:"",confirm:""}),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>n(null),1500)},[t,e]);return{pw:t,setPw:a,pwMsg:r,setPwMsg:n,pwLoading:i,handleChangePw:u,reset:d}}const il=[{id:"wordData",labelKey:"settings.cache.group.wordData.label",subKey:"settings.cache.group.wordData.sub",keys:["word_data_cache","word_data_version"]},{id:"pairIndex",labelKey:"settings.cache.group.pairIndex.label",subKey:"settings.cache.group.pairIndex.sub",keys:["word_pair_index_v2","word_pair_index_sig_v2"]},{id:"imageCache",labelKey:"settings.cache.group.imageCache.label",subKey:"settings.cache.group.imageCache.sub",keys:["word_image_existence_map_v1"]}];function sl(e){return e.reduce((t,a)=>{try{const r=localStorage.getItem(a);return t+(r?new Blob([r]).size:0)}catch{return t}},0)}function Up(e){return e===0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function Kp(e){const{t}=me.useTranslation(),[a,r]=l.useState({}),[n,i]=l.useState(null),[s,c]=l.useState(null),[d,u]=l.useState(null),m=l.useCallback(()=>{const p={};il.forEach(g=>{p[g.id]=sl([...g.keys])}),r(p),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(g=>{u({usage:g.usage??0,quota:g.quota??0})}).catch(()=>{})},[]);l.useEffect(()=>{m()},[m]);const h=l.useCallback(async p=>{i(p);try{p==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):p==="pairIndex"?_i():p==="imageCache"&&di(),m(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[m,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:s,setConfirmCacheId:c,storageEstimate:d,refreshCacheSizes:m,handleClearCache:h}}function Zp(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),i=l.useCallback(()=>{const s=Ka();if(s){const d=Object.values(s),u=d.filter(m=>m.cho.length+m.jung.length+m.jong.length>0).length;a({matched:u,total:d.length})}else a(null);const c=Pr();n(c?{exists:c.exists,total:c.total}:null)},[]);return l.useEffect(()=>{i();const s=setTimeout(i,1e3);return()=>clearTimeout(s)},[e?.length,i]),{pairStats:t,imgStats:r,setPairStats:a,setImgStats:n,refreshStats:i}}function Xp(e,t=[]){const[a,r]=l.useState(t),[n,i]=l.useState(null),[s,c]=l.useState(!1),[d,u]=l.useState(e),m=l.useRef(s);l.useEffect(()=>{m.current=s});const h=l.useRef(null);l.useEffect(()=>{if(m.current)return;const y=h.current;y!==null&&y.length===t.length&&y.every((_,C)=>_===t[C])||(h.current=t,r(t))},[t]);const p=l.useCallback(y=>{i(y),c(!1),u({...y})},[]),g=l.useCallback(()=>c(!0),[]),f=l.useCallback(()=>c(!1),[]),b=l.useCallback((y,_)=>{r(y),i(_),c(!1)},[]),v=l.useCallback(y=>{r(_=>_.filter(C=>C!==y)),i(null)},[]);return{list:a,setList:r,selected:n,setSelected:i,isEditing:s,setIsEditing:c,editForm:d,setEditForm:u,openDetail:p,startEditing:g,cancelEditing:f,commitEdit:b,remove:v}}const _o=()=>{const e=new Date;return{year:String(e.getFullYear()),month:String(e.getMonth()+1).padStart(2,"0"),day:String(e.getDate()).padStart(2,"0")}},i5={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Jp(e=[]){const{list:t,setList:a,selected:r,setSelected:n,isEditing:i,setIsEditing:s,editForm:c,setEditForm:d,openDetail:u,commitEdit:m}=Xp(i5,e),{year:h,month:p,day:g}=_o(),[f,b]=l.useState({year:h,month:p,day:g,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:f,setVisitForm:b,setVisit:v=>y=>b(_=>({..._,[v]:y})),selectedVisit:r,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:s,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:v=>{a(x=>[f,...x]);const{year:y,month:_,day:C}=_o();b({year:y,month:_,day:C,hour:"09",minute:"00",memo:""}),v?.()},handleVisitEditSave:()=>{m(v=>v.map(y=>y===r?c:y),c)},addVisit:v=>{a(y=>[v,...y])},removeVisit:v=>{a(y=>y.filter(_=>_!==v))},revertVisitEdit:(v,y)=>{a(_=>_.map(C=>C===y?v:C)),n(_=>_===y?v:_)}}}const Qp=e=>`${e.year.padStart(4,"0")}-${e.month.padStart(2,"0")}-${e.day.padStart(2,"0")} ${e.hour.padStart(2,"0")}:${e.minute.padStart(2,"0")}`,cn=e=>[...e].sort((t,a)=>{const r=Qp(t),n=Qp(a);return r<n?-1:r>n?1:0}),s5={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function eh(e,t=[]){const a=l.useMemo(()=>cn(t),[t]),{list:r,setList:n,selected:i,setSelected:s,isEditing:c,setIsEditing:d,editForm:u,setEditForm:m,openDetail:h,commitEdit:p,remove:g}=Xp(s5,a),[f,b]=l.useState([]),{year:v,month:y,day:_}=_o(),[C,x]=l.useState({year:v,month:y,day:_,hour:"09",minute:"00",memo:""}),k=M=>D=>x(H=>({...H,[M]:D})),w=M=>{n(ee=>cn([...ee,C]));const{year:D,month:H,day:J}=_o();x({year:D,month:H,day:J,hour:"09",minute:"00",memo:""}),M?.()},S=()=>{p(M=>cn(M.map(D=>D===i?u:D)),u)},j=l.useCallback(M=>{g(M)},[g]),A=l.useCallback(M=>{e({year:M.year,month:M.month,day:M.day,hour:M.hour,minute:M.minute,memo:M.memo}),g(M)},[e,g]),T=l.useCallback(M=>{n(D=>D.filter(H=>H!==M)),b(D=>[M,...D]),s(null)},[n,s]),F=l.useCallback(M=>{n(D=>cn([...D,M]))},[n]),R=l.useCallback(M=>{n(D=>D.filter(H=>H!==M))},[n]),E=l.useCallback((M,D)=>{n(H=>H.map(J=>J===D?M:J)),s(H=>H===D?M:H)},[n,s]);return{scheduleList:r,noShowList:f,addSchedule:F,removeSchedule:R,revertScheduleEdit:E,scheduleForm:C,setScheduleForm:x,setSchedule:k,selectedSchedule:i,setSelectedSchedule:s,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:m,openScheduleDetail:h,handleScheduleSave:w,handleScheduleEditSave:S,handleScheduleDelete:j,handleScheduleToVisit:A,handleScheduleNoVisit:T}}const ll=[{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"}];function th(e){const[t,a]=l.useState(""),[r,n]=l.useState("25"),[i,s]=l.useState("all"),[c,d]=l.useState(1),u=l.useMemo(()=>e.filter(({item:g,status:f})=>!(t&&!g.memo.includes(t)||i!=="all"&&f!==i)),[e,t,i]),m=Math.max(1,Math.ceil(u.length/Number(r))),h=Math.min(c,m),p=l.useMemo(()=>u.slice((h-1)*Number(r),h*Number(r)),[u,h,r]);return{vapSearch:t,setVapSearch:a,vapPageSize:r,setVapPageSize:n,vapStatus:i,setVapStatus:s,vapPage:h,setVapPage:d,vapFiltered:u,vapTotal:m,vapPageItems:p}}function cl(e,t){const{t:a}=me.useTranslation(),[r,n]=l.useState("25"),[i,s]=l.useState(1),[c,d]=l.useState(t);c!==t&&(d(t),i!==1&&s(1));const u=l.useMemo(()=>ll.map(g=>({...g,label:a("visits.showN",{n:g.value})})),[a]),m=l.useCallback(g=>{n(g),s(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(r))),p=Math.min(i,h);return{pageRows:l.useMemo(()=>e.slice((p-1)*Number(r),p*Number(r)),[e,p,r]),pageSizeProps:{options:u,value:r,onChange:m},paginationProps:{page:p,total:h,onChange:s},setPage:s}}function dl(){const[e,t]=l.useState(null),a=l.useCallback(n=>{t(i=>i?.key===n?{key:n,asc:!i.asc}:{key:n,asc:!0})},[]),r=l.useCallback((n,i)=>({label:n,sortDir:e?.key===i?e.asc?"asc":"desc":null,onClick:()=>a(i)}),[e,a]);return{\uC815\uB82C:e,\uCE78:r}}function ah(){const[e,t]=l.useState(!1),[a,r]=l.useState("\uC88C"),[n,i]=l.useState({\uC88C:null,\uC6B0:null}),[s,c]=l.useState({\uC88C:[],\uC6B0:[]}),[d,u]=l.useState(!1),[m,h]=l.useState("\uC88C"),p=l.useCallback(f=>{const b=f.direction;i(v=>({...v,[b]:f})),c(v=>({...v,[b]:[f,...v[b]]})),t(!1)},[]),g=l.useCallback(f=>{const b=f.direction;i(v=>({...v,[b]:f})),u(!1)},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:r,devices:n,setDevices:i,deviceHistory:s,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:m,setListForSide:h,handleDeviceSubmit:p,handleSelectFromList:g}}const Dt="\uC804\uCCB4";function ul(){const{t:e}=me.useTranslation();return l.useMemo(()=>({difficulty:e("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:e("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),syllable5plus:e("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1"),partOfSpeech:e("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:e("wordSearch.filter.wordType","\uC720\uD615"),posMap:{[e("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)")]:["\uBA85","\uC218"],[e("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)")]:["\uB3D9","\uD615"],[e("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")]:["\uBD80","\uAD00"]},typeMap:{[e("wordSearch.filter.type.native","\uACE0\uC720\uC5B4")]:"\uACE0\uC720",[e("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4")]:"\uD55C\uC790",[e("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4")]:"\uC678\uB798",[e("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")]:"\uD63C\uC885"}}),[e])}function pl(e,t,a){return{label:t.difficulty,items:[1,2,3,4].map(r=>e("wordSearch.filter.grade",{n:r})),multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function hl(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function ml(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function oh(e,t){return{label:t.syllables,items:[e("wordSearch.filter.syllable",{n:1}),e("wordSearch.filter.syllable",{n:2}),e("wordSearch.filter.syllable",{n:3}),e("wordSearch.filter.syllable",{n:4}),t.syllable5plus],multiple:!0,allOption:!0}}function rh(e,t){const a=[e("wordPairs.filter.onlyHasImage","\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC")];return t?.includeStructure&&a.push(e("wordPairs.filter.onlySameStructure","\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC")),{label:e("wordPairs.filter.selectLabel","\uC120\uD0DD"),items:a,multiple:!0,labelAction:t?.labelAction,labelInfo:t?.labelInfo}}function nh(e,t){const{label:a,headValue:r,midValue:n,tailValue:i,includeMid:s=!0,headDisabled:c,midDisabled:d,tailDisabled:u,allOptionDisabled:m,groupLabel:h,labelAction:p}=t;return{label:a,...h?{groupLabel:h}:{},...p?{labelAction:p}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...m?{allOptionDisabled:m}:{},items:[{value:r,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...s?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:d}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:u}]}}function ih(e,t,a){if(t===Dt){const{[a]:i,...s}=e;return s}const r=e[a]??[],n=r.includes(t)?r.filter(i=>i!==t):[...r,t];if(n.length===0){const{[a]:i,...s}=e;return s}return{...e,[a]:n}}Object.fromEntries(Object.entries(Hw).map(([e,{nucleus:t}])=>[e,t]));const l5={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},c5={"\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)":["\uBA85","\uC218"],"\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)":["\uB3D9","\uD615"],"\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)":["\uBD80","\uAD00"]},d5={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:c5,typeMap:l5};function u5(e,t,a=d5){const r=t[a.difficulty];if(r?.length&&!r.some(c=>e.grade===c.replace(/\D/g,"")))return!1;const n=t[a.syllables];if(n?.length){const c=e.syllables??0;if(!n.some(d=>d===a.syllable5plus?c>=5:c===parseInt(d)))return!1}const i=t[a.partOfSpeech];if(i?.length&&!i.flatMap(c=>a.posMap[c]??[c]).some(c=>(e.pos??"").includes(c)))return!1;const s=t[a.wordType];return!(s?.length&&!s.some(c=>e.wordType===a.typeMap[c]))}const Aa=(e,t)=>t.map(a=>({jamos:[a],tooltip:e})),wt=(e,t)=>({jamos:[...e],tooltip:t}),bl={cho:[Aa("\uC591\uC21C\uC74C",["\u3142","\u3143","\u314D","\u3141"]),Aa("\uCE58\uC870\uC74C",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Aa("\uCE58\uC870\uC74C",["\u3145","\u3146"]),Aa("\uACBD\uAD6C\uAC1C\uC74C",["\u3148","\u3149","\u314A"]),Aa("\uC5F0\uAD6C\uAC1C\uC74C",["\u3131","\u3132","\u314B"]),Aa("\uC131\uBB38\uC74C",["\u314E"])],jung:[[wt("\u3163","\uC804\uC124 \uACE0\uBAA8\uC74C"),wt("\u315F","\uC804\uC124 \uACE0\uBAA8\uC74C \xB7 w\uD65C\uC74C"),wt("\u3162","\uC804\uC124 \uACE0\uBAA8\uC74C \xB7 \u0270\uD65C\uC74C")],[wt("\u3161","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C")],[wt("\u315C","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"),wt("\u3160","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C \xB7 j\uD65C\uC74C")],[wt("\u3154\u3150","\uC804\uC124 \uC911\uBAA8\uC74C"),wt("\u3156\u3152","\uC804\uC124 \uC911\uBAA8\uC74C \xB7 j\uD65C\uC74C"),wt("\u3159\u315A\u315E","\uC804\uC124 \uC911\uBAA8\uC74C \xB7 w\uD65C\uC74C")],[wt("\u3153","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"),wt("\u3155","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C \xB7 j\uD65C\uC74C"),wt("\u315D","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C \xB7 w\uD65C\uC74C")],[wt("\u3157","\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"),wt("\u315B","\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C \xB7 j\uD65C\uC74C")],[wt("\u314F","\uC800\uBAA8\uC74C"),wt("\u3151","\uC800\uBAA8\uC74C \xB7 j\uD65C\uC74C"),wt("\u3158","\uC800\uBAA8\uC74C \xB7 w\uD65C\uC74C")]],jong:[Aa("\uC591\uC21C\uC74C",["\u3142","\u3141"]),Aa("\uCE58\uC870\uC74C",["\u3137","\u3134","\u3139"]),Aa("\uC5F0\uAD6C\uAC1C\uC74C",["\u3131","\u3147"])]},p5=[...Ze],h5=[...dt],m5=gt.filter(e=>e!==""),ba=e=>e===ra?[]:Array.from(e),ra="__NO_CODA__",sh=[1,2,3,4],na=5,b5=12,lh="SYL_",gl=e=>`${lh}${e}`,g5=e=>Number(e.slice(lh.length));function dn(e){return e>=na?Array.from({length:b5-na+1},(t,a)=>na+a):[e]}const ch={cho:p5,jung:h5,jong:m5},fl=e=>e.map(t=>t.map(({jamos:a,tooltip:r})=>({v:a.join(""),tooltip:r}))),vl={cho:fl(bl.cho),jung:fl(bl.jung),jong:fl(bl.jong)},dh={};vl.jung.flat().forEach(({v:e})=>{for(const t of ba(e))dh[t]=e});const f5=new Set(vl.cho.flat().map(e=>e.v));function yl(e,t){return e==="cho"?f5.has(t)?t:null:e==="jung"?dh[t]??t:Gr(t)}function xl(e,t,a){if(e==="jung"){const r=ba(t);return a&&r.includes(a)?a:r[0]??t}return t}function Cl(e,t,a){const r=(n,i)=>i?n==="jong"&&i===ra?ra:t==="pron"?yl(n,i):xl(n,i,n==="jung"?a:null):null;return{...e,cho:r("cho",e.cho),jung:r("jung",e.jung),jong:r("jong",e.jong)}}const un={cho:null,jung:null,jong:null,syllable:null},v5="wt_filter",uh=e=>`wt_filter_${e}`;function ph(e){try{const t=localStorage.getItem(uh(e))??localStorage.getItem(v5);if(t)return JSON.parse(t)}catch{}return null}function y5(e){const t=e;return t?.composition?{cho:t.composition.cho??null,jung:t.composition.jung??null,jong:t.composition.jong??null,syllable:t.composition.syllable??null}:t?.choseong?{...un,cho:t.choseong}:un}function hh(e,t,a){const{t:r,i18n:n}=me.useTranslation(),[i]=l.useState(()=>a?.resetOnMount?null:ph(e)),s=i?.contrastCount,c=typeof s=="number"&&Number.isFinite(s)?s:1,[d,u]=l.useState(Math.min(5,Math.max(1,c))),[m,h]=l.useState(i?.phonemeView==="pron"?"pron":i?.phonemeView==="direct"?"direct":"char"),[p,g]=l.useState(()=>y5(i)),f=l.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:ra,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?ra:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);l.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||g(I=>I.cho||I.jung||I.syllable!=null||I.jong?I:f())},[]);const b=l.useMemo(()=>ft(p.cho)||ft(p.jung)||ft(p.jong)?"count":"random",[p.cho,p.jung,p.jong]),v=l.useRef(m==="char"?p.jung:null);l.useEffect(()=>{m==="char"&&(v.current=p.jung)},[m,p.jung]);const[y,_]=l.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[C,x]=l.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[k,w]=l.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),[S,j]=l.useState(Array.isArray(i?.posFilter)?i.posFilter:[]),[A,T]=l.useState(Array.isArray(i?.wordTypeFilter)?i.wordTypeFilter:[]),F=l.useRef(a?.resetKey);l.useEffect(()=>{F.current!==a?.resetKey&&(F.current=a?.resetKey,g(f()),_(!1),x(!1),w([]),j([]),T([]),u(1))},[a?.resetKey]);const R=ul(),[E,M]=l.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[D,H]=l.useState(!1),[J,ee]=l.useState(null),ae=1,B=Math.max(1,[p.cho,p.jung,p.jong].filter(Boolean).length);l.useEffect(()=>{d<B&&u(B)},[B,d]);const[L,$]=l.useState(e);l.useEffect(()=>{if(L!==e){if(!a?.resetOnMount){const I=ph(e),Z=typeof I?.contrastCount=="number"&&Number.isFinite(I.contrastCount)?I.contrastCount:1;u(Math.min(5,Math.max(1,Z))),g(I?.composition??f()),_(I?.excludeNoImage??!0),x(I?.sameStructureOnly??!0),h(I?.phonemeView==="pron"?"pron":"char"),w(Array.isArray(I?.gradeFilter)?I.gradeFilter:[]),j(Array.isArray(I?.posFilter)?I.posFilter:[]),T(Array.isArray(I?.wordTypeFilter)?I.wordTypeFilter:[])}$(e)}},[e,L,a?.resetOnMount]),l.useEffect(()=>{if(!a?.resetOnMount&&L===e)try{localStorage.setItem(uh(e),JSON.stringify({contrastCount:d,composition:p,excludeNoImage:y,sameStructureOnly:C,phonemeView:m,gradeFilter:k,posFilter:S,wordTypeFilter:A}))}catch{}},[a?.resetOnMount,e,L,d,p,y,C,m,k,S,A]);const[z,V]=l.useState(0);ur("wordpool:update",()=>V(I=>I+1));const X=l.useRef(n.language);l.useEffect(()=>{X.current!==n.language&&(X.current=n.language,V(I=>I+1))},[n.language]),l.useEffect(()=>{if(!t.choseong)return;let I=!1;return L4({difficulty:b,excludeNoImage:y}).then(Z=>{I||(M(Z),Z.cho.size+Z.jung.size+Z.jong.size>0&&H(!0))}).catch(()=>{I||M({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{I=!0}},[t.choseong,b,y,z]),l.useEffect(()=>{let I=!1;const Z=p,Q=Z.cho?ba(Z.cho):null,ve=Z.jung?ba(Z.jung):null,De=Z.jong===ra,$e=De?null:Z.jong?ba(Z.jong):null,Le=Z.syllable!=null?dn(Z.syllable):null,Ee=!!(Q||ve||$e||De||Le);return j4({difficulty:t.difficulty?b:null,contrastCount:t.difficulty?d:1,composition:t.choseong&&Ee?{cho:Q,jung:ve,jong:$e,jongNone:De,syllable:Le}:null,excludeNoImage:y,sameStructureOnly:C,phonemeView:m==="pron"?"pron":"char",grade:k.length>0?k:null}).then(je=>{I||ee(je)}).catch(()=>{I||ee(null)}),()=>{I=!0}},[t.choseong,t.difficulty,b,d,p,m,y,C,z,k]),l.useEffect(()=>{D&&g(I=>{const Z={...I};let Q=!1;return["cho","jung","jong"].forEach(ve=>{const De=I[ve];!De||De===ra||ba(De).some($e=>E[ve].has($e))||(Z[ve]=null,Q=!0)}),I.syllable!=null&&t.fixedSyllable==null&&(I.syllable>=na?[...E.syllable].some(ve=>ve>=na)||(Z.syllable=null,Q=!0):(!E.syllable.has(I.syllable)||I.syllable<ae)&&(Z.syllable=null,Q=!0)),Q?Z:I})},[E,D,ae,t.fixedSyllable]);const W=l.useMemo(()=>{const I=Z=>{const Q=new Set;for(const ve of ch[Z])E[Z].has(ve)&&Q.add(ve);return Q};return{cho:I("cho"),jung:I("jung"),jong:I("jong")}},[E]),Y=l.useMemo(()=>({exact:new Set(sh.filter(I=>E.syllable.has(I))),min:[...E.syllable].some(I=>I>=na)}),[E]),O=l.useMemo(()=>({diffPhonemeCount:r("training.contrast.diffPhonemeCount",{defaultValue:"\uB2E4\uB978 \uC74C\uC18C\uC758 \uCD1D \uAC2F\uC218"}),composition:r("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:r("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:r("wordPairs.onset","\uCD08\uC131"),vowel:r("wordPairs.vowel","\uBAA8\uC74C"),coda:r("wordPairs.coda","\uC885\uC131"),phonemeGroup:r("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:r("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:r("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:r("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:r("training.filter.random","\uBB34\uC791\uC704"),exclude:r("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:r("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:r("common.none","\uC5C6\uC74C"),noImage:r("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:r("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:r("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:r("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:r("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:r("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[r]),ie=l.useMemo(()=>({[O.trainOnset]:"cho",[O.trainVowel]:"jung",[O.trainCoda]:"jong"}),[O]),ue=l.useCallback((I,Z)=>({title:Z,items:I}),[]),fe=l.useMemo(()=>[r("training.filter.excludeImageInfo",{defaultValue:"\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."}),r("training.filter.sameStructureInfo",{defaultValue:"\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."})],[r]),ye=l.useMemo(()=>{const I=[];if(t.choseong){const Z={value:ra,displayLabel:O.codaExclude},Q=t.fixedNoCoda===!0,ve=(De,$e)=>{const Le=Q&&De==="jong",Ee={label:$e,groupLabel:O.phonemeGroup,allOption:!t.requireSyllable,allLabel:O.noLimit,allOptionDisabled:Le};if(m==="pron"){const Te=vl[De].map(Ie=>Ie.map(({v:He,tooltip:be})=>{const Ke=ba(He),Ve=Le||!Ke.some(Re=>E[De].has(Re));return Ke.length>1?{value:He,labels:Ke,tooltip:be,disabled:Ve}:{value:He,tooltip:be,disabled:Ve}}));return De==="jong"&&!t.requireCoda&&Te.unshift([Z]),{...Ee,groups:Te}}const je=ch[De].map(Te=>!Le&&W[De].has(Te)?Te:{value:Te,disabled:!0});return{...Ee,items:De==="jong"&&!t.requireCoda?[Z,...je]:je}};I.push(ve("cho",O.trainOnset)),I.push(ve("jung",O.trainVowel)),I.push(ve("jong",O.trainCoda))}if(I.push({...pl(r,R,{labelInfo:ue([r("wordPairs.filter.difficultyInfo",{defaultValue:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4."})])}),label:O.gradeLabel}),t.partOfSpeech&&I.push(hl(R)),t.wordType&&I.push(ml(R)),t.choseong||t.fixedSyllable!=null){const Z=t.fixedSyllable;I.push({label:O.syllableCount,items:[...sh.map(Q=>({value:gl(Q),displayLabel:r("wordPairs.syllableN",{n:Q,defaultValue:"{{n}}\uC74C\uC808"}),disabled:Z!=null?Q!==Z:!Y.exact.has(Q)||Q<ae})),{value:gl(na),displayLabel:r("wordPairs.syllableNPlus",{n:na,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:Z!=null?na!==Z:!Y.min}],allOption:!0,allOptionDisabled:Z!=null})}return t.choseong?I.push({label:O.exclude,displayLabel:O.selectLabel,multiple:!0,items:[O.excludeImage,O.sameStructure],labelInfo:ue(fe)}):I.push({label:O.exclude,displayLabel:O.selectLabel,multiple:!0,items:[O.excludeImage],labelInfo:ue([fe[0]])}),I},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,ae,W,E,m,Y,O,r,ue,fe,R]),pe={...t.difficulty?{[O.diffPhonemeCount]:String(d)}:{},...(t.choseong||t.fixedSyllable!=null)&&p.syllable!=null?{[O.syllableCount]:gl(p.syllable)}:{},...t.choseong&&p.cho?{[O.trainOnset]:p.cho}:{},...t.choseong&&p.jung?{[O.trainVowel]:p.jung}:{},...t.choseong&&p.jong?{[O.trainCoda]:p.jong}:{},[O.exclude]:[...y?[O.excludeImage]:[],...C?[O.sameStructure]:[]],[O.gradeLabel]:k.map(I=>r("wordSearch.filter.grade",{n:Number(I),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[R.partOfSpeech]:S}:{},...t.wordType?{[R.wordType]:A}:{}},P=l.useCallback((I,Z)=>{if(Z===O.diffPhonemeCount){const Q=Number(I);Q>=1&&u(Q)}else if(Z===O.exclude)I===O.excludeImage?_(Q=>!Q):I===O.sameStructure&&x(Q=>!Q);else if(Z===O.syllableCount)g(Q=>{if(!I||I===Dt)return{...Q,syllable:null};const ve=g5(I);return{...Q,syllable:Q.syllable===ve?null:ve}});else if(Z===O.gradeLabel){if(!I||I===Dt){w([]);return}const Q=I.replace(/\D/g,"");w(ve=>ve.includes(Q)?ve.filter(De=>De!==Q):[...ve,Q])}else if(Z===R.partOfSpeech){if(!I||I===Dt){j([]);return}j(Q=>Q.includes(I)?Q.filter(ve=>ve!==I):[...Q,I])}else if(Z===R.wordType){if(!I||I===Dt){T([]);return}T(Q=>Q.includes(I)?Q.filter(ve=>ve!==I):[...Q,I])}else{const Q=ie[Z];if(!Q)return;g(ve=>t.requireSyllable?I&&I!==Dt?{...ve,[Q]:I}:ve:!I||I===Dt||ve[Q]===I?{...ve,[Q]:null}:{...ve,[Q]:I})}},[O,ie,R,t.requireSyllable]),q=l.useCallback(I=>!t.partOfSpeech&&!t.wordType?!0:u5(I,{...t.partOfSpeech?{[R.partOfSpeech]:S}:{},...t.wordType?{[R.wordType]:A}:{}},R),[t.partOfSpeech,t.wordType,S,A,R]),oe=l.useCallback(I=>{I!==m&&(I!=="direct"&&m!=="direct"&&g(Z=>Cl(Z,I,v.current)),h(I))},[m]),ge=l.useCallback(()=>({composition:p,contrastCount:d,excludeNoImage:y,sameStructureOnly:C,phonemeView:m,gradeFilter:k}),[p,d,y,C,m,k]),de=l.useCallback(I=>{g(I.composition),u(I.contrastCount),_(I.excludeNoImage),x(I.sameStructureOnly??!0),h(I.phonemeView),w(Array.isArray(I.gradeFilter)?I.gradeFilter:[])},[]);return{difficulty:b,contrastCount:d,composition:p,choseong:p.cho,excludeNoImage:y,sameStructureOnly:C,gradeFilter:k,posFilter:S,wordTypeFilter:A,matchesWordAttributes:q,poolVersion:z,filterSections:ye,filterSelected:pe,handleFilterSelect:P,phonemeView:m,setPhonemeView:oe,phonemeGroupLabel:O.phonemeGroup,wordCount:J,getFilterSnapshot:ge,restoreFilterSnapshot:de}}function x5(e){const t=c=>c?ba(c):null,a=t(e.cho),r=t(e.jung),n=e.jong===ra,i=n?null:t(e.jong),s=e.syllable!=null?dn(e.syllable):null;return!a&&!r&&!i&&!n&&!s?null:{cho:a,jung:r,jong:i,jongNone:n,syllable:s}}function mh(e,t,a,r,n,i,s=!0,c="char",d=[]){const[u,m]=l.useState({}),[h,p]=l.useState(!1),{cho:g=null,jung:f=null,jong:b=null,syllable:v=null}=r??{},y=d.length>0?d.slice().sort().join(","):"";return l.useEffect(()=>{i>0&&E4(n).catch(()=>{})},[i,n]),l.useEffect(()=>{let _=!1;return p(!0),(async()=>{const C=x5({cho:g,jung:f,jong:b,syllable:v}),x=`${g??""}_${f??""}_${b??""}_${v??""}_${y}`,k={};await Promise.all(e.map(async w=>{const S=fo[w.key];try{const j=await Dp(w.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?C:null,count:5,excludeNoImage:n,sameStructureOnly:s,phonemeView:c,grade:d.length>0?d:null});j&&j.length>0?k[w.key]={id:`wt-${w.key}-${t}-${x}-${Date.now()}`,name:w.label,training_type:w.key,category_main_code:"WORD",iconColor:w.color,subTitle:w.subTitle,items:j,itemCount:j.length}:k[w.key]={id:`wt-${w.key}-empty`,name:w.label,training_type:w.key,category_main_code:"WORD",iconColor:w.color,subTitle:w.subTitle,items:[],itemCount:0,__empty:!0}}catch{k[w.key]=null}})),_||(m(k),p(!1))})(),()=>{_=!0}},[t,a,g,f,b,v,n,s,c,i,y]),{perTypeData:u,generating:h}}function C5(e){let t=2166136261;for(let a=0;a<e.length;a++)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return t>>>0}function _5(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let a=Math.imul(t^t>>>15,1|t);return a=a+Math.imul(a^a>>>7,61|a)^a,((a^a>>>14)>>>0)/4294967296}}const pn=Jt;function _l(e,t){const a=t?_5(C5(t)):Math.random;return{LISTEN_IN_NOISE:pn(Ra,Math.max(0,e.LISTEN_IN_NOISE||0),a),SHORT_STORY:pn($a,Math.max(0,e.SHORT_STORY||0),a),LONG_STORY:pn(Ia,Math.max(0,e.LONG_STORY||0),a),ORDERING_SENTENCE:pn(za,Math.max(0,e.ORDERING_SENTENCE||0),a)}}function bh(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const w5={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function gh(e=!1,t=w5,a){const r=ka(Date.now()),n=ka(Date.now()-864e5),i=`${a??""}|${r}`,s=`${a??""}|${n}`;return Ra.length>0||$a.length>0||Ia.length>0||za.length>0?{today:_l(t,i),yesterday:_l(t,s)}:{today:_l(t,i),yesterday:null}}function fh(e){const t=l.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=l.useRef(null),[r,n]=l.useState(!1),[i,s]=l.useState(!1),[c,d]=l.useState(0),[u,m]=l.useState(!1);l.useEffect(()=>{let p=!1,g,f=0;const b=40,v=()=>{g!==void 0&&(clearInterval(g),g=void 0)};let y=!1;try{const x=new URLSearchParams(window.location.search),k=x.get("forceRefresh")||x.get("force");y=k==="1"||k==="true"}catch{}const _=x=>{t.current=x.today,a.current=x.yesterday,n(!0),m(!0),d(k=>k+1),p=!0,v()},C=async()=>{if(p)return;if(!y){const k=gh(!1,void 0,e);if(bh(k.today)){_(k);return}}try{await xs(3e3)}catch{}if(p)return;const x=gh(y,void 0,e);if(bh(x.today)){_(x);return}++f>=b&&(n(!0),m(!1),p=!0,v())};return C(),g=setInterval(C,250),()=>{p=!0,v()}},[e]);const h=l.useCallback(p=>{const g=i?a.current:t.current,f=i?t.current:a.current;return g?.[p]?.length?g[p]:f?.[p]?.length?f[p]:void 0},[i,c]);return{loaded:r,hasData:u,showYesterday:i,setShowYesterday:s,getTrainingPerType:h}}const wo=[];let hn=!1;function vh(e){if(e.key!=="Escape"||e.defaultPrevented)return;const t=wo[wo.length-1];t&&(e.stopPropagation(),t())}function wl(e){return wo.push(e),!hn&&typeof document<"u"&&(document.addEventListener("keydown",vh),hn=!0),()=>{const t=wo.lastIndexOf(e);t>=0&&wo.splice(t,1),wo.length===0&&hn&&typeof document<"u"&&(document.removeEventListener("keydown",vh),hn=!1)}}function kl(e,t=!0){const a=al(e);l.useEffect(()=>{if(t)return wl(()=>{a.current?.()})},[t,a])}const mn=(e,t)=>`${e}:${t??1}`,Sl=new Map;function yh(e,t){const[a,r]=l.useState(0),n=e.map(i=>mn(i.word,i.homonum)).join("|");return l.useEffect(()=>{const i=(n?n.split("|"):[]).filter(d=>!Sl.has(d));if(i.length===0)return;let s=!1;const c=Array.from(new Set(i.map(d=>d.slice(0,d.lastIndexOf(":")))));return t(c).then(d=>{if(!(s||d.length===0)){for(const u of d)u.Meaning&&Sl.set(mn(u.Word,u.Homonum??void 0),u.Meaning);r(u=>u+1)}}),()=>{s=!0}},[n,t]),l.useMemo(()=>{const i=n?n.split("|"):[],s=new Map;for(const c of i){const d=Sl.get(c);d!=null&&s.set(c,d)}return s},[n,a])}function ko(){const[e,t]=l.useState(null),a=l.useCallback(i=>t(i.getBoundingClientRect()),[]),r=l.useCallback(()=>t(null),[]),n=l.useCallback(i=>{const s=i.getBoundingClientRect();t(c=>c?null:s)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:n}}function xh(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),i=l.useRef(null);l.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const s=l.useCallback((d,u)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),n(u)},e)},[e]),c=l.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:r,openAfterDelay:s,close:c}}function Ch(e,t,a){const r=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/r)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:l.useMemo(()=>e.slice((i-1)*r,i*r),[e,i,r]),totalPages:n,curPage:i}}function bn(e="warning"){const[t,a]=l.useState(""),[r,n]=l.useState(e),[i,s]=l.useState(0),c=l.useCallback((h,p)=>{n(p),a(h),s(g=>g+1)},[]),d=l.useCallback(h=>c(h,"warning"),[c]),u=l.useCallback(h=>c(h,"normal"),[c]),m=l.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:d,showNormal:u,clearToast:m}}const pr={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},hr=pr.blue,gn=pr.green,mr=pr.amber,fn=pr.purple,k5=pr.pink,S5=[{key:"discrimination",label:"\uBCC0\uBCC4\uD6C8\uB828",disc:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0, \uB610\uB294 \uD2B9\uC815 \uC18C\uB9AC\uB97C \uAD6C\uBCC4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"ear",types:[{key:"SAME_SOUND_PICK",label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",icon:"volume-2",color:hr,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"SAME_OR_DIFF",label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",icon:"diff",color:hr,subTitle:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},{key:"HEAR_AND_PICK_SAME",label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"headphones",color:hr,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"HEAR_AND_PICK_INCLUDED",label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"scan-search",color:hr,subTitle:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"STARTS_WITH_SAME_SOUND",label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"play-circle",color:hr,subTitle:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."}]},{key:"synthesis",label:"\uD569\uC131\uD6C8\uB828",disc:"\uB450 \uAC1C \uC774\uC0C1\uC758 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uD569\uCCD0 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"git-merge",types:[{key:"MERGE_2_SYLLABLES",label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",icon:"link-2",color:gn,subTitle:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_SYLLABLES",label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",icon:"git-merge",color:gn,subTitle:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_2_PHONEMES",label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",icon:"combine",color:gn,subTitle:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_PHONEMES",label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",icon:"braces",color:gn,subTitle:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"}]},{key:"deletion",label:"\uD0C8\uB77D\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC5D0\uC11C \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uC81C\uAC70\uD588\uC744 \uB54C \uB0A8\uB294 \uC18C\uB9AC\uB97C \uC778\uC2DD\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"scissors",types:[{key:"DROP_1_FROM_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"scissors",color:mr,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_1_FROM_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"minus-circle",color:mr,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_PART_FROM_COMPOUND",label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84\uD0C8\uB77D",icon:"unlink",color:mr,subTitle:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_FINAL_CONSONANT_FROM_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",icon:"eraser",color:mr,subTitle:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"REMOVE_CONSONANT_AND_IDENTIFY_PHONEME",label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",icon:"audio-lines",color:mr,subTitle:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"}]},{key:"substitution",label:"\uB300\uCE58\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC758 \uC77C\uBD80 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uBC14\uAFB8\uC5B4 \uC0C8\uB85C\uC6B4 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"replace",types:[{key:"CHANGE_1_SYLL_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"replace",color:fn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_SYLL_IN_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"shuffle",color:fn,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"arrow-right-left",color:fn,subTitle:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"flip-horizontal",color:fn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}]},{key:"attention",label:"\uCCAD\uAC01\uC801\uC8FC\uC758\uB825\uD6C8\uB828",disc:"\uC5EC\uB7EC \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uC21C\uC11C\uB97C \uAE30\uC5B5\uD558\uB294 \uC8FC\uC758\uB825\uACFC \uB2E8\uAE30 \uAE30\uC5B5 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"list-ordered",types:[{key:"LISTEN_AND_REMEMBER_ORDER",label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",icon:"list-ordered",color:k5,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function _h(){const{t:e}=me.useTranslation();return l.useMemo(()=>{const t=Object.fromEntries(s4(e).map(r=>[r.key,r.label])),a={...t};return S5.flatMap(r=>r.types).forEach(r=>{a[r.key]=e(`trainingType.${r.key}.label`,{defaultValue:r.label})}),{sentence:t,all:a}},[e])}function ao({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[n,i]=l.useState(!1),[s,c]=l.useState({}),d=l.useRef(null),u=l.useRef(null),m=l.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect()))},[e]);l.useEffect(()=>{if(!n)return;m();const g=y=>{const _=y.target;r&&_.closest?.(r)||d.current?.contains(_)||u.current?.contains(_)||i(!1)};document.addEventListener("mousedown",g);const f=y=>{u.current?.contains(y.target)||(t==="reposition"?m():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",f,!0);const b=()=>{a==="reposition"?m():a==="close"&&i(!1)};a!=="ignore"&&window.addEventListener("resize",b);const v=y=>{y.key==="Escape"&&i(!1)};return document.addEventListener("keydown",v),()=>{document.removeEventListener("mousedown",g),t!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&window.removeEventListener("resize",b),document.removeEventListener("keydown",v)}},[n,m,t,a,r]);const h=l.useCallback(()=>i(g=>!g),[]),p=l.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:h,close:p,style:s,triggerRef:d,menuRef:u}}function Al(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:n,playMs:i=1100,feedbackMs:s=1500}={}){const[c,d]=l.useState([]),[u,m]=l.useState(0),[h,p]=l.useState("idle"),[g,f]=l.useState(null),[b,v]=l.useState([]),[y,_]=l.useState(null),[C,x]=l.useState(0),k=l.useRef(0),w=l.useCallback(B=>{k.current=typeof B=="function"?B(k.current):B,x(k.current)},[]),S=l.useRef(r),j=l.useRef(n);l.useEffect(()=>{S.current=r,j.current=n},[r,n]);const A=l.useRef([]),T=()=>{A.current.forEach(clearTimeout),A.current=[]},F=(B,L)=>{A.current.push(setTimeout(L,B))};l.useEffect(()=>()=>T(),[]);const R=c[u]?.id??null,E=l.useCallback(()=>{T(),p("playing"),v([]),_(null),w(0);let B=0;e.forEach((L,$)=>{F(B,()=>{m($),f(L.id),S.current?.(L)}),F(B+1e3,()=>{f(null),v(z=>[...z,L.id])}),B+=1300}),F(B,()=>{p("done"),j.current?.({score:0,total:e.length})})},[e,w]),M=l.useCallback((B,L)=>{if(L>=B.length){p("done"),j.current?.({score:k.current,total:B.length});return}m(L),_(null),p("playing"),f(B[L].id),S.current?.(B[L]),F(i,()=>{f(null),p("waiting")})},[i]),D=l.useCallback(()=>{T();const B=Ge(e);d(B),w(0),v([]),M(B,0)},[e,M,w]),H=l.useCallback(()=>{t==="playback"?(d(e),E()):D()},[t,e,E,D]),J=l.useCallback(()=>{T(),p("idle"),f(null),v([]),_(null),m(0),w(0),d([])},[w]);l.useEffect(()=>{a?H():J()},[t,e.length,a]);const ee=l.useCallback(B=>{h!=="waiting"||t==="playback"||(_(B),B===c[u]?.id&&w(L=>L+1),t==="exam"?(p("playing"),F(400,()=>M(c,u+1))):(p("feedback"),F(s,()=>M(c,u+1))))},[h,t,c,u,M,s,w]),ae=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:b,selectedId:y,answerId:R,showFeedback:h==="feedback",clickable:h==="waiting",onSelectSpeaker:ee},index:u,total:ae,score:C,phase:h,done:h==="done",start:H,reset:J}}var A5=Object.freeze({__proto__:null,CACHE_GROUPS:il,CORE_VERSION:Nr,DocumentTitleSuppressContext:rl,EMPTY_COMPOSITION:un,MediaQueryOverrideContext:ln,NO_CODA:ra,SYLLABLE_MIN:na,VAP_PAGE_SIZE_OPTIONS:ll,buildGradeSection:pl,buildPartOfSpeechSection:hl,buildPositionSection:nh,buildSelectSection:rh,buildSyllableSection:oh,buildWordTypeSection:ml,charToPronValue:yl,convertComposition:Cl,fmtBytes:Up,lsBytes:sl,meaningKey:mn,pronToCharValue:xl,syllableToFilter:dn,today:_o,toggleAttributeFilter:ih,useAnchoredMenu:ao,useCacheManagement:Kp,useDailyTrainingSelection:fh,useDelayedHoverAnchor:xh,useDeviceManagement:ah,useDocumentTitle:nl,useEscToClose:kl,useFontScale:sn,useHoverAnchor:ko,useMediaQuery:oa,usePagedList:Ch,usePasswordChange:Yp,useRelativeDay:qp,useSoundCompassExam:Al,useTablePaging:cl,useTableSort:dl,useToastState:bn,useTrainingTypeLabels:_h,useVisitAllPanel:th,useVisitHistory:Jp,useVisitSchedule:eh,useWindowEvent:ur,useWordAttributeFilterKeys:ul,useWordDataStats:Zp,useWordMeanings:yh,useWordTrainingDataGeneration:mh,useWordTrainingFilter:hh,valueToJamos:ba}),T5=".ihabdevteam-core-scope .promo-banner{align-items:center;border-radius:var(--radius-s);box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;overflow:hidden;position:relative;text-align:left}.ihabdevteam-core-scope .promo-banner--medium{min-height:120px;padding:20px 24px}.ihabdevteam-core-scope .promo-banner--small{padding:14px 16px}.ihabdevteam-core-scope .promo-banner__title{color:inherit;color:var(--promo-banner-bg-title,inherit)}.ihabdevteam-core-scope .promo-banner__description{color:inherit;color:var(--promo-banner-bg-description,inherit)}.ihabdevteam-core-scope .promo-banner__text{display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:1}.ihabdevteam-core-scope .promo-banner__description{margin-left:2px;margin-top:1px}.ihabdevteam-core-scope .promo-banner>.button{flex-shrink:0;position:relative;z-index:1}";te(T5);function wh({title:e,description:t,actionLabel:a,onAction:r,bg:n,color:i,size:s="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:m=""}){const h=n??i??"main",p=l.useRef(null),[g,f]=l.useState("main"),b=oa("(max-width: 767px)");l.useLayoutEffect(()=>{const _=p.current;_&&(d!==void 0&&_.style.setProperty("--promo-banner-bg-title",d),u!==void 0&&_.style.setProperty("--promo-banner-bg-description",u))},[d,u]),l.useLayoutEffect(()=>{const _=p.current;if(!_)return;const C=As(_);f(C?.actionVariant??"main")},[h]);const v=_e("promo-banner",`promo-banner--${s}`,m),y=tl[h];return o.jsxs("div",{ref:p,className:v,role:"note",children:[o.jsx(y,{}),o.jsxs("div",{className:"promo-banner__text",children:[o.jsx("span",{className:`promo-banner__title ${s==="small"?"body-2":"h2"}`,children:e}),t&&o.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&o.jsx(re,{size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...b?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var B5='.ihabdevteam-core-scope .top-banner{--top-banner-min-h:120px;display:flex;flex-direction:column;padding-bottom:var(--spacing-page);position:relative}.ihabdevteam-core-scope .top-banner__viewport{border-radius:var(--radius-m);min-height:var(--top-banner-min-h);overflow:hidden}.ihabdevteam-core-scope .top-banner__track{align-items:stretch;display:flex;min-height:var(--top-banner-min-h);transition:transform .4s ease}.ihabdevteam-core-scope .top-banner__slide{flex:0 0 100%;min-width:0}.ihabdevteam-core-scope .top-banner__slide>*{box-sizing:border-box;min-height:100%;width:100%}.ihabdevteam-core-scope .top-banner__dots{bottom:calc(var(--spacing-page) + 12px);display:flex;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .top-banner__dot{background:var(--color-white-a30);border:none;border-radius:3px;cursor:pointer;height:6px;padding:0;position:relative;transition:width .25s ease,background-color .25s ease;width:6px}.ihabdevteam-core-scope .top-banner__dot:after{content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 6px)}.ihabdevteam-core-scope .top-banner__dot--active{background:var(--color-white);width:18px}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot{background:var(--color-lightGray-a80)}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot--active{background:var(--color-main)}';te(B5);function kh({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":n}){const{t:i}=me.useTranslation(),s=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=l.Children.toArray(e),d=c.length,[u,m]=l.useState(0),[h,p]=l.useState(!1),g=d>0?u%d:0;return l.useEffect(()=>{if(d<2||t<=0||h)return;const f=window.setInterval(()=>m(b=>(b+1)%d),t);return()=>window.clearInterval(f)},[d,t,h]),d===0?null:o.jsxs("section",{className:_e("top-banner",r),"aria-label":s,"aria-roledescription":"carousel",onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),children:[o.jsx("div",{className:"top-banner__viewport",children:o.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${g*100}%)`},children:c.map((f,b)=>o.jsx("div",{className:"top-banner__slide","aria-hidden":b!==g,...b!==g?{inert:!0}:{},children:f},b))})}),d>1&&o.jsx("div",{className:`top-banner__dots${(a?.[g]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((f,b)=>o.jsx("button",{type:"button",className:`top-banner__dot${b===g?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:b+1,defaultValue:`${d}\uAC1C \uC911 ${b+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":b===g,onClick:()=>m(b)},b))})]})}var N5=".ihabdevteam-core-scope .accordion-item{background:transparent;border-radius:var(--radius-m)}.ihabdevteam-core-scope .accordion-item__header{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;cursor:pointer;display:flex;gap:var(--spacing-s);min-height:56px;outline:none;padding:0 20px;transition:background-color .2s ease,border-color .2s ease}.ihabdevteam-core-scope .accordion-item__header:hover{background:var(--color-deepWhite);border-color:var(--color-main)}.ihabdevteam-core-scope .accordion-item__header:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .accordion-item__avatar{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__title{flex:1;text-align:left}.ihabdevteam-core-scope .accordion-item__chevron{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__chevron-icon{align-items:center;color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .accordion-item__chevron-image{height:18px;opacity:.7;transition:transform .18s ease;width:18px}.ihabdevteam-core-scope .accordion-item.accordion-item--open{background:var(--color-main-a10);border-radius:var(--radius-m);overflow:hidden}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__header{background:var(--color-white);border:1px solid var(--color-main)}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__chevron-image{transform:rotate(180deg)}.ihabdevteam-core-scope .accordion-item__body p{margin:0}.ihabdevteam-core-scope .accordion-item__body{background:transparent;box-sizing:border-box;color:var(--color-darkGray);max-width:100%;overflow-wrap:break-word;padding:40px 32px;text-align:left;word-break:break-word}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{min-height:48px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{min-height:56px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{min-height:72px}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{border-radius:12px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{border-radius:14px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{border-radius:18px}.ihabdevteam-core-scope .accordion-group,.ihabdevteam-core-scope .accordion-group>.accordion-item{box-sizing:border-box;display:block;width:100%}.ihabdevteam-core-scope .accordion-group>.accordion-item+.accordion-item{margin-top:var(--spacing-s)}";te(N5);function D5({title:e,body:t,open:a=!1,onToggle:r,avatar:n,titleClassName:i="body-2",bodyClassName:s="body-2",className:c=""}){const{t:d}=me.useTranslation();return o.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),children:[o.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),r?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const m=u.currentTarget.closest('[role="list"]');if(!m)return;const h=Array.from(m.querySelectorAll("[data-accordion-header]")),p=h.indexOf(u.currentTarget);(u.key==="ArrowDown"?h[p+1]:h[p-1])?.focus()}},children:[n&&o.jsx("div",{className:"accordion-item__avatar",children:n}),o.jsx("div",{className:`accordion-item__title ${i}`,children:e}),o.jsx("div",{className:"accordion-item__chevron",children:o.jsx(Fe,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&o.jsx("div",{className:`accordion-item__body ${s}`,children:typeof t=="string"?o.jsx("p",{children:t}):t})]})}function Sh({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:n}){const[i,s]=l.useState(t);return o.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>o.jsx(D5,{title:c.title,body:c.body,avatar:c.avatar,open:d===i,onToggle:()=>s(d===i?-1:d),bodyClassName:n},d))})}var E5=".ihabdevteam-core-scope .bottom-nav{align-items:flex-start;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:none;height:calc(72px + env(safe-area-inset-bottom));left:0;padding:8px calc(10px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(10px + env(safe-area-inset-left));position:fixed;right:0;z-index:var(--z-nav)}.ihabdevteam-core-scope .bottom-nav__left{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .bottom-nav__divider{align-self:flex-start;background:var(--color-whiteLine);border-radius:1px;flex-shrink:0;height:24px;margin:14px 0 0;width:1px}.ihabdevteam-core-scope .bottom-nav__items{align-items:center;display:flex;flex:1;gap:10px;justify-content:center;overflow:hidden}.ihabdevteam-core-scope .bottom-nav__right{align-items:center;display:flex;flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .bottom-nav{display:flex}}@media (min-width:768px){.ihabdevteam-core-scope .bottom-nav{display:none}}.ihabdevteam-core-scope .bottom-nav-item{align-items:center;background:transparent!important;border:none!important;border-radius:10px!important;color:var(--color-lightGray);cursor:pointer;display:flex!important;flex-direction:column;height:52px!important;justify-content:center;padding:0!important;transition:background .16s ease,color .16s ease!important;width:52px!important}.ihabdevteam-core-scope .bottom-nav-item:hover:not(.is-selected){background:var(--color-darkWhite)!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected{animation:bottom-nav-active-bg .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-sub)!important;box-shadow:0 6px 12px rgba(12,24,36,.06);color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected *{color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .bottom-nav-item:disabled,.ihabdevteam-core-scope .bottom-nav-item[disabled]{opacity:.6;pointer-events:none}@keyframes bottom-nav-active-bg{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";te(E5);var j5=".ihabdevteam-core-scope .badge{align-items:center;background:var(--badge-color,var(--color-main));border-radius:999px;box-shadow:none;box-shadow:var(--badge-shadow,none);color:#fff;color:var(--badge-on-color,#fff);display:inline-flex;gap:6px;justify-content:center;line-height:1;vertical-align:middle;white-space:nowrap}.ihabdevteam-core-scope .badge--small{font-size:12px;height:20px;padding:0 10px}.ihabdevteam-core-scope .badge--medium{font-size:14px;height:28px;padding:0 14px}.ihabdevteam-core-scope .badge--large{font-size:16px;height:32px;padding:0 18px}.ihabdevteam-core-scope .badge__icon{align-items:center;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .badge--default{--badge-color:var(--color-lightGray);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--main{--badge-color:var(--color-main);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--sub{--badge-color:var(--color-sub);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--danger{--badge-color:var(--color-error);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--disabled{--badge-color:var(--color-disabled);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--like{--badge-color:var(--color-like);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--success{--badge-color:var(--color-success);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--warning{--badge-color:var(--color-warn);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--critical{--badge-color:#7c3aed;--badge-on-color:#fff}.ihabdevteam-core-scope .badge--outline{background:transparent;border:1px solid var(--badge-color);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .badge--soft{background:color-mix(in srgb,var(--badge-color) 10%,transparent);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .circle-badge{align-items:center;border:2px solid var(--color-pureWhite);border-radius:50%;box-sizing:border-box;display:inline-flex;flex-shrink:0;font-weight:700;justify-content:center;line-height:1;pointer-events:none;position:absolute;transition:background .12s,transform .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}@keyframes circle-badge-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.ihabdevteam-core-scope .circle-badge--animate{animation:circle-badge-pop .24s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .circle-badge--animate{animation:none}}.ihabdevteam-core-scope .circle-badge--clickable{cursor:pointer;pointer-events:auto}.ihabdevteam-core-scope .circle-badge--clickable:hover{transform:scale(1.12)}.ihabdevteam-core-scope .circle-badge--top-right{right:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--top-left{left:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--inline{border:none;position:static}.ihabdevteam-core-scope .circle-badge--24{border-width:1px;font-size:11px;height:24px;width:24px}.ihabdevteam-core-scope .circle-badge--32{border-width:2px;font-size:14px;height:32px;width:32px}.ihabdevteam-core-scope .circle-badge--40{border-width:2px;font-size:16px;height:40px;width:40px}.ihabdevteam-core-scope .circle-badge--check,.ihabdevteam-core-scope .circle-badge--number{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .circle-badge--remove{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .circle-badge--minus{background:var(--color-lightGray);color:#fff}.ihabdevteam-core-scope .circle-badge--24 svg{height:11px;width:11px}.ihabdevteam-core-scope .circle-badge--32 svg{height:15px;width:15px}.ihabdevteam-core-scope .circle-badge--40 svg{height:19px;width:19px}";te(j5);function L5(){return o.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("polyline",{points:"2,6 5,9 10,3"})})}function M5(){return o.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[o.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),o.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function P5(){return o.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:o.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function ht(e){const{type:t="bar",size:a,className:r="","aria-label":n}=e;if(t==="dot"){const{icon:C,number:x,position:k="top-right",onClick:w,animate:S=!1}=e,j=x!==void 0?"number":C??"check",A=typeof a=="number"?a:32,T=_e("circle-badge",`circle-badge--${j}`,`circle-badge--${k}`,`circle-badge--${A}`,S?"circle-badge--animate":"",w?"circle-badge--clickable":"",r),F=x!==void 0?`${x}\uBC88\uC9F8 \uC120\uD0DD`:{check:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",minus:"\uC81C\uC678"}[C??"check"];return o.jsxs("span",{className:T,onClick:w,onKeyDown:w?R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),R.currentTarget.click())}:void 0,"aria-label":n??F,role:w?"button":void 0,tabIndex:w?0:void 0,children:[x!==void 0&&x,x===void 0&&C==="check"&&o.jsx(L5,{}),x===void 0&&C==="remove"&&o.jsx(M5,{}),x===void 0&&C==="minus"&&o.jsx(P5,{})]})}const{label:i,children:s,variant:c="default",fill:d="filled",minWidth:u,iconLeft:m,iconRight:h,color:p}=e,g=typeof a=="number"?"medium":a??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",b={small:12,medium:14,large:16}[g]??14,v=_e("badge",`badge--${c}`,`badge--${g}`,d!=="filled"?`badge--${d}`:"",f,r),y=p?.startsWith("--")?`var(${p})`:p,_=u!==void 0||y?{...u!==void 0?{minWidth:typeof u=="number"?`${u}px`:u}:{},...y?{"--badge-color":y}:{}}:void 0;return o.jsxs("span",{className:v,style:_,children:[m&&o.jsx(Fe,{icon:m,size:b,className:"badge__icon"}),i??s,h&&o.jsx(Fe,{icon:h,size:b,className:"badge__icon"})]})}var R5=".ihabdevteam-core-scope .tooltip-menu{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:160px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);display:flex;gap:var(--spacing-xs);height:52px;padding:8px 12px}.ihabdevteam-core-scope .tooltip-menu__title{font-weight:600}.ihabdevteam-core-scope .tooltip-menu__columns{display:flex;gap:var(--spacing-s);padding:4px}.ihabdevteam-core-scope .tooltip-menu__column{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .tooltip-menu__column-title{color:var(--color-lightGray);margin-bottom:4px}.ihabdevteam-core-scope .tooltip-menu__items{display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .tooltip-menu--small{gap:2px;min-width:140px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__items{gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__columns{gap:var(--spacing-xs);padding:2px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__header{height:44px;padding:6px 10px}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";te(R5);function br({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:n}=me.useTranslation(),i=r==="small"?40:48,[s,c]=l.useState([{title:null,columns:e}]),d=s[s.length-1];l.useEffect(()=>{c(f=>{try{if(!Array.isArray(f)||f.length===0)return[{title:null,columns:e}];const b=f.slice(),v=b[0]&&typeof b[0].title<"u"?b[0].title:null;return b[0]={title:v,columns:e},b}catch{return[{title:null,columns:e}]}})},[e]);const u=l.useCallback(()=>c(f=>f.length>1?f.slice(0,f.length-1):f),[]),m=l.useRef(null),h=l.useRef(null),p=s.length;l.useEffect(()=>{h.current||(h.current=document.activeElement);let f=0,b=0;const v=()=>{const y=m.current?.querySelector("button:not([disabled])");if(y&&y.offsetParent){y.focus({preventScroll:!0});return}b++<20&&(f=requestAnimationFrame(v))};return f=requestAnimationFrame(v),()=>cancelAnimationFrame(f)},[p]),l.useEffect(()=>()=>{h.current?.focus?.({preventScroll:!0})},[]);const g=l.useCallback(f=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(b=>[...b,{title:f.label||null,columns:[{title:null,items:f.children||[]}]}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t]);return o.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(s.length>1||d.title)&&o.jsxs("div",{className:"tooltip-menu__header",children:[s.length>1?o.jsx(re,{size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:u,variant:"transparent-gray",useBorder:!1}):null,o.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),o.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((f,b)=>o.jsxs("div",{className:"tooltip-menu__column",children:[f.title?o.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,o.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((v,y)=>o.jsx(re,{className:"tooltip-menu__item",size:i,type:v.label?"bar":"dot",icon:v.selected?"check":v.icon||"none",rightIcon:Array.isArray(v.children)&&v.children.length?"chevron-right":v.badgeCount?o.jsx(ht,{type:"dot",position:"inline",number:Math.min(v.badgeCount,99),size:24,"aria-label":`${v.badgeCount}`}):void 0,label:v.label,ariaLabel:v.label,onClick:()=>g(v),selected:v.selected,disabled:v.disabled,showTooltipInfo:v.tooltip||!1,useBorder:!1,align:"left"},y))})]},b))})]})}const $5=52,Ah=10;function Tl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:n,moreItems:i=[]}){const{t:s}=me.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",u=r==="manager"?s("nav.modeLabelMalgwi","\uB9D0\uADC0"):s("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=l.useRef(null),[h,p]=l.useState(0),g=e.length;l.useEffect(()=>{const D=m.current;if(!D||(p(D.clientWidth),typeof ResizeObserver>"u"))return;const H=new ResizeObserver(J=>p(J[0].contentRect.width));return H.observe(D),()=>H.disconnect()},[]);const f=h>0?Math.floor((h+Ah)/($5+Ah)):g,b=h>0&&f<g,v=b?f:g,y=e.slice(0,v),_=e.slice(v),C=b||i.length>0,x=l.useCallback(D=>({position:"fixed",bottom:window.innerHeight-D.top+8,right:window.innerWidth-D.right,zIndex:1e4}),[]),k=l.useId(),{open:w,toggle:S,close:j,style:A,triggerRef:T,menuRef:F}=ao({computeStyle:x,onScroll:"ignore",onResize:"ignore"}),R=l.useCallback(()=>n?.(c),[n,c]),E=l.useMemo(()=>_.find(D=>D.key===t)??i.find(D=>D.selected||D.key&&D.key===t),[_,t,i]),M=l.useMemo(()=>[{items:[..._.map(D=>({label:D.label,icon:D.icon,selected:D.key===t,closeOnSelect:!0,onClick:()=>{D.key&&a&&a(D.key),j()}})),...i.map(D=>({label:D.label,icon:D.icon,badgeCount:D.badgeCount,selected:D.selected??(!!D.key&&D.key===t),closeOnSelect:!0,onClick:()=>{D.onClick?.(),j()}}))]}],[_,i,t,a,j]);return o.jsxs("nav",{className:"bottom-nav","aria-label":s("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"bottom-nav__left",children:o.jsx(re,{size:52,type:"dot",icon:d,ariaLabel:u,className:"bottom-nav-item",onClick:R})}),o.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),o.jsx("div",{className:"bottom-nav__items",ref:m,children:y.map(D=>o.jsx(re,{size:52,type:"dot",icon:D.icon,ariaLabel:D.label,selected:D.key===t,disabled:D.state==="disabled",className:"bottom-nav-item",onClick:()=>D.key&&a?.(D.key)},D.key))}),C&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),o.jsx("div",{className:"bottom-nav__right",children:o.jsxs("div",{ref:T,children:[o.jsx(re,{size:52,type:"dot",icon:E?.icon??"ellipsis",ariaLabel:E?.label??s("nav.more","\uB354\uBCF4\uAE30"),selected:!!E,className:"bottom-nav-item",onClick:S,"aria-expanded":w,"aria-controls":w?k:void 0}),w&&qt.createPortal(o.jsx("div",{id:k,role:"group","aria-label":s("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:A,ref:F,children:o.jsx(br,{columns:M,onClose:j})}),document.body)]})})]})]})}var I5=".ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-right:1px solid transparent;display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 0 0 12px;scrollbar-color:var(--color-darkWhite) transparent;scrollbar-gutter:stable;scrollbar-width:thin}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-thumb{background:var(--color-darkWhite);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-thumb:hover{background:var(--color-lightGray,var(--color-lightGray))}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:4px 0}.ihabdevteam-core-scope .side-nav__notification-wrap{align-self:flex-start;display:inline-flex;position:relative}.ihabdevteam-core-scope .side-nav__footer{align-items:left;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding:0 0 var(--spacing-s) 0}.ihabdevteam-core-scope .side-nav__separator{background:var(--color-whiteLine);height:1px;margin:0 var(--spacing-s) var(--spacing-xs)}.ihabdevteam-core-scope .side-nav__separator--short{margin:4px var(--spacing-m);width:var(--spacing-xl)}@media (max-width:767px){.ihabdevteam-core-scope .side-nav__footer,.ihabdevteam-core-scope .side-nav__menu{display:none}}.ihabdevteam-core-scope .side-nav__item{align-items:center;background:transparent;border:none;border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);gap:var(--spacing-s);height:52px;justify-content:flex-start;padding:0 var(--spacing-m);text-align:left;width:100%}@keyframes ihabCoreSnSweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ihabCoreSnIconBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.ihabdevteam-core-scope .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-main) 50%,var(--color-sub) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:#fff}.ihabdevteam-core-scope .side-nav__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .side-nav__item.active .circle-badge{background:var(--color-pureWhite);color:var(--color-main)}.ihabdevteam-core-scope .side-nav__item .circle-badge--inline{border:1px solid var(--color-pureWhite)}.ihabdevteam-core-scope .side-nav__icon-wrap{display:inline-flex;flex:0 0 24px;position:relative}.ihabdevteam-core-scope .side-nav__icon{flex:0 0 24px}.ihabdevteam-core-scope .side-nav__icon img{display:block;height:20px;-o-object-fit:contain;object-fit:contain;width:20px}.ihabdevteam-core-scope .side-nav__icon-image{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block;height:20px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px}.ihabdevteam-core-scope .side-nav__item .side-nav__icon img{filter:brightness(0) saturate(0) opacity(.45);transition:filter .16s ease,opacity .16s ease}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon img{filter:brightness(0) invert(1)}.ihabdevteam-core-scope .side-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .side-nav__item{transition:background-color .16s ease,color .16s ease,transform 80ms ease}.ihabdevteam-core-scope .side-nav__item:focus-visible:not(.active),.ihabdevteam-core-scope .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .side-nav__item:hover:not(.active){background:var(--color-darkWhite)}.ihabdevteam-core-scope .side-nav__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .side-nav__item.disabled,.ihabdevteam-core-scope .side-nav__item.disabled:focus,.ihabdevteam-core-scope .side-nav__item.disabled:hover{background:transparent;color:var(--color-lightGray);cursor:default;opacity:.6;pointer-events:none;transform:none}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon{color:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon img{filter:none;opacity:.8}.ihabdevteam-core-scope .side-nav__item--child{height:40px;padding-left:30px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__icon{height:20px;width:20px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__label{font-weight:400}";te(I5);function z5(e){const{t}=me.useTranslation(),{activeKey:a,unreadCount:r,onDebug:n,onNotification:i,onSetting:s,onHelp:c,onAccount:d}=e||{},u="default";return o.jsxs("div",{className:"side-nav__footer",children:[n&&o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),o.jsxs("span",{className:"side-nav__notification-wrap",children:[o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"bell",ariaLabel:t("nav.notifications","\uC54C\uB9BC"),onClick:i,selected:a==="notifications"}),!!r&&o.jsx(ht,{type:"dot",number:Math.min(r,99),size:24})]}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:s,selected:a==="settings"}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]})}function Th(e){const{item:t,itemKey:a,label:r,icon:n,active:i,onClick:s,style:c,state:d,labelStyle:u}=e||{},m=t?.key??a??"",h=t?.label??r??"",p=t?.icon??n??"",g=t?.badge??0,f=o.jsx("span",{className:"side-nav__icon-wrap",children:o.jsx(Fe,{icon:p,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),b=d==="disabled",v=`side-nav__item ${i?"active":""} ${d||""} ${b?"disabled":""} ${t?.child?"side-nav__item--child":""}`,y=l.useCallback(_=>{if(!b){try{_.currentTarget.blur()}catch{}s?.(m,_.currentTarget)}},[b,m,s]);return o.jsxs("button",{className:v,onClick:y,"aria-label":typeof h=="string"?h:void 0,style:c,"aria-disabled":b,children:[f,o.jsx("span",{className:"side-nav__label button-1 f",style:u,children:h}),g>0&&o.jsx(ht,{type:"dot",position:"inline",number:Math.min(g,99),size:24,"aria-label":`${g}`}),d==="loading"&&o.jsx("span",{className:"side-nav__spinner","aria-label":"loading"})]})}function Bl(e){const{t}=me.useTranslation(),{items:a=[],activeKey:r,onChange:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}=e||{},g=l.useCallback(()=>p?.(h==="malgwi"?"manager":"malgwi"),[p,h]);return o.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[o.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(f=>!f.section&&(f.key||f.label)).map((f,b)=>o.jsxs(l.Fragment,{children:[f.divider&&o.jsx("div",{className:"side-nav__separator"}),o.jsx(Th,{item:f,active:f.key===r,state:f.disabled?"disabled":void 0,onClick:(v,y)=>{if(f.disabled)return;if(f.href){window.open(f.href,"_blank","noopener,noreferrer");try{y?.blur()}catch{}return}n?.(f.key);try{const C=document.querySelector(".content-area");C?C.scrollTop=0:window.scrollTo({top:0})}catch{}try{y?.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(_&&!(typeof _.matches=="function"&&_.matches(":hover"))){_.classList.add("header--force-collapsed");const C=()=>{_.classList.remove("header--force-collapsed"),_.removeEventListener("mouseenter",C)};_.addEventListener("mouseenter",C)}}})]},f.key??`side-nav__item-${b}`)),p&&o.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),p&&o.jsx(Th,{item:{key:"__mode-switch__",label:h==="malgwi"?t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"):t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"),icon:h==="malgwi"?"arrow-right":"arrow-left"},onClick:g})]}),o.jsx(z5,{activeKey:r,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m})]})}var Nl='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',Dl='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',O5='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',F5='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;box-sizing:content-box;display:flex;flex-direction:column;isolation:isolate;left:0;overflow:visible;overscroll-behavior:none;position:fixed;top:0;z-index:var(--z-sidebar)}.ihabdevteam-core-scope .header__menu-button{background:transparent;border:none;display:none}.ihabdevteam-core-scope .header__bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:flex;height:56px;justify-content:center;left:0;padding:0;padding-bottom:calc(var(--spacing-content) + env(safe-area-inset-bottom));position:fixed;right:0}.ihabdevteam-core-scope .header__category-button{background:transparent;border:none}.ihabdevteam-core-scope .header:before{background:linear-gradient(160deg,var(--color-main) 0,var(--color-sub) 100%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:-1}.ihabdevteam-core-scope .header--manager{border-right-color:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .header--manager:before{opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__separator{background:hsla(0,0%,100%,.25)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item{color:var(--color-deepWhite)}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active){background:hsla(0,0%,100%,.15);color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active) .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active) .side-nav__icon{color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-pureWhite) 50%,color-mix(in srgb,var(--color-main) 50%,#fff) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-card);color:var(--color-darkGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:var(--color-lightGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon img{filter:none;opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__footer [role=button],.ihabdevteam-core-scope .header--manager .side-nav__footer button{color:hsla(0,0%,100%,.55)}@media (min-width:1024px){.ihabdevteam-core-scope .header{width:220px}.ihabdevteam-core-scope .header__bottom,.ihabdevteam-core-scope .header__menu-button{display:none}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{padding:0 10px;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__item{border-radius:var(--radius-card);gap:0;padding:0 14px;transition:padding .18s ease,gap .18s ease}.ihabdevteam-core-scope .header:focus-within .side-nav__menu,.ihabdevteam-core-scope .header:hover .side-nav__menu{padding:0 10px}.ihabdevteam-core-scope .header:focus-within .side-nav__item,.ihabdevteam-core-scope .header:hover .side-nav__item{gap:10px;padding:0 16px}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-6px);transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header{overflow:visible;transition:width .18s ease;width:72px}.ihabdevteam-core-scope .header:focus-within,.ihabdevteam-core-scope .header:hover{width:220px}.ihabdevteam-core-scope .header:focus-within .side-nav__label,.ihabdevteam-core-scope .header:hover .side-nav__label{max-width:200px;opacity:1;pointer-events:auto;transform:translateX(0)}.ihabdevteam-core-scope .header.header--force-collapsed{width:72px}.ihabdevteam-core-scope .header.header--force-collapsed .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}}@media (max-width:767px){.ihabdevteam-core-scope .header{align-items:center;border-bottom:1px solid var(--color-whiteLine);border-left:none;border-right:none;flex-direction:row;height:64px;justify-content:space-between;left:0;position:fixed;right:0;top:0;width:100%}.ihabdevteam-core-scope .header__top{align-items:center;display:flex;flex:1}.ihabdevteam-core-scope .header__branding{height:auto}.ihabdevteam-core-scope .header__menu-button{display:inline-flex}.ihabdevteam-core-scope .header__bi{align-items:center;display:flex;gap:var(--spacing-xs);padding:0 calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));width:100%}.ihabdevteam-core-scope .header__bi .header__menu-button{margin-left:auto}.ihabdevteam-core-scope .header__bottom{display:none}}.ihabdevteam-core-scope .brand-identity__root{align-items:center;display:flex;height:100px;justify-content:center}.ihabdevteam-core-scope .brand-identity__image{height:48px;-o-object-fit:contain;object-fit:contain;width:auto}@media (min-width:1024px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (max-width:767px){.ihabdevteam-core-scope .brand-identity__root{height:64px;padding:10px}.ihabdevteam-core-scope .brand-identity__image{height:40px}}';te(F5);function El({appMode:e}){const{t}=me.useTranslation(),a=e==="manager",r=a?Dl:Nl,n=O5,i=oa("(min-width: 768px) and (max-width: 1023px)");return o.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?o.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):o.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"})})}function jl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}){const{t:g}=me.useTranslation(),f=oa("(max-width: 767px)"),b=l.useMemo(()=>{const A=[];return s&&A.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:s}),c&&A.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&A.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),m&&A.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),d&&A.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),A},[g,s,c,u,m,d,i]),v=l.useCallback(A=>({position:"fixed",top:A.bottom+8,right:Math.max(8,window.innerWidth-A.right),zIndex:1e4}),[]),y=l.useId(),{open:_,toggle:C,close:x,style:k,triggerRef:w,menuRef:S}=ao({computeStyle:v,onScroll:"ignore",onResize:"ignore"}),j=l.useMemo(()=>[{items:b.map(A=>({label:A.label,icon:A.icon,badgeCount:A.badgeCount,selected:A.selected??(!!A.key&&A.key===e),closeOnSelect:!0,onClick:()=>{A.onClick?.(),x()}}))}],[b,e,x]);return o.jsxs("aside",{className:`header${h==="manager"?" header--manager":""}`,children:[o.jsxs("div",{className:"header__bi",children:[o.jsx(El,{appMode:h}),o.jsxs("div",{className:"header__menu-button",ref:w,children:[o.jsx(re,{size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:C,"aria-expanded":_,"aria-controls":_?y:void 0}),_&&qt.createPortal(o.jsx("div",{id:y,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:k,ref:S,children:o.jsx(br,{columns:j,onClose:x})}),document.body)]})]}),o.jsx(Bl,{items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}),f&&o.jsx(Tl,{items:a,activeKey:e??void 0,onChange:t,appMode:h,onAppModeChange:p})]})}const Bh=jl;var W5='.ihabdevteam-core-scope .payment-plan__card{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex:1 1 340px;flex-direction:column;gap:28px;max-width:360px;min-width:min(340px,100%);padding:20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease;width:100%}.ihabdevteam-core-scope .payment-plan__card:hover{box-shadow:var(--shadow-dropdown);transform:translateY(-4px)}.ihabdevteam-core-scope .payment-plan__card-badge{position:absolute;right:32px;top:32px}.ihabdevteam-core-scope .payment-plan__pricing-card{cursor:pointer;display:flex;justify-content:center}.ihabdevteam-core-scope .payment-plan__title{color:var(--color-black);display:flex;flex-direction:column;margin:0}.ihabdevteam-core-scope .payment-plan__quote{color:var(--color-sub);margin:0 0 4px;min-height:1.4em}.ihabdevteam-core-scope .payment-plan__title-heading{margin:0}.ihabdevteam-core-scope .payment-plan__subtitle{color:var(--color-gray);line-height:1.5;margin:8px 0 0;text-align:left}.ihabdevteam-core-scope .payment-plan__box,.ihabdevteam-core-scope .payment-plan__box-title{display:block}.ihabdevteam-core-scope .payment-plan__contact-button{width:100%}.ihabdevteam-core-scope .payment-plan__feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:12px 0 0;padding:0}.ihabdevteam-core-scope .payment-plan__feature-item{align-items:center;color:var(--color-darkGray);display:flex;gap:10px;line-height:1.45}.ihabdevteam-core-scope .payment-plan__feature-check{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .payment-plan__card-pricing{display:flex;flex-direction:column;gap:6px;margin-top:auto;text-align:left;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-list{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .payment-plan__pricing-row{grid-row-gap:4px;align-items:center;background:var(--plan-color,var(--color-darkWhite));border:1px solid transparent;border-radius:var(--radius-s);box-sizing:border-box;color:#fff;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 18px;row-gap:4px;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-row--static{cursor:default;pointer-events:none}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight{background:var(--color-white);border:1px solid var(--plan-color,var(--color-main));color:var(--color-darkGray)}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-current,.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-row-price{color:var(--plan-color,var(--color-main))}.ihabdevteam-core-scope .payment-plan__pricing-row:hover{box-shadow:var(--shadow-dropdown);filter:brightness(1.04);transform:translateY(-2px)}.ihabdevteam-core-scope .payment-plan__pricing-row-title{display:contents}.ihabdevteam-core-scope .payment-plan__pricing-row-label{grid-column:1;grid-row:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-row-price{align-items:center;color:#fff;display:flex;gap:var(--spacing-xs);grid-column:1/-1;grid-row:2;justify-content:flex-end;margin:0;text-align:right}.ihabdevteam-core-scope .payment-plan__pricing-current{color:#fff;margin:0;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-symbol{font-weight:600;margin-right:2px}.ihabdevteam-core-scope .payment-plan__list{grid-gap:var(--spacing-l);align-items:stretch;display:grid;gap:var(--spacing-l);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),360px));justify-content:center;margin:0 auto var(--spacing-page);width:100%}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:stretch}.ihabdevteam-core-scope .payment-plan__card.recommended{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .payment-plan__feature{align-items:center;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .payment-plan__feature:before{color:var(--color-success);content:"\u2713";font-weight:700}@media (max-width:767px){.ihabdevteam-core-scope .payment-plan__list{align-items:center;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:center;flex:none;max-width:360px;width:100%}}';te(W5);function Nh(e){if(!(e==null||e===""))return or(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}function H5(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function V5(e){if(e.durationDays&&e.durationDays>0){const n=e.durationDays;return n%365===0?`${n/365}\uB144`:`${n}\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*$/);return r?r[1].replace(/\s+/g,""):a||"\uC774\uC6A9\uAD8C"}function G5(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 Ll(e){return{type:e.type??H5(e),plan:V5(e),label:e.label,price:Nh(e.price),originalPrice:Nh(e.originalPrice),discountLabel:e.discountLabel}}var q5='.ihabdevteam-core-scope .pass-card-frame{container-type:inline-size;height:188px;max-width:100%;width:300px}.ihabdevteam-core-scope .pass-card{border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;height:188px;overflow:hidden;padding:var(--spacing-l);position:relative;width:300px}.ihabdevteam-core-scope .pass-card-frame>.pass-card{aspect-ratio:auto;border-radius:5.33cqw;height:100%;padding:6.67cqw;width:100%}.ihabdevteam-core-scope .pass-card--clickable{cursor:pointer}@media (max-width:360px){.ihabdevteam-core-scope .pass-card,.ihabdevteam-core-scope .pass-card-frame{max-width:300px;width:100%}}.ihabdevteam-core-scope .pass-card--active{box-shadow:0 4px 16px rgba(0,0,0,.08)}.ihabdevteam-core-scope .pass-card--pending{box-shadow:0 2px 8px rgba(0,0,0,.05)}.ihabdevteam-core-scope .pass-card--expired{--color-main:var(--color-disabled);--color-sub:var(--color-whiteLine);--pass-card-expired-shape:var(--color-whiteLine);box-shadow:none}.ihabdevteam-core-scope [data-theme=dark] .pass-card--expired,.ihabdevteam-core-scope[data-theme=dark] .pass-card--expired,[data-theme=dark] .pass-card--expired .ihabdevteam-core-scope{--pass-card-expired-shape:hsla(0,0%,100%,.18)}@media (prefers-color-scheme:dark){.ihabdevteam-core-scope :root:not([data-theme=light]):not([data-theme=dark]) .pass-card--expired{--pass-card-expired-shape:hsla(0,0%,100%,.18)}}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg{background:var(--color-darkWhite)}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg__symbol{background:var(--pass-card-expired-shape)}.ihabdevteam-core-scope .pass-card--expired .pass-card__copyright,.ihabdevteam-core-scope .pass-card--expired .pass-card__plan,.ihabdevteam-core-scope .pass-card--expired .pass-card__price-area,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-percent,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-remaining{color:var(--color-gray)}.ihabdevteam-core-scope .pass-card.pass-card--expired:after{box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 color-mix(in srgb,var(--color-gray) 10%,transparent)}.ihabdevteam-core-scope .pass-card:after{border-radius:inherit;box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 rgba(73,156,223,.2);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .pass-card__top{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;margin-top:-1.67cqw;position:relative;z-index:1}.ihabdevteam-core-scope .pass-card__top-left{align-items:flex-start;display:flex;flex-direction:column;gap:0}.ihabdevteam-core-scope .pass-card__logo{height:10.67cqw;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .pass-card__plan{color:var(--pass-card-text,var(--color-pureBlack));display:flex;flex-direction:column;gap:0;margin-top:-.67cqw;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__plan .h0{font-size:13.33cqw;line-height:1.3}.ihabdevteam-core-scope .pass-card .pass-card__plan-number{font-size:17.33cqw;letter-spacing:-1cqw;line-height:1}.ihabdevteam-core-scope .pass-card__plan .h5b{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__plan-unit{margin-left:.67cqw;position:relative;top:-.67cqw}.ihabdevteam-core-scope .pass-card__plan-suffix{margin-left:.67cqw;margin-top:0}.ihabdevteam-core-scope .pass-card .pass-card__copyright{color:var(--pass-card-text,var(--color-black));font-size:3.67cqw;line-height:1.36;margin:auto 0 0;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__price-area{align-items:flex-end;bottom:4.67cqw;display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__price-area .h1{font-size:10.67cqw;line-height:1.375}.ihabdevteam-core-scope .pass-card__price-area .h5{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__usage{align-items:flex-end;bottom:4.67cqw;color:var(--pass-card-text,var(--color-black));display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__usage-percent{align-items:baseline;display:inline-flex;font-size:3.67cqw;gap:0;line-height:1.36;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-remaining{font-size:5cqw;line-height:1.53;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-value{font-size:10.67cqw;line-height:1.2}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-symbol{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__discount{color:var(--pass-card-text,var(--color-pureBlack));font-size:4.67cqw;line-height:1.2;text-align:right;white-space:pre-line}.ihabdevteam-core-scope .pass-card__price{align-items:baseline;color:var(--pass-card-text,var(--color-pureBlack));display:inline-flex;gap:2cqw;text-align:right}.ihabdevteam-core-scope .pass-card__price-original{color:color-mix(in srgb,var(--pass-card-text,var(--color-pureBlack)) 75%,transparent);font-size:4.67cqw;line-height:1.57;text-decoration:line-through;text-decoration-thickness:1px}';te(q5);var Y5='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',U5='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>',K5='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',Z5='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',X5='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>',J5='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',Q5=".ihabdevteam-core-scope .pass-card-bg{border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute}:where(.ihabdevteam-core-scope){--pass-card-symbol-opacity:1}.ihabdevteam-core-scope .pass-card-bg__symbol{background:var(--symbol-url) center /contain no-repeat;height:48px;-webkit-mask:var(--symbol-url) center /contain no-repeat;mask:var(--symbol-url) center /contain no-repeat;position:absolute;right:12px;top:12px;width:48px}";te(Q5);var e3=".ihabdevteam-core-scope .pass-card-bg-two-circle{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1,.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{border-radius:50%;opacity:.75;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1{background:var(--color-main);height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{background:var(--color-sub);bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg-two-circle__symbol{background:var(--color-darkWhite)}";te(e3);var Dh='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 Fa={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Ml=new WeakMap;function t3(e){if(e)return Ml.get(e)}function ga(e,t){e&&(e.style.setProperty(Fa.text,t.text),e.style.setProperty(Fa.sub,t.sub),t.copyrightColor&&e.style.setProperty(Fa.copyright,t.copyrightColor),Ml.set(e,t))}function fa(e){e&&(e.style.removeProperty(Fa.text),e.style.removeProperty(Fa.sub),e.style.removeProperty(Fa.copyright),Ml.delete(e))}const Pl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Rl(e={}){const t=lt(Pl,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-two-circle__c1"}),o.jsx("div",{className:"pass-card-bg-two-circle__c3"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${Dh}")`}})]})}const Eh="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 a3=".ihabdevteam-core-scope .pass-card-bg-sound-move{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-sound-move__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(a3);var gr='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 o3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},r3=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function jh(e={}){const t=lt(o3,ga,fa),a="var(--color-main)",r=270,n=170;return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[o.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:r3.map(({scale:i,opacity:s},c)=>o.jsx("g",{transform:`translate(${r} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:o.jsx("path",{d:Eh,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var n3=".ihabdevteam-core-scope .pass-card-bg-sound-move-v1{background:linear-gradient(135deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .pass-card-bg-sound-move-v1__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(n3);const i3={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},s3=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function l3(e={}){const t=lt(i3,ga,fa),a="#ffffff",r=270,n=170;return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[o.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:s3.map(({scale:i,opacity:s},c)=>o.jsx("g",{transform:`translate(${r} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:o.jsx("path",{d:Eh,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${Dh}")`}})]})}var c3=".ihabdevteam-core-scope .pass-card-bg-talk{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk__shape--left{background:var(--color-main);border-radius:42px 42px 42px 4px;transform:translateX(-18px)}.ihabdevteam-core-scope .pass-card-bg-talk__shape--right{background:var(--color-sub);border-radius:50%;opacity:.7;transform:translateX(18px)}";te(c3);const d3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function u3(e={}){const t=lt(d3,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),o.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}const p3={Logo_speechear_kr:{"":Nl,_white:Y5,_textWhite:U5,_black:K5},Logo_speechearManager_kr:{"":Dl,_white:Z5,_textWhite:X5,_black:J5}};function h3(e,t){if(e)return p3[e]?.[t??""]??void 0}const m3={speechear:Nl,manager:Dl},b3={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Lh=10;function g3(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 n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function f3(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===Ca.t("passCard.specialLabel");return r?o.jsx(u3,{}):n?o.jsx(l3,{}):o.jsx(jh,{})}return o.jsx(Rl,{})}function $l({product:e,showPrice:t=!1,plan:a,type:r,endDate:n,remainingSeconds:i,state:s="active",bg:c,bgOnly:d=!1,textColor:u,subColor:m,copyrightColor:h,logoSrc:p,label:g,price:f,originalPrice:b,discountLabel:v,onUse:y,onRefund:_,onDelete:C}){const{t:x}=me.useTranslation(),k=e?Ll(e):void 0,w=r??k?.type??"speechear",S=a??k?.plan??"\uC774\uC6A9\uAD8C",j=g??k?.label,A=f??(t?k?.price:void 0),T=b??(t?k?.originalPrice:void 0),F=v??k?.discountLabel,R=l.useMemo(()=>{if(A)return null;const P=e?.durationDays??G5(e?.code);if(!P||P<=0)return null;const q=P*86400;let oe;if(i!=null)oe=i;else if((s==="active"||s==="expired")&&n){const de=new Date(n).getTime();if(Number.isNaN(de))return null;const I=new Date;I.setHours(0,0,0,0);const Z=new Date(de);Z.setHours(0,0,0,0);const Q=Math.round((Z.getTime()-I.getTime())/864e5);oe=Math.max(0,Q)*86400}else s==="expired"?oe=0:oe=q;const ge=Math.max(0,Math.min(100,Math.floor(Math.min(oe,q)/q*100)));return s==="pending"&&ge>=100?null:{percent:ge,remainingLabel:g3(oe,x)}},[A,s,n,i,e?.durationDays,e?.code,x]),E=l.useRef(null),[M,D]=l.useState({}),[H,J]=l.useState(null),ee=!!(y||_||C),ae=l.useRef(!1),B=l.useRef(void 0),[L,$]=l.useState(p);l.useLayoutEffect(()=>{$(p)},[p]),l.useLayoutEffect(()=>{const P=E.current;P&&(u!==void 0&&P.style.setProperty("--pass-card-text",u),m!==void 0&&P.style.setProperty("--pass-card-sub",m),h!==void 0&&P.style.setProperty("--pass-card-copyright",h))},[u,m,h]),l.useLayoutEffect(()=>{const P=E.current;if(!P)return;const q=t3(P);if(!p){const oe=b3[w],ge=s==="expired"?"_black":q?.logoColor??"",de=h3(oe,ge);$(de)}},[c,p,w,s]);const z=P=>{const q=E.current;if(!q)return null;const{left:oe,top:ge,width:de,height:I}=q.getBoundingClientRect(),Z=(P.clientX-oe)/de-.5;return{rotateX:-((P.clientY-ge)/I-.5)*Lh,rotateY:Z*Lh}},V=(P,q)=>{const oe=q*-.7,ge=P*.7+10,de=20+(Math.abs(P)+Math.abs(q))*.4;return`${oe}px ${ge}px ${de}px rgba(0, 0, 0, 0.18)`},X=l.useCallback(P=>{ae.current=!0,clearTimeout(B.current),B.current=setTimeout(()=>{ae.current=!1},200);const q=z(P);q&&D({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:V(q.rotateX,q.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)"})},[]),W=l.useCallback(P=>{const q=z(P);if(!q)return;const oe=ae.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";D({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:V(q.rotateX,q.rotateY),transition:oe})},[]),Y=l.useCallback(()=>{clearTimeout(B.current),ae.current=!1,D({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)"})},[]),O=l.useCallback(()=>J(null),[]),ie=l.useMemo(()=>{const P=S.replace("\uC774\uC6A9\uAD8C","").trim(),q=P.match(/^(.*?)(일|년)$/);return q?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"h0 pass-card__plan-number",children:q[1]}),o.jsx("span",{className:"h5b pass-card__plan-unit",children:q[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):o.jsx("span",{className:"h0",children:P})},[S,x]),ue=l.useMemo(()=>{const P=or(A);if(!P)return null;const q=P.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return o.jsx("span",{className:"h1",children:P});const[,oe,ge,de]=q;return o.jsxs(o.Fragment,{children:[oe&&o.jsx("span",{className:"h5 pass-card__price-symbol",children:oe}),o.jsx("span",{className:"h1 pass-card__price-amount",children:ge}),de.trim()&&o.jsx("span",{className:"h5 pass-card__price-symbol",children:de.trim()})]})},[A]),fe=l.useCallback(()=>{ee&&J(P=>{if(P)return null;const q=E.current?.getBoundingClientRect();if(!q)return null;const oe=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+oe,top:q.top+oe,bottom:q.bottom+oe}})},[ee]),ye=l.useCallback(P=>{ee&&(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),fe())},[ee,fe]),pe=[{items:[...y?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{y(),J(null)},closeOnSelect:!0}]:[],..._?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),J(null)},closeOnSelect:!0}]:[],...C?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{C(),J(null)},closeOnSelect:!0}]:[]]}];return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pass-card-frame",children:o.jsxs("div",{ref:E,className:`pass-card pass-card--${s}${ee?" pass-card--clickable":""}`,style:M,onMouseEnter:X,onMouseMove:W,onMouseLeave:Y,onClick:fe,onKeyDown:ee?ye:void 0,role:ee?"button":void 0,tabIndex:ee?0:void 0,children:[c??f3(w,S,j),!d&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pass-card__top",children:o.jsxs("div",{className:"pass-card__top-left",children:[o.jsx("img",{src:L??m3[w],className:"pass-card__logo",alt:w==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),o.jsxs("div",{className:"pass-card__plan",children:[o.jsx("div",{children:ie}),o.jsx("span",{className:"h5b pass-card__plan-suffix",children:j?x("passCard.labeledPlan",{label:j}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),A?o.jsxs("div",{className:"pass-card__price-area",children:[F&&o.jsx("span",{className:"pass-card__discount body-3",children:F}),o.jsxs("div",{className:"pass-card__price",children:[T&&o.jsx("span",{className:"pass-card__price-original body-3",children:or(T)}),ue]})]}):R?o.jsxs("div",{className:"pass-card__usage",children:[o.jsx("span",{className:"h5b pass-card__usage-remaining",children:R.remainingLabel}),o.jsxs("span",{className:"pass-card__usage-percent",children:[o.jsx("span",{className:"h1 pass-card__usage-value",children:R.percent}),o.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):o.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),H&&o.jsx(Sa,{anchorRect:H,onClose:O,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:o.jsx(br,{columns:pe,onClose:O,size:"small"})})]})}var v3=".ihabdevteam-core-scope .pass-card-bg-sound-line{background:linear-gradient(60deg,var(--color-pureWhite) 0,color-mix(in srgb,var(--color-sub) 15%,var(--color-pureWhite)) 100%)}.ihabdevteam-core-scope .pass-card-bg-sound-line__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(v3);const y3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function x3(e={}){const t=`passcard-sound-line-grad-${l.useId()}`,a=lt(y3,ga,fa);return o.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[o.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:[o.jsx("defs",{children:o.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[o.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),o.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),o.jsx("g",{transform:"translate(25, 45)",children:o.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"})})]}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var C3=".ihabdevteam-core-scope .pass-card-bg-talk-v1{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--left{background:linear-gradient(70deg,var(--color-main),var(--color-sub));border-radius:999px;height:92px;transform:translateX(0) rotate(120deg);width:180px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--right{background:var(--color-sub);border-radius:50%;height:60px;opacity:1;transform:translate(38px,12px);width:60px}";te(C3);const _3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function w3(e={}){const t=lt(_3,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),o.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}function k3(e,t){if(e){if(t==="manager_pro")return o.jsx(w3,{});if(t==="manager_standard")return o.jsx(x3,{});if(t==="manager_lite")return o.jsx(jh,{})}}function S3(e){const t=or(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,n,i]=a;return o.jsxs(o.Fragment,{children:[r&&o.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),n,i.trim()&&o.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Mh(e){const{t}=me.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:s="monthly",ownedCodes:c}=e||{},d=C=>!!C&&!!c?.includes(C),u=(n.tiers||[]).some(C=>/오픈\s*특가/.test(C.label??"")&&d(C.code)),m=C=>{const x=C.prices?C.prices[s]:C.price;return x?(n.tiers||[]).some(k=>!!k.badge&&k.originals?.[s]===x):!1},h=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",p=t("payment.plan.freePrice","\uBB34\uB8CC"),g=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=C=>C.prices?C.prices[s]:C.price,b=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const x=f(C);return x==="\uBB34\uB8CC"||x===p||x==="0\uC6D0"}),v=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const x=f(C);return x==="\uBB38\uC758"||x===g}),y=n.group==="org",_=y?"manager":"speechear";return o.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[n.cardBadge&&o.jsx("div",{className:"payment-plan__card-badge",children:o.jsx(ht,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),o.jsxs("div",{className:"payment-plan__title",children:[o.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:n.quote||"\xA0"}),o.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),o.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),o.jsxs("div",{className:"payment-plan__box",children:[o.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),o.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((C,x)=>o.jsxs("li",{className:"payment-plan__feature-item body-3",children:[o.jsx(Fe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),C]},x))})]}),o.jsxs("div",{className:"payment-plan__box",children:[o.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),o.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((C,x)=>o.jsxs("li",{className:"payment-plan__feature-item body-3",children:[o.jsx(Fe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),C]},x))})]}),o.jsx("div",{className:"payment-plan__card-pricing",children:b?null:v?o.jsx(re,{className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>n.tiers?.[0]&&i?.({...n.tiers[0],productId:n.id,productTitle:n.title})}):o.jsx(o.Fragment,{children:o.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(C=>{const x=C.label||a,k=/오픈\s*특가/.test(x),w=k||C.openPromo===!0,S=x.replace(/^오픈\s*특가\s*/,"")||a,j=C.prices?C.prices[s]:C.price,A=C.badge?w?`${r}
|
|
838
|
-
${C.badge}`:C.badge:void 0;if(k&&d(C.code))return null;if(!C.badge&&!u)return m(C)?null:o.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${C.highlight?" payment-plan__pricing-row--highlight":""}`,children:[o.jsx("div",{className:"payment-plan__pricing-row-title",children:o.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:C.label})}),o.jsx("div",{className:"payment-plan__pricing-row-price",children:o.jsx("span",{className:"payment-plan__pricing-current h1",children:S3(j)})})]},C.id);const T=n.tier??(y?n.title:void 0),F=o.jsx($l,{showPrice:!0,product:{type:_,code:C.code,name:S,label:T,price:j,originalPrice:C.originals?.[s]??void 0,discountLabel:A},bg:k3(y,n.id)}),R=()=>i?.({...C,productId:n.id,productTitle:n.title,preview:F});return o.jsx("div",{className:"payment-plan__pricing-card",onClick:R,onKeyDown:i?E=>{E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),R())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:F},C.id)})})})})]})}function Ph({variant:e="default"}){return o.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var A3=".ihabdevteam-core-scope .pass-card-bg-ihab{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol{bottom:-24px;height:140px;-o-object-fit:contain;object-fit:contain;opacity:.06;position:absolute;right:-24px;width:140px}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol-top{transform:translate(-48px) rotate(-90deg);transform-origin:top right;width:126.72px}";te(A3);var Il='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 zl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Rh(){const e=lt(zl,ga,fa);return o.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${Il}")`}})})}var T3=".ihabdevteam-core-scope .pass-card-bg-left-color-grid{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__bar{background:linear-gradient(120deg,var(--color-main),var(--color-sub));border-radius:16px 0 0 16px;height:100%;left:0;position:absolute;top:0;width:76%}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__grid{--grid-line:rgba(73,156,223,.06);background-image:linear-gradient(rgba(73,156,223,.06) 1px,transparent 0),linear-gradient(90deg,rgba(73,156,223,.06) 1px,transparent 0);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;inset:0;position:absolute}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__grid{--grid-line:transparent}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__bar{background:var(--pass-card-expired-shape)}";te(T3);const Ol={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function $h(e={}){const t=lt(Ol,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),o.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var B3=".ihabdevteam-core-scope .shortcut-badge{align-items:center;display:inline-flex;gap:4px;pointer-events:none;z-index:10}.ihabdevteam-core-scope .shortcut-badge--top-left{left:0;position:absolute;top:0;transform:translate(-25%,-25%) scale(1);transform:translate(-25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--top-right{position:absolute;right:0;top:0;transform:translate(25%,-25%) scale(1);transform:translate(25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-left{bottom:0;left:0;position:absolute;transform:translate(-25%,25%) scale(1);transform:translate(-25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-right{bottom:0;position:absolute;right:0;transform:translate(25%,25%) scale(1);transform:translate(25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge__group{align-items:center;display:inline-flex;gap:4px}.ihabdevteam-core-scope .shortcut-badge__plus{color:var(--color-lightGray);font-size:11px;line-height:1}.ihabdevteam-core-scope .shortcut-badge__key{align-items:center;background:var(--color-lightBlack);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-white);display:inline-flex;font-family:inherit;font-size:11px;font-weight:400;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0 5px;white-space:nowrap}";te(B3);function Fl({keys:e,anchor:t="top-right",scale:a,className:r=""}){const n=Array.isArray(e)?e:[e];return o.jsx("span",{className:_e("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,s)=>o.jsxs("span",{className:"shortcut-badge__group",children:[s>0&&o.jsx("span",{className:"shortcut-badge__plus",children:"+"}),o.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${s}`))})}var N3=".ihabdevteam-core-scope .sound-compass{--scb-idle-bg:var(--color-deepWhite);--scb-idle-border:var(--color-whiteLine);--scb-idle-fg:var(--color-lightGray);--scb-active-bg:var(--color-main);--scb-active-border:var(--color-main);--scb-active-fg:#fff;--scb-played-bg:var(--color-sub);--scb-played-border:var(--color-sub);--scb-played-fg:#fff;--scb-wrong-bg:#ef4444;--scb-wrong-border:#ef4444;--scb-wrong-fg:#fff;--scb-idle-hover-bg:var(--color-whiteLine);--scb-idle-hover-border:var(--color-lightGray);--scb-idle-hover-fg:var(--scb-idle-fg);--scb-focus-ring:var(--color-main);--scc-bg:var(--color-white);--scc-border:var(--color-whiteLine);--scc-fg:var(--color-lightGray);--scc-hover-bg:var(--color-deepWhite);--scc-hover-border:var(--color-lightGray);--scc-hover-fg:var(--color-darkGray);--scc-disabled-bg:var(--color-deepWhite);--scc-disabled-border:var(--color-whiteLine);--scc-disabled-fg:var(--color-whiteLine);align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .sound-compass__svg{left:0;overflow:visible;position:absolute;top:0}.ihabdevteam-core-scope .sound-compass__speaker-btn{all:unset;align-items:center;border-radius:50%;border-style:solid;border-width:1px;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;justify-content:center;position:relative;transition:background-color .15s,border-color .15s,color .15s;z-index:1}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle{background:var(--scb-idle-bg);border-color:var(--scb-idle-border);color:var(--scb-idle-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--active{background:var(--scb-active-bg);border-color:var(--scb-active-border);color:var(--scb-active-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--correct,.ihabdevteam-core-scope .sound-compass__speaker-btn--played{background:var(--scb-played-bg);border-color:var(--scb-played-border);color:var(--scb-played-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--wrong{background:var(--scb-wrong-bg);border-color:var(--scb-wrong-border);color:var(--scb-wrong-fg)}.ihabdevteam-core-scope .sound-compass__speaker-number{color:inherit;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .sound-compass__compass-wrap{flex-shrink:0;margin-bottom:24px;overflow:visible;position:relative}.ihabdevteam-core-scope .sound-compass__center{align-items:center;background:var(--scc-bg);border:1px solid var(--scc-border);border-radius:50%;color:var(--scc-fg);display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes sound-compass-pulse{0%{opacity:0;transform:scale(.95)}8%{opacity:.45;transform:scale(1.05)}to{opacity:0;transform:scale(2.8);transform:scale(var(--sc-pulse-scale,2.8))}}.ihabdevteam-core-scope .sound-compass__center--button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;padding:0;pointer-events:auto;transition:background-color .15s,border-color .15s,color .15s}.ihabdevteam-core-scope .sound-compass__center--button:hover{background:var(--scc-hover-bg);border-color:var(--scc-hover-border);color:var(--scc-hover-fg)}.ihabdevteam-core-scope .sound-compass__center--button:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__center--disabled{background:var(--scc-disabled-bg);border-color:var(--scc-disabled-border);color:var(--scc-disabled-fg);cursor:default;pointer-events:none}.ihabdevteam-core-scope .sound-compass__pulse--center{z-index:0}.ihabdevteam-core-scope .sound-compass__pulse{animation:sound-compass-pulse 1s cubic-bezier(.33,1,.68,1) infinite;background:var(--sc-pulse-color,var(--scb-active-bg));border-radius:50%;height:40px;left:0;pointer-events:none;position:absolute;top:0;width:40px}.ihabdevteam-core-scope .sound-compass__pulse--idle{background:var(--sc-pulse-color,var(--scb-idle-bg))}.ihabdevteam-core-scope .sound-compass__pulse--active{background:var(--sc-pulse-color,var(--scb-active-bg))}.ihabdevteam-core-scope .sound-compass__pulse--correct,.ihabdevteam-core-scope .sound-compass__pulse--played{background:var(--sc-pulse-color,var(--scb-played-bg))}.ihabdevteam-core-scope .sound-compass__pulse--wrong{background:var(--sc-pulse-color,var(--scb-wrong-bg))}.ihabdevteam-core-scope .sound-compass__pulse--once{animation-duration:1s;animation-duration:var(--sc-pulse-duration-once,1s);animation-iteration-count:1}.ihabdevteam-core-scope .sound-compass__speaker-btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--scb-focus-ring) 14%,transparent)}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle:hover{background:var(--scb-idle-hover-bg);border-color:var(--scb-idle-hover-border);color:var(--scb-idle-hover-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__speaker-shortcut{pointer-events:none;z-index:2}.ihabdevteam-core-scope .sound-compass__speaker-pos{position:absolute}";te(N3);const fr=(e,t,a)=>e+(t-e)*a;function Ih({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:n,selectedId:i=null,answerId:s=null,showFeedback:c=!1,pulseSelected:d=!1,pulseSelectedDuration:u,pulseScale:m,clickable:h=!1,onSelectSpeaker:p,buttonSize:g=40,showIcon:f=!0,onCenterClick:b,centerLabel:v,centerDisabled:y=!1,centerAttention:_=!1,shortcutAnchor:C="top-right",shortcutScale:x,scaleShortcut:k=!1}){const w=Math.max(0,Math.min(1,a)),S=t/2,j=110/300,A=.18,T=P=>t*(j+(P-1)*A),F=P=>{const q=T(P.row??1),oe=P.angleDeg*Math.PI/180;return{x:S+q*Math.cos(oe),y:S+q*Math.sin(oe)}},R=Math.max(...e.map(P=>P.row??1),1),E=t*.08,M=t*.1,D=t*.24,H=t-2*E,J=t-M-D,ee=t-D/2,ae=l.useMemo(()=>[...new Set(e.map(P=>P.deg))].sort((P,q)=>P-q),[e]),B=ae.length,L=Math.max(68,B>1?H/(B-1):0),$=l.useMemo(()=>new Map(ae.map((P,q)=>[P,q])),[ae]),z=P=>{const q=$.get(P.deg)??0,oe=S+(q-(B-1)/2)*L,ge=R>1?Math.min(68,J/(R-1)):0,de=ge*(R-1),I=M+(J-de)/2,Z=R===1?M+J*.4:I+(R-(P.row??1))*ge;return{x:oe,y:Z}},V=P=>{const q=F(P),oe=z(P);return{x:fr(q.x,oe.x,w),y:fr(q.y,oe.y,w)}},X={x:S,y:fr(S,ee,w)},W=Math.round(g*1.2),Y=Math.round(Math.max(16,Math.min(80,g*.7))),O=[],ie=new Map;for(const P of e){const q=P.row??1;ie.has(q)||ie.set(q,[]),ie.get(q).push(P)}for(const[P,q]of ie.entries()){if(q.length<2)continue;const oe=[...q].sort((Te,Ie)=>Te.deg-Ie.deg),ge=oe.map(Te=>V(Te)),de=oe.map(Te=>Te.deg),I=de[de.length-1]-de[0],Z=I/(de.length-1),Q=360-I,ve=oe.length>=3&&Z>0&&Q<=Z*1.5,De=Math.round(T(P)*1e3)/1e3,$e=(Te,Ie,He,be)=>{const Ke=(Ie.angleDeg-Te.angleDeg+540)%360-180;if(Ke===0)return`L ${be.x} ${be.y}`;if(w===0)return`A ${De} ${De} 0 0 ${Ke>0?1:0} ${be.x} ${be.y}`;const Ve=(Te.angleDeg+Ke/2)*Math.PI/180,Re={x:S+De*Math.cos(Ve),y:S+De*Math.sin(Ve)},qe={x:(He.x+be.x)/2,y:(He.y+be.y)/2},vt={x:fr(Re.x,qe.x,w),y:fr(Re.y,qe.y,w)},Ue={x:2*vt.x-qe.x,y:2*vt.y-qe.y};return`Q ${Ue.x} ${Ue.y} ${be.x} ${be.y}`},Le=ve?[...oe,oe[0]]:oe,Ee=ve?[...ge,ge[0]]:ge;let je=`M ${Ee[0].x} ${Ee[0].y}`;for(let Te=1;Te<Ee.length;Te++)je+=" "+$e(Le[Te-1],Le[Te],Ee[Te-1],Ee[Te]);O.push({key:`arc-${P}`,d:je})}const ue=l.useMemo(()=>new Set(n??[]),[n]),fe=P=>{if(r===P.id)return"active";if(c){if(P.id===s)return"correct";if(P.id===i&&i!==s)return"wrong"}return ue.has(P.id)?"played":"idle"},ye=P=>r===P.id?"loop":c?P.id===s?"loop":null:d&&P.id===i?"once":null,pe=(P,q)=>{switch(P){case"played":case"correct":return o.jsx(td,{size:q});case"wrong":return o.jsx(ud,{size:q});default:return o.jsx(dd,{size:q})}};return o.jsx("div",{className:"sound-compass",children:o.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[o.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[w===0&&e.map(P=>{const{x:q,y:oe}=V(P);return o.jsx("line",{x1:X.x,y1:X.y,x2:q,y2:oe,stroke:"#dde3ec",strokeWidth:"1"},P.id)}),O.map(P=>o.jsx("path",{d:P.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},P.key))]}),_&&!y&&o.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:W,height:W,left:X.x-W/2,top:X.y-W/2}}),b?o.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${y?" sound-compass__center--disabled":""}`,style:{width:W,height:W,left:X.x,top:X.y},"aria-label":v,"aria-disabled":y||void 0,tabIndex:y?-1:0,onClick:y?void 0:b,children:o.jsx(Vn,{size:Y,color:"currentColor",strokeWidth:1.5})}):o.jsx("div",{className:"sound-compass__center",style:{width:W,height:W,left:X.x,top:X.y},children:o.jsx(Vn,{size:Y,color:"currentColor",strokeWidth:1.5})}),e.map((P,q)=>{const{x:oe,y:ge}=V(P),de=fe(P),I=ye(P),Z={...x!==void 0||k?{"--shortcut-badge-scale":String(x??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:h?"auto":"none",cursor:h?"pointer":"default",zIndex:de!=="idle"?10:1},Q=g,ve=Math.round(Math.max(10,Math.min(56,Q*.38))),De=Math.round(Math.max(7,Math.min(18,Q*.2))),$e=Math.round(Math.max(10,Math.min(56,Q*.4))),Le=f==="answered"&&(de==="played"||de==="correct"||de==="wrong"),Ee=f===!0||Le,je=!Le;return o.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Z,left:oe-Q/2,top:ge-Q/2},children:[I&&o.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${de}`+(I==="once"?" sound-compass__pulse--once":""),style:{width:Q,height:Q,...I==="once"&&u!==void 0?{"--sc-pulse-duration-once":`${u}ms`}:null,...m!==void 0?{"--sc-pulse-scale":String(m)}:null}}),o.jsxs("button",{type:"button",tabIndex:h?0:-1,"aria-disabled":h?void 0:!0,onClick:h?()=>p?.(P.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${de}`,style:{width:Q,height:Q},"aria-label":P.label,children:[Ee&&pe(de,ve),je&&o.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:f===!0?De:$e},children:q+1})]}),P.shortcut&&o.jsx(Fl,{keys:P.shortcut,anchor:C,className:"sound-compass__speaker-shortcut"})]},P.id)})]})})}function zh({children:e,position:t="top-left",size:a=24,className:r=""}){return o.jsx("span",{className:_e("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}var D3=".ihabdevteam-core-scope .divider--horizontal{align-items:center;border:none;border-top:1px solid var(--color-whiteLine);display:flex;width:100%}.ihabdevteam-core-scope .divider--vertical{border:none;border-left:1px solid var(--color-whiteLine);display:inline-block;height:1em;vertical-align:middle;width:1px}.ihabdevteam-core-scope .divider--labeled{border-top:none;gap:var(--spacing-s)}.ihabdevteam-core-scope .divider__line{background:var(--color-whiteLine);flex:1 1 auto;height:1px}.ihabdevteam-core-scope .divider__label{color:var(--color-gray);flex:0 0 auto;white-space:nowrap}";te(D3);function Oh({orientation:e="horizontal",label:t,className:a=""}){const r=_e("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?o.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?o.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[o.jsx("span",{className:"divider__line"}),o.jsx("span",{className:"divider__label caption-1",children:t}),o.jsx("span",{className:"divider__line"})]}):o.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}var E3='.ihabdevteam-core-scope .radio{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .radio input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .radio__dot{background:var(--color-pureWhite);border:1.5px solid var(--color-whiteLine);border-radius:50%;display:inline-block;flex-shrink:0;height:20px;position:relative;transition:border-color .15s,background .15s;width:20px}.ihabdevteam-core-scope .radio__dot:before{background:var(--color-pureWhite);border-radius:50%;content:"";inset:4px;position:absolute;transform:scale(0);transition:transform .15s}.ihabdevteam-core-scope .radio input:checked+.radio__dot{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:checked+.radio__dot:before{transform:scale(1)}.ihabdevteam-core-scope .radio:not(.radio--disabled):hover .radio__dot{border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:focus-visible+.radio__dot{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .radio__label{color:var(--color-black)}.ihabdevteam-core-scope .radio--disabled{cursor:not-allowed;opacity:.45}';te(E3);function Wl({checked:e,onChange:t,name:a,value:r,disabled:n=!1,label:i,className:s=""}){const c=l.useId();return o.jsxs("label",{className:`radio${n?" radio--disabled":""} ${s}`.trim(),htmlFor:c,children:[o.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:n,onChange:d=>t?.(d.target.checked)}),o.jsx("span",{className:"radio__dot"}),i&&o.jsx("span",{className:"radio__label body-2",children:i})]})}var j3=".ihabdevteam-core-scope .radio-group{display:flex}.ihabdevteam-core-scope .radio-group--vertical{flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-l)}";te(j3);function Fh({options:e,value:t,onChange:a,name:r,disabled:n=!1,direction:i="vertical",className:s=""}){const c=l.useId(),d=r??`radio-group-${c}`;return o.jsx("div",{className:`radio-group radio-group--${i} ${s}`.trim(),role:"radiogroup",children:e.map(u=>o.jsx(Wl,{name:d,value:u.value,checked:t===u.value,disabled:n||u.disabled,label:u.label,onChange:m=>{m&&a?.(u.value)}},u.value))})}var L3=".ihabdevteam-core-scope .alert{align-items:flex-start;background:color-mix(in srgb,var(--alert-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--alert-color) 25%,transparent);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);padding:var(--spacing-m)}.ihabdevteam-core-scope .alert__icon{align-items:center;color:var(--alert-color);display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .alert__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ihabdevteam-core-scope .alert__header{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .alert__message--indented{margin-left:calc(20px + var(--spacing-xs))}.ihabdevteam-core-scope .alert__title{color:var(--color-black)}.ihabdevteam-core-scope .alert__message{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert__dismiss{align-items:center;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:18px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.ihabdevteam-core-scope .alert__dismiss:hover{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert--info{--alert-color:var(--color-main)}.ihabdevteam-core-scope .alert--success{--alert-color:var(--color-success)}.ihabdevteam-core-scope .alert--warning{--alert-color:var(--color-warn)}.ihabdevteam-core-scope .alert--danger{--alert-color:var(--color-error)}";te(L3);const M3={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Wh({tone:e="info",title:t,message:a,children:r,dismissible:n=!1,onDismiss:i,className:s=""}){const{t:c}=me.useTranslation(),[d,u]=l.useState(!1),m=l.useCallback(()=>{u(!0),i?.()},[i]);if(d)return null;const h=_e("alert",`alert--${e}`,s),p=!!t,g=!!(a||r);return o.jsxs("div",{className:h,role:"alert",children:[o.jsxs("div",{className:"alert__body",children:[o.jsxs("div",{className:"alert__header",children:[o.jsx(Fe,{icon:M3[e],size:20,className:"alert__icon"}),p&&o.jsx("span",{className:"alert__title body-2",children:t}),!p&&g&&o.jsx("div",{className:"alert__message body-3",children:a??r})]}),p&&g&&o.jsx("div",{className:"alert__message alert__message--indented body-3",children:a??r})]}),n&&o.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var P3=".ihabdevteam-core-scope .search-summary{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;color:var(--color-gray);display:inline-flex;gap:var(--spacing-xs);max-width:100%;padding:30px 20px;text-align:left}.ihabdevteam-core-scope .search-summary__icon{color:currentColor;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .search-summary__text{min-width:0;overflow-wrap:anywhere;word-break:keep-all}.ihabdevteam-core-scope .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--ready{background:var(--color-white);color:var(--color-deepGray)}.ihabdevteam-core-scope .search-summary--ready .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--guide{background:var(--color-deepWhite);color:var(--color-gray)}.ihabdevteam-core-scope .search-summary--error{background:var(--color-white);color:var(--color-error)}.ihabdevteam-core-scope .search-summary--error .search-summary__em{color:var(--color-error)}";te(P3);const R3={ready:"search",guide:"info",error:"circle-alert"};function $3(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let n=0,i=0;for(const s of a){const c=e.indexOf(s,n);c<0||(c>n&&r.push(e.slice(n,c)),r.push(o.jsx("strong",{className:"search-summary__em body-2",children:s},i++)),n=c+s.length)}return n<e.length&&r.push(e.slice(n)),r}function Hh({status:e="guide",label:t,children:a,emphasis:r,icon:n,className:i=""}){const s=n===!1?null:n??R3[e],c=_e("search-summary",`search-summary--${e}`,i),d=t??a,u=typeof d=="string"&&r&&r.length>0?$3(d,r):d;return o.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[s!=null&&o.jsx(Fe,{icon:s,size:18,className:"search-summary__icon"}),o.jsx("span",{className:"search-summary__text body-2",children:u})]})}function So({title:e,items:t}){const{t:a}=me.useTranslation(),{anchorRect:r,openAt:n,close:i}=ko();return o.jsxs(o.Fragment,{children:[o.jsx(re,{size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:s=>n(s.currentTarget),onPointerLeave:i,onFocus:s=>n(s.currentTarget),onBlur:i}),r&&o.jsx(to,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}var I3=".ihabdevteam-core-scope .tabs{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .tabs__list{border-bottom:1px solid var(--color-whiteLine);display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-gray);cursor:pointer;padding:0 var(--spacing-xs);transition:color .15s,border-color .15s;white-space:nowrap}.ihabdevteam-core-scope .tabs__list--32 .tabs__tab{height:32px}.ihabdevteam-core-scope .tabs__list--40 .tabs__tab{height:40px}.ihabdevteam-core-scope .tabs__list--48 .tabs__tab{height:48px}.ihabdevteam-core-scope .tabs__tab:hover:not(:disabled){color:var(--color-darkGray)}.ihabdevteam-core-scope .tabs__tab:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .tabs__tab--active{border-bottom-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .tabs__tab:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .tabs__panel{outline:none}.ihabdevteam-core-scope .tabs__panel:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}";te(I3);function Vh({items:e=[],value:t,onChange:a,className:r="",size:n=40}){const i=l.useId(),{t:s}=me.useTranslation(),c=l.useRef(null),d=t??e[0]?.key,u=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,f=u())=>{if(f.length===0)return;const b=(g%f.length+f.length)%f.length;f[b]?.focus(),f[b]?.click()},h=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const f=u(),b=f.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(b+1,f):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(b-1,f):g.key==="Home"?m(0,f):m(f.length-1,f)},p=e.find(g=>g.key===d);return o.jsxs("div",{className:`tabs ${r}`.trim(),children:[o.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":s("tabs.ariaLabel","\uD0ED"),children:e.map(g=>o.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===d?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>a?.(g.key),onKeyDown:h,children:g.label},g.key))}),p&&o.jsx("div",{id:`tabs__panel-${i}-${p.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${p.key}`,tabIndex:0,className:"tabs__panel",children:p.panel},p.key)]})}var z3=".ihabdevteam-core-scope .avatar{align-items:center;background:var(--color-lightGray-a10);color:var(--color-gray);display:inline-flex;flex-shrink:0;height:var(--avatar-size);justify-content:center;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--avatar-size)}.ihabdevteam-core-scope .avatar--circle{border-radius:50%}.ihabdevteam-core-scope .avatar--rounded-square{border-radius:var(--radius-card)}.ihabdevteam-core-scope .avatar--xs{--avatar-size:24px}.ihabdevteam-core-scope .avatar--sm{--avatar-size:32px}.ihabdevteam-core-scope .avatar--md{--avatar-size:40px}.ihabdevteam-core-scope .avatar--lg{--avatar-size:56px}.ihabdevteam-core-scope .avatar--xl{--avatar-size:80px}.ihabdevteam-core-scope .avatar__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .avatar__initials{font-size:calc(var(--avatar-size)*.4);font-weight:600;line-height:1}.ihabdevteam-core-scope .avatar__icon{align-items:center;display:inline-flex;justify-content:center}";te(z3);const O3={xs:12,sm:16,md:20,lg:28,xl:36};function F3(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 Gh({src:e,name:t,size:a="md",shape:r="circle",className:n=""}){const{t:i}=me.useTranslation(),[s,c]=l.useState(!1),d=t?F3(t):"",u=!!e&&!s,m=!u&&!!d,h=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return o.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${n}`.trim(),role:"img","aria-label":h,children:[u&&o.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>c(!0)}),!u&&m&&o.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!u&&!m&&o.jsx(Fe,{icon:"user-round",size:O3[a],className:"avatar__icon"})]})}var W3=".ihabdevteam-core-scope .file-upload{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .file-upload__dropzone{align-items:center;background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xl);position:relative;transition:border-color .15s,background .15s}.ihabdevteam-core-scope .file-upload__dropzone:hover:not(.file-upload__dropzone--disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .file-upload__dropzone--dragging{background:var(--color-main-a10);border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone--disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .file-upload__icon{color:var(--color-gray)}.ihabdevteam-core-scope .file-upload__prompt{color:var(--color-gray);text-align:center}.ihabdevteam-core-scope .file-upload__browse-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-pureWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-main);cursor:pointer;padding:var(--spacing-xs) var(--spacing-m)}.ihabdevteam-core-scope .file-upload__browse-button:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .file-upload__input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.ihabdevteam-core-scope .file-upload__list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .file-upload__list-item{align-items:center;background:var(--color-deepWhite);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-s)}.ihabdevteam-core-scope .file-upload__file-name{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .file-upload__remove-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .file-upload__remove-button:hover{color:var(--color-error)}";te(W3);function H3(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(),n=e.type.toLowerCase();return a.some(i=>{const s=i.toLowerCase();return s.startsWith(".")?r.endsWith(s):s.endsWith("/*")?n.startsWith(s.slice(0,-1)):n===s})}function qh({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:n=!0,files:i,onRemove:s,className:c=""}){const{t:d}=me.useTranslation(),u=l.useRef(null),[m,h]=l.useState(!1),[p,g]=l.useState([]),f=i??p,b=w=>{if(!w||w.length===0)return;const S=Array.from(w).filter(A=>H3(A,t));if(S.length===0)return;const j=a?S:S.slice(0,1);if(i===void 0){const A=a?[...f,...j]:j;g(A),e?.(A)}else e?.(j)},v=w=>{w.preventDefault(),!r&&h(!0)},y=w=>{w.preventDefault(),h(!1)},_=w=>{w.preventDefault(),h(!1),!r&&b(w.dataTransfer.files)},C=w=>{b(w.target.files),w.target.value=""},x=()=>{r||u.current?.click()},k=w=>{if(s){s(w);return}if(i===void 0){const S=f.filter((j,A)=>A!==w);g(S),e?.(S)}};return o.jsxs("div",{className:`file-upload ${c}`.trim(),children:[o.jsxs("div",{className:_e("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:x,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),x())},onDragOver:v,onDragLeave:y,onDrop:_,children:[o.jsx(Fe,{icon:"upload",size:24,className:"file-upload__icon"}),o.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),o.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:w=>{w.stopPropagation(),x()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),o.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:C,tabIndex:-1})]}),n&&f.length>0&&o.jsx("ul",{className:"file-upload__list",children:f.map((w,S)=>o.jsxs("li",{className:"file-upload__list-item body-3",children:[o.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),o.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:w.name}),onClick:()=>k(S),children:o.jsx(Fe,{icon:"x",size:14})})]},`${w.name}-${S}`))})]})}var V3=".ihabdevteam-core-scope .breadcrumb{align-items:center;display:inline-flex}.ihabdevteam-core-scope .breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .breadcrumb__item{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .breadcrumb__link{align-items:center;background:none;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;justify-content:center;margin:0;min-height:24px;min-width:24px;padding:0}.ihabdevteam-core-scope .breadcrumb__link:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .breadcrumb__link:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .breadcrumb__current{color:var(--color-darkGray)}.ihabdevteam-core-scope .breadcrumb__separator{align-items:center;color:var(--color-disabled);display:inline-flex;flex-shrink:0}";te(V3);function Yh({items:e,className:t=""}){return o.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":"breadcrumb",children:o.jsx("ol",{className:"breadcrumb__list",children:e.map((a,r)=>{const n=r===e.length-1;return o.jsxs("li",{className:"breadcrumb__item",children:[n?o.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:a.label}):o.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:a.onClick,children:a.label}),!n&&o.jsx(Fe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},r)})})})}var G3=".ihabdevteam-core-scope .rating{--rating-color:var(--color-warn);--rating-empty-color:var(--color-whiteLine);align-items:center;display:inline-flex;gap:2px}.ihabdevteam-core-scope .rating__item{align-items:center;background:none;border:none;display:inline-flex;justify-content:center;line-height:0;margin:0;padding:0}.ihabdevteam-core-scope .rating__item--interactive{cursor:pointer;min-height:24px;min-width:24px}.ihabdevteam-core-scope .rating__item--interactive:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .rating--readOnly .rating__item{cursor:default}.ihabdevteam-core-scope .rating__star-wrap{display:inline-flex;line-height:0;position:relative}.ihabdevteam-core-scope .rating__star--empty{color:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star--empty svg{fill:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star-fill{display:inline-flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:100%}.ihabdevteam-core-scope .rating__star-fill--half{width:50%}.ihabdevteam-core-scope .rating__star--filled{color:var(--rating-color)}.ihabdevteam-core-scope .rating__star--filled svg{fill:var(--rating-color)}";te(G3);const q3={small:14,medium:20,large:28};function Uh({value:e,onChange:t,max:a=5,readOnly:r=!1,size:n="medium",ariaLabel:i,className:s=""}){const{t:c}=me.useTranslation(),d=r||!t,[u,m]=l.useState(null),h=u??e,p=q3[n],g=x=>{d||t?.(x)},f=x=>{d||m(x)},b=l.useRef(null),v=x=>{const k=Math.min(a,Math.max(1,x));t?.(k),Array.from(b.current?.querySelectorAll("[data-star]")??[]).find(w=>w.dataset.star===String(k))?.focus()},y=x=>{if(!d){switch(x.key){case"ArrowRight":case"ArrowUp":v((e||0)+1);break;case"ArrowLeft":case"ArrowDown":v((e||1)-1);break;case"Home":v(1);break;case"End":v(a);break;default:return}x.preventDefault()}},_=e>=1&&e<=a?Math.round(e):1,C=()=>{d||m(null)};return o.jsx("div",{className:`rating rating--${n}${d?" rating--readOnly":""} ${s}`.trim(),ref:b,onKeyDown:y,role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:C,children:Array.from({length:a},(x,k)=>{const w=k+1,S=Math.max(0,Math.min(1,h-k)),j=S>0&&S<1,A=o.jsxs("span",{className:"rating__star-wrap",children:[o.jsx(Fe,{icon:"star",size:p,className:"rating__star rating__star--empty"}),S>0&&o.jsx("span",{className:`rating__star-fill${j?" rating__star-fill--half":""}`,children:o.jsx(Fe,{icon:"star",size:p,className:"rating__star rating__star--filled"})})]});return d?o.jsx("span",{className:"rating__item","aria-hidden":"true",children:A},w):o.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":e===w,"aria-label":c("rating.starLabel",{n:w}),"data-star":w,tabIndex:w===_?0:-1,onClick:()=>g(w),onMouseEnter:()=>f(w),children:A},w)})})}var Y3=".ihabdevteam-core-scope .color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .color-picker__swatch{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0;position:relative;transition:transform .12s,box-shadow .12s}.ihabdevteam-core-scope .color-picker__swatch--32{border-radius:8px;height:32px;width:32px}.ihabdevteam-core-scope .color-picker__swatch--40{border-radius:10px;height:40px;width:40px}.ihabdevteam-core-scope .color-picker__swatch--48{border-radius:12px;height:48px;width:48px}.ihabdevteam-core-scope .color-picker__swatch:hover{transform:scale(1.08)}.ihabdevteam-core-scope .color-picker__swatch:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .color-picker__check{color:#fff}.ihabdevteam-core-scope .color-picker__check svg{display:block}";te(Y3);const U3=20,K3=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function Kh({value:e,onChange:t,palette:a=K3,size:r=40,className:n=""}){const{t:i}=me.useTranslation();return o.jsx("div",{className:`color-picker ${n}`.trim(),role:"group",children:a.map(s=>{const c=e?.toLowerCase()===s.toLowerCase();return o.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:s},onClick:()=>t(s),"aria-pressed":c,"aria-label":c?`${s} ${i("colorPicker.selected","\uC120\uD0DD\uB428")}`:s,children:c&&o.jsx(Fe,{icon:"check",size:U3,className:"color-picker__check"})},s)})})}var Z3=".ihabdevteam-core-scope .count-tile{background:var(--color-deepWhite);border:1px solid var(--color-darkWhite);border-radius:16px;box-sizing:border-box;flex-shrink:0;height:72px;padding:12px;position:relative;transition:border-color .15s,background .15s;width:72px}.ihabdevteam-core-scope .count-tile__icon{color:var(--color-main);left:12px;position:absolute;top:12px}.ihabdevteam-core-scope .count-tile__count{bottom:12px;color:var(--color-darkGray);line-height:1;position:absolute;right:12px}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}.ihabdevteam-core-scope .count-tile--clickable:hover{background:var(--color-white)}@media (max-width:767px){.ihabdevteam-core-scope .count-tile{border-radius:14px;height:60px;padding:10px;width:60px}.ihabdevteam-core-scope .count-tile__icon{left:8px;top:8px}.ihabdevteam-core-scope .count-tile__count{bottom:8px;right:8px}}";te(Z3);function Zh({icon:e,count:t,title:a,className:r="",onClick:n,onMouseEnter:i,onMouseLeave:s}){const c=_e("count-tile",n&&"count-tile--clickable",r);return o.jsxs("div",{className:c,onClick:n,onKeyDown:n?d=>{d.key!=="Enter"&&d.key!==" "||(d.preventDefault(),d.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:s,role:n?"button":"img",tabIndex:n?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[o.jsx(Fe,{icon:e,size:20,className:"count-tile__icon"}),o.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}var X3=".ihabdevteam-core-scope .dialog{align-items:center;background:rgba(16,24,32,.6);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:2200;z-index:var(--z-modal,2200)}@supports (color:rgb(0 0 0/0)) and (top:var(--f )){.ihabdevteam-core-scope .dialog{background:var(--color-popupBlock,rgba(16,24,32,.6))}}.ihabdevteam-core-scope .dialog__surface{background:#fff;background:var(--color-pureWhite,#fff);border-radius:20px;border-radius:var(--radius-dialog,20px);box-shadow:var(--shadow-popup);max-height:calc(100vh - 64px);outline:none;overflow:auto;position:relative;width:100%}.ihabdevteam-core-scope .dialog__surface--sm{max-width:420px}.ihabdevteam-core-scope .dialog__surface--md{max-width:640px}.ihabdevteam-core-scope .dialog__surface--lg{max-width:1000px}.ihabdevteam-core-scope .dialog__surface--full{background:none;box-shadow:none;max-width:1000px;overflow:visible}.ihabdevteam-core-scope .dialog__header{padding:24px 24px 0}.ihabdevteam-core-scope .dialog__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .dialog__close{align-items:center;background:none;border:0;border-radius:999px;border-radius:var(--radius-full,999px);color:var(--color-gray);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .15s ease,color .15s ease;width:40px}.ihabdevteam-core-scope .dialog__close:hover{background:var(--color-darkWhite);color:var(--color-black)}.ihabdevteam-core-scope .dialog__close>svg{height:20px;width:20px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close{background:hsla(0,0%,100%,.1);color:var(--color-pureWhite);right:0;top:-48px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close:hover{background:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .dialog__body{padding:24px}.ihabdevteam-core-scope .dialog__surface--full .dialog__body{padding:0}@media (max-width:639px){.ihabdevteam-core-scope .dialog{padding:16px}.ihabdevteam-core-scope .dialog__body{padding:20px}}";te(X3);function J3(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:o.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function Xh({open:e,onClose:t,ariaLabel:a,title:r,children:n,size:i="md",closeOnBackdrop:s=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:m}){const{t:h}=me.useTranslation(),p=l.useId(),g=l.useRef(null),f=l.useCallback(()=>t(),[t]);return l.useEffect(()=>{if(!e)return;const b=document.activeElement,{overflow:v}=document.body.style;return document.body.style.overflow="hidden",g.current?.focus(),()=>{document.body.style.overflow=v,b?.focus?.()}},[e]),l.useEffect(()=>{if(!(!e||!c))return wl(f)},[e,c,f]),ks(g,e),!e||typeof document>"u"?null:qt.createPortal(o.jsx("div",{className:_e("dialog",u),onClick:s?f:void 0,children:o.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?p:void 0,tabIndex:-1,className:_e("dialog__surface",`dialog__surface--${i}`,m),onClick:b=>b.stopPropagation(),children:[r?o.jsx("div",{className:"dialog__header",children:o.jsx("h2",{id:p,className:"dialog__title h4b",children:r})}):null,d?o.jsx("button",{type:"button",className:"dialog__close","aria-label":h("common.close","\uB2EB\uAE30"),onClick:f,children:o.jsx(J3,{})}):null,o.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var Q3=".ihabdevteam-core-scope .board{width:100%}.ihabdevteam-core-scope .board__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--spacing-m);justify-content:space-between;margin-bottom:var(--spacing-m)}.ihabdevteam-core-scope .board__title{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:500;line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .board__toolbar{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .board__table{border-collapse:collapse;border-top:1px solid var(--color-text-primary);text-align:left;width:100%}.ihabdevteam-core-scope .board__caption{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ihabdevteam-core-scope .board__th{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-body-3-size);font-weight:500;line-height:var(--text-body-3-line);padding:14px 0}.ihabdevteam-core-scope .board__row{border-bottom:1px solid var(--color-border);transition:background .15s ease;transition:background var(--duration-fast,.15s) var(--ease-out,ease)}.ihabdevteam-core-scope .board__row:hover{background:var(--color-surface-raised)}.ihabdevteam-core-scope .board__td{color:var(--color-text-primary);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line);padding:var(--spacing-m) 0}.ihabdevteam-core-scope .board__cell--left{text-align:left}.ihabdevteam-core-scope .board__cell--center{text-align:center}.ihabdevteam-core-scope .board__cell--right{text-align:right}.ihabdevteam-core-scope .board__state{color:var(--color-text-secondary);font-size:var(--text-body-3-size);padding:56px 0;text-align:center}";te(Q3);function Jh({columns:e,rows:t,rowKey:a,title:r,toolbar:n,empty:i="\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",loading:s,caption:c,className:d=""}){const u=!s&&t.length===0;return o.jsxs("div",{className:_e("board",d),children:[r||n?o.jsxs("div",{className:"board__head",children:[r?o.jsx("h2",{className:"board__title",children:r}):o.jsx("span",{}),n?o.jsx("div",{className:"board__toolbar",children:n}):null]}):null,o.jsxs("table",{className:"board__table",children:[c?o.jsx("caption",{className:"board__caption",children:c}):null,o.jsx("thead",{children:o.jsx("tr",{children:e.map(m=>o.jsx("th",{scope:"col",className:_e("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),o.jsx("tbody",{children:s?o.jsx("tr",{children:o.jsx("td",{className:"board__state",colSpan:e.length,children:s})}):u?o.jsx("tr",{children:o.jsx("td",{className:"board__state",colSpan:e.length,children:i})}):t.map((m,h)=>o.jsx("tr",{className:"board__row",children:e.map(p=>o.jsx("td",{className:_e("board__td",`board__cell--${p.align??"left"}`),children:p.render(m,h)},p.key))},a(m,h)))})]})]})}var e8=".ihabdevteam-core-scope .person-card{display:flex;flex-direction:column}.ihabdevteam-core-scope .person-card__photo{background:var(--color-surface-raised);border-radius:var(--radius-full);flex-shrink:0;margin-inline:auto;max-width:100%;overflow:hidden}.ihabdevteam-core-scope .person-card__photo>*,.ihabdevteam-core-scope .person-card__photo>img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .person-card__name{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin-top:var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .person-card__role{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin-top:6px;text-align:center}.ihabdevteam-core-scope .person-card__credentials{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:var(--spacing-xl) auto 0;max-width:100%;padding:0;text-align:left;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .person-card__credentials>li{color:var(--color-darkGray);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line)}@media (max-width:767px){.ihabdevteam-core-scope .person-card__credentials,.ihabdevteam-core-scope .person-card__name{margin-top:var(--spacing-l)}}";te(e8);function Qh({name:e,role:t,photo:a,media:r,credentials:n,size:i=190,className:s=""}){return o.jsxs("div",{className:_e("person-card",s),children:[o.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?o.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),o.jsx("h3",{className:"person-card__name",children:e}),t?o.jsx("p",{className:"person-card__role",children:t}):null,n?.length?o.jsx("ul",{className:"person-card__credentials",children:n.map(c=>o.jsx("li",{children:c},c))}):null]})}var t8=".ihabdevteam-core-scope .timeline{display:flex;flex-direction:column;gap:56px}.ihabdevteam-core-scope .timeline__title{color:var(--color-text-primary);font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-spacing);line-height:var(--text-h1-line);margin:0}.ihabdevteam-core-scope .timeline__rows{border-top:1px solid var(--color-border);list-style:none;margin:var(--spacing-m) 0 0;padding:0}.ihabdevteam-core-scope .timeline__row{border-bottom:1px solid var(--color-border);display:flex;gap:40px;padding:var(--spacing-l) 0}.ihabdevteam-core-scope .timeline__label{color:var(--color-text-primary);flex-shrink:0;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);line-height:var(--text-body-2-line);padding-top:1px;width:28px}.ihabdevteam-core-scope .timeline__items{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .timeline__items>p{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}@media (max-width:767px){.ihabdevteam-core-scope .timeline{gap:40px}.ihabdevteam-core-scope .timeline__row{gap:var(--spacing-xl)}}";te(t8);function em({groups:e,className:t=""}){return o.jsx("div",{className:_e("timeline",t),children:e.map(a=>o.jsxs("section",{className:"timeline__group",children:[o.jsx("h3",{className:"timeline__title",children:a.title}),o.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,n)=>o.jsxs("li",{className:"timeline__row",children:[r.label?o.jsx("span",{className:"timeline__label",children:r.label}):null,o.jsx("div",{className:"timeline__items",children:r.items.map((i,s)=>o.jsx("p",{children:i},s))})]},`${r.label??""}-${n}`))})]},a.title))})}var a8=".ihabdevteam-core-scope .publication-card{background:var(--color-surface-raised);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex-direction:column;padding:36px var(--spacing-xl) 32px;position:relative}.ihabdevteam-core-scope .publication-card__badge{height:88px;pointer-events:none;position:absolute;right:var(--spacing-xl);top:0}.ihabdevteam-core-scope .publication-card__badge>*,.ihabdevteam-core-scope .publication-card__badge>img{height:100%;width:auto}.ihabdevteam-core-scope .publication-card__title{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin:0;padding-right:96px;position:relative;z-index:1}.ihabdevteam-core-scope .publication-card__kind{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin:var(--spacing-m) 0 0}.ihabdevteam-core-scope .publication-card__body{color:var(--color-darkGray);font-size:var(--text-caption-1-size);line-height:1.65;margin:var(--spacing-m) 0 0}@media (max-width:767px){.ihabdevteam-core-scope .publication-card{padding:32px var(--spacing-l) 28px}.ihabdevteam-core-scope .publication-card__kind{margin-top:var(--spacing-m)}}.ihabdevteam-core-scope .publication-card__footer{margin-top:auto;padding-top:var(--spacing-l)}";te(a8);function tm({title:e,kind:t,body:a,badge:r,badgeSrc:n,footer:i,width:s,className:c=""}){const d=r??(n?o.jsx("img",{src:n,alt:""}):null);return o.jsxs("div",{className:_e("publication-card",c),style:s?{width:s,flexShrink:0}:void 0,children:[d?o.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,o.jsx("h3",{className:"publication-card__title",children:e}),t?o.jsx("p",{className:"publication-card__kind",children:t}):null,o.jsx("p",{className:"publication-card__body",children:a}),i?o.jsx("div",{className:"publication-card__footer",children:i}):null]})}var o8="@keyframes splash-logo{0%{opacity:0;transform:scale(.92)}18%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.ihabdevteam-core-scope .splash-logo{align-items:center;background:var(--color-pureWhite);display:flex;inset:0;justify-content:center;position:absolute;z-index:1000;z-index:var(--z-modal,1000)}.ihabdevteam-core-scope .splash-logo__image{animation:splash-logo 3s cubic-bezier(.4,0,.2,1) forwards;animation:splash-logo var(--splash-logo-duration,3s) cubic-bezier(.4,0,.2,1) forwards;height:80px;height:var(--splash-logo-height,80px);width:auto}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .splash-logo__image{animation:none;opacity:1}}";te(o8);function am({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const n=al(a);return l.useEffect(()=>{if(!n.current)return;const i=setTimeout(()=>n.current?.(),r);return()=>clearTimeout(i)},[r,n]),o.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:o.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}var r8='.ihabdevteam-core-scope .section-header{text-align:center}.ihabdevteam-core-scope .section-header__eyebrow{align-items:center;display:flex;font-size:var(--text-caption-1-size);font-weight:600;gap:10px;justify-content:center;letter-spacing:.18em;line-height:var(--text-caption-1-line);margin:0}.ihabdevteam-core-scope .section-header__index{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.6}.ihabdevteam-core-scope .section-header__rule{background:currentColor;height:1px;opacity:.3;width:24px}.ihabdevteam-core-scope .section-header__title{font-family:inherit;font-family:var(--font-display,inherit);font-size:clamp(2rem,1.35rem + 2.1vw,2.9rem);font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0}.ihabdevteam-core-scope .section-header__eyebrow+.section-header__title{margin-top:var(--spacing-xl)}.ihabdevteam-core-scope .section-header__description{font-size:var(--text-body-2-size);line-height:1.9;margin-top:var(--spacing-m)}.ihabdevteam-core-scope .section-header--dark .section-header__eyebrow{color:var(--color-main)}.ihabdevteam-core-scope .section-header--dark .section-header__title{color:var(--color-text-primary)}.ihabdevteam-core-scope .section-header--dark .section-header__description{color:var(--color-darkGray)}.ihabdevteam-core-scope .section-header--light .section-header__eyebrow{color:hsla(0,0%,100%,.85)}.ihabdevteam-core-scope .section-header--light .section-header__title{color:var(--color-pureWhite)}.ihabdevteam-core-scope .section-header--light .section-header__description{color:hsla(0,0%,100%,.85)}';te(r8);function om({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:n=2,tone:i="dark",className:s=""}){const c=n===1?"h1":"h2";return o.jsxs("div",{className:_e("section-header",`section-header--${i}`,s),children:[e?o.jsxs("p",{className:"section-header__eyebrow",children:[t?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"section-header__index",children:t}),o.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?o.jsx(c,{className:"section-header__title",children:a}):null,r?o.jsx("div",{className:"section-header__description",children:r}):null]})}var n8=".ihabdevteam-core-scope .company-meta{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;font-size:var(--text-caption-1-size);gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .company-meta__item{align-items:center;display:flex}.ihabdevteam-core-scope .company-meta__divider{color:var(--color-whiteLine);display:none;padding-inline:var(--spacing-m)}@media (min-width:640px){.ihabdevteam-core-scope .company-meta{flex-direction:row;gap:0}.ihabdevteam-core-scope .company-meta__divider{display:inline}}";te(n8);function rm({items:e,className:t=""}){return o.jsx("ul",{className:_e("company-meta",t),children:e.map((a,r)=>o.jsxs("li",{className:"company-meta__item",children:[r>0?o.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Hl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const n=l.useId(),[i,s]=l.useState(!1),[c,d]=l.useState(-1),u=l.useRef(null),m=l.useMemo(()=>{if(!a.length)return[];const b=e??"";return b?a.filter(v=>v.toLowerCase().includes(b.toLowerCase())):r?a:[]},[a,e,r]);l.useEffect(()=>{i||d(-1)},[i]),l.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);const h=l.useCallback(b=>{t?.(b),s(!1)},[t]),p=l.useCallback(()=>s(!0),[]),g=l.useCallback(()=>{u.current=setTimeout(()=>s(!1),120)},[]),f=l.useCallback(b=>{b.key==="ArrowDown"?(b.preventDefault(),s(!0),d(v=>Math.min(m.length-1,v+1))):b.key==="ArrowUp"?(b.preventDefault(),d(v=>Math.max(-1,v-1))):b.key==="Enter"?c>=0&&!b.nativeEvent.isComposing&&h(m[c]):b.key==="Escape"&&i&&(b.preventDefault(),s(!1))},[m,c,i,h]);return{listId:n,open:i,activeIdx:c,filtered:m,handleFocus:p,handleBlur:g,handleKeyDown:f,handleSelect:h}}var i8=".ihabdevteam-core-scope .text-field{box-sizing:border-box;display:inline-flex;flex-direction:column;gap:6px;position:relative}.ihabdevteam-core-scope .text-field--full-width{display:flex;width:100%}.ihabdevteam-core-scope .text-field__label{align-items:center;color:var(--color-darkGray);display:flex;gap:4px}.ihabdevteam-core-scope .text-field__required{color:var(--color-main);line-height:1}.ihabdevteam-core-scope .text-field__wrap{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;display:flex;overflow:hidden;position:relative;transition:border-color .12s,background .12s,box-shadow .12s}.ihabdevteam-core-scope .text-field--s32 .text-field__wrap{border-radius:8px}.ihabdevteam-core-scope .text-field--s40 .text-field__wrap{border-radius:10px}.ihabdevteam-core-scope .text-field--s48 .text-field__wrap{border-radius:12px}.ihabdevteam-core-scope .text-field--s64 .text-field__wrap{border-radius:14px}.ihabdevteam-core-scope .text-field__wrap:focus-within{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .text-field--error .text-field__wrap{border-color:var(--color-error)}.ihabdevteam-core-scope .text-field--error .text-field__wrap:focus-within{box-shadow:0 0 0 3px var(--color-error-a10)}.ihabdevteam-core-scope .text-field--disabled .text-field__wrap{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .text-field--readonly .text-field__input{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .text-field--readonly .text-field__wrap{border-color:var(--color-darkWhite)}.ihabdevteam-core-scope .text-field__input{background:transparent;border:none;box-sizing:border-box;color:var(--color-darkGray);flex:1;margin:0;min-width:0;outline:none;padding:0 12px}.ihabdevteam-core-scope .text-field__input::-moz-placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input::placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input:disabled{cursor:not-allowed}.ihabdevteam-core-scope .text-field__input[readonly]{cursor:default}.ihabdevteam-core-scope .text-field__input--textarea{align-self:stretch;line-height:1.6;min-height:80px;padding:10px 12px;resize:vertical}.ihabdevteam-core-scope .text-field__input--auto{align-self:stretch;line-height:1.5;overflow:hidden;padding:0 12px;resize:none}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__wrap,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__wrap{align-items:flex-start}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__icon,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__icon{margin-top:var(--spacing-s)}.ihabdevteam-core-scope .text-field--s32 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:30px}.ihabdevteam-core-scope .text-field--s40 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:38px}.ihabdevteam-core-scope .text-field--s48 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:46px}.ihabdevteam-core-scope .text-field--s64 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:62px;line-height:normal}.ihabdevteam-core-scope .text-field--display .text-field__input{font-weight:700;text-align:center}.ihabdevteam-core-scope .text-field--display .text-field__input::-moz-placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__input::placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__placeholder{align-items:center;color:var(--color-lightGray);display:flex;font-weight:400;inset:0;justify-content:center;pointer-events:none;position:absolute}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:-moz-placeholder)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:placeholder-shown)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__input{font-size:22px}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__placeholder{font-size:15px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__input{font-size:28px;letter-spacing:-.3px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__placeholder{font-size:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input--auto{height:30px;min-height:30px;padding-bottom:3px;padding-top:3px}.ihabdevteam-core-scope .text-field--s40 .text-field__input--auto{height:38px;min-height:38px;padding-bottom:7px;padding-top:7px}.ihabdevteam-core-scope .text-field--s48 .text-field__input--auto{height:46px;min-height:46px;padding-bottom:11px;padding-top:11px}.ihabdevteam-core-scope .text-field__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .text-field__icon--left{margin-left:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon--right{margin-right:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon-svg{display:block}.ihabdevteam-core-scope .text-field--has-left-icon .text-field__input{padding-left:6px}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__input{padding-right:6px}.ihabdevteam-core-scope .text-field--s32 .text-field__icon{height:16px;width:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input{font-size:14px;line-height:22px}.ihabdevteam-core-scope .text-field__clear{flex-shrink:0;margin-right:10px}.ihabdevteam-core-scope .text-field__suggestions{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);left:0;margin-top:var(--spacing-xs);max-height:220px;overflow:auto;padding:4px 0;position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.ihabdevteam-core-scope .text-field__suggestion{color:var(--color-darkGray);cursor:pointer;padding:8px 12px}.ihabdevteam-core-scope .text-field__suggestion.is-active,.ihabdevteam-core-scope .text-field__suggestion:hover{background:var(--color-deepWhite);color:var(--color-main)}.ihabdevteam-core-scope .text-field__footer{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .text-field__helper{color:var(--color-lightGray);flex:1}.ihabdevteam-core-scope .text-field--error .text-field__helper{color:var(--color-error)}.ihabdevteam-core-scope .text-field__count{color:var(--color-gray);flex-shrink:0;margin-right:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__count,.ihabdevteam-core-scope .text-field:has(.text-field__clear) .text-field__count{margin-right:8px}.ihabdevteam-core-scope .text-field__count--over{color:var(--color-error)}.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__count{bottom:6px;margin:0;pointer-events:none;position:absolute;right:20px}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__count{align-self:flex-end;margin-bottom:var(--spacing-s)}";te(i8);function Wa(e){const{value:t,defaultValue:a,name:r,inputRef:n,onChange:i,label:s,ariaLabel:c,required:d,placeholder:u,type:m="text",disabled:h=!1,readOnly:p=!1,error:g,helperText:f,maxLength:b,size:v=48,variant:y="input",fullWidth:_=!1,newline:C=!1,multiline:x=!1,rows:k=3,leftIcon:w,rightIcon:S,clearable:j=!1,list:A,showCount:T=!0,className:F="",onFocus:R,onBlur:E,onKeyDown:M,onEnter:D,inputMode:H,autoComplete:J,autoFocus:ee,suggestions:ae,openOnFocus:B=!1}=e,{t:L}=me.useTranslation(),$=l.useId();!s&&!c&&Wn(`TextField:unnamed:${$}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const z=`tf-${$}`,V=`tf-helper-${$}`,X=l.useRef(null),W=Hl({value:t??"",onChange:i,suggestions:ae??[],openOnFocus:B}),Y=!!ae&&W.open&&W.filtered.length>0,O=l.useCallback(Z=>{X.current=Z,typeof n=="function"?n(Z):n&&(n.current=Z)},[n]),ie=t!==void 0,ue=ie&&m==="password",fe=(t??"").length;l.useEffect(()=>{const Z=X.current;if(!ue||!Z)return;const Q=t??"";Z.value!==Q&&(Z.value=Q)},[ue,t]),l.useEffect(()=>{if(!C||!X.current)return;const Z=X.current;Z.style.height="",Z.scrollHeight>Z.clientHeight&&(Z.style.height=`${Z.scrollHeight}px`)},[t,C]);const ye=b!=null&&fe>b,pe=v===32?16:20,P=_e("text-field",`text-field--s${v}`,y==="display"?"text-field--display":"",_?"text-field--full-width":"",h?"text-field--disabled":"",p?"text-field--readonly":"",g?"text-field--error":"",w?"text-field--has-left-icon":"",S||j?"text-field--has-right-icon":"",F),q={id:z,...ue?{}:ie?{value:t}:{defaultValue:a},ref:O,placeholder:u,name:r,disabled:h,readOnly:p,autoFocus:ee,tabIndex:p?-1:void 0,maxLength:b,list:A,inputMode:H,autoComplete:J,"aria-label":!s&&c?c:void 0,"aria-required":d,"aria-invalid":!!g,"aria-describedby":f||g?V:void 0,role:ae?"combobox":void 0,"aria-autocomplete":ae?"list":void 0,"aria-haspopup":ae?"listbox":void 0,"aria-expanded":ae?W.open:void 0,"aria-controls":Y?W.listId:void 0,"aria-activedescendant":Y&&W.activeIdx>=0?`${W.listId}-option-${W.activeIdx}`:void 0,onChange:Z=>i?.(Z.target.value),onFocus:(Z=>{R?.(Z),ae&&W.handleFocus()}),onBlur:(Z=>{E?.(Z),ae&&W.handleBlur()}),onKeyDown:(Z=>{D&&Z.key==="Enter"&&!Z.nativeEvent.isComposing&&(Z.preventDefault(),D()),M?.(Z),ae&&W.handleKeyDown(Z)})},oe=j&&!h&&!p&&fe>0,ge=()=>C?o.jsx("textarea",{...q,className:"text-field__input text-field__input--auto body-2",rows:1}):x?o.jsx("textarea",{...q,className:"text-field__input text-field__input--textarea body-2",rows:k}):o.jsx("input",{...q,type:m,className:"text-field__input body-2"}),de=y==="display"&&!C&&!x&&!!u,I=()=>o.jsxs(o.Fragment,{children:[ge(),de&&o.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:u})]});return o.jsxs("div",{className:P,children:[s&&o.jsxs("label",{htmlFor:z,className:"text-field__label caption-1",children:[s,d&&o.jsx("span",{className:"text-field__required",children:"*"})]}),o.jsxs("div",{className:"text-field__wrap",children:[w&&o.jsx("span",{className:"text-field__icon text-field__icon--left",children:o.jsx(Fe,{icon:w,label:"",className:"",svgClassName:"text-field__icon-svg",size:pe})}),I(),b!=null&&T&&o.jsxs("span",{className:`text-field__count caption-2${ye?" text-field__count--over":""}`,children:[fe,"/",b]}),oe&&o.jsx(re,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:L("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Z=>{Z.preventDefault()},onClick:()=>i?.(""),tabIndex:-1}),S&&!oe&&o.jsx("span",{className:"text-field__icon text-field__icon--right",children:o.jsx(Fe,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:pe})})]}),ae&&W.open&&W.filtered.length>0&&o.jsx("ul",{id:W.listId,className:"text-field__suggestions",role:"listbox",children:W.filtered.map((Z,Q)=>o.jsx("li",{id:`${W.listId}-option-${Q}`,role:"option","aria-selected":Q===W.activeIdx,className:`text-field__suggestion body-2${Q===W.activeIdx?" is-active":""}`,onMouseDown:ve=>ve.preventDefault(),onClick:()=>{W.handleSelect(Z),X.current?.focus()},children:Z},`${Z}-${Q}`))}),(f||g)&&o.jsx("div",{className:"text-field__footer",children:o.jsx("span",{id:V,className:"text-field__helper caption-1",role:g?"alert":void 0,children:g||f})})]})}var s8=".ihabdevteam-core-scope .dropdown{display:inline-block;position:relative}.ihabdevteam-core-scope .dropdown--block{display:block;width:100%}.ihabdevteam-core-scope .dropdown--block .dropdown__trigger{min-width:0}.ihabdevteam-core-scope .dropdown--s40 .dropdown__trigger{border-radius:10px;height:40px}.ihabdevteam-core-scope .dropdown--s48 .dropdown__trigger{border-radius:12px;height:48px}.ihabdevteam-core-scope .dropdown__trigger{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);height:48px;justify-content:space-between;min-width:120px;padding:0 12px;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__trigger:hover:not(:disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .dropdown__trigger:focus-visible{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10);outline:none}.ihabdevteam-core-scope .dropdown__trigger:disabled{background:var(--color-deepWhite);cursor:default;opacity:.5}.ihabdevteam-core-scope .dropdown--open .dropdown__trigger{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger{border:1px solid var(--color-error)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger:hover:not(:disabled),.ihabdevteam-core-scope .dropdown--error.dropdown--open .dropdown__trigger{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 15%,transparent)}.ihabdevteam-core-scope .dropdown__trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis}.ihabdevteam-core-scope .dropdown__trigger-label--placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .dropdown__chevron{color:var(--color-gray);flex-shrink:0;height:16px;transition:transform .2s;width:16px}.ihabdevteam-core-scope .dropdown--open .dropdown__chevron{transform:rotate(180deg)}.ihabdevteam-core-scope .dropdown__menu{animation:dropdown-appear .12s ease;background:var(--color-white);border:1.5px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);box-sizing:border-box;max-height:260px;overflow-y:auto;overscroll-behavior-y:contain;padding:6px}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ihabdevteam-core-scope .dropdown__option{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);padding:9px 12px;text-align:left;transition:background .1s,color .1s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__option:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .dropdown__option--active{background:var(--color-main-a10);color:var(--color-main)}.ihabdevteam-core-scope .dropdown__option--disabled{cursor:default;opacity:.4;pointer-events:none}.ihabdevteam-core-scope .dropdown__option-check{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.ihabdevteam-core-scope .dropdown__option-check svg{height:14px;width:14px}";te(s8);function Ut({options:e,value:t,onChange:a,placeholder:r,disabled:n=!1,block:i=!1,size:s=48,error:c=!1,className:d="",ariaLabel:u}){const{t:m}=me.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),p=l.useId(),g=l.useRef(null),f=l.useCallback(E=>{const M=window.innerHeight-E.bottom<260&&E.top>260;return{position:"fixed",left:E.left,minWidth:E.width,...M?{bottom:window.innerHeight-E.top+6}:{top:E.bottom+6},zIndex:9999}},[]),{open:b,setOpen:v,toggle:y,style:_,triggerRef:C,menuRef:x}=ao({computeStyle:f}),[k,w]=l.useState(-1),S=l.useCallback(()=>w(-1),[]),j=e.find(E=>E.value===t);l.useEffect(()=>{if(b){const E=e.findIndex(M=>M.value===t);w(E>=0?E:0),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const D=M.querySelectorAll(".dropdown__option")[E];D&&(M.scrollTop=Math.max(0,D.offsetTop-M.clientHeight/2+D.clientHeight/2))})}},[b,e,t,x]);const A=l.useCallback(()=>{n||y()},[n,y]),T=l.useCallback(E=>{E.disabled||(a?.(E.value),v(!1))},[a,v]),F=l.useCallback(E=>{if(!n){if(!b){(E.key==="Enter"||E.key===" "||E.key==="ArrowDown")&&(E.preventDefault(),v(!0));return}if(E.key==="Escape"){E.preventDefault(),v(!1);return}E.key==="ArrowDown"?(E.preventDefault(),w(M=>{let D=M+1;for(;D<e.length&&e[D].disabled;)D++;return D<e.length?D:M})):E.key==="ArrowUp"?(E.preventDefault(),w(M=>{let D=M-1;for(;D>=0&&e[D].disabled;)D--;return D>=0?D:M})):E.key==="Enter"&&k>=0&&(E.preventDefault(),T(e[k]))}},[n,b,e,k,T,v]),R=b?o.jsx("div",{ref:x,id:p,className:"dropdown__menu",role:"listbox",style:_,onMouseLeave:S,children:e.map((E,M)=>o.jsxs("button",{id:`${p}-option-${M}`,type:"button",role:"option","aria-selected":E.value===t,className:_e("dropdown__option body-2",E.value===t?"dropdown__option--active":"",M===k?"dropdown__option--active":"",E.disabled?"dropdown__option--disabled":""),onMouseDown:D=>D.preventDefault(),onClick:()=>T(E),onMouseEnter:()=>w(M),disabled:E.disabled,children:[o.jsx("span",{className:"dropdown__option-check",children:E.value===t&&o.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),E.label]},E.value))}):null;return o.jsxs("div",{ref:g,className:_e("dropdown",`dropdown--s${s}`,b?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:F,children:[o.jsxs("button",{ref:C,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":b,"aria-controls":b?p:void 0,"aria-activedescendant":b&&k>=0?`${p}-option-${k}`:void 0,"aria-label":u,"aria-invalid":c||void 0,disabled:n,onClick:A,children:[o.jsx("span",{className:`dropdown__trigger-label body-2${j?"":" dropdown__trigger-label--placeholder"}`,children:j?j.label:h}),o.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&qt.createPortal(R,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var l8=".ihabdevteam-core-scope .pagination{align-items:center;display:flex;gap:4px}.ihabdevteam-core-scope .pagination__info{color:var(--color-darkGray);font-weight:600;min-width:48px;text-align:center}";te(l8);function vr({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:n,className:i=""}){const{t:s}=me.useTranslation(),c=r??s("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=n??s("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=()=>a(Math.max(1,e-1)),m=()=>a(Math.min(t,e+1));return o.jsxs("div",{className:_e("pagination",i),children:[o.jsx(re,{size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:u}),o.jsxs("span",{className:"pagination__info body-3",children:[e," / ",t]}),o.jsx(re,{size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=t,onClick:m})]})}var c8=".ihabdevteam-core-scope .segmented-control{background:var(--color-darkWhite);display:inline-flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-xs);overflow:hidden;padding:4px}.ihabdevteam-core-scope .segmented-control--pill{border-radius:999px}.ihabdevteam-core-scope .segmented-control--rounded{border-radius:12px}.ihabdevteam-core-scope .segmented-control .button{min-width:96px}.ihabdevteam-core-scope .segmented-control--32 .button{min-width:64px}.ihabdevteam-core-scope .segmented-control--40 .button{min-width:80px}.ihabdevteam-core-scope .segmented-control--48 .button{min-width:96px}.ihabdevteam-core-scope .segmented-control--no-bg{background:transparent;padding:0}.ihabdevteam-core-scope .segmented-control--full{display:flex;flex-wrap:nowrap;width:100%}.ihabdevteam-core-scope .segmented-control--full .button{flex:1 1 0;min-width:0}@media (max-width:767px){.ihabdevteam-core-scope .segmented-control{flex-shrink:1;min-width:0}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child){border-radius:14px;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child)>.button{justify-content:center;width:100%}.ihabdevteam-core-scope .segmented-control--pill:has(>.button:nth-child(5)){border-radius:14px}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(5)){justify-content:center}}";te(c8);function Ha(e){const{t}=me.useTranslation(),{options:a=[],value:r=a[0]?.key,onChange:n=v=>{},className:i="",size:s=48,shape:c="pill",useBG:d=!0,fullWidth:u=!1,ariaLabel:m}=e||{},h=l.useRef(null),p=a.filter(v=>!v.disabled),g=v=>{if(!p.length)return;const y=Math.max(0,p.findIndex(C=>C.key===r)),_=v==="first"?p[0]:v==="last"?p[p.length-1]:p[(y+v+p.length)%p.length];_&&(n(_.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(C=>C.dataset.segkey===_.key)?.focus())},f=v=>{switch(v.key){case"ArrowRight":case"ArrowDown":g(1);break;case"ArrowLeft":case"ArrowUp":g(-1);break;case"Home":g("first");break;case"End":g("last");break;default:return}v.preventDefault()},b=p.some(v=>v.key===r)?r:p[0]?.key;return o.jsx("div",{ref:h,onKeyDown:f,className:_e("segmented-control",`segmented-control--${c}`,`segmented-control--${s}`,u&&"segmented-control--full",!d&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":m??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(v=>o.jsx(re,{role:"radio","aria-checked":v.key===r,"data-segkey":v.key,tabIndex:v.key===b?0:-1,label:v.label,count:v.count,disabled:v.disabled,className:v.key===r?"is-selected":"",onClick:()=>{v.disabled||n(v.key)},size:s,shape:c,useBorder:!1,useBG:!1},v.key))})}var d8=".ihabdevteam-core-scope .toolbar{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-s);min-height:64px;padding-bottom:8px;padding-top:8px;width:100%}.ihabdevteam-core-scope .toolbar__row{display:contents}.ihabdevteam-core-scope .toolbar__row-end{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:flex-end;margin-left:auto}.ihabdevteam-core-scope .toolbar__count{color:var(--color-gray);flex-shrink:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .toolbar .toolbar__search{flex-shrink:0;min-width:200px}@media (max-width:767px){.ihabdevteam-core-scope .toolbar{align-items:stretch;flex-direction:column;flex-wrap:wrap;padding-bottom:12px;padding-top:12px}.ihabdevteam-core-scope .toolbar__row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s)}.ihabdevteam-core-scope .toolbar .toolbar__search{flex:1;min-width:150px}}.ihabdevteam-core-scope .toolbar__count-highlight{color:var(--color-main)}";te(d8);function vn({count:e,search:t,segment:a,filters:r,pageSize:n,pagination:i,actions:s,className:c}){const{t:d}=me.useTranslation(),u=e!=null&&o.jsxs("p",{className:"toolbar__count body-1",children:[e.prefix??d("common.totalPrefix","\uCD1D "),o.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),m=!!(t||r?.length||n||i||s);return o.jsxs("div",{className:_e("toolbar",c),children:[o.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((h,p)=>o.jsx(Ha,{size:40,...h},h.ariaLabel??p))]}),m&&o.jsx("div",{className:"toolbar__row",children:o.jsxs("div",{className:"toolbar__row-end",children:[t&&o.jsx(Wa,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??d("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((h,p)=>o.jsx(Ut,{size:40,options:h.options,value:h.value,onChange:h.onChange,ariaLabel:h.ariaLabel},p)),n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,onChange:n.onChange,ariaLabel:n.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&o.jsx(vr,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),s]})})]})}var u8=".ihabdevteam-core-scope .code-box{background:#eff8ff;background:var(--color-code-bg,#eff8ff);border:1px solid rgba(4,34,51,.06);border-radius:10px;color:#042233;color:var(--color-code-text,#042233);margin:0;overflow:hidden;padding:16px 20px}.ihabdevteam-core-scope .code-box__header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:40px}.ihabdevteam-core-scope .code-box__title{align-items:center;color:rgba(4,34,51,.75);display:flex;letter-spacing:.02em}.ihabdevteam-core-scope .code-box__copy{flex-shrink:0}.ihabdevteam-core-scope .code-box__inner{background:transparent;color:#042233;color:var(--color-code-text,#042233);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere;overflow-x:auto;padding:8px 0 0;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box__inner code{display:block;font-family:inherit;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box--small .code-box__inner{font-size:12px}.ihabdevteam-core-scope .code-token{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-token.keyword{color:#6b46ff;font-weight:600}.ihabdevteam-core-scope .code-token.string{color:#0a9d58}.ihabdevteam-core-scope .code-token.comment{color:#6b7280;font-style:italic}.ihabdevteam-core-scope .code-token.command{color:#0b78d1}.ihabdevteam-core-scope .code-token.number{color:#d97706}.ihabdevteam-core-scope .code-token.operator{color:#dc2626}.ihabdevteam-core-scope .code-token.identifier,.ihabdevteam-core-scope .code-token.punctuation{color:#042233;color:var(--color-code-text,#042233)}";te(u8);function nm(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(nm).join(""):""}function p8(e){let t=e.replace(/\r\n/g,`
|
|
837
|
+
`),this.name="StorageNotConfiguredError"}};function ti(e){gw(e)}function Er(e,t){if(!e)return null;const a=zo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function ai(e){if(!e)return!1;const t=zo();if(!t)throw new ei("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Oo(e){if(!e)return null;const t=zo();if(!t)throw new ei("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function jr(e){const t=zo();if(!t)throw new ei("downloadSound");return t.download(e)}function oi(){return zo()?.noiseBaseUrl??"/sounds/noise"}const ri="__ihab_core_tts_config__";function Wd(e){globalThis[ri]=e}function Fo(){return globalThis[ri]?.urlResolver??null}function ni(){return globalThis[ri]?.fallbackUrlResolver??null}const fw=new Map;function Hd(){fw.clear()}const Vd="__ihab_core_pronunciation_resolver__";function Gd(e){globalThis[Vd]=e}function ii(){return globalThis[Vd]??null}let Wo=null;const qd=new WeakMap;function vw(){if(Wo)return Wo;try{const e=window.AudioContext||window.webkitAudioContext;return e?(Wo=new e,Wo):null}catch{return null}}function Ho(){try{Wo?.resume()}catch{}}function Vo(e){if(!e)return null;const t=qd.get(e);if(t)return t;const a=vw();if(!a)return null;try{const r=a.createMediaElementSource(e),n=a.createAnalyser();return n.fftSize=1024,n.smoothingTimeConstant=.6,r.connect(n),r.connect(a.destination),qd.set(e,n),n}catch{return null}}function si(e,t){e.getFloatTimeDomainData(t);let a=0;for(let r=0;r<t.length;r++){const n=t[r];a+=n*n}return Math.sqrt(a/t.length)}const Yd="__ihab_core_image_config__";function Ud(e){globalThis[Yd]=e}function Ma(){return globalThis[Yd]??null}const Go="word_image_existence_map_v1";let ca=null;const Lr=new Map;function qo(){if(ca)return ca;try{const e=typeof localStorage<"u"?localStorage.getItem(Go):null;ca=e?JSON.parse(e):{}}catch{ca={}}return ca}let li=null;function yw(){li||(li=setTimeout(()=>{li=null;try{typeof localStorage<"u"&&ca&&localStorage.setItem(Go,JSON.stringify(ca))}catch{}},200))}function Mr(e,t){return`${e}_${t??1}`}async function Yo(e,t){const a=qo(),r=Mr(e,t);if(r in a)return a[r];if(Lr.has(r))return Lr.get(r);const n=Ma();if(!n)return!1;const i=n(e,t);if(!i)return!1;const s=fetch(i,{method:"HEAD",signal:AbortSignal.timeout(8e3)}).then(c=>c.ok).catch(()=>!1).then(c=>(a[r]=c,yw(),Lr.delete(r),c));return Lr.set(r,s),s}function ci(e,t){const a=qo(),r=Mr(e,t);return r in a?a[r]:void 0}async function Kd(e,t={}){const{force:a=!1,concurrency:r=16,onProgress:n}=t,i=qo(),s=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Mr(d)in i));let c=0;if(s.length>0){let d=0;const u=Array.from({length:Math.min(r,s.length)},async()=>{for(;d<s.length;){const m=d++,h=s[m],p=Mr(h);if(!a&&p in i){c++,n?.(c,s.length);continue}try{await Yo(h)}catch{}c++,n?.(c,s.length)}});await Promise.all(u)}try{typeof localStorage<"u"&&ca&&localStorage.setItem(Go,JSON.stringify(ca))}catch{}return{checked:s.length,cached:Object.keys(i).length,total:e.length}}function Pr(){const e=qo(),t=Object.values(e);return t.length===0?null:{total:t.length,exists:t.filter(Boolean).length}}function Zd(e){const t=qo();Object.assign(t,e);try{typeof localStorage<"u"&&localStorage.setItem(Go,JSON.stringify(t))}catch{}}function di(){ca={};try{typeof localStorage<"u"&&localStorage.removeItem(Go)}catch{}}const Ze=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],dt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],gt=["","\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 Me(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 ui(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(r=>Me(r)),e.set(t,a)),a}}function da(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function pi(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,r=null;for(let n=0;n<e.length;n++){const i=Me(e[n]),s=Me(t[n]);if(!i||!s)return"random";if(i.cho===s.cho&&i.jung===s.jung&&i.jong===s.jong)continue;a++;const c=i.cho!==s.cho,d=i.jung!==s.jung,u=i.jong!==s.jong;(c?1:0)+(d?1:0)+(u?1:0)>1?r="multi":c?r="cho":d?r="jung":r="jong"}return a!==1?"random":r==="cho"?"cho":r==="jung"?"jung":r==="jong"?"jong":"random"}function hi(e){const t=Me(e[0]||"");return t?Ze[t.cho]:""}function mi(e){return[...e].map(t=>{const a=Me(t);return a?Ze[a.cho]:t}).join("")}function bi(e){return!!e&&[...e].every(t=>Ze.includes(t))}function Xd(e,t){return t?bi(t)?mi(e).includes(t):e.toLowerCase().includes(t.toLowerCase()):!0}function ho(e,t){if(!t)return!0;const a=[...t],r=c=>Ze.includes(c),n=c=>dt.includes(c),i=a.map(c=>r(c)?"cho":n(c)?"jung":Me(c)?"syl":"other");if(i.includes("other"))return e.includes(t);const s=[...e];for(let c=0;c+a.length<=s.length;c++){let d=!0;for(let u=0;u<a.length;u++){const m=s[c+u],h=i[u];if(h==="cho"){if(hi(m)!==a[u]){d=!1;break}}else if(h==="jung"){const p=Me(m);if(!p||dt[p.jung]!==a[u]){d=!1;break}}else{const p=Me(a[u]);if(p&&p.jong===0){const g=Me(m);if(!g||g.cho!==p.cho||g.jung!==p.jung){d=!1;break}}else if(m!==a[u]){d=!1;break}}}if(d)return!0}return!1}const mo={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"]},Jd=Object.fromEntries(Object.entries(mo).map(([e,t])=>[t.join(""),gt[Number(e)]]));function xw(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r){if(Ze[r.cho]===t)return!0;if(r.jong>0){if(gt[r.jong]===t)return!0;const n=mo[r.jong];if(n&&n.includes(t))return!0}}}return!1}function Qd(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r&&Ze[r.cho]===t)return!0}return!1}function eu(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(r&&dt[r.jung]===t)return!0}return!1}function tu(e,t){if(!e||!t)return!1;for(const a of e){const r=Me(a);if(!r||r.jong<=0)continue;if(gt[r.jong]===t)return!0;const n=mo[r.jong];if(n&&n.includes(t))return!0}return!1}function bo(e){if(!e)return 0;let t=0;for(const a of e)Me(a)&&t++;return t}function gi(e){if(!e)return!1;let t=!1;for(const a of e){const r=Me(a);if(r&&(t=!0,r.jong>0))return!1}return t}function Cw(e,t){if(e.jong<=0)return!1;if(t.includes(gt[e.jong]))return!0;const a=mo[e.jong];return!!a&&a.some(r=>t.includes(r))}function fi(e,t,a){if(!e)return!1;const r=[...e],n=i=>{const s=Me(r[i]);if(!s||t.cho&&!t.cho.includes(Ze[s.cho])||t.jung&&!t.jung.includes(dt[s.jung]))return!1;if(t.jongNone){if(s.jong>0)return!1}else if(t.jong&&!Cw(s,t.jong))return!1;return!0};if(a==="head")return n(0);if(a==="tail")return n(r.length-1);if(a==="mid"){for(let i=1;i<r.length-1;i++)if(n(i))return!0;return!1}for(let i=0;i<r.length;i++)if(n(i))return!0;return!1}function vi(e){return e.includes(",")||e.includes("_")}function au(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",r=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=Jd[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:r,jong:n||"_"}]}return[...e].map(t=>Me(t)?{kind:"syllable",ch:t}:Ze.includes(t)?{kind:"cho",jamo:t}:dt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function _w(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Me(t.ch);if(!a)return e===t.ch;if(a.jong===0){const r=Me(e);return!!r&&r.cho===a.cho&&r.jung===a.jung}return e===t.ch}case"cho":{const a=Me(e);return!!a&&Ze[a.cho]===t.jamo}case"jung":{const a=Me(e);return!!a&&dt[a.jung]===t.jamo}case"template":{const a=Me(e);return!(!a||t.cho!=="_"&&Ze[a.cho]!==t.cho||t.jung!=="_"&&dt[a.jung]!==t.jung||t.jong!=="_"&>[a.jong]!==t.jong)}case"invalid":return!1}}function yi(e,t){const a=t.split(",").flatMap(n=>au(n.trim()));if(a.length===0)return!0;const r=[...e];if(r.length<a.length)return!1;for(let n=0;n+a.length<=r.length;n++)if(a.every((i,s)=>_w(r[n+s],i)))return!0;return!1}function ou(e){const t=e.split(",").flatMap(i=>au(i.trim())),a=new Set,r=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":r.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&r.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const s=Me(i.ch);s&&(a.add(Ze[s.cho]),r.add(dt[s.jung]),s.jong!==0&&n.add(gt[s.jong]));break}}return a.size===0&&r.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:r.size?[...r]:null,jong:n.size?[...n]:null}}function ww(e){return!!Me(e)||Ze.includes(e)||dt.includes(e)}function ru(e){const t=e.trim();if(!t)return{ok:!0};for(const a of t.split(",")){const r=a.trim();if(r!==""){if(r.includes("_")){const n=[...r];if(n.length>4)return{ok:!1};const i=n[0],s=n[1],c=n.slice(2).join(""),d=i===void 0||i==="_"||Ze.includes(i),u=s===void 0||s==="_"||dt.includes(s),m=c===""||c==="_"||gt.filter(Boolean).includes(c)||!!Jd[c];if(d&&u&&m)continue;return{ok:!1}}if(![...r].every(ww))return{ok:!1}}}return{ok:!0}}const kw={cho:Ze.length,jung:dt.length,jong:gt.length};function Sw(e,t,a,r,n=1/0){if(!e||a<1)return[];const i=[...e].map(h=>Me(h));if(i.some(h=>!h))return[];const s=i,c=s.length;if(a>c)return[];const d=kw[t],u=new Set,m=[];(function h(p,g){if(g.length===a){m.push([...g]);return}for(let f=p;f<c;f++)g.push(f),h(f+1,g),g.pop()})(0,[]);for(const h of m)if((function p(g,f){if(u.size>=n)return;if(g===h.length){const y=f.map(_=>da(_.cho,_.jung,_.jong)).join("");y!==e&&r.has(y)&&u.add(y);return}const b=h[g],v=s[b][t];for(let y=0;y<d;y++){if(y===v)continue;const _=f.slice();if(_[b]={...f[b],[t]:y},p(g+1,_),u.size>=n)return}})(0,s),u.size>=n)break;return[...u]}function Aw(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let r=0;r<e.length;r++){const n=Me(e[r]),i=Me(t[r]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function nu(e,t){const a=t.trim();if(!a||!/[^\s,_]/.test(a))return e;if(vi(a))return e.filter(s=>yi(s.word,a));const r=e.filter(s=>ho(s.word,a)||ho(s.pronunciation??"",a)),n=[...a].length,i=s=>!!s&&ho(s.slice(0,n),a);return r.map(s=>({w:s,rank:i(s.word)||i(s.pronunciation??"")?0:1})).sort((s,c)=>s.rank-c.rank).map(s=>s.w)}const xi="word_pair_index_v2",Ci="word_pair_index_sig_v2";let ua=null,Uo=null;function iu(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(xi),t=localStorage.getItem(Ci);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function Tw(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(xi,JSON.stringify(e)),localStorage.setItem(Ci,t)}catch{}}function Bw(e){const t=e.map(r=>`${r.word}|${r.pron??""}`).sort();let a=0;for(const r of t)for(let n=0;n<r.length;n++)a=(a<<5)-a+r.charCodeAt(n)|0;return`${t.length}-${a}`}async function Nw(e,t){const a=new Set,r=[];for(const u of e){if(!u.word||a.has(u.word))continue;const m=u.pron||u.word,h=Array.from(m).map(Me);h.some(p=>p===null)||h.length===Array.from(u.word).length&&(a.add(u.word),r.push({word:u.word,syls:h}))}const n={},i=r.length,s=new Map;for(const u of r){const m=u.syls.length;s.has(m)||s.set(m,[]),s.get(m).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of s.values()){const m=u[0].syls.length;for(let h=0;h<m;h++)for(const p of d){const g=new Map;for(const f of u){let b="";for(let y=0;y<m;y++){y>0&&(b+="~");const _=f.syls[y];y===h?p==="cho"?b+=`*:${_.jung}:${_.jong}`:p==="jung"?b+=`${_.cho}:*:${_.jong}`:b+=`${_.cho}:${_.jung}:*`:b+=`${_.cho}:${_.jung}:${_.jong}`}let v=g.get(b);v||(v=[],g.set(b,v)),v.push(f)}for(const f of g.values())if(!(f.length<2))for(let b=0;b<f.length;b++){const v=f[b];for(let y=b+1;y<f.length;y++){const _=f[y];v.syls[h][p]!==_.syls[h][p]&&(n[v.word]||(n[v.word]={cho:[],jung:[],jong:[]}),n[_.word]||(n[_.word]={cho:[],jung:[],jong:[]}),n[v.word][p].push(_.word),n[_.word][p].push(v.word))}}}c+=u.length,t?.(c,i),await new Promise(h=>setTimeout(h,0))}return i>0&&t?.(i,i),n}async function su(e,t={}){const a=Bw(e);if(!t.force){if(ua&&Uo===a)return ua;const n=iu();if(n&&n.sig===a)return ua=n.index,Uo=a,ua}const r=await Nw(e,t.onProgress);return ua=r,Uo=a,Tw(r,a),r}function Za(){if(ua)return ua;const e=iu();return e?(ua=e.index,Uo=e.sig,ua):null}function _i(){ua=null,Uo=null;try{typeof localStorage<"u"&&(localStorage.removeItem(xi),localStorage.removeItem(Ci))}catch{}}const wi={cho:Ze,jung:dt,jong:gt},ft=e=>Array.isArray(e)?e.length>0:!!e;function Ko(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const r=e[a],n=t[a];if(!(!r||!n)&&(r.cho!==n.cho&&Ze[r.cho]==="\u3147"!=(Ze[n.cho]==="\u3147")||r.jong!==n.jong&&r.jong===0!=(n.jong===0)))return!0}return!1}function ki(e,t,a){const r=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(r):null,s=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==r&&(i&&n&&Ko(i,n(a.pronOf(c)))||s.push(c)));return s}function Rr(e,t,a){const r=t?.[e];if(!r)return[];const n=a.kind?r[a.kind]??[]:[...r.cho??[],...r.jung??[],...r.jong??[]];return ki(e,n,a)}function Si(e,t,a,r,n,i,s){const c=["cho","jung","jong"].filter(p=>ft(e[p])),d={};for(const p of c){const g=e[p];d[p]=new Set(Array.isArray(g)?g:[g])}const u=n==="pron",m=new Map;for(const p of t){const g=a(i(p));if(g.some(y=>!y))continue;let f=g;if(!u&&(f=a(p),f.length!==g.length||f.some(y=>!y)))continue;const b=g.length,v=m.get(b);v?v.push({w:p,dPron:g,dPos:f}):m.set(b,[{w:p,dPron:g,dPos:f}])}const h=new Map;for(const[p,g]of m){const f=new Map,b=(v,y)=>{const _=v.dPos[y];return _!=null&&c.every(C=>d[C].has(wi[C][_[C]]))};for(const v of g){let y;if(s==="head")y=b(v,0)?0:-1;else if(s==="tail")y=b(v,p-1)?p-1:-1;else if(s==="mid"){y=-1;for(let C=1;C<p-1;C++)if(b(v,C)){y=C;break}}else y=v.dPos.findIndex(C=>C!=null&&c.every(x=>d[x].has(wi[x][C[x]])));if(y<0)continue;const _=f.get(y);_?_.push(v):f.set(y,[v])}for(const[v,y]of f){const _=new Set(c.map(k=>v+":"+k)),C=k=>{let w="";for(let S=0;S<p;S++){const j=k[S];for(const A of["cho","jung","jong"])w+=(_.has(S+":"+A)?"*":j[A])+"."}return w},x=new Map;for(const k of g){const w=C(k.dPron),S=x.get(w);S?S.push(k):x.set(w,[k])}for(const k of y){const w=x.get(C(k.dPron))??[],S=[];for(const j of w){if(j.w===k.w)continue;let A=!0;for(const B of c){const F=k.dPron[v][B],R=j.dPron[v][B];if(R===F){A=!1;break}if(u&&d[B].has(wi[B][R])){A=!1;break}}A&&(r&&Ko(k.dPron,j.dPron)||S.push(j.w))}h.set(k.w,S)}}}return h}const $r=0,lu=1,Xa=2,Ai=3,Dw=4,Ir=5,Ti=6,zr=7,Ew=8,cu=9,Zo=10,jw=11,Xo=12,Lw=13,Jo=14,Or=15,Fr=16,Qo=17,Mw=18,pa=0,_a=1,Pw=3,Ja=4,Bi=5,Ni=6,ha=7,At=8,du=9,uu=10,Wr=11,pu=12,Di=13,Hr=15,Vr=16,wa=17,hu=18,Ei=21,mu=27,Rw=20,$w={1:$r,2:lu,4:Xa,7:Ai,8:Ir,16:Ti,17:zr,19:cu,20:Zo,22:Xo,23:Jo,24:Or,25:Fr,26:Qo},Iw={[Pw]:[_a,Zo],[Bi]:[Ja,Xo],[du]:[At,$r],[uu]:[At,Ti],[Wr]:[At,zr],[pu]:[At,Zo],[Di]:[At,Fr],14:[At,Qo],[hu]:[wa,Zo]},zw={[Ni]:Xa,[Hr]:Ir},ji={2:_a,24:_a,3:_a,9:_a,5:Ja,6:Ja,19:ha,20:ha,22:ha,23:ha,25:ha,27:ha,11:At,12:At,13:At,15:At,10:Vr,14:wa,18:wa,26:wa},bu={[$r]:Or,[Ai]:Fr,[zr]:Qo,[Xo]:Jo},gu={[$r]:lu,[Ai]:Dw,[zr]:Ew,[cu]:Zo,[Xo]:Lw},Ow=new Set([Bi,uu,Wr,pu,Di,Hr,hu]),Fw=new Set(["\uBC1F"]);function fu(e){const t=(e??"").trim();if(!t)return"";const a=[...t],r=a.map(Me);if(r.some(i=>i===null))return t;const n=r;for(let i=0;i<n.length;i++){const s=n[i],c=n[i+1],d=s.jong;if(!c){s.jong=ji[s.jong]??s.jong;break}if(s.jong===pa)continue;if(c.cho===jw){if(c.jung===Rw){if(s.jong===ha){s.jong=pa,c.cho=Xo;continue}if(s.jong===25){s.jong=pa,c.cho=Jo;continue}if(s.jong===Di){s.jong=At,c.cho=Jo;continue}}if(s.jong===mu){s.jong=pa;continue}const m=zw[s.jong];if(m!==void 0){s.jong=pa,c.cho=m;continue}const h=Iw[s.jong];if(h){s.jong=h[0],c.cho=h[1];continue}const p=$w[s.jong];p!==void 0&&(s.jong=pa,c.cho=p);continue}if((s.jong===mu||s.jong===Ni||s.jong===Hr)&&bu[c.cho]!==void 0){c.cho=bu[c.cho],s.jong=s.jong===Ni?Ja:s.jong===Hr?At:pa;continue}if(c.cho===Mw){if(s.jong===Bi){s.jong=Ja,c.cho=Jo;continue}if(s.jong===du){s.jong=At,c.cho=Or;continue}if(s.jong===Wr){s.jong=At,c.cho=Qo;continue}const m=ji[s.jong]??s.jong;if(m===_a){s.jong=pa,c.cho=Or;continue}if(m===ha){s.jong=pa,c.cho=Fr;continue}if(m===wa){s.jong=pa,c.cho=Qo;continue}}let u=ji[s.jong]??s.jong;d===Wr&&Fw.has(a[i])&&(u=wa),s.jong=u,gu[c.cho]!==void 0&&(u===_a||u===ha||u===wa||Ow.has(d))&&(c.cho=gu[c.cho]),(c.cho===Xa||c.cho===Ti)&&(s.jong===_a?s.jong=Ei:s.jong===ha?s.jong=Ja:s.jong===wa&&(s.jong=Vr)),c.cho===Ir?s.jong===Ja?s.jong=At:s.jong===Vr||s.jong===Ei?c.cho=Xa:s.jong===_a?(s.jong=Ei,c.cho=Xa):s.jong===wa&&(s.jong=Vr,c.cho=Xa):s.jong===At&&c.cho===Xa&&(c.cho=Ir)}return n.map(i=>da(i.cho,i.jung,i.jong)).join("")}const Ww={\u3131:"\u3131",\u3132:"\u3131",\u314B:"\u3131",\u3133:"\u3131",\u313A:"\u3131",\u3134:"\u3134",\u3135:"\u3134",\u3136:"\u3134",\u3137:"\u3137",\u3145:"\u3137",\u3146:"\u3137",\u3148:"\u3137",\u314A:"\u3137",\u314C:"\u3137",\u314E:"\u3137",\u3139:"\u3139",\u313C:"\u3139",\u313D:"\u3139",\u313E:"\u3139",\u3140:"\u3139",\u3141:"\u3141",\u313B:"\u3141",\u3142:"\u3142",\u314D:"\u3142",\u313F:"\u3142",\u3144:"\u3142",\u3147:"\u3147"},Hw={\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"}};function Gr(e){return Ww[e]??e}const go=/[ㄱ-ㅎ]/,Vw=/[ㅏ-ㅣ]/;function er(e){for(let t=e.length-1;t>=0;t--){const a=e[t],r=a.charCodeAt(0);if(r>=44032&&r<=55203||go.test(a)||Vw.test(a))return a}return null}function Li(e){const t=er(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":go.test(t)?"\uC774":"\uAC00"}function Mi(e){return`${e}${Li(e)}`}function Pi(e){const t=er(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":go.test(t)?"\uC744":"\uB97C"}function Ri(e){return`${e}${Pi(e)}`}function $i(e){const t=er(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":go.test(t)?"\uC740":"\uB294"}function vu(e){return`${e}${$i(e)}`}function Ii(e){const t=er(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":go.test(t)?"\uACFC":"\uC640"}function yu(e){return`${e}${Ii(e)}`}function zi(e){const t=er(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const r=(a-44032)%28;return r===0||r===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":go.test(t)?"\uC73C\uB85C":"\uB85C"}function xu(e){return`${e}${zi(e)}`}function Oi(e,t,a){const r=e.slice(),[n]=r.splice(t,1);return r.splice(a,0,n),r}function Ge(e,t=Math.random){const a=e.slice();for(let r=a.length-1;r>0;r--){const n=Math.floor(t()*(r+1));[a[r],a[n]]=[a[n],a[r]]}return a}function Jt(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?Ge(e,a):Ge(e,a).slice(0,t)}const fo={SAME_SOUND_PICK:{difficulty:!0,choseong:!0,group:"discrimination"},SAME_OR_DIFF:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_SAME:{difficulty:!0,choseong:!0,group:"discrimination"},HEAR_AND_PICK_INCLUDED:{difficulty:!0,choseong:!0,group:"discrimination"},STARTS_WITH_SAME_SOUND:{difficulty:!1,choseong:!0,group:"discrimination"},LISTEN_AND_REMEMBER_ORDER:{difficulty:!1,choseong:!0,group:"attention"},MERGE_2_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_SYLLABLES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_2_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},MERGE_3_PHONEMES:{difficulty:!1,choseong:!0,group:"synthesis"},DROP_1_FROM_2SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_1_FROM_3SYLL:{difficulty:!1,choseong:!0,group:"deletion"},DROP_PART_FROM_COMPOUND:{difficulty:!1,choseong:!0,group:"deletion"},DROP_FINAL_CONSONANT_FROM_1SYLL:{difficulty:!1,choseong:!0,group:"deletion"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{difficulty:!1,choseong:!0,group:"deletion"},CHANGE_1_SYLL_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_SYLL_IN_3SYLL:{difficulty:!0,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_1SYLL:{difficulty:!1,choseong:!0,group:"substitution"},CHANGE_1_PHONEME_IN_2SYLL:{difficulty:!0,choseong:!0,group:"substitution"}};function Gw(e){const t=e?fo[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const qw=Ze.indexOf("\u3147"),qr={DROP_FINAL_CONSONANT_FROM_1SYLL:{syllables:1,syllable:e=>e.jong>0},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{syllables:1,syllable:e=>e.jong===0&&e.cho!==qw},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0}},Yw=new Set([]);function Cu(e){return e in qr}function _u(e,t){const a=qr[e];if(!a)return!0;const r=[...t];if(r.length!==a.syllables)return!1;const n=Me(r[0]);return!!n&&a.syllable(n)}function wu(e){return Yw.has(e)}function Uw(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Fi(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function ku(e){const t=e.charCodeAt((e.length||1)-1)||0;if(t<44032||t>55203)return"\uB85C";const a=(t-44032)%28;return a===0||a===8?"\uB85C":"\uC73C\uB85C"}function Su(e){const t=e.charAt((e.length||1)-1),a=t.charCodeAt(0)||0;return a>=44032&&a<=55203?(a-44032)%28===0?"\uAC00":"\uC774":/[ㄱ-ㅎ]/.test(t)?"\uC774":"\uAC00"}const Au={\u3131:"\uAE30\uC5ED",\u3132:"\uC30D\uAE30\uC5ED",\u3134:"\uB2C8\uC740",\u3137:"\uB514\uADFF",\u3138:"\uC30D\uB514\uADFF",\u3139:"\uB9AC\uC744",\u3141:"\uBBF8\uC74C",\u3142:"\uBE44\uC74D",\u3143:"\uC30D\uBE44\uC74D",\u3145:"\uC2DC\uC637",\u3146:"\uC30D\uC2DC\uC637",\u3147:"\uC774\uC751",\u3148:"\uC9C0\uC752",\u3149:"\uC30D\uC9C0\uC752",\u314A:"\uCE58\uC753",\u314B:"\uD0A4\uC754",\u314C:"\uD2F0\uC755",\u314D:"\uD53C\uC756",\u314E:"\uD788\uC757",\u3133:"\uAE30\uC5ED\uC2DC\uC637",\u3135:"\uB2C8\uC740\uC9C0\uC752",\u3136:"\uB2C8\uC740\uD788\uC757",\u313A:"\uB9AC\uC744\uAE30\uC5ED",\u313B:"\uB9AC\uC744\uBBF8\uC74C",\u313C:"\uB9AC\uC744\uBE44\uC74D",\u313D:"\uB9AC\uC744\uC2DC\uC637",\u313E:"\uB9AC\uC744\uD2F0\uC755",\u313F:"\uB9AC\uC744\uD53C\uC756",\u3140:"\uB9AC\uC744\uD788\uC757",\u3144:"\uBE44\uC74D\uC2DC\uC637",\u314F:"\uC544",\u3150:"\uC560",\u3151:"\uC57C",\u3152:"\uC598",\u3153:"\uC5B4",\u3154:"\uC5D0",\u3155:"\uC5EC",\u3156:"\uC608",\u3157:"\uC624",\u3158:"\uC640",\u3159:"\uC65C",\u315A:"\uC678",\u315B:"\uC694",\u315C:"\uC6B0",\u315D:"\uC6CC",\u315E:"\uC6E8",\u315F:"\uC704",\u3160:"\uC720",\u3161:"\uC73C",\u3162:"\uC758",\u3163:"\uC774"};function Tu(e){if([...e].length!==1)return[e];const t=Me(e);if(!t)return[e];const a=[Ze[t.cho],dt[t.jung]];return t.jong!==0&&a.push(gt[t.jong]),a}function Wi(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const r=c=>Au[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${Uw(r(c))}`).join(" "),i=a[a.length-1],s=`"${i}"${Fi(r(i))}`;return`${n} ${s} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function Kw(e,t){return Wi(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}function Zw(e,t){const a=String(t?.word??t?.original??""),r=String(t?.changedFrom??""),n=String(t?.changedTo??"");return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Fi(a)} "${n}"${ku(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${r}"${Fi(r)} "${n}"${ku(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function Xw(e,t){const a=String(t?.word??t?.original??t?.base??""),r=String(t?.dropped??"");if(e==="DROP_FINAL_CONSONANT_FROM_1SYLL")return`"${a}"\uC5D0\uC11C \uBC1B\uCE68\uC774 \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`;if(e==="REMOVE_CONSONANT_AND_IDENTIFY_PHONEME"){const n=String(t?.missingConsonant??"");return`"${a}"\uC5D0\uC11C "${n}"${Su(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${r}"${Su(r)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Bu(e,t,a){switch(Gw(e)){case"synthesis":return Kw(e,a);case"substitution":return Zw(e,t);case"deletion":return Xw(e,t);default:return""}}function Nu(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,r)=>{const n=Au[a];if(!n)return t;if(!r)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,s=i!==0;let c=r;return r==="\uC640"||r==="\uACFC"?c=s?"\uACFC":"\uC640":r==="\uC744"||r==="\uB97C"?c=s?"\uC744":"\uB97C":r==="\uC774"||r==="\uAC00"?c=s?"\uC774":"\uAC00":r==="\uC740"||r==="\uB294"?c=s?"\uC740":"\uB294":(r==="\uC73C\uB85C"||r==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const Jw=e=>e==null?[]:Array.isArray(e)?e:[e];function Hi(e){if([...e].length!==1)return"";const t=Me(e);if(!t)return"";const a=Gr(gt[t.jong]),r=a===""?0:gt.indexOf(a);return da(t.cho,t.jung,r<0?0:r)}function Yr(e,t){return t.get(e)||Hi(e)||e}function tr(e){return e?ft(e.cho)?"cho":ft(e.jung)?"jung":ft(e.jong)?"jong":null:null}function Pa(e,t){const a=(r,n)=>!ft(r)||Jw(r).includes(n);return a(t.cho,Ze[e.cho])&&a(t.jung,dt[e.jung])&&a(t.jong,gt[e.jong])}function Qa(e,t,a){const r=[...e];if(a!=="pron")return r.map(i=>Me(i));const n=[...t.get(e)||e];return n.length!==r.length?r.map(i=>Me(i)):n.map(i=>Me(i))}function eo(e,t,a,r,n){const i=t==="cho"?Ze:t==="jung"?dt:gt,s=e[t],c=[],d=new Set([Yr(a,n)]),u=Ge(i.map((m,h)=>h).filter(m=>m!==s&&(t!=="cho"||i[m]!=="\u3147")&&(t!=="jong"||m!==0)));for(const m of u){if(c.length>=r)break;const h=t==="cho"?da(m,e.jung,e.jong):t==="jung"?da(e.cho,m,e.jong):da(e.cho,e.jung,m),p=Yr(h,n);d.has(p)||(d.add(p),c.push(h))}return c}function Vi(e,t,a,r,n,i=null){const s=[...e];if(s.length!==2)return null;const c=s.map(h=>Me(h));if(c.some(h=>!h))return null;const d=Qa(e,a,r);if(d.some(h=>!h))return null;const u=tr(t);let m=u&&t?d.map((h,p)=>Pa(h,t)?p:-1).filter(h=>h>=0):[0,1];if(i!=null&&(m=m.filter(h=>h!==i)),!m.length)return null;for(const h of Ge(m)){const p=s[h];if(!n.has(p))continue;const g=eo(c[h],u??"cho",p,40,a),f=[];for(const b of g)if(b!==p&&n.has(b)&&!f.includes(b)&&f.push(b),f.length>=2)break;if(!(f.length<2))return{question:e,distractors:[p,...f]}}return null}function Gi(e,t,a,r,n,i=null){const s=[...e];if(s.length!==3)return null;const c=s.map(h=>Me(h));if(c.some(h=>!h))return null;const d=Qa(e,a,r);if(d.some(h=>!h))return null;const u=tr(t),m=u&&t?d.map((h,p)=>Pa(h,t)?p:-1).filter(h=>h>=0):[0,1,2];if(!m.length)return null;for(const h of Ge(m))for(const p of Ge([0,1,2].filter(g=>g!==h&&(i==null||g===i)))){const g=[0,1,2].filter(_=>_!==p),f=g.map(_=>s[_]).join("");if(!n.has(f))continue;const b=g.indexOf(h),v=eo(c[h],u??"cho",s[h],40,a),y=[];for(const _ of v){const C=g.map(k=>s[k]);C[b]=_;const x=C.join("");if(x!==f&&n.has(x)&&!y.includes(x)&&y.push(x),y.length>=2)break}if(!(y.length<2))return{question:e,distractors:[f,...y]}}return null}function qi(e,t,a,r,n,i=null){const s=[...e],c=s.length;if(c<2)return null;const d=[];for(let m=1;m<=c-1;m++)d.push({remain:s.slice(0,m).join(""),dropped:s.slice(m).join(""),droppedEnd:1}),d.push({remain:s.slice(c-m).join(""),dropped:s.slice(0,c-m).join(""),droppedEnd:0});const u=tr(t);for(const{remain:m,dropped:h,droppedEnd:p}of Ge(d)){if(i!=null&&p!==i||m===e||!n.has(m)||!n.has(h))continue;const g=[...m],f=g.map(y=>Me(y));if(f.some(y=>!y))continue;const b=Qa(m,a,r);if(b.some(y=>!y))continue;const v=u&&t?b.map((y,_)=>Pa(y,t)?_:-1).filter(y=>y>=0):g.map((y,_)=>_);if(v.length)for(const y of Ge(v)){const _=eo(f[y],u??"cho",g[y],40,a),C=[];for(const x of _){const k=[...g];k[y]=x;const w=k.join("");if(w!==m&&n.has(w)&&!C.includes(w)&&C.push(w),C.length>=2)break}if(C.length>=2)return{question:e,distractors:[m,...C]}}}return null}function Yi(e,t,a,r,n,i=null){if([...e].length!==1)return null;const s=Me(a.get(e)||e);if(!s||s.jong===0)return null;const c=da(s.cho,s.jung,0),d=eo({cho:s.cho,jung:s.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const Ui=Ze.indexOf("\u3147");function Ki(e,t,a,r,n,i=null){if([...e].length!==1)return null;const s=Me(a.get(e)||e);if(!s||s.jong!==0||s.cho===Ui)return null;const c=da(Ui,s.jung,0),d=eo({cho:Ui,jung:s.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Zi(e){const t=new Map;for(const a of e){const r=[...a],n=r.length;if(!(n<2||n>3))for(let i=0;i<n;i++){let s=n+"|"+i+"|";for(let d=0;d<n;d++)s+=d===i?"*":r[d];const c=t.get(s);c?c.push(a):t.set(s,[a])}}return t}function Xi(e,t,a,r,n,i=null,s=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const m=d.map(_=>Me(_));if(m.some(_=>!_))return null;const h=Qa(e,a,r);if(h.some(_=>!_))return null;const p=_=>a.get(_)??_,g=p(e),f=!!t&&(ft(t.cho)||ft(t.jung)||ft(t.jong)),b=!!s&&(ft(s.cho)||ft(s.jung)||ft(s.jong)),v=_=>{let C=u+"|"+_+"|";for(let x=0;x<u;x++)C+=x===_?"*":d[x];return C};let y;if(i!=null){if(i>=u||f&&!Pa(h[i],t))return null;y=[i]}else f?y=h.map((_,C)=>Pa(_,t)?C:-1).filter(_=>_>=0):y=Array.from({length:u},(_,C)=>C);for(const _ of Ge(y)){const C=n.get(v(_))??[],x=[],k=[];for(const B of C){if(B===e)continue;const F=[...B].map(D=>Me(D)),R=m[_],E=F[_];if(!R||!E)continue;let M=0;if(R.cho!==E.cho&&M++,R.jung!==E.jung&&M++,R.jong!==E.jong&&M++,!(M<c||p(B)===g))if(b){const D=Qa(B,a,r)[_];D&&Pa(D,s)?x.push(B):k.push(B)}else x.push(B)}if(!x.length)continue;const w=Ge(x)[0],S=[],j=new Set([g,p(w)]),A=b?k:x.filter(B=>B!==w);for(const B of Ge(A)){const F=p(B);if(!j.has(F)&&(j.add(F),S.push(B),S.length>=2))break}if(!b&&S.length<2)for(const B of Ge(C)){if(B===e||B===w)continue;const F=p(B);if(!j.has(F)&&(j.add(F),S.push(B),S.length>=2))break}if(!(S.length<2))return{question:e,distractors:[w,...S]}}return null}function Ur(e,t="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958"){if(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 Ji="\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.";function Qi(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Du(e){return Qi(e)?Ji:e}function Eu(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function ju(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Lu(e){let t=e==null?"":String(e);return/^[=+\-@\t\r]/.test(t)&&(t=" "+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}function Mu(e,t){const a=new Blob(["\uFEFF"+t],{type:"text/csv;charset=utf-8"}),r=URL.createObjectURL(a),n=document.createElement("a");n.href=r,n.download=e,n.click(),URL.revokeObjectURL(r)}const Pu="__ihab_core_word_pool__";function Qw(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Ru(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const r={entries:e,pairIndex:t??null,byWord:a};globalThis[Pu]=r,Qw()}function vo(){return globalThis[Pu]??null}const yo=globalThis;function es(e,t){const a=r=>{};try{const r=t();r&&typeof r.catch=="function"&&r.catch(a)}catch(r){a(r)}}function $u(e){yo.__ihabTrainingTimeLogger=e}function ts(e){es("time",()=>yo.__ihabTrainingTimeLogger?.(e))}function Iu(e){yo.__ihabTrainingCompletionLogger=e}function as(e){es("completion",()=>yo.__ihabTrainingCompletionLogger?.(e))}function zu(e){yo.__ihabCrosswordLogger=e}function Ou(e){es("crossword",()=>yo.__ihabCrosswordLogger?.(e))}function Qt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function os(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 rs(e){return Array.isArray(e)?e.map((t,a)=>{const r=t??{};return{index:a,itemId:Qt(r.contextCode)??Qt(r.itemId)??Qt(r.itemCode)??Qt(r.id),question:Qt(r.question)??Qt(r.sentence)??Qt(r.word)??Qt(r.targetSyllable),answer:Qt(r.answer),selected:Qt(r.selectedText)??Qt(r.selected),correct:os(r)}}):[]}function Fu(e){return e.filter(t=>t.correct===!1)}let Wu=null,Hu=null,Vu=null;function Gu(e){Wu=e}function qu(e){Hu=e}function Yu(e){Vu=e}async function Uu(e,t){try{return await Wu?.(e,t)??null}catch{return null}}async function Ku(){try{return await Hu?.()??null}catch{return null}}async function Zu(e,t){try{return await Vu?.(e,t)??null}catch{return null}}const ns=globalThis;function Xu(e){ns.__ihabNoiseSettingsStore=e}async function is(){try{return await ns.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function ss(e){const t=a=>{};try{const a=ns.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function ar(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(r=>{a+=r.toString(16).padStart(2,"0")}),a}const Ju=ar;function Qu(e,t){return`${e}/${ar(t)}.mp3`}function ep(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",r=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??ar;return async function(i){const s=String(i||"").trim();if(!s)return"";const c=`${n(s)}_${a}.mp3`,d=`${t}/${c}`;try{if(await ai(d)){const u=await Oo(d);if(u)return u}}catch{}if(e.generator)try{const u=await e.generator(s,d,e);if(u)return u}catch{}try{const u=`/api/tts?word=${encodeURIComponent(s)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(r))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function ls(e){if(typeof document<"u")try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.opacity="0",t.style.pointerEvents="none",document.body.appendChild(t),t.focus(),t.select(),t.setSelectionRange(0,e.length);const a=document.execCommand("copy");if(document.body.removeChild(t),a)return!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 xo="Asia/Seoul";function tp(e){return new Date(e).toLocaleDateString("ko-KR",{timeZone:xo,year:"numeric",month:"short",day:"numeric"})}function ap(e){return new Date(e).toLocaleString("ko-KR",{timeZone:xo,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function op(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US";return new Date(e).toLocaleDateString(a,{timeZone:xo,year:"numeric",month:"short",day:"numeric"})}function rp(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US";return new Date(e).toLocaleString(a,{timeZone:xo,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function np(e){return new Date(e).toLocaleString("ko-KR",{timeZone:xo,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function ip(e){if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat("en-GB",{timeZone:xo,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t)}function Kr(){return ka(new Date)}function ka(e){if(e==null||e==="")return"";const t=e instanceof Date?e:new Date(e);return isNaN(t.getTime())?"":new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t)}function Zr(e,t){if(!e)return"";const a=new Date(e).getTime();if(Number.isNaN(a))return"";const r=Math.max(0,Math.floor((Date.now()-a)/1e3)),n=Math.floor(r/60),i=Math.floor(n/60),s=Math.floor(i/24),c=Math.floor(s/7),d=Math.floor(s/30),u=Math.floor(s/365);return n<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):n<60?t("store.time.minutesAgo",{n}):i<24?t("store.time.hoursAgo",{n:i}):s<7?t("store.time.daysAgo",{n:s}):c<5?t("store.time.weeksAgo",{n:c}):s<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:u})}function Xr(e,t={}){const{sep:a=".",pad:r=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const s=ka(e instanceof Date?e:String(e));if(!s)return i;const[c,d,u]=s.split("-"),m=r?d:String(Number(d)),h=r?u:String(Number(u));return`${c}${a}${m}${a}${h}${n?".":""}`}function sp(e){const t=e.replace(/\D/g,"").slice(0,11);return t.startsWith("02")?t.length<=2?t:t.length<=6?`${t.slice(0,2)}-${t.slice(2)}`:`${t.slice(0,2)}-${t.slice(2,t.length-4)}-${t.slice(t.length-4)}`:t.length<=3?t:t.length<=7?`${t.slice(0,3)}-${t.slice(3)}`:`${t.slice(0,3)}-${t.slice(3,t.length-4)}-${t.slice(t.length-4)}`}function lp(e){if(e){if(/^\d{4}\.\d{2}\.\d{2}$/.test(e))return e;if(/^\d{8}$/.test(e))return`${e.slice(0,4)}.${e.slice(4,6)}.${e.slice(6,8)}`;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e.replace(/-/g,".");if(/^\d{4}-\d{2}-\d{2}T/.test(e)){const t=new Date(e);return isNaN(t.getTime())?void 0:ka(t).replace(/-/g,".")}}}function cp(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function or(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function Jr(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const r=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:r,hh:i,mm:a[2]}):t("date.timeHM",{h:r,hh:i,m:n,mm:a[2]})}function rr(e){return(e??0).toLocaleString("ko-KR")}const e4=[{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"}]}],t4=[{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"}];let cs=null;function dp(e){cs=e}function Qr(){return cs?.topicTypes??e4}function ds(){return cs?.trainingTypes??t4}const up="ihab_theme",a4="light";function us(){try{const e=localStorage.getItem(up);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return a4}function ps(e){try{document.documentElement.setAttribute("data-theme",e),localStorage.setItem(up,e)}catch{}}function pp(){ps(us())}const hp="ihab_font_scale",o4="medium",r4=["medium","large1","large2","large3"];function hs(){try{const e=localStorage.getItem(hp);if(r4.includes(e))return e}catch{}return o4}function ms(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(hp,e)}catch{}}function mp(){ms(hs())}const Ra=[],$a=[],Ia=[],za=[],nr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},ir={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},n4={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let bs=null,bp=null,Oa=null;function gs({counts:e,forceRefresh:t}={}){const a=Object.assign({},n4,e||{}),r=Kr(),n=ka(new Date(`${r}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&bp===r&&bs===i&&Oa)return Object.assign(nr,Oa.today),Object.assign(ir,Oa.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:nr,yesterday:ir};const s={LISTEN_IN_NOISE:Jt(Ra,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Jt($a,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Jt(Ia,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Jt(za,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return Oa&&bs===i&&Oa.yesterday&&Oa.yesterday.date===n&&(c=Oa.yesterday.selection),c||(c={LISTEN_IN_NOISE:Jt(Ra,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Jt($a,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Jt(Ia,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Jt(za,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(nr,s),Object.assign(ir,c),bp=r,bs=i,Oa={today:s,yesterday:{date:n,countsKey:i,selection:c}},{today:nr,yesterday:ir}}function gp(){return{today:nr,yesterday:ir}}function fs(){return{LISTEN_IN_NOISE:Ra,SHORT_STORY:$a,LONG_STORY:Ia,ORDERING_SENTENCE:za}}let vs=!1,sr=null;async function i4(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}&&void 0||"/",t=await fetch(`${e}data/allTrainingData.json`);return t.ok?await t.json():null}catch{return null}}async function ys(){if(!vs)return sr||(sr=(async()=>{const e=await i4();if(!e){sr=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}try{for(const t of Object.keys(e||{})){const a=e[t]||[];for(const r of a){const n=r,i=String(n.training_type||t),s=String(n.category_main_code||n.category_main||n.category_0||""),c=String(n.category_sub_code||n.category_sub||n.category_1||""),d=Object.assign({},n,{training_type:i,category_0:s,category_1:c});i==="LISTEN_IN_NOISE"?Ra.push(d):i==="SHORT_STORY"?$a.push(d):i==="LONG_STORY"?Ia.push(d):i==="ORDERING_SENTENCE"&&za.push(d)}}}catch{sr=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}try{gs()}catch{}vs=!0})(),sr)}function fp(){return vs}async function xs(e=3e3){const t=ys();return Promise.race([t,new Promise(a=>setTimeout(a,e))])}const en=[{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."}],vp=[{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\uC0C1\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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828",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"}]}],Cs={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function s4(e){return en.map(t=>{const a=Cs[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let tn=null,yp=null,xp=null;function l4(){const e=vo();if(e&&e.entries.length>0){const t=Za();if(tn&&yp===e&&xp===t)return tn;const a=new Set,r=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),r.push({w:n.word,s:n.syllables,p:t?.[n.word]?[...t[n.word].cho??[],...t[n.word].jung??[],...t[n.word].jong??[]]:[],pron:n.pronunciation||n.word,grade:n.grade}));return tn=r,yp=e,xp=t,tn}return[]}const ea=new Proxy([],{get(e,t){const a=l4(),r=a[t];return typeof r=="function"?r.bind(a):r}});function an(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function ta(e,t){if(t>=e.length)return Ge(e);if(t===0)return[];const a=e.slice();for(let r=0;r<t;r++){const n=r+Math.floor(Math.random()*(a.length-r)),i=a[r];a[r]=a[n],a[n]=i}return a.slice(0,t)}let _s=null,Cp=null;function to(){const e=vo();if(_s&&Cp===e)return _s;const t=new Map;for(const a of ea)a.w&&t.set(a.w,a.pron);return _s=t,Cp=e,t}function Ft(e){return to().get(e)||e}function ws(e,t,a=new Set){const r=[];for(const n of Ge(e)){if(r.length>=t)break;const i=Ft(n);a.has(i)||(a.add(i),r.push(n))}return r}let c4=0;function Tt(e){return`${e}-rt-${++c4}`}function lr(e){const t=Pr();if(!t||t.total===0){const r=new Set;for(const n of e)r.add(n);return r}const a=new Set;for(const r of e)ci(r)===!0&&a.add(r);return a}const on=new Map;let _p=null,wp=null;function cr(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function kp(e){const t=cr(e.choseong),a=e.composition,r=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${cr(a.cho)}/${cr(a.jung)}/${cr(a.jong)}/${a.jongNone?"N":""}/${r}`:"",i=cr(e.grade);return`${e.difficulty??""}|${t}|${n}|${e.excludeNoImage?"1":"0"}|${e.count??""}|x${e.contrastCount??1}|${e.fullCount?"F":""}|s${e.sameStructureOnly===!1?"0":"1"}|v${e.phonemeView==="pron"?"p":"c"}|g${i}|t${e.targetSyllable??""}|c${e.choicesPerItem??""}`}async function Wt(e){const t=vo(),a=Za();(t!==_p||a!==wp)&&(on.clear(),_p=t,wp=a);const r=kp(e);return on.has(r)||on.set(r,u4(e)),on.get(r)}function d4(e){if(!e)return null;const t=s=>s==null?null:Array.isArray(s)?s.length?s:null:[s],a=t(e.cho),r=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||r||i||n?n&&!a&&!r&&!i?s=>gi(s):s=>fi(s,{cho:a,jung:r,jong:i,jongNone:n}):null}async function u4(e){const{difficulty:t=null,choseong:a=null,composition:r=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,s=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,d=e.phonemeView==="pron"?"pron":"char",u=Math.max(1,e.contrastCount??1),m=t==="cho"||t==="jung"||t==="jong",h=m&&u>=2,p=t==="count",g=a?new Set(Array.isArray(a)?a:[a]):null,f=r?.syllable!=null?new Set(Array.isArray(r.syllable)?r.syllable:[r.syllable]):null,b=r?[d4(r),f?T=>f.has(bo(T)):null].filter(T=>T!=null):[],v=t==="random"||t===null,y=v||p,_=v||h||p;let C=ea.filter(T=>!T.w||s&&(!T.grade||!s.has(T.grade))?!1:_?!0:Array.isArray(T.p)&&T.p.length>0);g&&(C=C.filter(T=>{for(const L of g)if(xw(T.w,L))return!0;return!1})),b.length>0&&(C=C.filter(T=>{const L=d==="pron"?Ft(T.w):T.w;return b.every($=>$(L))})),n&&(C=C.filter(T=>T.w[0]===n));let x;if(i){const T=new Set;for(const L of C)if(T.add(L.w),Array.isArray(L.p))for(const $ of L.p)T.add($);if(y)for(const L of ea)L.w&&T.add(L.w);x=lr(T)}else{const T=new Set;for(const L of C)if(T.add(L.w),Array.isArray(L.p))for(const $ of L.p)T.add($);if(y)for(const L of ea)L.w&&T.add(L.w);x=T}let k=null;if(h){const T=new Set;for(const L of ea)L.w&&T.add(L.w);k=i?lr(T):T}const w=C.filter(T=>x.has(T.w)),S=600,j=Array.from(x),A=j.length>S?ta(j,S):j,B=p&&r!=null&&(ft(r.cho)||ft(r.jung)||ft(r.jong)),F=2500,R=new Map;if(p&&!B&&u>=2){for(const T of j){const L=bo(T),$=R.get(L);$?$.push(T):R.set(L,[T])}for(const[T,L]of R)L.length>F&&R.set(T,ta(L,F))}const E=ui(),M=B?Si(r,j,E,c,d,Ft):null,D=500,H=1500,ee=e.fullCount?w:t==="random"?w.length>D?ta(w,D):w:w.length>H?ta(w,H):w,J=Za(),ae=[];for(const T of ee){let L;const $=Ft(T.w);if(h)L=Sw(T.w,t,u,k,24).filter(z=>Ft(z)!==$);else if(p)B?L=(M.get(T.w)??[]).filter(z=>Ft(z)!==$):u<=1?L=Rr(T.w,J,{okSet:x,pronOf:Ft,decompOf:E,sameStructureOnly:!1}):L=(R.get(bo(T.w))??[]).filter(z=>{if(z===T.w||Ft(z)===$)return!1;const V=Aw(T.w,z);return u>=5?V>=5:V===u});else if(v)L=A.filter(z=>z!==T.w&&z.length===T.w.length&&Ft(z)!==$);else{const z=t;L=Rr(T.w,J,{kind:z,okSet:x,pronOf:Ft,decompOf:E,sameStructureOnly:!1}),L.length===0&&(L=(A.length>30?ta(A,30):A).filter(V=>V!==T.w&&pi(T.w,V)===t&&Ft(V)!==$))}if(c&&L.length>0&&(m||p&&!B)){const z=E(Ft(T.w));L=L.filter(V=>!Ko(z,E(Ft(V))))}L.length!==0&&ae.push({word:T,usable:L})}return ae}async function Sp(e,t){const{choicesPerItem:a=3,count:r=10}=t,n=a-1,i=(await Wt(t)).filter(c=>c.usable.length>=n),s=[];for(const c of Ge(i)){if(s.length>=r)break;const d=ws(c.usable,n);if(d.length<n)continue;const u=Ge([c.word.w,...d]);s.push({id:Tt(e+"-item"),index:s.length+1,word:c.word.w,syllables:c.word.s,choices:u,answerIndex:u.indexOf(c.word.w)})}return s}async function p4(e){const{choicesPerItem:t=3,count:a=10}=e,r=t-1,n=await Wt({...e,difficulty:null});if(n.length<t)return[];const i=[],s=Ge([...n]);for(const c of s){if(i.length>=a)break;const d=c.word.w,u=[...c.word.pron||d],m=an(u);if(!m)continue;const h=n.filter(f=>f.word.w!==d&&f.word.s===c.word.s&&!(f.word.pron||f.word.w).includes(m)&&f.word.pron!==c.word.pron);if(h.length<r)continue;const p=ws(h.map(f=>f.word.w),r);if(p.length<r)continue;const g=Ge([d,...p]);i.push({id:Tt("HPI-item"),index:i.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return i}async function h4(e){const{count:t=10}=e,a=(await Wt(e)).filter(r=>r.usable.length>=1);return Array.from({length:t},(r,n)=>{const i=an(a);if(!i)return null;const s=n%2===0;let c;if(s)c=[i.word.w,i.word.w];else{const d=an(i.usable);c=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Tt("SOD-item"),index:n+1,word:i.word.w,pair:c,same:s}}).filter(r=>!!r)}async function m4(e){const{choicesPerItem:t=3,count:a=10}=e,r=t-1,n=await Wt({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(p=>p.word.w),s=new Map(n.map(p=>[p.word.w,p.word.pron])),c=p=>(s.get(p)||p)[0]??"",d={};for(const p of n){const g=c(p.word.w);g&&(d[g]||(d[g]=[]),d[g].push(p.word.w))}const u=Object.entries(d).filter(([,p])=>p.length>=2).map(([p])=>p);if(u.length===0)return[];const m=[],h=Ge([...u]);for(let p=0;m.length<a&&p<a*4;p++){const g=h[p%h.length],f=d[g];if(f.length<2)continue;const b=Ge([...f]),v=b[0],y=b[1];if(!v||!y||v===y||(s.get(v)||v)===(s.get(y)||y))continue;const _=s.get(y)||y,C=i.filter(w=>c(w)!==g&&w!==v&&w!==y&&w.length===y.length&&(s.get(w)||w)!==_);if(C.length<r)continue;const x=ws(C,r);if(x.length<r)continue;const k=Ge([y,...x]);m.push({id:Tt("SWS-item"),index:m.length+1,sourceWord:v,targetSyllable:g,word:y,choices:k,answerIndex:k.indexOf(y)})}return m}function Ap(e,t,a){return ta(e,t).map((r,n)=>{const i=an(r.usable)??"",s=[...r.word.w],c=[...i],d=s.findIndex((m,h)=>m!==c[h]),u=Ge(r.usable.filter(m=>m&&m!==i)).slice(0,2);return{id:Tt(a),index:n+1,word:r.word.w,original:r.word.w,changed:i,changedFrom:d>=0?s[d]:"",changedTo:d>=0?c[d]:"",distractors:u}})}async function Tp(e,t,a){const{count:r=10}=t,n=to(),i=ea.filter(g=>g.w&&g.s===e),s=t.excludeNoImage?lr(i.map(g=>g.w)):null,c=s?i.filter(g=>s.has(g.w)):i,d=new Set(c.map(g=>g.w)),u=Zi(d),m=t.phonemeView??"char",h=t.composition??null,p=[];for(const g of Ge(c)){if(p.length>=r)break;const f=Xi(g.w,h,n,m,u,null,null);if(!f)continue;const b=f.distractors[0],v=[...g.w],y=[...b],_=v.findIndex((C,x)=>C!==y[x]);p.push({id:Tt(a),index:p.length+1,word:g.w,original:g.w,changed:b,changedFrom:_>=0?v[_]:"",changedTo:_>=0?y[_]:"",distractors:f.distractors.slice(1)})}return p}async function b4(e){return Tp(2,e,"CS2-item")}async function g4(e){return Tp(3,e,"CS3-item")}async function f4(e){const t=(await Wt({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Ap(t,e.count??10,"CP1-item")}async function v4(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await Wt({...e,difficulty:t,contrastCount:1})).filter(r=>r.word.s===2&&r.usable.length>=1);return Ap(a,e.count??10,"CP2-item")}async function y4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(r=>r.word.s===2);return ta(a,t).map((r,n)=>({id:Tt("M2S-item"),index:n+1,word:r.word.w,answer:r.word.w,parts:[...r.word.w]}))}async function x4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(r=>r.word.s===3);return ta(a,t).map((r,n)=>({id:Tt("M3S-item"),index:n+1,word:r.word.w,answer:r.word.w,parts:[...r.word.w]}))}async function C4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s===2),r=to(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=Vi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=[...c.word.w],p=h[0]===u?h[1]:h[0];s.push({id:Tt("D2-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:p,missingResult:u,distractors:m})}return s}async function _4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s===3),r=to(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=Gi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=[...c.word.w];let p="";for(let g=0;g<h.length;g++)if(h.filter((f,b)=>b!==g).join("")===u){p=h[g];break}s.push({id:Tt("D3-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:p,missingResult:u,distractors:m})}return s}async function w4(e){const{count:t=10}=e,a=(await Wt({...e})).filter(c=>c.word.s>=2),r=to(),n=new Set(ea.map(c=>c.w)),i=e.phonemeView??"char",s=[];for(const c of Ge(a)){if(s.length>=t)break;const d=qi(c.word.w,e.composition??null,r,i,n);if(!d)continue;const[u,...m]=d.distractors,h=c.word.w,p=h.startsWith(u)?h.slice(u.length):h.endsWith(u)?h.slice(0,h.length-u.length):"";s.push({id:Tt("DPC-item"),index:s.length+1,original:h,word:h,dropped:p,missingResult:u,distractors:m})}return s}async function k4(e){const{count:t=10}=e,a=(await Wt({...e})).map(r=>r.word.w);return a.length<3?[]:Array.from({length:t},(r,n)=>{const i=ta(a,3);return{id:Tt("LRO-item"),index:n+1,sequence:i,choices:Ge(i)}})}function rn(e,t,a){const r=ea.filter(s=>s.w&&s.s===e),n=t?lr(r.map(s=>s.w)):null,i=[];for(const s of r)if(!(n&&!n.has(s.w))){if(a){const c=Me(s.w);if(!c||!a(c))continue}i.push(s)}return i}function S4(e){const t=rn(1,e.excludeNoImage??!1,a=>a.jong===0);return ta(t,e.count??10).map((a,r)=>{const n=Me(a.w);return{id:Tt("M2P-item"),index:r+1,parts:[Ze[n.cho],dt[n.jung]],answer:a.w,word:a.w}})}function A4(e){const t=rn(1,e.excludeNoImage??!1,a=>a.jong>0&&!mo[a.jong]);return ta(t,e.count??10).map((a,r)=>{const n=Me(a.w);return{id:Tt("M3P-item"),index:r+1,parts:[Ze[n.cho],dt[n.jung],gt[n.jong]],answer:a.w,word:a.w}})}function T4(e){const t=qr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=rn(t.syllables,e.excludeNoImage??!1,t.syllable),r=to(),n=[];for(const i of Ge(a)){if(n.length>=(e.count??10))break;const s=Yi(i.w,null,r);if(!s)continue;const[c,...d]=s.distractors;n.push({id:Tt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function B4(e){const t=qr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=rn(t.syllables,e.excludeNoImage??!1,t.syllable),r=to(),n=[];for(const i of Ge(a)){if(n.length>=(e.count??10))break;const s=Ki(i.w,null,r);if(!s)continue;const c=Me(r.get(i.w)||i.w);if(!c)continue;const[d,...u]=s.distractors;n.push({id:Tt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:Ze[c.cho],remaining:d,distractors:u})}return n}const nn=new Map;let Bp=null,Np=null;async function Dp(e,t={}){const a=vo(),r=Za();(a!==Bp||r!==Np)&&(nn.clear(),Bp=a,Np=r);const n=`${e}:${kp(t)}`;if(nn.has(n))return nn.get(n);const i=await D4(e,t);return nn.set(n,i),i}const N4={SAME_SOUND_PICK:e=>Sp("SSP",e),HEAR_AND_PICK_SAME:e=>Sp("HPS",e),HEAR_AND_PICK_INCLUDED:e=>p4(e),SAME_OR_DIFF:e=>h4(e),STARTS_WITH_SAME_SOUND:e=>m4(e),LISTEN_AND_REMEMBER_ORDER:e=>k4(e),MERGE_2_SYLLABLES:e=>y4(e),MERGE_3_SYLLABLES:e=>x4(e),MERGE_2_PHONEMES:e=>S4(e),MERGE_3_PHONEMES:e=>A4(e),DROP_1_FROM_2SYLL:e=>C4(e),DROP_1_FROM_3SYLL:e=>_4(e),DROP_PART_FROM_COMPOUND:e=>w4(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>T4(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>B4(e),CHANGE_1_SYLL_IN_2SYLL:e=>b4(e),CHANGE_1_SYLL_IN_3SYLL:e=>g4(e),CHANGE_1_PHONEME_IN_1SYLL:e=>f4(e),CHANGE_1_PHONEME_IN_2SYLL:e=>v4(e)};async function D4(e,t={}){const a=N4[e];return a?await a(t):[]}async function E4(e){const t=[null,"count"],a=Object.keys(fo);let r=0;for(const n of t)for(const i of a){const s=fo[i];Dp(i,{difficulty:s.difficulty?n:null,choseong:null,count:10,excludeNoImage:e}).catch(()=>{}),++r%6===0&&await new Promise(c=>setTimeout(c,0))}}async function j4(e){return(await Wt({...e,fullCount:!0})).length}async function L4(e={}){const t=[];for(const c of ea)c.w&&t.push(c.w);const a=e.excludeNoImage?lr(t):t,r=new Set,n=new Set,i=new Set,s=new Set;for(const c of a){s.add(bo(c));for(const d of c){const u=Me(d);if(u&&(Ze[u.cho]!=="\u3147"&&r.add(Ze[u.cho]),n.add(dt[u.jung]),u.jong>0)){i.add(gt[u.jong]);const m=mo[u.jong];m&&m.forEach(h=>i.add(h))}}}return{cho:r,jung:n,jong:i,syllable:s}}const Ep={free:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},personal_standard:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},mgr_free:{maxCustomers:5,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},none:{maxCustomers:0,visitWord:!1,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!1,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!1,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:0,crossword:!1,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!1},lite_word:{maxCustomers:10,visitWord:!0,visitSentence:!1,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:0,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!1},lite_sentence:{maxCustomers:10,visitWord:!1,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!1,wordTableSetting:!1,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!1,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:0,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!1,sentenceTrainingView:!0},lite:{maxCustomers:10,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!1,wordTrainingSetting:!1,myWordList:!1,wordListShare:!1,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!1,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!1,wordSearchAddToGroupList:!1,wordDataLevel:1,sentenceDataLevel:1,crossword:!0,crosswordMid:!1,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},standard:{maxCustomers:30,visitWord:!0,visitSentence:!0,homework:!1,customerStats:!1,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:2,sentenceDataLevel:2,crossword:!0,crosswordMid:!0,crosswordHigh:!1,wordTrainingView:!0,sentenceTrainingView:!0},pro:{maxCustomers:50,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!1,managerManagement:!1,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!1,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!1,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!1,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0},enterprise:{maxCustomers:1/0,visitWord:!0,visitSentence:!0,homework:!0,customerStats:!0,managerCustomerSplit:!0,managerManagement:!0,sentenceTrainingSetting:!0,wordTrainingSetting:!0,myWordList:!0,wordListShare:!0,groupTrainingSetting:!0,minimalPairSearch:!0,wordTableSetting:!0,wordTablePrint:!0,addToMyList:!0,addToGroupList:!0,wordSearch:!0,wordSearchPrint:!0,wordSearchAddToMyList:!0,wordSearchAddToGroupList:!0,wordDataLevel:3,sentenceDataLevel:3,crossword:!0,crosswordMid:!0,crosswordHigh:!0,wordTrainingView:!0,sentenceTrainingView:!0}},jp={none:0,free:1,personal_standard:3,mgr_free:4,lite_word:5,lite_sentence:5,lite:6,standard:7,pro:8,enterprise:9},Lp={free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1},personal_standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null},mgr_free:{sentenceTrainingDaily:2,wordTrainingDaily:2,gameDaily:1,trainingItemMax:5,customerMax:5,homeworkSendDaily:1},lite:{sentenceTrainingDaily:5,wordTrainingDaily:5,gameDaily:5,trainingItemMax:10,customerMax:10,homeworkSendDaily:10},standard:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:30,customerMax:30,homeworkSendDaily:30},pro:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:50,homeworkSendDaily:50},enterprise:{sentenceTrainingDaily:null,wordTrainingDaily:null,gameDaily:null,trainingItemMax:null,customerMax:null,homeworkSendDaily:null}};function Mp(e){const t=e.toLowerCase();return t.startsWith("manager_enterprise")?"enterprise":t.startsWith("manager_pro")?"pro":t.startsWith("manager_standard")?"standard":t.startsWith("manager_lite_word")?"lite_word":t.startsWith("manager_lite_sentence")?"lite_sentence":t.startsWith("manager_lite")||t.startsWith("mgr_lite")?"lite":t.startsWith("mgr_standard")?"standard":t.startsWith("mgr_pro")?"pro":t.startsWith("content_")||t.startsWith("speechear_")||t.startsWith("light_")||t==="light"?"personal_standard":"none"}const Pp=5,Rp=5;function $p({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const Ip={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"};var M4=Object.freeze({__proto__:null,CAPABILITY:fo,CHOSEONG:Ze,CORE_VERSION:Nr,JONGSEONG:gt,JUNGSEONG:dt,LONG_STORIES:Ia,NETWORK_ERROR_MESSAGE:Ji,NOISE_DATAS:Ra,ORDER_SETS:za,PLAN_FEATURES:Ep,PLAN_LIMITS:Lp,SHORT_STORIES:$a,TIER_RANK:jp,TOPIC_TYPES:vp,TRAINING_TYPES:en,TRAINING_TYPE_I18N_KEY:Cs,WORD_SUGGESTION_ACCOUNT_LIMIT:Rp,WORD_SUGGESTION_EXISTING_ERROR:Ip,WORD_SUGGESTION_WEEKLY_QUOTA:Pp,applyFontScale:ms,applyTheme:ps,buildChangeWholeSyllableProblem:Xi,buildDropCompoundProblem:qi,buildDropContrast3Problem:Gi,buildDropContrastProblem:Vi,buildDropFinalConsonantProblem:Yi,buildMultiPartPosContrast:Si,buildPairIndex:su,buildRemoveConsonantProblem:Ki,buildSyllableMaskIndex:Zi,bulkSetImageExistence:Zd,cardQuestionTitle:Bu,checkImageExists:Yo,classifyPairDifficulty:pi,clearAudioExistsCache:Hd,clearImageExistenceCache:di,clearPairIndexCache:_i,composeSyllable:da,computeDailySelection:gs,configureImageResolver:Ud,configureNoiseSettingsStore:Xu,configurePronunciationResolver:Gd,configureStorage:ti,configureTTS:Wd,configureTrainingCategories:dp,copyText:ls,createDecompCache:ui,createTTSUrlResolver:ep,dateToDb:cp,downloadCsvText:Mu,downloadSound:jr,ensureTrainingDataLoaded:xs,escapeCsvField:Lu,fileExists:ai,filterContrastCandidates:ki,finalToPhoneme:Gr,firstChoseongOf:hi,formatCount:rr,formatDateKo:tp,formatDateLocale:op,formatDateLongKo:ap,formatDateLongLocale:rp,formatDatetimeKo:np,formatPhone:sp,formatRelativeTime:Zr,formatTimeHM:Jr,formatYmd:Xr,getAssetBaseUrl:Qn,getDailySelection:gp,getElementAnalyser:Vo,getErrorMessage:Ur,getImageExistenceStats:Pr,getImageExistsCached:ci,getImageResolver:Ma,getNoiseBaseUrl:oi,getPairIndex:Za,getPlanTier:Mp,getPronunciationResolver:ii,getSavedFontScale:hs,getSavedTheme:us,getSignedOrPublicUrl:Oo,getTTSFallbackUrlResolver:ni,getTTSUrlResolver:Fo,getTodayKst:Kr,getTopicTypes:Qr,getTrainingPools:fs,getTrainingTypes:ds,getWordPool:vo,hasQuestionWordConstraint:Cu,hasSel:ft,hasStructureContrast:Ko,initFontScale:mp,initTheme:pp,isAllChoseong:bi,isManualOnlyType:wu,isNetworkErrorMessage:Qi,isSyllablePattern:vi,isThisWeekPick:$p,isTrainingDataLoaded:fp,isValidQuestionWord:_u,itemCorrectness:os,jamoToNamesForSpeech:Nu,loadGameLeaderboard:Zu,loadMyGameRanks:Ku,loadNoiseSettings:is,loadTrainingData:ys,logCrossword:Ou,logTrainingCompletion:as,logTrainingTime:ts,matchSyllables:Qa,matchesChoseongSearch:Xd,matchesSyllablePattern:yi,matchesWordQuery:ho,mergeQuestionText:Wi,minimalPairDistractors:Rr,normalizeDate:lp,officialSoundPath:Qu,parseSortValue:ju,parseSyllable:Me,patternToComposition:ou,phonemePartsOf:Tu,pickEuRo:zi,pickEulReul:Pi,pickEunNeun:$i,pickIga:Li,pickWaGwa:Ii,prewarmImageCache:Kd,primarySelPart:tr,readLevel:si,reorderArray:Oi,resolveAssetUrl:Io,resolveSoundPath:Er,resumeAudioMeter:Ho,sample:Jt,saveNoiseSettings:ss,searchAndRankWords:nu,setAssetBaseUrl:Od,setCrosswordLogger:zu,setGameLeaderboardLoader:Yu,setGameRanksLoader:qu,setGameScoreSubmitter:Gu,setTrainingCompletionLogger:Iu,setTrainingTimeLogger:$u,setWordPool:Ru,shuffle:Ge,sortToValue:Eu,soundOf:Yr,speak:$d,stopSpeaking:Id,submitGameScore:Uu,syllMatchesComp:Pa,syllableContrasts:eo,syllableLength:bo,syllablePron:Hi,toBase64UrlSafe:Ju,toChoseong:mi,toItemResults:rs,toKstHm:ip,toKstYmd:ka,toStandardPronunciation:fu,toStorageName:ar,toUserErrorMessage:Du,validateSyllableSearchInput:ru,withEuRo:xu,withEulReul:Ri,withEunNeun:vu,withIga:Mi,withWaGwa:yu,wordContainsChoseong:Qd,wordContainsJongseong:tu,wordContainsJungseong:eu,wordHasNoCoda:gi,wordHasSyllableMatching:fi,wrongItems:Fu});function P4(e){return typeof window>"u"?"":hw.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use"],FORBID_ATTR:["xlink:href","href"]})}function R4(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),[i,s]=l.useState(null),[c,d]=l.useState(null);return l.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),s(null);return}const u=e.split("/").pop();let m=e;u&&(e.startsWith("/")?m=Io(e):/^(Logo|Symbol)/i.test(u)?m=Io(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),m=e)),a(m)},[e]),l.useEffect(()=>{if(!t)return;let u=!1;async function m(){try{let h=await fetch(t);h.ok||(h=await fetch(t));const p=h.headers.get("content-type")||"";if(u)return;if(p.includes("svg")){n("mask");return}if(p.startsWith("image/")){n("img");return}const g=await fetch(t);if(!g.ok)throw new Error("not ok");const f=await g.text();if(u)return;if(/^\s*<svg[\s>]/i.test(f)){const b=P4(f);if(!b){n("none");return}s(b),n("inline");return}n("none")}catch{u||n("none")}}return m(),()=>{u=!0}},[t]),l.useEffect(()=>{let u=!1,m=null;return r==="mask"&&t&&fetch(t).then(h=>{if(!h.ok)throw new Error("fetch failed");return h.blob()}).then(h=>{u||(m=URL.createObjectURL(h),d(m))}).catch(()=>{u||n("img")}),()=>{u=!0,m&&URL.revokeObjectURL(m),d(null)}},[r,t]),{iconToUse:t,mode:r,svgText:i,blobUrl:c}}function Fe(e){const{icon:t,label:a,className:r,imgClassName:n,maskClassName:i,svgClassName:s,wrapperStyle:c,size:d}=e||{},u=r??"iconRenderer-icon",m=n??"iconRenderer-icon-image",h=i??"iconRenderer-icon-mask",p=s??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,f=j_(g),{iconToUse:b,mode:v,svgText:y,blobUrl:_}=R4(g),C=(S,j={})=>o.jsx("span",{className:u,style:c,...j,children:S}),x=(S,j={})=>o.jsx("img",{src:S,alt:typeof a=="string"?a:a?String(a):"",className:m,...j});if(!t)return null;if(typeof t!="string")return C(t);if(t==="none")return C(o.jsx("span",{className:p,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(f)try{return C(l.createElement(f,{className:p,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(b&&b.endsWith(".svg")){if(v==="mask"){const S={"--icon-url":_?`url(${_})`:`url(${b})`};return C(o.jsx("span",{className:h,style:S}),{"aria-hidden":"true"})}return v==="img"?C(x(b,{onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):v==="inline"?C(o.jsx("span",{className:p,dangerouslySetInnerHTML:y?{__html:y}:void 0}),{"aria-hidden":"true"}):C(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return x(Io(t),{style:c,onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}});const k=typeof d=="number"?d:20,w=`<svg width="${k}" height="${k}" 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 C(o.jsx("span",{className:p,dangerouslySetInnerHTML:{__html:w}}),{"aria-hidden":"true"})}function zp({icon:e,emoji:t,title:a,message:r,hint:n,action:i,compact:s,className:c}){return o.jsxs("div",{className:_e("empty-state",s&&"empty-state--compact",c),children:[t&&o.jsx("span",{className:"empty-state__emoji",children:t}),e&&o.jsx(Fe,{icon:e,className:"empty-state__icon"}),a&&o.jsx("p",{className:"empty-state__title body-2",children:a}),r&&o.jsx("p",{className:"empty-state__message body-3",children:r}),n&&o.jsx("p",{className:"empty-state__hint caption-1",children:n}),i&&o.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:i.onClick,children:[i.icon&&o.jsx(Fe,{icon:i.icon,className:"button__icon"}),o.jsx("span",{className:"button__label button-1",children:i.label})]})]})}var $4=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}";te($4);function Op({message:e,hint:t,icon:a="triangle-alert",onRetry:r,retryLabel:n,className:i}){const{t:s}=me.useTranslation();return o.jsxs("div",{className:_e("empty-state","error-state",i),role:"alert",children:[o.jsx(Fe,{icon:a,className:"empty-state__icon error-state__icon"}),o.jsx("p",{className:"empty-state__message body-3",children:e??s("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&o.jsx("p",{className:"empty-state__hint caption-1",children:t}),r&&o.jsxs("button",{className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:r,children:[o.jsx(Fe,{icon:"rotate-cw",className:"button__icon"}),o.jsx("span",{className:"button__label button-1",children:n??s("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var I4=".ihabdevteam-core-scope .action-card{--ac-color:var(--color-main);--ac-color-a10:var(--color-main-a10);aspect-ratio:1/1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);box-shadow:var(--shadow-card);cursor:pointer;display:block;overflow:hidden;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;width:100%}.ihabdevteam-core-scope .action-card--sub{--ac-color:var(--color-sub);--ac-color-a10:var(--color-sub-a10)}.ihabdevteam-core-scope .action-card:focus-visible{outline:none}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):focus-visible,.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover{border-color:var(--ac-color);box-shadow:var(--shadow-panel);transform:translateY(-4px)}.ihabdevteam-core-scope .action-card--disabled{cursor:wait;opacity:.6}.ihabdevteam-core-scope .action-card__body{display:flex;flex-direction:column;gap:var(--spacing-m);height:100%;padding:var(--spacing-l)}.ihabdevteam-core-scope .action-card__chip{align-items:center;background:var(--ac-color-a10);border-radius:var(--radius-m);color:var(--ac-color);display:flex;height:64px;justify-content:center;width:64px}.ihabdevteam-core-scope .action-card__text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .action-card__title{color:var(--color-text-primary);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight-bold);letter-spacing:var(--text-h2-spacing);line-height:var(--text-h2-line);margin:0}.ihabdevteam-core-scope .action-card__desc{color:var(--color-lightGray);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .action-card__cta{align-items:center;color:var(--ac-color);display:flex;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);gap:var(--spacing-xs);justify-content:flex-end;line-height:var(--text-body-2-line);margin-top:auto;padding-right:var(--spacing-s);padding-top:var(--spacing-s)}.ihabdevteam-core-scope .action-card__arrow{display:flex;transition:transform .2s}.ihabdevteam-core-scope .action-card:not(.action-card--disabled):hover .action-card__arrow{transform:translateX(4px)}";te(I4);function Fp({icon:e,title:t,description:a,cta:r,tone:n="main",disabled:i=!1,onClick:s,className:c=""}){const d=()=>{i||s?.()};return o.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-label":t,onClick:d,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),d())},className:_e("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:o.jsxs("div",{className:"action-card__body",children:[o.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:o.jsx(Fe,{icon:e,size:34})}),o.jsxs("div",{className:"action-card__text",children:[o.jsx("h2",{className:"action-card__title",children:t}),o.jsx("p",{className:"action-card__desc",children:a})]}),o.jsxs("div",{className:"action-card__cta",children:[o.jsx("span",{children:r}),o.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:o.jsx(Fe,{icon:"arrow-right",size:18})})]})]})})}function Wp({as:e="div",className:t="",children:a,storage:r,...n}){r&&ti({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});const i=_e("ihabdevteam-core-scope",t);return o.jsx(e,{className:i,...n,children:a})}var z4=".ihabdevteam-core-scope .notice-box{background:var(--color-darkWhite);border-radius:var(--radius-m);color:var(--color-gray);margin:0 auto var(--spacing-page);padding:var(--spacing-l);position:relative;text-align:left}.ihabdevteam-core-scope .notice-box ul{margin:0;padding:0 0 0 18px}.ihabdevteam-core-scope .notice-box__inner{border-radius:var(--radius-s);padding:12px 14px;text-align:left}.ihabdevteam-core-scope .notice-box__title{color:var(--color-darkGray);margin:0 0 10px}.ihabdevteam-core-scope .notice-box__body,.ihabdevteam-core-scope .notice-box__line{color:var(--color-deepGray)}.ihabdevteam-core-scope .notice-box--default{border-color:var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--dashed{background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine)}.ihabdevteam-core-scope .notice-box--important{border:1px solid var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .notice-box__dismiss{background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:10px;top:8px;transition:color .12s}.ihabdevteam-core-scope .notice-box__dismiss:hover{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .notice-box,.ihabdevteam-core-scope .notice-box__inner{padding:var(--spacing-s)}}";te(z4);function Hp({title:e="",lines:t=[],notices:a=null,children:r,variant:n="default",dismissible:i=!1,className:s=""}){const{t:c}=me.useTranslation(),[d,u]=l.useState(!1),m=l.useCallback(()=>u(!0),[]);if(d)return null;const h=`notice-box notice-box--${n} body-2 ${s}`.trim();if(a&&Array.isArray(a)&&a.length)return o.jsx("div",{className:h,role:"note",children:a.map((g,f)=>o.jsxs("div",{className:"notice-box__inner",children:[g.title?o.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,o.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?o.jsx("div",{children:g.lines.map((b,v)=>o.jsx("span",{className:"notice-box__line body-3",children:b},v))}):g.children??null})]},f))});const p=e||t.length?o.jsxs("div",{className:"notice-box__inner",children:[e?o.jsx("span",{className:"notice-box__title body-1",children:e}):null,o.jsx("div",{className:"notice-box__body",children:t.length?o.jsx("ul",{children:t.map((g,f)=>o.jsx("li",{className:"notice-box__line",children:g},f))}):r})]}):o.jsx("div",{className:"notice-box__inner",children:r});return o.jsxs("div",{className:h,role:"note",children:[p,i&&o.jsx("button",{className:"notice-box__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var O4=".ihabdevteam-core-scope .button{align-items:center;background:var(--color-white);border:0;border:var(--button-border,0);box-sizing:border-box;color:inherit;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:0 12px;transition:background-color .14s ease,color .14s ease,transform .1s ease,box-shadow .14s ease}.ihabdevteam-core-scope .button__icon,.ihabdevteam-core-scope .button__left,.ihabdevteam-core-scope .button__right{align-items:center;color:inherit;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .button--align-center .button__label,.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:center}.ihabdevteam-core-scope .button__icon{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--small{height:16px;width:16px}.ihabdevteam-core-scope .button__icon--medium{height:24px;width:24px}.ihabdevteam-core-scope .button__icon--large{height:36px;width:36px}.ihabdevteam-core-scope .button__center-group{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .button__center-group .button__label{display:inline-block;flex:0 1 auto;text-align:center}.ihabdevteam-core-scope .button__label{display:block;white-space:normal}.ihabdevteam-core-scope .button__label-text{align-items:center;display:inline-flex;justify-content:center;max-width:100%;vertical-align:middle;white-space:normal;word-break:break-word}.ihabdevteam-core-scope .button__label-text--has-sub{flex-direction:column;gap:3px}.ihabdevteam-core-scope .button__count{color:var(--color-main);font-weight:700;margin-left:4px}.ihabdevteam-core-scope .button--variant-main .button__count,.ihabdevteam-core-scope .is-selected .button__count,.ihabdevteam-core-scope [aria-pressed=true] .button__count{color:#fff}.ihabdevteam-core-scope .button__label:has(>.button__label-text+.button__label-text){gap:5px}.ihabdevteam-core-scope .button__sub-label-text{color:var(--button-subLabel-color,var(--color-gray));display:block}.ihabdevteam-core-scope .button__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .button__icon-mask{background-color:currentColor;display:block;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .button__icon-svg{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .button__icon-svg svg{display:block;height:100%;width:100%}.ihabdevteam-core-scope .button__icon-svg svg,.ihabdevteam-core-scope .button__icon-svg svg *{fill:currentColor;stroke:currentColor}.ihabdevteam-core-scope .button .button__label{color:currentColor;color:var(--button-text-color,currentColor);min-height:20px;min-width:20px}.ihabdevteam-core-scope .button .button__icon,.ihabdevteam-core-scope .button .button__left,.ihabdevteam-core-scope .button .button__right{color:currentColor;color:var(--button-icon-color,currentColor)}.ihabdevteam-core-scope .button--align-left{justify-content:flex-start}.ihabdevteam-core-scope .button--align-center{justify-content:center}.ihabdevteam-core-scope .button--align-right{justify-content:flex-end}.ihabdevteam-core-scope .button--align-left .button__label{align-items:center;display:inline-flex;flex:1 1 auto}.ihabdevteam-core-scope .button--align-left .button__label-text{justify-content:flex-start;text-align:left}.ihabdevteam-core-scope .button--align-center .button__label{align-items:center;display:flex;flex:1 1 auto;justify-content:center;text-align:center}.ihabdevteam-core-scope .button--align-right .button__label{flex:1 1 auto;text-align:right}.ihabdevteam-core-scope .button--align-grid{justify-content:center}.ihabdevteam-core-scope .button--align-grid .button__label{display:grid;flex:1 1 auto;grid-auto-columns:1fr;grid-auto-flow:column;text-align:center}.ihabdevteam-core-scope .button.button--no-bg{background:transparent;border-color:transparent}.ihabdevteam-core-scope .button--variant-danger{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-error))}.ihabdevteam-core-scope .button--variant-danger:focus-visible,.ihabdevteam-core-scope .button--variant-danger:hover{--button-text-color:var(--color-error);--button-icon-color:var(--color-error);--button-subLabel-color:var(--color-error);background:var(--color-error-a10);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-danger.is-selected,.ihabdevteam-core-scope .button--variant-danger[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-error);border-color:var(--color-error)}.ihabdevteam-core-scope .button--variant-default{--button-text-color:var(--color-darkGray);--button-icon-color:var(--color-lightGray);--button-subLabel-color:var(--color-gray);background:var(--color-deepWhite);border:var(--button-border,1px solid var(--color-whiteLine))}.ihabdevteam-core-scope .button--variant-default:focus-visible,.ihabdevteam-core-scope .button--variant-default:hover{--button-text-color:var(--color-black);--button-icon-color:var(--color-main);--button-subLabel-color:var(--color-black);background:var(--color-white);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-default.is-selected,.ihabdevteam-core-scope .button--variant-default[aria-pressed=true]{--button-text-color:#fff;--button-icon-color:#fff;--button-subLabel-color:#fff;background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .button--variant-main{--button-subLabel-color:var(--color-white-a80);background:var(--color-main);border:var(--button-border,1px solid var(--color-main));color:#fff}.ihabdevteam-core-scope .button--variant-main:focus-visible,.ihabdevteam-core-scope .button--variant-main:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);border-color:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-main.is-selected,.ihabdevteam-core-scope .button--variant-main[aria-pressed=true]{--button-subLabel-color:var(--color-white-a80);background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .button--variant-sub{--button-subLabel-color:var(--color-white-a80);background:var(--color-primary,var(--color-sub));color:#fff}.ihabdevteam-core-scope .button--variant-sub:focus-visible,.ihabdevteam-core-scope .button--variant-sub:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-uiAccent);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white{--button-subLabel-color:var(--color-white-a60);background:transparent;border:var(--button-border,1px solid var(--color-white-a80));color:#fbfdff}.ihabdevteam-core-scope .button--variant-transparent-white:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-white:hover{--button-subLabel-color:var(--color-white-a80);background:var(--color-white-a10);color:#fff}.ihabdevteam-core-scope .button--variant-transparent-white.is-selected,.ihabdevteam-core-scope .button--variant-transparent-white[aria-pressed=true]{--button-subLabel-color:var(--color-lightGray);background:var(--color-white);color:var(--color-main)}.ihabdevteam-core-scope .button--variant-transparent-gray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-gray-a80));color:var(--color-gray-a80)}.ihabdevteam-core-scope .button--variant-transparent-gray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-gray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-gray-a10);color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray{--button-subLabel-color:var(--color-gray-a60);background:transparent;border:var(--button-border,1px solid var(--color-lightGray-a80));color:var(--color-gray)}.ihabdevteam-core-scope .button--variant-transparent-lightGray:focus-visible,.ihabdevteam-core-scope .button--variant-transparent-lightGray:hover{--button-subLabel-color:var(--color-gray-a60);background:var(--color-lightGray-a10);color:var(--color-deepGray)}.ihabdevteam-core-scope .button--variant-disabled{--button-subLabel-color:var(--color-disabled);background-color:transparent;border:var(--button-border,1px solid var(--color-whiteLine));color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled .button__icon,.ihabdevteam-core-scope .button--variant-disabled .button__left,.ihabdevteam-core-scope .button--variant-disabled .button__right{color:var(--color-disabled)}.ihabdevteam-core-scope .button--variant-disabled-covered{background-color:var(--color-darkWhite);border:var(--button-border,1px solid var(--color-darkWhite));border-color:var(--color-whiteLine);color:transparent}.ihabdevteam-core-scope .button--variant-disabled-covered .button__icon,.ihabdevteam-core-scope .button--variant-disabled-covered .button__left,.ihabdevteam-core-scope .button--variant-disabled-covered .button__right{color:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded,.ihabdevteam-core-scope .button--variant-disabled-invisibled{background:transparent}.ihabdevteam-core-scope .button--variant-disabled-faded .button__icon,.ihabdevteam-core-scope .button--variant-disabled-faded .button__left,.ihabdevteam-core-scope .button--variant-disabled-faded .button__right,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__icon,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__label,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__left,.ihabdevteam-core-scope .button--variant-disabled-invisibled .button__right{color:transparent}.ihabdevteam-core-scope .button:disabled,.ihabdevteam-core-scope .button[disabled]{cursor:default}.ihabdevteam-core-scope .button--shape-rounded{border-radius:8px!important;border-radius:var(--button-rounded-radius,8px)!important}.ihabdevteam-core-scope .button--shape-pill{border-radius:9999px!important}.ihabdevteam-core-scope .button72{--button-rounded-radius:18px;border-radius:36px;height:72px;justify-content:center}.ihabdevteam-core-scope .button72--bar{min-width:220px}.ihabdevteam-core-scope .button72--dot{padding:0;width:72px}.ihabdevteam-core-scope .button56{--button-rounded-radius:14px;border-radius:28px;height:56px;justify-content:center}.ihabdevteam-core-scope .button56--bar{min-width:190px}.ihabdevteam-core-scope .button56--dot{padding:0;width:56px}.ihabdevteam-core-scope .button52{--button-rounded-radius:13px;border-radius:26px;height:52px;justify-content:center}.ihabdevteam-core-scope .button52--bar{min-width:175px}.ihabdevteam-core-scope .button52--dot{padding:0;width:52px}.ihabdevteam-core-scope .button48{--button-rounded-radius:12px;border-radius:24px;height:48px;justify-content:center}.ihabdevteam-core-scope .button48--bar{min-width:160px}.ihabdevteam-core-scope .button48--dot{padding:0;width:48px}.ihabdevteam-core-scope .button40{--button-rounded-radius:10px;border-radius:20px;height:40px;justify-content:center}.ihabdevteam-core-scope .button40--bar{min-width:100px}.ihabdevteam-core-scope .button40--dot{padding:0;width:40px}.ihabdevteam-core-scope .button40 .button__icon,.ihabdevteam-core-scope .button40--bar .button__icon,.ihabdevteam-core-scope .button40--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:16px;height:32px;justify-content:center}.ihabdevteam-core-scope .button32--bar{min-width:72px}.ihabdevteam-core-scope .button32--dot{padding:0;width:32px}.ihabdevteam-core-scope .button32 .button__icon,.ihabdevteam-core-scope .button32--bar .button__icon,.ihabdevteam-core-scope .button32--dot .button__icon{height:18px;width:18px}.ihabdevteam-core-scope .button28{--button-rounded-radius:7px;border-radius:14px;height:28px;justify-content:center}.ihabdevteam-core-scope .button28--bar{min-width:60px}.ihabdevteam-core-scope .button28--dot{padding:0;width:28px}.ihabdevteam-core-scope .button28 .button__icon,.ihabdevteam-core-scope .button28--bar .button__icon,.ihabdevteam-core-scope .button28--dot .button__icon{height:16px;width:16px}.ihabdevteam-core-scope .button24{--button-rounded-radius:6px;border-radius:12px;height:24px;justify-content:center}.ihabdevteam-core-scope .button24--bar{min-width:48px}.ihabdevteam-core-scope .button24--dot{padding:0;width:24px}.ihabdevteam-core-scope .button24 .button__icon,.ihabdevteam-core-scope .button24--bar .button__icon,.ihabdevteam-core-scope .button24--dot .button__icon{height:14px;width:14px}.ihabdevteam-core-scope .button-keyboard{border-radius:12px;height:32px;justify-content:center}.ihabdevteam-core-scope .button-keyboard--bar{min-width:32px;padding:0 12px}.ihabdevteam-core-scope .button-keyboard--dot{padding:0;width:32px}.ihabdevteam-core-scope .button-word{border-radius:12px;height:72px;justify-content:center;padding:0 16px}.ihabdevteam-core-scope .button-word--bar{min-width:120px}.ihabdevteam-core-scope .button-word--dot{padding:0;width:72px}@media (max-width:1024px){.ihabdevteam-core-scope .button56{--button-rounded-radius:13px;border-radius:25px;height:50px}.ihabdevteam-core-scope .button56--bar{min-width:170px}.ihabdevteam-core-scope .button56--dot{width:50px}.ihabdevteam-core-scope .button48{--button-rounded-radius:11px;border-radius:22px;height:44px}.ihabdevteam-core-scope .button48--bar{min-width:140px}.ihabdevteam-core-scope .button48--dot{width:44px}.ihabdevteam-core-scope .button40{--button-rounded-radius:9px;border-radius:18px;height:36px}.ihabdevteam-core-scope .button40--bar{min-width:88px}.ihabdevteam-core-scope .button40--dot{width:36px}.ihabdevteam-core-scope .button32{--button-rounded-radius:8px;border-radius:15px;height:30px}.ihabdevteam-core-scope .button32--bar{min-width:64px}.ihabdevteam-core-scope .button32--dot{width:30px}.ihabdevteam-core-scope .button24--bar{min-width:44px}}@media (max-width:768px){.ihabdevteam-core-scope .button56{--button-rounded-radius:12px;border-radius:23px;height:46px}.ihabdevteam-core-scope .button56--bar{min-width:150px}.ihabdevteam-core-scope .button56--dot{width:46px}.ihabdevteam-core-scope .button56 .button__icon,.ihabdevteam-core-scope .button56--bar .button__icon,.ihabdevteam-core-scope .button56--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button48{--button-rounded-radius:10px;border-radius:20px;height:40px}.ihabdevteam-core-scope .button48--bar{min-width:120px}.ihabdevteam-core-scope .button48--dot{width:40px}.ihabdevteam-core-scope .button48 .button__icon,.ihabdevteam-core-scope .button48--bar .button__icon,.ihabdevteam-core-scope .button48--dot .button__icon{height:20px;width:20px}.ihabdevteam-core-scope .button40{--button-rounded-radius:8px;border-radius:17px;height:34px}.ihabdevteam-core-scope .button40--bar{min-width:80px}.ihabdevteam-core-scope .button40--dot{width:34px}.ihabdevteam-core-scope .button32{--button-rounded-radius:7px;border-radius:14px;height:28px}.ihabdevteam-core-scope .button32--bar{min-width:60px}.ihabdevteam-core-scope .button32--dot{width:28px}.ihabdevteam-core-scope .button24--bar{min-width:40px}}";te(O4);var F4=".ihabdevteam-core-scope .tooltip-content{animation:tooltip-pop .2s cubic-bezier(.2,.9,.2,1) both;background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);box-sizing:border-box;pointer-events:auto;position:absolute;transform-origin:left center;white-space:normal;will-change:transform,opacity;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content--inline{position:static}.ihabdevteam-core-scope .tooltip-content--bordered{border:1px solid var(--color-whiteLine)}.ihabdevteam-core-scope .tooltip-content.tooltip-description,.ihabdevteam-core-scope .tooltip-content.tooltip-info,.ihabdevteam-core-scope .tooltip-content.tooltip-training{background:transparent;box-shadow:none}.ihabdevteam-core-scope .tooltip-content__header{align-items:center;color:var(--color-gray);display:flex;height:40px;padding:0 2px 10px}.ihabdevteam-core-scope .tooltip-content.is-closing{opacity:0;transition:opacity .2s ease,transform .2s ease}.ihabdevteam-core-scope .tooltip-content[data-placement=top]{transform:translateY(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=bottom]{transform:translateY(6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=left]{transform:translateX(-6px)}.ihabdevteam-core-scope .tooltip-content[data-placement=right]{transform:translateX(6px)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=top]{transform:translateY(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=bottom]{transform:translateY(6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=left]{transform:translateX(-6px) scale(.98)}.ihabdevteam-core-scope .tooltip-content.is-closing[data-placement=right]{transform:translateX(6px) scale(.98)}@keyframes tooltip-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.ihabdevteam-core-scope .tooltip-backdrop{background:var(--color-popupBlock);inset:0;position:fixed;z-index:calc(var(--z-tooltip) - 1)}.ihabdevteam-core-scope .tooltip-portal{inset:0;position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-content.is-mobile{left:50%!important;max-width:calc(100% - 40px)!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:calc(100% - 40px)!important;z-index:var(--z-tooltip)!important}";te(F4);function ks(e,t=!0){l.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const r=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(dr)).filter(d=>!d.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const s=i[0],c=i[i.length-1];n.shiftKey&&document.activeElement===s?(n.preventDefault(),c.focus()):!n.shiftKey&&document.activeElement===c&&(n.preventDefault(),s.focus())};return a.addEventListener("keydown",r),()=>a.removeEventListener("keydown",r)},[e,t])}const dr='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function Sa(e){const{anchorRect:t,anchorEl:a,offset:r=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:s=!0,className:c="",role:d="dialog",ariaLabel:u="",children:m,backdrop:h=!1,isMobilePopup:p=!1,useBorder:g=!0,header:f}=e||{},b=l.useRef(null),[v,y]=l.useState({position:"fixed",left:0,top:-9999}),[_,C]=l.useState(!1),[x,k]=l.useState("bottom"),[w,S]=l.useState(!1),[j,A]=l.useState(!1),B=!t&&!a,F=l.useCallback((D=!1)=>{if(j&&p)return;const H=a?a.getBoundingClientRect():t;if(!H||!b.current)return;const ee=b.current,{offsetWidth:J,offsetHeight:ae}=ee,T=window.innerWidth,L=window.innerHeight,$=T-H.right,z=H.left,V=H.top,X=L-H.bottom;let W=0,Y=0,O="top";if(V>=ae+r)O="top",Y=H.top-r-ae,W=H.left+H.width/2-J/2;else if(X>=ae+r)O="bottom",Y=H.bottom+r,W=H.left+H.width/2-J/2;else if($>=J+r)O="right",W=H.right+r,Y=H.top+H.height/2-ae/2;else if(z>=J+r)O="left",W=H.left-r-J,Y=H.top+H.height/2-ae/2;else{const ye=Math.max(V,X,$,z);ye===V?(O="top",Y=H.top-r-ae,W=H.left+H.width/2-J/2):ye===X?(O="bottom",Y=H.bottom+r,W=H.left+H.width/2-J/2):ye===$?(O="right",W=H.right+r,Y=H.top+H.height/2-ae/2):(O="left",W=H.left-r-J,Y=H.top+H.height/2-ae/2)}const ie=Number(n)||8;W=Math.min(Math.max(W,ie),T-J-ie),Y=Math.min(Math.max(Y,ie),L-ae-ie);const ue=Math.round(W),fe=Math.round(Y);D&&b.current?(b.current.style.left=`${ue}px`,b.current.style.top=`${fe}px`,b.current.dataset.placement=O):(k(O||x),y({position:"fixed",left:ue,top:fe}),S(!0))},[j,p,a,t,r,n,x]);l.useLayoutEffect(()=>{if(B)return;if(j&&p){y({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),S(!0);return}F();const D=requestAnimationFrame(()=>F());return()=>cancelAnimationFrame(D)},[t,a,r,m,n,B,j,p,F]),l.useEffect(()=>{if(B||j&&p||!b.current||typeof ResizeObserver>"u")return;const D=new ResizeObserver(()=>{t&&F()});return D.observe(b.current),()=>D.disconnect()},[t,m,n,B,j,p,F]),l.useEffect(()=>{if(B||j&&p)return;const D=()=>F(!0);return window.addEventListener("resize",D),document.addEventListener("scroll",D,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",D),document.removeEventListener("scroll",D,{capture:!0})}},[t,r,m,n,B,j,p,F]),l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const D=window.matchMedia("(max-width: 768px)"),H=()=>A(!!D.matches);H();try{D.addEventListener?D.addEventListener("change",H):D.addListener(H)}catch{try{D.addListener(H)}catch{}}return()=>{try{D.removeEventListener?D.removeEventListener("change",H):D.removeListener(H)}catch{}}},[]);const R=l.useRef(!1),E=l.useCallback((D=!1)=>{if(!(_||R.current)){if(R.current=!0,D){C(!0);try{i&&i()}catch{}return}C(!0),setTimeout(()=>{i&&i()},200)}},[_,i,C]);l.useEffect(()=>{const D=J=>{const ae=b.current;if(!ae)return;const T=J.target;if(T&&!ae.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},H=J=>{const ae=b.current;if(!ae)return;const T=J.target;if(T&&!ae.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},ee=J=>{if(J.key==="Escape"){J.stopPropagation(),E();return}if(J.key==="Tab"){const ae=b.current;if(!ae)return;const T=ae.querySelectorAll(dr);if(!T||T.length===0)return;const L=T[0],$=T[T.length-1],z=document.activeElement;J.shiftKey?z===L&&(J.preventDefault(),$.focus()):z===$&&(J.preventDefault(),L.focus())}};return document.addEventListener("pointerdown",D,!0),document.addEventListener("click",H,!0),document.addEventListener("keydown",ee),()=>{document.removeEventListener("pointerdown",D,!0),document.removeEventListener("click",H,!0),document.removeEventListener("keydown",ee)}},[i,s,E]),l.useEffect(()=>{const D=()=>{E(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",D),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",D)}},[E]);const M=o.jsxs("div",{ref:b,className:`tooltip-content ${B?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${_?"is-closing":""} ${c} ${j&&p?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:B?{}:{...v,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":x,"data-left":B?"":v.left,"data-top":B?"":v.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:[f!=null&&o.jsx("div",{className:"tooltip-content__header h5",children:f}),m]});if(B||typeof document>"u")return M;if(h||j&&p){const D=o.jsxs("div",{className:"tooltip-portal",children:[o.jsx("div",{className:"tooltip-backdrop",onClick:()=>{s&&E(!0)}}),M]});return qt.createPortal(D,document.body)}return qt.createPortal(M,document.body)}var W4='.ihabdevteam-core-scope .tooltip-info__content{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);color:var(--color-black);display:inline-flex;justify-content:center;line-height:1;overflow:hidden;padding:4px 12px;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-content.tooltip-info{pointer-events:none}.ihabdevteam-core-scope .tooltip-content.tooltip-info .tooltip-info__content{box-shadow:var(--shadow-tooltip)}.ihabdevteam-core-scope .tooltip-info[data-placement=bottom] .tooltip-info__content:after,.ihabdevteam-core-scope .tooltip-info[data-placement=top] .tooltip-info__content:after{content:"";height:0;margin:0;padding:0;position:absolute;width:0}';te(W4);function ma(e){const{anchorRect:t,text:a,offset:r=8,onClose:n,className:i="",ariaLabel:s}=e||{};return a?o.jsx(Sa,{anchorRect:t,offset:r,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:s||a,children:o.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var H4=".ihabdevteam-core-scope .tooltip-description__box{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;flex-direction:column;gap:10px;max-width:640px;padding:16px 20px}.ihabdevteam-core-scope .tooltip-description__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .tooltip-description__items{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .tooltip-description__item{align-items:flex-start;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs);margin:0}.ihabdevteam-core-scope .tooltip-description__index{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .tooltip-description__dot{border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.ihabdevteam-core-scope .tooltip-description__item--active{color:var(--color-main);font-weight:600}.ihabdevteam-core-scope .tooltip-description__item--active .tooltip-description__index{color:var(--color-main)}";te(H4);function Fa(e){const{t}=me.useTranslation(),{anchorRect:a,title:r,items:n,activeIndex:i=-1,showIndex:s=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!0}=e||{},m=(Array.isArray(n)?n:n?[n]:[]).map(h=>typeof h=="string"?{text:h}:h);return!m.length&&!r?null:o.jsx(Sa,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:r||t("tooltip.description","\uC124\uBA85"),children:o.jsxs("div",{className:"tooltip-description__box",children:[r&&o.jsx("span",{className:"tooltip-description__title body-2",children:r}),o.jsx("ol",{className:"tooltip-description__items",children:m.map((h,p)=>o.jsxs("li",{className:`tooltip-description__item body-3${p===i?" tooltip-description__item--active":""}`,children:[s&&m.length>1&&o.jsxs("span",{className:"tooltip-description__index button-1",children:[p+1,"."]}),h.color&&o.jsx("span",{className:"tooltip-description__dot",style:{background:h.color},"aria-hidden":"true"}),o.jsx("span",{children:h.text})]},p))})]})})}function re(e){const{size:t=48,type:a,htmlType:r,href:n,target:i,rel:s,icon:c,rightIcon:d,label:u,count:m,subLabel:h,children:p,ariaLabel:g,variant:f="default",align:b="center",selected:v,toggleable:y=!1,disabled:_=!1,useLabel:C=!0,useBorder:x=!0,useBG:k=!0,useDisabledCovered:w=!1,useDisabledInvisible:S=!1,width:j,minWidth:A,onClick:B,onDisabledClick:F,showTooltipInfo:R=!1,tooltipInfoText:E=null,tooltipDescription:M=null,iconSize:D="medium",iconColor:H,shape:ee="rounded",color:J,className:ae,...T}=e,L=typeof t=="string"&&isNaN(Number(t))?t.toLowerCase():String(Number(t)||48),$=L.match(/^\d+$/)?`button${L}`:`button-${L}`,z=Number(t),V=!isNaN(z)&&z<40?"button-2":"button-1",X=u??p,W=_||!!T.disabled,Y=W?w?"disabled-covered":S?"disabled-invisibled":"disabled":f,O=Y?`button--variant-${Y}`:"",ie=b?`button--align-${b}`:"",ue=ee?`button--shape-${ee}`:"",fe=typeof H=="string"&&H.startsWith("--")?`var(${H})`:H,ye={...j?{width:typeof j=="number"?`${j}px`:j}:{},...A?{minWidth:typeof A=="number"?`${A}px`:A}:{},...x?{}:{"--button-border":W?"0":"1px solid transparent"},...fe?{"--button-icon-color":fe}:{},...J?{"--color-main":J}:{}},pe=C===!1?"":X,P=Array.isArray(pe)?pe.length>0:!!pe,q=!!d,oe=a??(P||c||q?"bar":"dot"),ge=`${$}--${oe}`,de=l.useRef(null),I=l.useRef(W),[Z,Q]=l.useState(!!v),[ve,De]=l.useState(!1),[$e,Le]=l.useState(null),Ee=l.useCallback(()=>De(!1),[]);l.useEffect(()=>{typeof v=="boolean"&&Q(v)},[v]),l.useEffect(()=>{if(I.current&&!W&&de.current){const We=de.current;We.blur(),We.style.pointerEvents="none";const Je=requestAnimationFrame(()=>{requestAnimationFrame(()=>{de.current&&(de.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Je)}I.current=W},[W]);const je=typeof v=="boolean"?!!v:Z,Te=y||typeof v=="boolean"?je?"true":"false":void 0,Ie=_e("button",$,ge,O,ie,ue,je?"is-selected":null,k?null:"button--no-bg",ae),He=`button__icon button__icon--${D}`,be=Array.isArray(h)?h:h!==void 0?[h]:[],Ke=()=>{if(Array.isArray(pe))return pe.map((Je,tt)=>{const xt=be[tt];return o.jsxs("span",{className:`button__label-text${xt!==void 0?" button__label-text--has-sub":""}`,children:[Je,xt!==void 0&&o.jsx("span",{className:"button__sub-label-text caption-1",children:xt})]},tt)});const We=h!==void 0;return o.jsxs("span",{className:`button__label-text${We?" button__label-text--has-sub":""}`,children:[pe,m!=null&&o.jsx("span",{className:"button__count",children:m}),We&&o.jsx("span",{className:"button__sub-label-text caption-1",children:h})]})},Ve=We=>{W||(typeof T.onMouseLeave=="function"&&T.onMouseLeave(We),typeof v!="boolean"&&Q(!1),We.currentTarget.blur())},Re=We=>{if(W){F?.(We);return}typeof v!="boolean"&&y&&Q(Je=>!Je),B?.(We)},qe=l.useCallback(()=>{(R||M)&&(De(!0),Le(de.current?.getBoundingClientRect()??null))},[R,M]),vt=l.useCallback(()=>{(R||M)&&(De(!1),Le(null))},[R,M]),Ue={...T};delete Ue.disabled,delete Ue.className,delete Ue.faded,delete Ue.useFaded,delete Ue.loading,delete Ue.onMouseLeave,delete Ue.onPointerEnter,delete Ue.onPointerLeave,delete Ue.onFocus,delete Ue.onBlur,W&&(Object.keys(Ue).forEach(We=>{/^on[A-Z]/.test(We)&&typeof Ue[We]=="function"&&delete Ue[We]}),Ue["aria-disabled"]="true");const Xe=(typeof R=="string"?R:null)??(typeof E=="string"?E:null)??(typeof g=="string"?g:null)??(typeof X=="string"?X:null)??void 0,ut=typeof g=="string"?g:typeof X=="string"?X:Xe,ze=(We,Je)=>o.jsx(Fe,{icon:We,label:Je??ut,className:He,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),rt=()=>oe==="dot"?o.jsxs(o.Fragment,{children:[ze(c),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()})]}):b==="center"&&c?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"button__center-group",children:[o.jsx("span",{className:"button__left",children:ze(c)}),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()})]}),q&&o.jsx("span",{className:"button__right",children:ze(d)})]}):o.jsxs(o.Fragment,{children:[c&&o.jsx("span",{className:"button__left",children:ze(c,g??X)}),P&&o.jsx("span",{className:`button__label ${V}`,children:Ke()}),q&&o.jsx("span",{className:"button__right",children:ze(d)})]}),et=!!n&&!W;return o.jsxs(o.Fragment,{children:[o.jsx(et?"a":"button",{...Ue,ref:de,...et?{href:n,target:i,rel:s??(i==="_blank"?"noreferrer":void 0)}:{type:r,disabled:W&&!F},className:Ie,"aria-pressed":Te,"aria-label":ut,"aria-disabled":et&&W?!0:void 0,style:ye,onClick:Re,onMouseLeave:Ve,onPointerEnter:We=>{qe(),!W&&typeof T.onPointerEnter=="function"&&T.onPointerEnter(We)},onPointerLeave:We=>{vt(),!W&&typeof T.onPointerLeave=="function"&&T.onPointerLeave(We)},onFocus:We=>{qe(),!W&&typeof T.onFocus=="function"&&T.onFocus(We)},onBlur:We=>{Ve(We),vt(),!W&&typeof T.onBlur=="function"&&T.onBlur(We)},children:rt()}),ve&&M?o.jsx(Fa,{anchorRect:$e,title:M.title,items:M.items,onClose:Ee}):ve&&Xe?o.jsx(ma,{anchorRect:$e,text:Xe,onClose:Ee}):null]})}function lt(e,t,a){const r=l.useRef(null);return l.useLayoutEffect(()=>{const n=r.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),r}var V4=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";te(V4);var G4=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";te(G4);const Co={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},Ss=new WeakMap;function As(e){if(e)return Ss.get(e)}function Bt(e,t){e&&(e.style.setProperty(Co.title,t.title),e.style.setProperty(Co.description,t.description),Ss.set(e,t))}function Nt(e){e&&(e.style.removeProperty(Co.title),e.style.removeProperty(Co.description),Ss.delete(e))}const Ts={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Bs(){const e=lt(Ts,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var q4=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";te(q4);const Ns={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ds(){const e=lt(Ns,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var Y4=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";te(Y4);const Es={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function js(){const e=lt(Es,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var U4=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";te(U4);const Ls={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ms(){const e=lt(Ls,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var K4=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";te(K4);const Ps={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Rs(){const e=lt(Ps,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var Z4=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";te(Z4);const $s={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Is(){const e=lt($s,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var X4=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";te(X4);const zs={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Os(){const e=lt(zs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var J4=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";te(J4);const Fs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ws(){const e=lt(Fs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var Q4=".ihabdevteam-core-scope .promo-banner-bg-diagonal{background-color:var(--color-lightMain);background-image:repeating-linear-gradient(45deg,var(--color-main-a10) 0,var(--color-main-a10) 10px,transparent 10px,transparent 20px)}";te(Q4);const Hs={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Vs(){const e=lt(Hs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var e5=".ihabdevteam-core-scope .promo-banner-bg-dots{background-color:var(--color-lightSub);background-image:radial-gradient(var(--color-sub-a10) 2px,transparent 2px);background-size:14px 14px}";te(e5);const Gs={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function qs(){const e=lt(Gs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var t5=".ihabdevteam-core-scope .promo-banner-bg-outline{background:var(--color-white);border:1px solid var(--color-whiteLine);box-sizing:border-box}.ihabdevteam-core-scope .promo-banner-bg-outline__dot{background:linear-gradient(45deg,var(--color-main),var(--color-sub));border-radius:50%;bottom:-40px;height:140px;opacity:.12;position:absolute;right:-40px;width:140px}";te(t5);const Ys={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Us(){const e=lt(Ys,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:o.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var a5=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";te(a5);const Ks={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Zs(){const e=lt(Ks,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var o5=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";te(o5);const Xs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Js(){const e=lt(Xs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var r5=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";te(r5);const Qs={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function el(){const e=lt(Qs,Bt,Nt);return o.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Vp=[{key:"main",label:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"soft",label:"\uC18C\uD504\uD2B8",textTone:"dark"},{key:"sub",label:"\uC11C\uBE0C \uCEEC\uB7EC",textTone:"light"},{key:"deep",label:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"softSub",label:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",textTone:"dark"},{key:"warm",label:"\uC6DC(\uAC15\uC870)",textTone:"dark"},{key:"dark",label:"\uB2E4\uD06C",textTone:"light"},{key:"radial",label:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",textTone:"light"},{key:"diagonal",label:"\uB300\uAC01\uC120 \uD328\uD134",textTone:"dark"},{key:"dots",label:"\uB3C4\uD2B8 \uD328\uD134",textTone:"dark"},{key:"outline",label:"\uC544\uC6C3\uB77C\uC778",textTone:"dark"},{key:"success",label:"\uC131\uACF5/\uC644\uB8CC",textTone:"light"},{key:"naver",label:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",textTone:"light"},{key:"instagram",label:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4",textTone:"light"}],tl={main:Bs,soft:Ds,sub:js,deep:Ms,softSub:Rs,warm:Is,dark:Os,radial:Ws,diagonal:Vs,dots:qs,outline:Us,success:Zs,naver:Js,instagram:el};function sn({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:r=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const s=v=>Math.max(a,Math.min(r,Number(v))),[c,d]=l.useState(()=>{try{const v=localStorage.getItem(e),y=v?Number(v):1;return Number.isFinite(y)?y:1}catch{return 1}});l.useEffect(()=>{try{localStorage.setItem(e,String(c))}catch{}},[e,c]);const u=v=>{d(typeof v=="function"?y=>s(v(y)):s(v))},m=()=>u(v=>+(v+n).toFixed(6)),h=()=>u(v=>+(v-n).toFixed(6)),p=c<r-Number.EPSILON,g=c>a+Number.EPSILON,f=Math.round(t*c),b=Math.round(f*i);return{scale:c,setScale:u,increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}}const ln=l.createContext(null);function n5(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}function aa(e){const t=l.useContext(ln),a=i=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(i).matches,[r,n]=l.useState(a(e));return l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const i=window.matchMedia(e),s=d=>n(d.matches),c=i;return c.addEventListener?c.addEventListener("change",s):c.addListener&&c.addListener(s),n(i.matches),()=>{c.removeEventListener?c.removeEventListener("change",s):c.removeListener&&c.removeListener(s)}},[e]),t&&typeof t.mobile=="boolean"&&n5(e)?t.mobile:r}function al(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),t}function ur(e,t){const a=al(t);l.useEffect(()=>{const r=()=>a.current();try{window.addEventListener(e,r)}catch{}return()=>{try{window.removeEventListener(e,r)}catch{}}},[e,a])}const ol=" \xB7 ",Gp=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(ol)?e.split(ol).pop()??e:e})(),rl=l.createContext(!1);function nl(e){const t=l.useContext(rl);l.useEffect(()=>{if(t||typeof e!="string"||!e)return;const a=document.title;return document.title=Gp?`${e}${ol}${Gp}`:e,()=>{document.title=a}},[e,t])}function qp(){const{t:e}=me.useTranslation();return l.useCallback(t=>{if(!t)return"";const a=new Date(t).getTime();if(Number.isNaN(a))return"";const r=Math.floor((Date.now()-a)/864e5);return r<=0?e("myHomework.relativeDay.today","\uC624\uB298"):r===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:r})},[e])}function Yp(e){const[t,a]=l.useState({current:"",next:"",confirm:""}),[r,n]=l.useState(null),[i,s]=l.useState(!1),c=l.useRef(null);l.useEffect(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);const d=l.useCallback(()=>{a({current:"",next:"",confirm:""}),n(null)},[]),u=l.useCallback(async()=>{if(!t.current){n({type:"error",text:"\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694."});return}if(!t.next){n({type:"error",text:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694."});return}if(t.next!==t.confirm){n({type:"error",text:"\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."});return}s(!0);const m=e?await e(t.current,t.next):null;if(s(!1),m){n({type:"error",text:m});return}n({type:"success",text:"\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4."}),a({current:"",next:"",confirm:""}),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>n(null),1500)},[t,e]);return{pw:t,setPw:a,pwMsg:r,setPwMsg:n,pwLoading:i,handleChangePw:u,reset:d}}const il=[{id:"wordData",labelKey:"settings.cache.group.wordData.label",subKey:"settings.cache.group.wordData.sub",keys:["word_data_cache","word_data_version"]},{id:"pairIndex",labelKey:"settings.cache.group.pairIndex.label",subKey:"settings.cache.group.pairIndex.sub",keys:["word_pair_index_v2","word_pair_index_sig_v2"]},{id:"imageCache",labelKey:"settings.cache.group.imageCache.label",subKey:"settings.cache.group.imageCache.sub",keys:["word_image_existence_map_v1"]}];function sl(e){return e.reduce((t,a)=>{try{const r=localStorage.getItem(a);return t+(r?new Blob([r]).size:0)}catch{return t}},0)}function Up(e){return e===0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function Kp(e){const{t}=me.useTranslation(),[a,r]=l.useState({}),[n,i]=l.useState(null),[s,c]=l.useState(null),[d,u]=l.useState(null),m=l.useCallback(()=>{const p={};il.forEach(g=>{p[g.id]=sl([...g.keys])}),r(p),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(g=>{u({usage:g.usage??0,quota:g.quota??0})}).catch(()=>{})},[]);l.useEffect(()=>{m()},[m]);const h=l.useCallback(async p=>{i(p);try{p==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):p==="pairIndex"?_i():p==="imageCache"&&di(),m(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[m,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:s,setConfirmCacheId:c,storageEstimate:d,refreshCacheSizes:m,handleClearCache:h}}function Zp(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),i=l.useCallback(()=>{const s=Za();if(s){const d=Object.values(s),u=d.filter(m=>m.cho.length+m.jung.length+m.jong.length>0).length;a({matched:u,total:d.length})}else a(null);const c=Pr();n(c?{exists:c.exists,total:c.total}:null)},[]);return l.useEffect(()=>{i();const s=setTimeout(i,1e3);return()=>clearTimeout(s)},[e?.length,i]),{pairStats:t,imgStats:r,setPairStats:a,setImgStats:n,refreshStats:i}}function Xp(e,t=[]){const[a,r]=l.useState(t),[n,i]=l.useState(null),[s,c]=l.useState(!1),[d,u]=l.useState(e),m=l.useRef(s);l.useEffect(()=>{m.current=s});const h=l.useRef(null);l.useEffect(()=>{if(m.current)return;const y=h.current;y!==null&&y.length===t.length&&y.every((_,C)=>_===t[C])||(h.current=t,r(t))},[t]);const p=l.useCallback(y=>{i(y),c(!1),u({...y})},[]),g=l.useCallback(()=>c(!0),[]),f=l.useCallback(()=>c(!1),[]),b=l.useCallback((y,_)=>{r(y),i(_),c(!1)},[]),v=l.useCallback(y=>{r(_=>_.filter(C=>C!==y)),i(null)},[]);return{list:a,setList:r,selected:n,setSelected:i,isEditing:s,setIsEditing:c,editForm:d,setEditForm:u,openDetail:p,startEditing:g,cancelEditing:f,commitEdit:b,remove:v}}const _o=()=>{const e=new Date;return{year:String(e.getFullYear()),month:String(e.getMonth()+1).padStart(2,"0"),day:String(e.getDate()).padStart(2,"0")}},i5={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Jp(e=[]){const{list:t,setList:a,selected:r,setSelected:n,isEditing:i,setIsEditing:s,editForm:c,setEditForm:d,openDetail:u,commitEdit:m}=Xp(i5,e),{year:h,month:p,day:g}=_o(),[f,b]=l.useState({year:h,month:p,day:g,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:f,setVisitForm:b,setVisit:v=>y=>b(_=>({..._,[v]:y})),selectedVisit:r,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:s,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:v=>{a(x=>[f,...x]);const{year:y,month:_,day:C}=_o();b({year:y,month:_,day:C,hour:"09",minute:"00",memo:""}),v?.()},handleVisitEditSave:()=>{m(v=>v.map(y=>y===r?c:y),c)},addVisit:v=>{a(y=>[v,...y])},removeVisit:v=>{a(y=>y.filter(_=>_!==v))},revertVisitEdit:(v,y)=>{a(_=>_.map(C=>C===y?v:C)),n(_=>_===y?v:_)}}}const Qp=e=>`${e.year.padStart(4,"0")}-${e.month.padStart(2,"0")}-${e.day.padStart(2,"0")} ${e.hour.padStart(2,"0")}:${e.minute.padStart(2,"0")}`,cn=e=>[...e].sort((t,a)=>{const r=Qp(t),n=Qp(a);return r<n?-1:r>n?1:0}),s5={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function eh(e,t=[]){const a=l.useMemo(()=>cn(t),[t]),{list:r,setList:n,selected:i,setSelected:s,isEditing:c,setIsEditing:d,editForm:u,setEditForm:m,openDetail:h,commitEdit:p,remove:g}=Xp(s5,a),[f,b]=l.useState([]),{year:v,month:y,day:_}=_o(),[C,x]=l.useState({year:v,month:y,day:_,hour:"09",minute:"00",memo:""}),k=M=>D=>x(H=>({...H,[M]:D})),w=M=>{n(J=>cn([...J,C]));const{year:D,month:H,day:ee}=_o();x({year:D,month:H,day:ee,hour:"09",minute:"00",memo:""}),M?.()},S=()=>{p(M=>cn(M.map(D=>D===i?u:D)),u)},j=l.useCallback(M=>{g(M)},[g]),A=l.useCallback(M=>{e({year:M.year,month:M.month,day:M.day,hour:M.hour,minute:M.minute,memo:M.memo}),g(M)},[e,g]),B=l.useCallback(M=>{n(D=>D.filter(H=>H!==M)),b(D=>[M,...D]),s(null)},[n,s]),F=l.useCallback(M=>{n(D=>cn([...D,M]))},[n]),R=l.useCallback(M=>{n(D=>D.filter(H=>H!==M))},[n]),E=l.useCallback((M,D)=>{n(H=>H.map(ee=>ee===D?M:ee)),s(H=>H===D?M:H)},[n,s]);return{scheduleList:r,noShowList:f,addSchedule:F,removeSchedule:R,revertScheduleEdit:E,scheduleForm:C,setScheduleForm:x,setSchedule:k,selectedSchedule:i,setSelectedSchedule:s,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:m,openScheduleDetail:h,handleScheduleSave:w,handleScheduleEditSave:S,handleScheduleDelete:j,handleScheduleToVisit:A,handleScheduleNoVisit:B}}const ll=[{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"}];function th(e){const[t,a]=l.useState(""),[r,n]=l.useState("25"),[i,s]=l.useState("all"),[c,d]=l.useState(1),u=l.useMemo(()=>e.filter(({item:g,status:f})=>!(t&&!g.memo.includes(t)||i!=="all"&&f!==i)),[e,t,i]),m=Math.max(1,Math.ceil(u.length/Number(r))),h=Math.min(c,m),p=l.useMemo(()=>u.slice((h-1)*Number(r),h*Number(r)),[u,h,r]);return{vapSearch:t,setVapSearch:a,vapPageSize:r,setVapPageSize:n,vapStatus:i,setVapStatus:s,vapPage:h,setVapPage:d,vapFiltered:u,vapTotal:m,vapPageItems:p}}function cl(e,t){const{t:a}=me.useTranslation(),[r,n]=l.useState("25"),[i,s]=l.useState(1),[c,d]=l.useState(t);c!==t&&(d(t),i!==1&&s(1));const u=l.useMemo(()=>ll.map(g=>({...g,label:a("visits.showN",{n:g.value})})),[a]),m=l.useCallback(g=>{n(g),s(1)},[]),h=Math.max(1,Math.ceil(e.length/Number(r))),p=Math.min(i,h);return{pageRows:l.useMemo(()=>e.slice((p-1)*Number(r),p*Number(r)),[e,p,r]),pageSizeProps:{options:u,value:r,onChange:m},paginationProps:{page:p,total:h,onChange:s},setPage:s}}function dl(){const[e,t]=l.useState(null),a=l.useCallback(n=>{t(i=>i?.key===n?{key:n,asc:!i.asc}:{key:n,asc:!0})},[]),r=l.useCallback((n,i)=>({label:n,sortDir:e?.key===i?e.asc?"asc":"desc":null,onClick:()=>a(i)}),[e,a]);return{\uC815\uB82C:e,\uCE78:r}}function ah(){const[e,t]=l.useState(!1),[a,r]=l.useState("\uC88C"),[n,i]=l.useState({\uC88C:null,\uC6B0:null}),[s,c]=l.useState({\uC88C:[],\uC6B0:[]}),[d,u]=l.useState(!1),[m,h]=l.useState("\uC88C"),p=l.useCallback(f=>{const b=f.direction;i(v=>({...v,[b]:f})),c(v=>({...v,[b]:[f,...v[b]]})),t(!1)},[]),g=l.useCallback(f=>{const b=f.direction;i(v=>({...v,[b]:f})),u(!1)},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:r,devices:n,setDevices:i,deviceHistory:s,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:m,setListForSide:h,handleDeviceSubmit:p,handleSelectFromList:g}}const Dt="\uC804\uCCB4";function ul(){const{t:e}=me.useTranslation();return l.useMemo(()=>({difficulty:e("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:e("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),syllable5plus:e("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1"),partOfSpeech:e("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:e("wordSearch.filter.wordType","\uC720\uD615"),posMap:{[e("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)")]:["\uBA85","\uC218"],[e("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)")]:["\uB3D9","\uD615"],[e("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")]:["\uBD80","\uAD00"]},typeMap:{[e("wordSearch.filter.type.native","\uACE0\uC720\uC5B4")]:"\uACE0\uC720",[e("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4")]:"\uD55C\uC790",[e("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4")]:"\uC678\uB798",[e("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")]:"\uD63C\uC885"}}),[e])}function pl(e,t,a){return{label:t.difficulty,items:[1,2,3,4].map(r=>e("wordSearch.filter.grade",{n:r})),multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function hl(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function ml(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function oh(e,t){return{label:t.syllables,items:[e("wordSearch.filter.syllable",{n:1}),e("wordSearch.filter.syllable",{n:2}),e("wordSearch.filter.syllable",{n:3}),e("wordSearch.filter.syllable",{n:4}),t.syllable5plus],multiple:!0,allOption:!0}}function rh(e,t){const a=[e("wordPairs.filter.onlyHasImage","\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC")];return t?.includeStructure&&a.push(e("wordPairs.filter.onlySameStructure","\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC")),{label:e("wordPairs.filter.selectLabel","\uC120\uD0DD"),items:a,multiple:!0,labelAction:t?.labelAction,labelInfo:t?.labelInfo}}function nh(e,t){const{label:a,headValue:r,midValue:n,tailValue:i,includeMid:s=!0,headDisabled:c,midDisabled:d,tailDisabled:u,allOptionDisabled:m,groupLabel:h,labelAction:p}=t;return{label:a,...h?{groupLabel:h}:{},...p?{labelAction:p}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...m?{allOptionDisabled:m}:{},items:[{value:r,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...s?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:d}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:u}]}}function ih(e,t,a){if(t===Dt){const{[a]:i,...s}=e;return s}const r=e[a]??[],n=r.includes(t)?r.filter(i=>i!==t):[...r,t];if(n.length===0){const{[a]:i,...s}=e;return s}return{...e,[a]:n}}Object.fromEntries(Object.entries(Hw).map(([e,{nucleus:t}])=>[e,t]));const l5={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},c5={"\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)":["\uBA85","\uC218"],"\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)":["\uB3D9","\uD615"],"\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)":["\uBD80","\uAD00"]},d5={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:c5,typeMap:l5};function u5(e,t,a=d5){const r=t[a.difficulty];if(r?.length&&!r.some(c=>e.grade===c.replace(/\D/g,"")))return!1;const n=t[a.syllables];if(n?.length){const c=e.syllables??0;if(!n.some(d=>d===a.syllable5plus?c>=5:c===parseInt(d)))return!1}const i=t[a.partOfSpeech];if(i?.length&&!i.flatMap(c=>a.posMap[c]??[c]).some(c=>(e.pos??"").includes(c)))return!1;const s=t[a.wordType];return!(s?.length&&!s.some(c=>e.wordType===a.typeMap[c]))}const Aa=(e,t)=>t.map(a=>({jamos:[a],tooltip:e})),wt=(e,t)=>({jamos:[...e],tooltip:t}),bl={cho:[Aa("\uC591\uC21C\uC74C",["\u3142","\u3143","\u314D","\u3141"]),Aa("\uCE58\uC870\uC74C",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Aa("\uCE58\uC870\uC74C",["\u3145","\u3146"]),Aa("\uACBD\uAD6C\uAC1C\uC74C",["\u3148","\u3149","\u314A"]),Aa("\uC5F0\uAD6C\uAC1C\uC74C",["\u3131","\u3132","\u314B"]),Aa("\uC131\uBB38\uC74C",["\u314E"])],jung:[[wt("\u3163","\uC804\uC124 \uACE0\uBAA8\uC74C"),wt("\u315F","\uC804\uC124 \uACE0\uBAA8\uC74C \xB7 w\uD65C\uC74C"),wt("\u3162","\uC804\uC124 \uACE0\uBAA8\uC74C \xB7 \u0270\uD65C\uC74C")],[wt("\u3161","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C")],[wt("\u315C","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"),wt("\u3160","\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C \xB7 j\uD65C\uC74C")],[wt("\u3154\u3150","\uC804\uC124 \uC911\uBAA8\uC74C"),wt("\u3156\u3152","\uC804\uC124 \uC911\uBAA8\uC74C \xB7 j\uD65C\uC74C"),wt("\u3159\u315A\u315E","\uC804\uC124 \uC911\uBAA8\uC74C \xB7 w\uD65C\uC74C")],[wt("\u3153","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"),wt("\u3155","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C \xB7 j\uD65C\uC74C"),wt("\u315D","\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C \xB7 w\uD65C\uC74C")],[wt("\u3157","\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"),wt("\u315B","\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C \xB7 j\uD65C\uC74C")],[wt("\u314F","\uC800\uBAA8\uC74C"),wt("\u3151","\uC800\uBAA8\uC74C \xB7 j\uD65C\uC74C"),wt("\u3158","\uC800\uBAA8\uC74C \xB7 w\uD65C\uC74C")]],jong:[Aa("\uC591\uC21C\uC74C",["\u3142","\u3141"]),Aa("\uCE58\uC870\uC74C",["\u3137","\u3134","\u3139"]),Aa("\uC5F0\uAD6C\uAC1C\uC74C",["\u3131","\u3147"])]},p5=[...Ze],h5=[...dt],m5=gt.filter(e=>e!==""),ba=e=>e===oa?[]:Array.from(e),oa="__NO_CODA__",sh=[1,2,3,4],ra=5,b5=12,lh="SYL_",gl=e=>`${lh}${e}`,g5=e=>Number(e.slice(lh.length));function dn(e){return e>=ra?Array.from({length:b5-ra+1},(t,a)=>ra+a):[e]}const ch={cho:p5,jung:h5,jong:m5},fl=e=>e.map(t=>t.map(({jamos:a,tooltip:r})=>({v:a.join(""),tooltip:r}))),vl={cho:fl(bl.cho),jung:fl(bl.jung),jong:fl(bl.jong)},dh={};vl.jung.flat().forEach(({v:e})=>{for(const t of ba(e))dh[t]=e});const f5=new Set(vl.cho.flat().map(e=>e.v));function yl(e,t){return e==="cho"?f5.has(t)?t:null:e==="jung"?dh[t]??t:Gr(t)}function xl(e,t,a){if(e==="jung"){const r=ba(t);return a&&r.includes(a)?a:r[0]??t}return t}function Cl(e,t,a){const r=(n,i)=>i?n==="jong"&&i===oa?oa:t==="pron"?yl(n,i):xl(n,i,n==="jung"?a:null):null;return{...e,cho:r("cho",e.cho),jung:r("jung",e.jung),jong:r("jong",e.jong)}}const un={cho:null,jung:null,jong:null,syllable:null},v5="wt_filter",uh=e=>`wt_filter_${e}`;function ph(e){try{const t=localStorage.getItem(uh(e))??localStorage.getItem(v5);if(t)return JSON.parse(t)}catch{}return null}function y5(e){const t=e;return t?.composition?{cho:t.composition.cho??null,jung:t.composition.jung??null,jong:t.composition.jong??null,syllable:t.composition.syllable??null}:t?.choseong?{...un,cho:t.choseong}:un}function hh(e,t,a){const{t:r,i18n:n}=me.useTranslation(),[i]=l.useState(()=>a?.resetOnMount?null:ph(e)),s=i?.contrastCount,c=typeof s=="number"&&Number.isFinite(s)?s:1,[d,u]=l.useState(Math.min(5,Math.max(1,c))),[m,h]=l.useState(i?.phonemeView==="pron"?"pron":i?.phonemeView==="direct"?"direct":"char"),[p,g]=l.useState(()=>y5(i)),f=l.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:oa,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?oa:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);l.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||g(I=>I.cho||I.jung||I.syllable!=null||I.jong?I:f())},[]);const b=l.useMemo(()=>ft(p.cho)||ft(p.jung)||ft(p.jong)?"count":"random",[p.cho,p.jung,p.jong]),v=l.useRef(m==="char"?p.jung:null);l.useEffect(()=>{m==="char"&&(v.current=p.jung)},[m,p.jung]);const[y,_]=l.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[C,x]=l.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[k,w]=l.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),[S,j]=l.useState(Array.isArray(i?.posFilter)?i.posFilter:[]),[A,B]=l.useState(Array.isArray(i?.wordTypeFilter)?i.wordTypeFilter:[]),F=l.useRef(a?.resetKey);l.useEffect(()=>{F.current!==a?.resetKey&&(F.current=a?.resetKey,g(f()),_(!1),x(!1),w([]),j([]),B([]),u(1))},[a?.resetKey]);const R=ul(),[E,M]=l.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[D,H]=l.useState(!1),[ee,J]=l.useState(null),ae=1,T=Math.max(1,[p.cho,p.jung,p.jong].filter(Boolean).length);l.useEffect(()=>{d<T&&u(T)},[T,d]);const[L,$]=l.useState(e);l.useEffect(()=>{if(L!==e){if(!a?.resetOnMount){const I=ph(e),Z=typeof I?.contrastCount=="number"&&Number.isFinite(I.contrastCount)?I.contrastCount:1;u(Math.min(5,Math.max(1,Z))),g(I?.composition??f()),_(I?.excludeNoImage??!0),x(I?.sameStructureOnly??!0),h(I?.phonemeView==="pron"?"pron":"char"),w(Array.isArray(I?.gradeFilter)?I.gradeFilter:[]),j(Array.isArray(I?.posFilter)?I.posFilter:[]),B(Array.isArray(I?.wordTypeFilter)?I.wordTypeFilter:[])}$(e)}},[e,L,a?.resetOnMount]),l.useEffect(()=>{if(!a?.resetOnMount&&L===e)try{localStorage.setItem(uh(e),JSON.stringify({contrastCount:d,composition:p,excludeNoImage:y,sameStructureOnly:C,phonemeView:m,gradeFilter:k,posFilter:S,wordTypeFilter:A}))}catch{}},[a?.resetOnMount,e,L,d,p,y,C,m,k,S,A]);const[z,V]=l.useState(0);ur("wordpool:update",()=>V(I=>I+1));const X=l.useRef(n.language);l.useEffect(()=>{X.current!==n.language&&(X.current=n.language,V(I=>I+1))},[n.language]),l.useEffect(()=>{if(!t.choseong)return;let I=!1;return L4({difficulty:b,excludeNoImage:y}).then(Z=>{I||(M(Z),Z.cho.size+Z.jung.size+Z.jong.size>0&&H(!0))}).catch(()=>{I||M({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{I=!0}},[t.choseong,b,y,z]),l.useEffect(()=>{let I=!1;const Z=p,Q=Z.cho?ba(Z.cho):null,ve=Z.jung?ba(Z.jung):null,De=Z.jong===oa,$e=De?null:Z.jong?ba(Z.jong):null,Le=Z.syllable!=null?dn(Z.syllable):null,Ee=!!(Q||ve||$e||De||Le);return j4({difficulty:t.difficulty?b:null,contrastCount:t.difficulty?d:1,composition:t.choseong&&Ee?{cho:Q,jung:ve,jong:$e,jongNone:De,syllable:Le}:null,excludeNoImage:y,sameStructureOnly:C,phonemeView:m==="pron"?"pron":"char",grade:k.length>0?k:null}).then(je=>{I||J(je)}).catch(()=>{I||J(null)}),()=>{I=!0}},[t.choseong,t.difficulty,b,d,p,m,y,C,z,k]),l.useEffect(()=>{D&&g(I=>{const Z={...I};let Q=!1;return["cho","jung","jong"].forEach(ve=>{const De=I[ve];!De||De===oa||ba(De).some($e=>E[ve].has($e))||(Z[ve]=null,Q=!0)}),I.syllable!=null&&t.fixedSyllable==null&&(I.syllable>=ra?[...E.syllable].some(ve=>ve>=ra)||(Z.syllable=null,Q=!0):(!E.syllable.has(I.syllable)||I.syllable<ae)&&(Z.syllable=null,Q=!0)),Q?Z:I})},[E,D,ae,t.fixedSyllable]);const W=l.useMemo(()=>{const I=Z=>{const Q=new Set;for(const ve of ch[Z])E[Z].has(ve)&&Q.add(ve);return Q};return{cho:I("cho"),jung:I("jung"),jong:I("jong")}},[E]),Y=l.useMemo(()=>({exact:new Set(sh.filter(I=>E.syllable.has(I))),min:[...E.syllable].some(I=>I>=ra)}),[E]),O=l.useMemo(()=>({diffPhonemeCount:r("training.contrast.diffPhonemeCount",{defaultValue:"\uB2E4\uB978 \uC74C\uC18C\uC758 \uCD1D \uAC2F\uC218"}),composition:r("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:r("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:r("wordPairs.onset","\uCD08\uC131"),vowel:r("wordPairs.vowel","\uBAA8\uC74C"),coda:r("wordPairs.coda","\uC885\uC131"),phonemeGroup:r("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:r("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:r("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:r("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:r("training.filter.random","\uBB34\uC791\uC704"),exclude:r("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:r("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:r("common.none","\uC5C6\uC74C"),noImage:r("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:r("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:r("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:r("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:r("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:r("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[r]),ie=l.useMemo(()=>({[O.trainOnset]:"cho",[O.trainVowel]:"jung",[O.trainCoda]:"jong"}),[O]),ue=l.useCallback((I,Z)=>({title:Z,items:I}),[]),fe=l.useMemo(()=>[r("training.filter.excludeImageInfo",{defaultValue:"\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."}),r("training.filter.sameStructureInfo",{defaultValue:"\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."})],[r]),ye=l.useMemo(()=>{const I=[];if(t.choseong){const Z={value:oa,displayLabel:O.codaExclude},Q=t.fixedNoCoda===!0,ve=(De,$e)=>{const Le=Q&&De==="jong",Ee={label:$e,groupLabel:O.phonemeGroup,allOption:!t.requireSyllable,allLabel:O.noLimit,allOptionDisabled:Le};if(m==="pron"){const Te=vl[De].map(Ie=>Ie.map(({v:He,tooltip:be})=>{const Ke=ba(He),Ve=Le||!Ke.some(Re=>E[De].has(Re));return Ke.length>1?{value:He,labels:Ke,tooltip:be,disabled:Ve}:{value:He,tooltip:be,disabled:Ve}}));return De==="jong"&&!t.requireCoda&&Te.unshift([Z]),{...Ee,groups:Te}}const je=ch[De].map(Te=>!Le&&W[De].has(Te)?Te:{value:Te,disabled:!0});return{...Ee,items:De==="jong"&&!t.requireCoda?[Z,...je]:je}};I.push(ve("cho",O.trainOnset)),I.push(ve("jung",O.trainVowel)),I.push(ve("jong",O.trainCoda))}if(I.push({...pl(r,R,{labelInfo:ue([r("wordPairs.filter.difficultyInfo",{defaultValue:"\uAD6D\uB9BD\uAD6D\uC5B4\uC6D0\uC758 \uAE30\uCD08 \uC5B4\uD718 \uB4F1\uAE09\uC774 \uACB0\uACFC\uC5D0 \uBC18\uC601\uB429\uB2C8\uB2E4."})])}),label:O.gradeLabel}),t.partOfSpeech&&I.push(hl(R)),t.wordType&&I.push(ml(R)),t.choseong||t.fixedSyllable!=null){const Z=t.fixedSyllable;I.push({label:O.syllableCount,items:[...sh.map(Q=>({value:gl(Q),displayLabel:r("wordPairs.syllableN",{n:Q,defaultValue:"{{n}}\uC74C\uC808"}),disabled:Z!=null?Q!==Z:!Y.exact.has(Q)||Q<ae})),{value:gl(ra),displayLabel:r("wordPairs.syllableNPlus",{n:ra,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:Z!=null?ra!==Z:!Y.min}],allOption:!0,allOptionDisabled:Z!=null})}return t.choseong?I.push({label:O.exclude,displayLabel:O.selectLabel,multiple:!0,items:[O.excludeImage,O.sameStructure],labelInfo:ue(fe)}):I.push({label:O.exclude,displayLabel:O.selectLabel,multiple:!0,items:[O.excludeImage],labelInfo:ue([fe[0]])}),I},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,ae,W,E,m,Y,O,r,ue,fe,R]),pe={...t.difficulty?{[O.diffPhonemeCount]:String(d)}:{},...(t.choseong||t.fixedSyllable!=null)&&p.syllable!=null?{[O.syllableCount]:gl(p.syllable)}:{},...t.choseong&&p.cho?{[O.trainOnset]:p.cho}:{},...t.choseong&&p.jung?{[O.trainVowel]:p.jung}:{},...t.choseong&&p.jong?{[O.trainCoda]:p.jong}:{},[O.exclude]:[...y?[O.excludeImage]:[],...C?[O.sameStructure]:[]],[O.gradeLabel]:k.map(I=>r("wordSearch.filter.grade",{n:Number(I),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[R.partOfSpeech]:S}:{},...t.wordType?{[R.wordType]:A}:{}},P=l.useCallback((I,Z)=>{if(Z===O.diffPhonemeCount){const Q=Number(I);Q>=1&&u(Q)}else if(Z===O.exclude)I===O.excludeImage?_(Q=>!Q):I===O.sameStructure&&x(Q=>!Q);else if(Z===O.syllableCount)g(Q=>{if(!I||I===Dt)return{...Q,syllable:null};const ve=g5(I);return{...Q,syllable:Q.syllable===ve?null:ve}});else if(Z===O.gradeLabel){if(!I||I===Dt){w([]);return}const Q=I.replace(/\D/g,"");w(ve=>ve.includes(Q)?ve.filter(De=>De!==Q):[...ve,Q])}else if(Z===R.partOfSpeech){if(!I||I===Dt){j([]);return}j(Q=>Q.includes(I)?Q.filter(ve=>ve!==I):[...Q,I])}else if(Z===R.wordType){if(!I||I===Dt){B([]);return}B(Q=>Q.includes(I)?Q.filter(ve=>ve!==I):[...Q,I])}else{const Q=ie[Z];if(!Q)return;g(ve=>t.requireSyllable?I&&I!==Dt?{...ve,[Q]:I}:ve:!I||I===Dt||ve[Q]===I?{...ve,[Q]:null}:{...ve,[Q]:I})}},[O,ie,R,t.requireSyllable]),q=l.useCallback(I=>!t.partOfSpeech&&!t.wordType?!0:u5(I,{...t.partOfSpeech?{[R.partOfSpeech]:S}:{},...t.wordType?{[R.wordType]:A}:{}},R),[t.partOfSpeech,t.wordType,S,A,R]),oe=l.useCallback(I=>{I!==m&&(I!=="direct"&&m!=="direct"&&g(Z=>Cl(Z,I,v.current)),h(I))},[m]),ge=l.useCallback(()=>({composition:p,contrastCount:d,excludeNoImage:y,sameStructureOnly:C,phonemeView:m,gradeFilter:k}),[p,d,y,C,m,k]),de=l.useCallback(I=>{g(I.composition),u(I.contrastCount),_(I.excludeNoImage),x(I.sameStructureOnly??!0),h(I.phonemeView),w(Array.isArray(I.gradeFilter)?I.gradeFilter:[])},[]);return{difficulty:b,contrastCount:d,composition:p,choseong:p.cho,excludeNoImage:y,sameStructureOnly:C,gradeFilter:k,posFilter:S,wordTypeFilter:A,matchesWordAttributes:q,poolVersion:z,filterSections:ye,filterSelected:pe,handleFilterSelect:P,phonemeView:m,setPhonemeView:oe,phonemeGroupLabel:O.phonemeGroup,wordCount:ee,getFilterSnapshot:ge,restoreFilterSnapshot:de}}function x5(e){const t=c=>c?ba(c):null,a=t(e.cho),r=t(e.jung),n=e.jong===oa,i=n?null:t(e.jong),s=e.syllable!=null?dn(e.syllable):null;return!a&&!r&&!i&&!n&&!s?null:{cho:a,jung:r,jong:i,jongNone:n,syllable:s}}function mh(e,t,a,r,n,i,s=!0,c="char",d=[]){const[u,m]=l.useState({}),[h,p]=l.useState(!1),{cho:g=null,jung:f=null,jong:b=null,syllable:v=null}=r??{},y=d.length>0?d.slice().sort().join(","):"";return l.useEffect(()=>{i>0&&E4(n).catch(()=>{})},[i,n]),l.useEffect(()=>{let _=!1;return p(!0),(async()=>{const C=x5({cho:g,jung:f,jong:b,syllable:v}),x=`${g??""}_${f??""}_${b??""}_${v??""}_${y}`,k={};await Promise.all(e.map(async w=>{const S=fo[w.key];try{const j=await Dp(w.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?C:null,count:5,excludeNoImage:n,sameStructureOnly:s,phonemeView:c,grade:d.length>0?d:null});j&&j.length>0?k[w.key]={id:`wt-${w.key}-${t}-${x}-${Date.now()}`,name:w.label,training_type:w.key,category_main_code:"WORD",iconColor:w.color,subTitle:w.subTitle,items:j,itemCount:j.length}:k[w.key]={id:`wt-${w.key}-empty`,name:w.label,training_type:w.key,category_main_code:"WORD",iconColor:w.color,subTitle:w.subTitle,items:[],itemCount:0,__empty:!0}}catch{k[w.key]=null}})),_||(m(k),p(!1))})(),()=>{_=!0}},[t,a,g,f,b,v,n,s,c,i,y]),{perTypeData:u,generating:h}}function C5(e){let t=2166136261;for(let a=0;a<e.length;a++)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return t>>>0}function _5(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let a=Math.imul(t^t>>>15,1|t);return a=a+Math.imul(a^a>>>7,61|a)^a,((a^a>>>14)>>>0)/4294967296}}const pn=Jt;function _l(e,t){const a=t?_5(C5(t)):Math.random;return{LISTEN_IN_NOISE:pn(Ra,Math.max(0,e.LISTEN_IN_NOISE||0),a),SHORT_STORY:pn($a,Math.max(0,e.SHORT_STORY||0),a),LONG_STORY:pn(Ia,Math.max(0,e.LONG_STORY||0),a),ORDERING_SENTENCE:pn(za,Math.max(0,e.ORDERING_SENTENCE||0),a)}}function bh(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const w5={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function gh(e=!1,t=w5,a){const r=ka(Date.now()),n=ka(Date.now()-864e5),i=`${a??""}|${r}`,s=`${a??""}|${n}`;return Ra.length>0||$a.length>0||Ia.length>0||za.length>0?{today:_l(t,i),yesterday:_l(t,s)}:{today:_l(t,i),yesterday:null}}function fh(e){const t=l.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=l.useRef(null),[r,n]=l.useState(!1),[i,s]=l.useState(!1),[c,d]=l.useState(0),[u,m]=l.useState(!1);l.useEffect(()=>{let p=!1,g,f=0;const b=40,v=()=>{g!==void 0&&(clearInterval(g),g=void 0)};let y=!1;try{const x=new URLSearchParams(window.location.search),k=x.get("forceRefresh")||x.get("force");y=k==="1"||k==="true"}catch{}const _=x=>{t.current=x.today,a.current=x.yesterday,n(!0),m(!0),d(k=>k+1),p=!0,v()},C=async()=>{if(p)return;if(!y){const k=gh(!1,void 0,e);if(bh(k.today)){_(k);return}}try{await xs(3e3)}catch{}if(p)return;const x=gh(y,void 0,e);if(bh(x.today)){_(x);return}++f>=b&&(n(!0),m(!1),p=!0,v())};return C(),g=setInterval(C,250),()=>{p=!0,v()}},[e]);const h=l.useCallback(p=>{const g=i?a.current:t.current,f=i?t.current:a.current;return g?.[p]?.length?g[p]:f?.[p]?.length?f[p]:void 0},[i,c]);return{loaded:r,hasData:u,showYesterday:i,setShowYesterday:s,getTrainingPerType:h}}const wo=[];let hn=!1;function vh(e){if(e.key!=="Escape"||e.defaultPrevented)return;const t=wo[wo.length-1];t&&(e.stopPropagation(),t())}function wl(e){return wo.push(e),!hn&&typeof document<"u"&&(document.addEventListener("keydown",vh),hn=!0),()=>{const t=wo.lastIndexOf(e);t>=0&&wo.splice(t,1),wo.length===0&&hn&&typeof document<"u"&&(document.removeEventListener("keydown",vh),hn=!1)}}function kl(e,t=!0){const a=al(e);l.useEffect(()=>{if(t)return wl(()=>{a.current?.()})},[t,a])}const mn=(e,t)=>`${e}:${t??1}`,Sl=new Map;function yh(e,t){const[a,r]=l.useState(0),n=e.map(i=>mn(i.word,i.homonum)).join("|");return l.useEffect(()=>{const i=(n?n.split("|"):[]).filter(d=>!Sl.has(d));if(i.length===0)return;let s=!1;const c=Array.from(new Set(i.map(d=>d.slice(0,d.lastIndexOf(":")))));return t(c).then(d=>{if(!(s||d.length===0)){for(const u of d)u.Meaning&&Sl.set(mn(u.Word,u.Homonum??void 0),u.Meaning);r(u=>u+1)}}),()=>{s=!0}},[n,t]),l.useMemo(()=>{const i=n?n.split("|"):[],s=new Map;for(const c of i){const d=Sl.get(c);d!=null&&s.set(c,d)}return s},[n,a])}function ko(){const[e,t]=l.useState(null),a=l.useCallback(i=>t(i.getBoundingClientRect()),[]),r=l.useCallback(()=>t(null),[]),n=l.useCallback(i=>{const s=i.getBoundingClientRect();t(c=>c?null:s)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:r,toggleAt:n}}function xh(e){const[t,a]=l.useState(null),[r,n]=l.useState(null),i=l.useRef(null);l.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const s=l.useCallback((d,u)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),n(u)},e)},[e]),c=l.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:r,openAfterDelay:s,close:c}}function Ch(e,t,a){const r=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/r)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:l.useMemo(()=>e.slice((i-1)*r,i*r),[e,i,r]),totalPages:n,curPage:i}}function bn(e="warning"){const[t,a]=l.useState(""),[r,n]=l.useState(e),[i,s]=l.useState(0),c=l.useCallback((h,p)=>{n(p),a(h),s(g=>g+1)},[]),d=l.useCallback(h=>c(h,"warning"),[c]),u=l.useCallback(h=>c(h,"normal"),[c]),m=l.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:r,toastKey:i,showToast:c,showWarning:d,showNormal:u,clearToast:m}}const pr={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},hr=pr.blue,gn=pr.green,mr=pr.amber,fn=pr.purple,k5=pr.pink,S5=[{key:"discrimination",label:"\uBCC0\uBCC4\uD6C8\uB828",disc:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0, \uB610\uB294 \uD2B9\uC815 \uC18C\uB9AC\uB97C \uAD6C\uBCC4\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"ear",types:[{key:"SAME_SOUND_PICK",label:"\uAC19\uC740 \uC18C\uB9AC \uACE0\uB974\uAE30",icon:"volume-2",color:hr,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC640 \uAC19\uC740 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"SAME_OR_DIFF",label:"\uAC19\uC740\uC9C0 \uB2E4\uB978\uC9C0 \uB9DE\uD788\uAE30",icon:"diff",color:hr,subTitle:"\uB450 \uC18C\uB9AC\uAC00 \uAC19\uC740\uC9C0, \uB2E4\uB978\uC9C0 \uAD6C\uBD84\uD558\uC138\uC694."},{key:"HEAR_AND_PICK_SAME",label:"\uC77C\uCE58\uD558\uB294 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"headphones",color:hr,subTitle:"\uB4E4\uC740 \uC18C\uB9AC\uC758 \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"HEAR_AND_PICK_INCLUDED",label:"\uD55C \uC74C\uC808 \uD3EC\uD568 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"scan-search",color:hr,subTitle:"\uB4E4\uC740 \uC74C\uC808\uC774 \uD3EC\uD568\uB41C \uB2E8\uC5B4 \uCE74\uB4DC\uB97C \uACE0\uB974\uC138\uC694."},{key:"STARTS_WITH_SAME_SOUND",label:"\uCCAB \uC74C\uC808\uC774 \uAC19\uC740 \uB2E8\uC5B4 \uB9DE\uD788\uAE30",icon:"play-circle",color:hr,subTitle:"\uB4E4\uC740 \uB2E8\uC5B4\uC640 \uAC19\uC740 \uC18C\uB9AC\uB85C \uC2DC\uC791\uD558\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB974\uC138\uC694."}]},{key:"synthesis",label:"\uD569\uC131\uD6C8\uB828",disc:"\uB450 \uAC1C \uC774\uC0C1\uC758 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uD569\uCCD0 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"git-merge",types:[{key:"MERGE_2_SYLLABLES",label:"\uC74C\uC808 2\uAC1C \uD569\uCE58\uAE30",icon:"link-2",color:gn,subTitle:"\uB450 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_SYLLABLES",label:"\uC74C\uC808 3\uAC1C \uD569\uCE58\uAE30",icon:"git-merge",color:gn,subTitle:"\uC138 \uC74C\uC808\uC744 \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_2_PHONEMES",label:"\uC74C\uC18C 2\uAC1C \uD569\uCE58\uAE30",icon:"combine",color:gn,subTitle:"\uB450 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"MERGE_3_PHONEMES",label:"\uC74C\uC18C 3\uAC1C \uD569\uCE58\uAE30",icon:"braces",color:gn,subTitle:"\uC138 \uC74C\uC18C\uB97C \uD569\uCE58\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"}]},{key:"deletion",label:"\uD0C8\uB77D\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC5D0\uC11C \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uC81C\uAC70\uD588\uC744 \uB54C \uB0A8\uB294 \uC18C\uB9AC\uB97C \uC778\uC2DD\uD558\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"scissors",types:[{key:"DROP_1_FROM_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"scissors",color:mr,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_1_FROM_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C 1\uC74C\uC808 \uD0C8\uB77D",icon:"minus-circle",color:mr,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC5D0\uC11C \uD55C \uC74C\uC808\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_PART_FROM_COMPOUND",label:"\uD569\uC131\uC5B4\uC5D0\uC11C \uBD80\uBD84\uD0C8\uB77D",icon:"unlink",color:mr,subTitle:"\uD569\uC131\uC5B4\uC758 \uC77C\uBD80\uB97C \uBE7C\uBA74 \uC5B4\uB5A4 \uB2E8\uC5B4\uAC00 \uB420\uAE4C\uC694?"},{key:"DROP_FINAL_CONSONANT_FROM_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uBC1B\uCE68 \uD0C8\uB77D",icon:"eraser",color:mr,subTitle:"\uBC1B\uCE68\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB420\uAE4C\uC694?"},{key:"REMOVE_CONSONANT_AND_IDENTIFY_PHONEME",label:"1\uC74C\uC808\uC5D0\uC11C \uC790\uC74C \uD0C8\uB77D",icon:"audio-lines",color:mr,subTitle:"\uC790\uC74C\uC744 \uBE7C\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB0A8\uC744\uAE4C\uC694?"}]},{key:"substitution",label:"\uB300\uCE58\uD6C8\uB828",disc:"\uB2E8\uC5B4\uC758 \uC77C\uBD80 \uC74C\uC808\uC774\uB098 \uC74C\uC18C\uB97C \uBC14\uAFB8\uC5B4 \uC0C8\uB85C\uC6B4 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uB294 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"replace",types:[{key:"CHANGE_1_SYLL_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"replace",color:fn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_SYLL_IN_3SYLL",label:"3\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC808 \uBC14\uAFB8\uAE30",icon:"shuffle",color:fn,subTitle:"3\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC808\uC744 \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_1SYLL",label:"1\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"arrow-right-left",color:fn,subTitle:"1\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uC18C\uB9AC\uB97C \uB9CC\uB4DC\uC138\uC694."},{key:"CHANGE_1_PHONEME_IN_2SYLL",label:"2\uC74C\uC808\uC5D0\uC11C \uD55C \uC74C\uC18C \uBC14\uAFB8\uAE30",icon:"flip-horizontal",color:fn,subTitle:"2\uC74C\uC808 \uB2E8\uC5B4\uC758 \uD55C \uC74C\uC18C\uB97C \uBC14\uAFD4 \uC0C8 \uB2E8\uC5B4\uB97C \uB9CC\uB4DC\uC138\uC694."}]},{key:"attention",label:"\uCCAD\uAC01\uC801\uC8FC\uC758\uB825\uD6C8\uB828",disc:"\uC5EC\uB7EC \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uC21C\uC11C\uB97C \uAE30\uC5B5\uD558\uB294 \uC8FC\uC758\uB825\uACFC \uB2E8\uAE30 \uAE30\uC5B5 \uD6C8\uB828\uC785\uB2C8\uB2E4.",icon:"list-ordered",types:[{key:"LISTEN_AND_REMEMBER_ORDER",label:"\uB4E3\uACE0 \uC21C\uC11C\uB300\uB85C \uAE30\uC5B5\uD558\uAE30",icon:"list-ordered",color:k5,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function _h(){const{t:e}=me.useTranslation();return l.useMemo(()=>{const t=Object.fromEntries(s4(e).map(r=>[r.key,r.label])),a={...t};return S5.flatMap(r=>r.types).forEach(r=>{a[r.key]=e(`trainingType.${r.key}.label`,{defaultValue:r.label})}),{sentence:t,all:a}},[e])}function ao({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:r}){const[n,i]=l.useState(!1),[s,c]=l.useState({}),d=l.useRef(null),u=l.useRef(null),m=l.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect()))},[e]);l.useEffect(()=>{if(!n)return;m();const g=y=>{const _=y.target;r&&_.closest?.(r)||d.current?.contains(_)||u.current?.contains(_)||i(!1)};document.addEventListener("mousedown",g);const f=y=>{u.current?.contains(y.target)||(t==="reposition"?m():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",f,!0);const b=()=>{a==="reposition"?m():a==="close"&&i(!1)};a!=="ignore"&&window.addEventListener("resize",b);const v=y=>{y.key==="Escape"&&i(!1)};return document.addEventListener("keydown",v),()=>{document.removeEventListener("mousedown",g),t!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&window.removeEventListener("resize",b),document.removeEventListener("keydown",v)}},[n,m,t,a,r]);const h=l.useCallback(()=>i(g=>!g),[]),p=l.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:h,close:p,style:s,triggerRef:d,menuRef:u}}function Al(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:r,onComplete:n,playMs:i=1100,feedbackMs:s=1500}={}){const[c,d]=l.useState([]),[u,m]=l.useState(0),[h,p]=l.useState("idle"),[g,f]=l.useState(null),[b,v]=l.useState([]),[y,_]=l.useState(null),[C,x]=l.useState(0),k=l.useRef(0),w=l.useCallback(T=>{k.current=typeof T=="function"?T(k.current):T,x(k.current)},[]),S=l.useRef(r),j=l.useRef(n);l.useEffect(()=>{S.current=r,j.current=n},[r,n]);const A=l.useRef([]),B=()=>{A.current.forEach(clearTimeout),A.current=[]},F=(T,L)=>{A.current.push(setTimeout(L,T))};l.useEffect(()=>()=>B(),[]);const R=c[u]?.id??null,E=l.useCallback(()=>{B(),p("playing"),v([]),_(null),w(0);let T=0;e.forEach((L,$)=>{F(T,()=>{m($),f(L.id),S.current?.(L)}),F(T+1e3,()=>{f(null),v(z=>[...z,L.id])}),T+=1300}),F(T,()=>{p("done"),j.current?.({score:0,total:e.length})})},[e,w]),M=l.useCallback((T,L)=>{if(L>=T.length){p("done"),j.current?.({score:k.current,total:T.length});return}m(L),_(null),p("playing"),f(T[L].id),S.current?.(T[L]),F(i,()=>{f(null),p("waiting")})},[i]),D=l.useCallback(()=>{B();const T=Ge(e);d(T),w(0),v([]),M(T,0)},[e,M,w]),H=l.useCallback(()=>{t==="playback"?(d(e),E()):D()},[t,e,E,D]),ee=l.useCallback(()=>{B(),p("idle"),f(null),v([]),_(null),m(0),w(0),d([])},[w]);l.useEffect(()=>{a?H():ee()},[t,e.length,a]);const J=l.useCallback(T=>{h!=="waiting"||t==="playback"||(_(T),T===c[u]?.id&&w(L=>L+1),t==="exam"?(p("playing"),F(400,()=>M(c,u+1))):(p("feedback"),F(s,()=>M(c,u+1))))},[h,t,c,u,M,s,w]),ae=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:b,selectedId:y,answerId:R,showFeedback:h==="feedback",clickable:h==="waiting",onSelectSpeaker:J},index:u,total:ae,score:C,phase:h,done:h==="done",start:H,reset:ee}}var A5=Object.freeze({__proto__:null,CACHE_GROUPS:il,CORE_VERSION:Nr,DocumentTitleSuppressContext:rl,EMPTY_COMPOSITION:un,MediaQueryOverrideContext:ln,NO_CODA:oa,SYLLABLE_MIN:ra,VAP_PAGE_SIZE_OPTIONS:ll,buildGradeSection:pl,buildPartOfSpeechSection:hl,buildPositionSection:nh,buildSelectSection:rh,buildSyllableSection:oh,buildWordTypeSection:ml,charToPronValue:yl,convertComposition:Cl,fmtBytes:Up,lsBytes:sl,meaningKey:mn,pronToCharValue:xl,syllableToFilter:dn,today:_o,toggleAttributeFilter:ih,useAnchoredMenu:ao,useCacheManagement:Kp,useDailyTrainingSelection:fh,useDelayedHoverAnchor:xh,useDeviceManagement:ah,useDocumentTitle:nl,useEscToClose:kl,useFontScale:sn,useHoverAnchor:ko,useMediaQuery:aa,usePagedList:Ch,usePasswordChange:Yp,useRelativeDay:qp,useSoundCompassExam:Al,useTablePaging:cl,useTableSort:dl,useToastState:bn,useTrainingTypeLabels:_h,useVisitAllPanel:th,useVisitHistory:Jp,useVisitSchedule:eh,useWindowEvent:ur,useWordAttributeFilterKeys:ul,useWordDataStats:Zp,useWordMeanings:yh,useWordTrainingDataGeneration:mh,useWordTrainingFilter:hh,valueToJamos:ba}),T5=".ihabdevteam-core-scope .promo-banner{align-items:center;border-radius:var(--radius-s);box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;overflow:hidden;position:relative;text-align:left}.ihabdevteam-core-scope .promo-banner--medium{min-height:120px;padding:20px 24px}.ihabdevteam-core-scope .promo-banner--small{padding:14px 16px}.ihabdevteam-core-scope .promo-banner__title{color:inherit;color:var(--promo-banner-bg-title,inherit)}.ihabdevteam-core-scope .promo-banner__description{color:inherit;color:var(--promo-banner-bg-description,inherit)}.ihabdevteam-core-scope .promo-banner__text{display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:1}.ihabdevteam-core-scope .promo-banner__description{margin-left:2px;margin-top:1px}.ihabdevteam-core-scope .promo-banner>.button{flex-shrink:0;position:relative;z-index:1}";te(T5);function wh({title:e,description:t,actionLabel:a,onAction:r,bg:n,color:i,size:s="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:m=""}){const h=n??i??"main",p=l.useRef(null),[g,f]=l.useState("main"),b=aa("(max-width: 767px)");l.useLayoutEffect(()=>{const _=p.current;_&&(d!==void 0&&_.style.setProperty("--promo-banner-bg-title",d),u!==void 0&&_.style.setProperty("--promo-banner-bg-description",u))},[d,u]),l.useLayoutEffect(()=>{const _=p.current;if(!_)return;const C=As(_);f(C?.actionVariant??"main")},[h]);const v=_e("promo-banner",`promo-banner--${s}`,m),y=tl[h];return o.jsxs("div",{ref:p,className:v,role:"note",children:[o.jsx(y,{}),o.jsxs("div",{className:"promo-banner__text",children:[o.jsx("span",{className:`promo-banner__title ${s==="small"?"body-2":"h2"}`,children:e}),t&&o.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&r&&o.jsx(re,{size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:r,ariaLabel:a,...b?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var B5='.ihabdevteam-core-scope .top-banner{--top-banner-min-h:120px;display:flex;flex-direction:column;padding-bottom:var(--spacing-page);position:relative}.ihabdevteam-core-scope .top-banner__viewport{border-radius:var(--radius-m);min-height:var(--top-banner-min-h);overflow:hidden}.ihabdevteam-core-scope .top-banner__track{align-items:stretch;display:flex;min-height:var(--top-banner-min-h);transition:transform .4s ease}.ihabdevteam-core-scope .top-banner__slide{flex:0 0 100%;min-width:0}.ihabdevteam-core-scope .top-banner__slide>*{box-sizing:border-box;min-height:100%;width:100%}.ihabdevteam-core-scope .top-banner__dots{bottom:calc(var(--spacing-page) + 12px);display:flex;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .top-banner__dot{background:var(--color-white-a30);border:none;border-radius:3px;cursor:pointer;height:6px;padding:0;position:relative;transition:width .25s ease,background-color .25s ease;width:6px}.ihabdevteam-core-scope .top-banner__dot:after{content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% + 6px)}.ihabdevteam-core-scope .top-banner__dot--active{background:var(--color-white);width:18px}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot{background:var(--color-lightGray-a80)}.ihabdevteam-core-scope .top-banner__dots--dark .top-banner__dot--active{background:var(--color-main)}';te(B5);function kh({children:e,interval:t=5e3,dotTone:a,className:r="","aria-label":n}){const{t:i}=me.useTranslation(),s=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=l.Children.toArray(e),d=c.length,[u,m]=l.useState(0),[h,p]=l.useState(!1),g=d>0?u%d:0;return l.useEffect(()=>{if(d<2||t<=0||h)return;const f=window.setInterval(()=>m(b=>(b+1)%d),t);return()=>window.clearInterval(f)},[d,t,h]),d===0?null:o.jsxs("section",{className:_e("top-banner",r),"aria-label":s,"aria-roledescription":"carousel",onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),children:[o.jsx("div",{className:"top-banner__viewport",children:o.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${g*100}%)`},children:c.map((f,b)=>o.jsx("div",{className:"top-banner__slide","aria-hidden":b!==g,...b!==g?{inert:!0}:{},children:f},b))})}),d>1&&o.jsx("div",{className:`top-banner__dots${(a?.[g]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((f,b)=>o.jsx("button",{type:"button",className:`top-banner__dot${b===g?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:b+1,defaultValue:`${d}\uAC1C \uC911 ${b+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":b===g,onClick:()=>m(b)},b))})]})}var N5=".ihabdevteam-core-scope .accordion-item{background:transparent;border-radius:var(--radius-m)}.ihabdevteam-core-scope .accordion-item__header{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;cursor:pointer;display:flex;gap:var(--spacing-s);min-height:56px;outline:none;padding:0 20px;transition:background-color .2s ease,border-color .2s ease}.ihabdevteam-core-scope .accordion-item__header:hover{background:var(--color-deepWhite);border-color:var(--color-main)}.ihabdevteam-core-scope .accordion-item__header:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .accordion-item__avatar{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__title{flex:1;text-align:left}.ihabdevteam-core-scope .accordion-item__chevron{align-items:center;display:inline-flex;flex:none}.ihabdevteam-core-scope .accordion-item__chevron-icon{align-items:center;color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .accordion-item__chevron-image{height:18px;opacity:.7;transition:transform .18s ease;width:18px}.ihabdevteam-core-scope .accordion-item.accordion-item--open{background:var(--color-main-a10);border-radius:var(--radius-m);overflow:hidden}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__header{background:var(--color-white);border:1px solid var(--color-main)}.ihabdevteam-core-scope .accordion-item.accordion-item--open .accordion-item__chevron-image{transform:rotate(180deg)}.ihabdevteam-core-scope .accordion-item__body p{margin:0}.ihabdevteam-core-scope .accordion-item__body{background:transparent;box-sizing:border-box;color:var(--color-darkGray);max-width:100%;overflow-wrap:break-word;padding:40px 32px;text-align:left;word-break:break-word}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{min-height:48px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{min-height:56px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{min-height:72px}.ihabdevteam-core-scope .accordion-group--s48 .accordion-item,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s48 .accordion-item__header{border-radius:12px}.ihabdevteam-core-scope .accordion-group--s56 .accordion-item,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s56 .accordion-item__header{border-radius:14px}.ihabdevteam-core-scope .accordion-group--s72 .accordion-item,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item.accordion-item--open,.ihabdevteam-core-scope .accordion-group--s72 .accordion-item__header{border-radius:18px}.ihabdevteam-core-scope .accordion-group,.ihabdevteam-core-scope .accordion-group>.accordion-item{box-sizing:border-box;display:block;width:100%}.ihabdevteam-core-scope .accordion-group>.accordion-item+.accordion-item{margin-top:var(--spacing-s)}";te(N5);function D5({title:e,body:t,open:a=!1,onToggle:r,avatar:n,titleClassName:i="body-2",bodyClassName:s="body-2",className:c=""}){const{t:d}=me.useTranslation();return o.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),children:[o.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:r,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),r?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const m=u.currentTarget.closest('[role="list"]');if(!m)return;const h=Array.from(m.querySelectorAll("[data-accordion-header]")),p=h.indexOf(u.currentTarget);(u.key==="ArrowDown"?h[p+1]:h[p-1])?.focus()}},children:[n&&o.jsx("div",{className:"accordion-item__avatar",children:n}),o.jsx("div",{className:`accordion-item__title ${i}`,children:e}),o.jsx("div",{className:"accordion-item__chevron",children:o.jsx(Fe,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&o.jsx("div",{className:`accordion-item__body ${s}`,children:typeof t=="string"?o.jsx("p",{children:t}):t})]})}function Sh({items:e=[],defaultOpenIndex:t=0,size:a=72,className:r="",bodyClassName:n}){const[i,s]=l.useState(t);return o.jsx("div",{className:`accordion-group accordion-group--s${a} ${r}`.trim(),role:"list",children:e.map((c,d)=>o.jsx(D5,{title:c.title,body:c.body,avatar:c.avatar,open:d===i,onToggle:()=>s(d===i?-1:d),bodyClassName:n},d))})}var E5=".ihabdevteam-core-scope .bottom-nav{align-items:flex-start;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:none;height:calc(72px + env(safe-area-inset-bottom));left:0;padding:8px calc(10px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(10px + env(safe-area-inset-left));position:fixed;right:0;z-index:var(--z-nav)}.ihabdevteam-core-scope .bottom-nav__left{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .bottom-nav__divider{align-self:flex-start;background:var(--color-whiteLine);border-radius:1px;flex-shrink:0;height:24px;margin:14px 0 0;width:1px}.ihabdevteam-core-scope .bottom-nav__items{align-items:center;display:flex;flex:1;gap:10px;justify-content:center;overflow:hidden}.ihabdevteam-core-scope .bottom-nav__right{align-items:center;display:flex;flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .bottom-nav{display:flex}}@media (min-width:768px){.ihabdevteam-core-scope .bottom-nav{display:none}}.ihabdevteam-core-scope .bottom-nav-item{align-items:center;background:transparent!important;border:none!important;border-radius:10px!important;color:var(--color-lightGray);cursor:pointer;display:flex!important;flex-direction:column;height:52px!important;justify-content:center;padding:0!important;transition:background .16s ease,color .16s ease!important;width:52px!important}.ihabdevteam-core-scope .bottom-nav-item:hover:not(.is-selected){background:var(--color-darkWhite)!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected{animation:bottom-nav-active-bg .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-sub)!important;box-shadow:0 6px 12px rgba(12,24,36,.06);color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item.is-selected *{color:#fff!important}.ihabdevteam-core-scope .bottom-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .bottom-nav-item:disabled,.ihabdevteam-core-scope .bottom-nav-item[disabled]{opacity:.6;pointer-events:none}@keyframes bottom-nav-active-bg{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";te(E5);var j5=".ihabdevteam-core-scope .badge{align-items:center;background:var(--badge-color,var(--color-main));border-radius:999px;box-shadow:none;box-shadow:var(--badge-shadow,none);color:#fff;color:var(--badge-on-color,#fff);display:inline-flex;gap:6px;justify-content:center;line-height:1;vertical-align:middle;white-space:nowrap}.ihabdevteam-core-scope .badge--small{font-size:12px;height:20px;padding:0 10px}.ihabdevteam-core-scope .badge--medium{font-size:14px;height:28px;padding:0 14px}.ihabdevteam-core-scope .badge--large{font-size:16px;height:32px;padding:0 18px}.ihabdevteam-core-scope .badge__icon{align-items:center;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .badge--default{--badge-color:var(--color-lightGray);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--main{--badge-color:var(--color-main);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--sub{--badge-color:var(--color-sub);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--danger{--badge-color:var(--color-error);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--disabled{--badge-color:var(--color-disabled);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--like{--badge-color:var(--color-like);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--success{--badge-color:var(--color-success);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--warning{--badge-color:var(--color-warn);--badge-on-color:#fff}.ihabdevteam-core-scope .badge--critical{--badge-color:#7c3aed;--badge-on-color:#fff}.ihabdevteam-core-scope .badge--outline{background:transparent;border:1px solid var(--badge-color);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .badge--soft{background:color-mix(in srgb,var(--badge-color) 10%,transparent);box-shadow:none;color:var(--badge-color)}.ihabdevteam-core-scope .circle-badge{align-items:center;border:2px solid var(--color-pureWhite);border-radius:50%;box-sizing:border-box;display:inline-flex;flex-shrink:0;font-weight:700;justify-content:center;line-height:1;pointer-events:none;position:absolute;transition:background .12s,transform .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}@keyframes circle-badge-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.ihabdevteam-core-scope .circle-badge--animate{animation:circle-badge-pop .24s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .circle-badge--animate{animation:none}}.ihabdevteam-core-scope .circle-badge--clickable{cursor:pointer;pointer-events:auto}.ihabdevteam-core-scope .circle-badge--clickable:hover{transform:scale(1.12)}.ihabdevteam-core-scope .circle-badge--top-right{right:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--top-left{left:-6px;top:-6px}.ihabdevteam-core-scope .circle-badge--inline{border:none;position:static}.ihabdevteam-core-scope .circle-badge--24{border-width:1px;font-size:11px;height:24px;width:24px}.ihabdevteam-core-scope .circle-badge--32{border-width:2px;font-size:14px;height:32px;width:32px}.ihabdevteam-core-scope .circle-badge--40{border-width:2px;font-size:16px;height:40px;width:40px}.ihabdevteam-core-scope .circle-badge--check,.ihabdevteam-core-scope .circle-badge--number{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .circle-badge--remove{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .circle-badge--minus{background:var(--color-lightGray);color:#fff}.ihabdevteam-core-scope .circle-badge--24 svg{height:11px;width:11px}.ihabdevteam-core-scope .circle-badge--32 svg{height:15px;width:15px}.ihabdevteam-core-scope .circle-badge--40 svg{height:19px;width:19px}";te(j5);function L5(){return o.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("polyline",{points:"2,6 5,9 10,3"})})}function M5(){return o.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[o.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),o.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function P5(){return o.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:o.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function ht(e){const{type:t="bar",size:a,className:r="","aria-label":n}=e;if(t==="dot"){const{icon:C,number:x,position:k="top-right",onClick:w,animate:S=!1}=e,j=x!==void 0?"number":C??"check",A=typeof a=="number"?a:32,B=_e("circle-badge",`circle-badge--${j}`,`circle-badge--${k}`,`circle-badge--${A}`,S?"circle-badge--animate":"",w?"circle-badge--clickable":"",r),F=x!==void 0?`${x}\uBC88\uC9F8 \uC120\uD0DD`:{check:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",minus:"\uC81C\uC678"}[C??"check"];return o.jsxs("span",{className:B,onClick:w,onKeyDown:w?R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),R.currentTarget.click())}:void 0,"aria-label":n??F,role:w?"button":void 0,tabIndex:w?0:void 0,children:[x!==void 0&&x,x===void 0&&C==="check"&&o.jsx(L5,{}),x===void 0&&C==="remove"&&o.jsx(M5,{}),x===void 0&&C==="minus"&&o.jsx(P5,{})]})}const{label:i,children:s,variant:c="default",fill:d="filled",minWidth:u,iconLeft:m,iconRight:h,color:p}=e,g=typeof a=="number"?"medium":a??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",b={small:12,medium:14,large:16}[g]??14,v=_e("badge",`badge--${c}`,`badge--${g}`,d!=="filled"?`badge--${d}`:"",f,r),y=p?.startsWith("--")?`var(${p})`:p,_=u!==void 0||y?{...u!==void 0?{minWidth:typeof u=="number"?`${u}px`:u}:{},...y?{"--badge-color":y}:{}}:void 0;return o.jsxs("span",{className:v,style:_,children:[m&&o.jsx(Fe,{icon:m,size:b,className:"badge__icon"}),i??s,h&&o.jsx(Fe,{icon:h,size:b,className:"badge__icon"})]})}var R5=".ihabdevteam-core-scope .tooltip-menu{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:160px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);display:flex;gap:var(--spacing-xs);height:52px;padding:8px 12px}.ihabdevteam-core-scope .tooltip-menu__title{font-weight:600}.ihabdevteam-core-scope .tooltip-menu__columns{display:flex;gap:var(--spacing-s);padding:4px}.ihabdevteam-core-scope .tooltip-menu__column{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .tooltip-menu__column-title{color:var(--color-lightGray);margin-bottom:4px}.ihabdevteam-core-scope .tooltip-menu__items{display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .tooltip-menu--small{gap:2px;min-width:140px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__items{gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__columns{gap:var(--spacing-xs);padding:2px}.ihabdevteam-core-scope .tooltip-menu--small .tooltip-menu__header{height:44px;padding:6px 10px}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";te(R5);function br({columns:e=[],onClose:t,className:a="",size:r="medium"}){const{t:n}=me.useTranslation(),i=r==="small"?40:48,[s,c]=l.useState([{title:null,columns:e}]),d=s[s.length-1];l.useEffect(()=>{c(f=>{try{if(!Array.isArray(f)||f.length===0)return[{title:null,columns:e}];const b=f.slice(),v=b[0]&&typeof b[0].title<"u"?b[0].title:null;return b[0]={title:v,columns:e},b}catch{return[{title:null,columns:e}]}})},[e]);const u=l.useCallback(()=>c(f=>f.length>1?f.slice(0,f.length-1):f),[]),m=l.useRef(null),h=l.useRef(null),p=s.length;l.useEffect(()=>{h.current||(h.current=document.activeElement);let f=0,b=0;const v=()=>{const y=m.current?.querySelector("button:not([disabled])");if(y&&y.offsetParent){y.focus({preventScroll:!0});return}b++<20&&(f=requestAnimationFrame(v))};return f=requestAnimationFrame(v),()=>cancelAnimationFrame(f)},[p]),l.useEffect(()=>()=>{h.current?.focus?.({preventScroll:!0})},[]);const g=l.useCallback(f=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(b=>[...b,{title:f.label||null,columns:[{title:null,items:f.children||[]}]}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t]);return o.jsxs("div",{className:`tooltip-menu tooltip-menu--${r} ${a}`,children:[(s.length>1||d.title)&&o.jsxs("div",{className:"tooltip-menu__header",children:[s.length>1?o.jsx(re,{size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:u,variant:"transparent-gray",useBorder:!1}):null,o.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),o.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((f,b)=>o.jsxs("div",{className:"tooltip-menu__column",children:[f.title?o.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,o.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((v,y)=>o.jsx(re,{className:"tooltip-menu__item",size:i,type:v.label?"bar":"dot",icon:v.selected?"check":v.icon||"none",rightIcon:Array.isArray(v.children)&&v.children.length?"chevron-right":v.badgeCount?o.jsx(ht,{type:"dot",position:"inline",number:Math.min(v.badgeCount,99),size:24,"aria-label":`${v.badgeCount}`}):void 0,label:v.label,ariaLabel:v.label,onClick:()=>g(v),selected:v.selected,disabled:v.disabled,showTooltipInfo:v.tooltip||!1,useBorder:!1,align:"left"},y))})]},b))})]})}const $5=52,Ah=10;function Tl({items:e=[],activeKey:t,onChange:a,appMode:r,onAppModeChange:n,moreItems:i=[]}){const{t:s}=me.useTranslation(),c=r==="manager"?"malgwi":"manager",d=r==="manager"?"arrow-left":"arrow-right",u=r==="manager"?s("nav.modeLabelMalgwi","\uB9D0\uADC0"):s("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),m=l.useRef(null),[h,p]=l.useState(0),g=e.length;l.useEffect(()=>{const D=m.current;if(!D||(p(D.clientWidth),typeof ResizeObserver>"u"))return;const H=new ResizeObserver(ee=>p(ee[0].contentRect.width));return H.observe(D),()=>H.disconnect()},[]);const f=h>0?Math.floor((h+Ah)/($5+Ah)):g,b=h>0&&f<g,v=b?f:g,y=e.slice(0,v),_=e.slice(v),C=b||i.length>0,x=l.useCallback(D=>({position:"fixed",bottom:window.innerHeight-D.top+8,right:window.innerWidth-D.right,zIndex:1e4}),[]),k=l.useId(),{open:w,toggle:S,close:j,style:A,triggerRef:B,menuRef:F}=ao({computeStyle:x,onScroll:"ignore",onResize:"ignore"}),R=l.useCallback(()=>n?.(c),[n,c]),E=l.useMemo(()=>_.find(D=>D.key===t)??i.find(D=>D.selected||D.key&&D.key===t),[_,t,i]),M=l.useMemo(()=>[{items:[..._.map(D=>({label:D.label,icon:D.icon,selected:D.key===t,closeOnSelect:!0,onClick:()=>{D.key&&a&&a(D.key),j()}})),...i.map(D=>({label:D.label,icon:D.icon,badgeCount:D.badgeCount,selected:D.selected??(!!D.key&&D.key===t),closeOnSelect:!0,onClick:()=>{D.onClick?.(),j()}}))]}],[_,i,t,a,j]);return o.jsxs("nav",{className:"bottom-nav","aria-label":s("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"bottom-nav__left",children:o.jsx(re,{size:52,type:"dot",icon:d,ariaLabel:u,className:"bottom-nav-item",onClick:R})}),o.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),o.jsx("div",{className:"bottom-nav__items",ref:m,children:y.map(D=>o.jsx(re,{size:52,type:"dot",icon:D.icon,ariaLabel:D.label,selected:D.key===t,disabled:D.state==="disabled",className:"bottom-nav-item",onClick:()=>D.key&&a?.(D.key)},D.key))}),C&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),o.jsx("div",{className:"bottom-nav__right",children:o.jsxs("div",{ref:B,children:[o.jsx(re,{size:52,type:"dot",icon:E?.icon??"ellipsis",ariaLabel:E?.label??s("nav.more","\uB354\uBCF4\uAE30"),selected:!!E,className:"bottom-nav-item",onClick:S,"aria-expanded":w,"aria-controls":w?k:void 0}),w&&qt.createPortal(o.jsx("div",{id:k,role:"group","aria-label":s("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:A,ref:F,children:o.jsx(br,{columns:M,onClose:j})}),document.body)]})})]})]})}var I5=".ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-right:1px solid transparent;display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 0 0 12px;scrollbar-color:var(--color-darkWhite) transparent;scrollbar-gutter:stable;scrollbar-width:thin}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-thumb{background:var(--color-darkWhite);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar-thumb:hover{background:var(--color-lightGray,var(--color-lightGray))}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:4px 0}.ihabdevteam-core-scope .side-nav__notification-wrap{align-self:flex-start;display:inline-flex;position:relative}.ihabdevteam-core-scope .side-nav__footer{align-items:left;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding:0 0 var(--spacing-s) 0}.ihabdevteam-core-scope .side-nav__separator{background:var(--color-whiteLine);height:1px;margin:0 var(--spacing-s) var(--spacing-xs)}.ihabdevteam-core-scope .side-nav__separator--short{margin:4px var(--spacing-m);width:var(--spacing-xl)}@media (max-width:767px){.ihabdevteam-core-scope .side-nav__footer,.ihabdevteam-core-scope .side-nav__menu{display:none}}.ihabdevteam-core-scope .side-nav__item{align-items:center;background:transparent;border:none;border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-family);gap:var(--spacing-s);height:52px;justify-content:flex-start;padding:0 var(--spacing-m);text-align:left;width:100%}@keyframes ihabCoreSnSweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ihabCoreSnIconBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.ihabdevteam-core-scope .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-main) 50%,var(--color-sub) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:#fff}.ihabdevteam-core-scope .side-nav__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .side-nav__item.active .circle-badge{background:var(--color-pureWhite);color:var(--color-main)}.ihabdevteam-core-scope .side-nav__item .circle-badge--inline{border:1px solid var(--color-pureWhite)}.ihabdevteam-core-scope .side-nav__icon-wrap{display:inline-flex;flex:0 0 24px;position:relative}.ihabdevteam-core-scope .side-nav__icon{flex:0 0 24px}.ihabdevteam-core-scope .side-nav__icon img{display:block;height:20px;-o-object-fit:contain;object-fit:contain;width:20px}.ihabdevteam-core-scope .side-nav__icon-image{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block;height:20px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:20px}.ihabdevteam-core-scope .side-nav__item .side-nav__icon img{filter:brightness(0) saturate(0) opacity(.45);transition:filter .16s ease,opacity .16s ease}.ihabdevteam-core-scope .side-nav__item.active .side-nav__icon img{filter:brightness(0) invert(1)}.ihabdevteam-core-scope .side-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .side-nav__item{transition:background-color .16s ease,color .16s ease,transform 80ms ease}.ihabdevteam-core-scope .side-nav__item:focus-visible:not(.active),.ihabdevteam-core-scope .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .side-nav__item:hover:not(.active){background:var(--color-darkWhite)}.ihabdevteam-core-scope .side-nav__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .side-nav__item.disabled,.ihabdevteam-core-scope .side-nav__item.disabled:focus,.ihabdevteam-core-scope .side-nav__item.disabled:hover{background:transparent;color:var(--color-lightGray);cursor:default;opacity:.6;pointer-events:none;transform:none}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon{color:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__item.disabled .side-nav__icon img{filter:none;opacity:.8}.ihabdevteam-core-scope .side-nav__item--child{height:40px;padding-left:30px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__icon{height:20px;width:20px}.ihabdevteam-core-scope .side-nav__item--child .side-nav__label{font-weight:400}";te(I5);function z5(e){const{t}=me.useTranslation(),{activeKey:a,unreadCount:r,onDebug:n,onNotification:i,onSetting:s,onHelp:c,onAccount:d}=e||{},u="default";return o.jsxs("div",{className:"side-nav__footer",children:[n&&o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),o.jsxs("span",{className:"side-nav__notification-wrap",children:[o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"bell",ariaLabel:t("nav.notifications","\uC54C\uB9BC"),onClick:i,selected:a==="notifications"}),!!r&&o.jsx(ht,{type:"dot",number:Math.min(r,99),size:24})]}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:s,selected:a==="settings"}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),o.jsx(re,{size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:u,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]})}function Th(e){const{item:t,itemKey:a,label:r,icon:n,active:i,onClick:s,style:c,state:d,labelStyle:u}=e||{},m=t?.key??a??"",h=t?.label??r??"",p=t?.icon??n??"",g=t?.badge??0,f=o.jsx("span",{className:"side-nav__icon-wrap",children:o.jsx(Fe,{icon:p,label:typeof h=="string"?h:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),b=d==="disabled",v=`side-nav__item ${i?"active":""} ${d||""} ${b?"disabled":""} ${t?.child?"side-nav__item--child":""}`,y=l.useCallback(_=>{if(!b){try{_.currentTarget.blur()}catch{}s?.(m,_.currentTarget)}},[b,m,s]);return o.jsxs("button",{className:v,onClick:y,"aria-label":typeof h=="string"?h:void 0,style:c,"aria-disabled":b,children:[f,o.jsx("span",{className:"side-nav__label button-1 f",style:u,children:h}),g>0&&o.jsx(ht,{type:"dot",position:"inline",number:Math.min(g,99),size:24,"aria-label":`${g}`}),d==="loading"&&o.jsx("span",{className:"side-nav__spinner","aria-label":"loading"})]})}function Bl(e){const{t}=me.useTranslation(),{items:a=[],activeKey:r,onChange:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}=e||{},g=l.useCallback(()=>p?.(h==="malgwi"?"manager":"malgwi"),[p,h]);return o.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[o.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(f=>!f.section&&(f.key||f.label)).map((f,b)=>o.jsxs(l.Fragment,{children:[f.divider&&o.jsx("div",{className:"side-nav__separator"}),o.jsx(Th,{item:f,active:f.key===r,state:f.disabled?"disabled":void 0,onClick:(v,y)=>{if(f.disabled)return;if(f.href){window.open(f.href,"_blank","noopener,noreferrer");try{y?.blur()}catch{}return}n?.(f.key);try{const C=document.querySelector(".content-area");C?C.scrollTop=0:window.scrollTo({top:0})}catch{}try{y?.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(_&&!(typeof _.matches=="function"&&_.matches(":hover"))){_.classList.add("header--force-collapsed");const C=()=>{_.classList.remove("header--force-collapsed"),_.removeEventListener("mouseenter",C)};_.addEventListener("mouseenter",C)}}})]},f.key??`side-nav__item-${b}`)),p&&o.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),p&&o.jsx(Th,{item:{key:"__mode-switch__",label:h==="malgwi"?t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"):t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"),icon:h==="malgwi"?"arrow-right":"arrow-left"},onClick:g})]}),o.jsx(z5,{activeKey:r,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m})]})}var Nl='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',Dl='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',O5='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',F5='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;box-sizing:content-box;display:flex;flex-direction:column;isolation:isolate;left:0;overflow:visible;overscroll-behavior:none;position:fixed;top:0;z-index:var(--z-sidebar)}.ihabdevteam-core-scope .header__menu-button{background:transparent;border:none;display:none}.ihabdevteam-core-scope .header__bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);bottom:0;display:flex;height:56px;justify-content:center;left:0;padding:0;padding-bottom:calc(var(--spacing-content) + env(safe-area-inset-bottom));position:fixed;right:0}.ihabdevteam-core-scope .header__category-button{background:transparent;border:none}.ihabdevteam-core-scope .header:before{background:linear-gradient(160deg,var(--color-main) 0,var(--color-sub) 100%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease;z-index:-1}.ihabdevteam-core-scope .header--manager{border-right-color:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .header--manager:before{opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__separator{background:hsla(0,0%,100%,.25)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item{color:var(--color-deepWhite)}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active),.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active){background:hsla(0,0%,100%,.15);color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item:focus:not(.active) .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item:hover:not(.active) .side-nav__icon{color:#fff}.ihabdevteam-core-scope .header--manager .side-nav__item.active{animation:ihabCoreSnSweep 1s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,var(--color-pureWhite) 50%,color-mix(in srgb,var(--color-main) 50%,#fff) 100%);background-position:0 0;background-size:200% 100%;box-shadow:var(--shadow-card);color:var(--color-darkGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon{animation:ihabCoreSnIconBounce .48s cubic-bezier(.4,0,.2,1) forwards;color:var(--color-lightGray)}.ihabdevteam-core-scope .header--manager .side-nav__item.active .side-nav__icon img{filter:none;opacity:1}.ihabdevteam-core-scope .header--manager .side-nav__footer [role=button],.ihabdevteam-core-scope .header--manager .side-nav__footer button{color:hsla(0,0%,100%,.55)}@media (min-width:1024px){.ihabdevteam-core-scope .header{width:220px}.ihabdevteam-core-scope .header__bottom,.ihabdevteam-core-scope .header__menu-button{display:none}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{padding:0 10px;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__item{border-radius:var(--radius-card);gap:0;padding:0 14px;transition:padding .18s ease,gap .18s ease}.ihabdevteam-core-scope .header:focus-within .side-nav__menu,.ihabdevteam-core-scope .header:hover .side-nav__menu{padding:0 10px}.ihabdevteam-core-scope .header:focus-within .side-nav__item,.ihabdevteam-core-scope .header:hover .side-nav__item{gap:10px;padding:0 16px}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-6px);transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header{overflow:visible;transition:width .18s ease;width:72px}.ihabdevteam-core-scope .header:focus-within,.ihabdevteam-core-scope .header:hover{width:220px}.ihabdevteam-core-scope .header:focus-within .side-nav__label,.ihabdevteam-core-scope .header:hover .side-nav__label{max-width:200px;opacity:1;pointer-events:auto;transform:translateX(0)}.ihabdevteam-core-scope .header.header--force-collapsed{width:72px}.ihabdevteam-core-scope .header.header--force-collapsed .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}}@media (max-width:767px){.ihabdevteam-core-scope .header{align-items:center;border-bottom:1px solid var(--color-whiteLine);border-left:none;border-right:none;flex-direction:row;height:64px;justify-content:space-between;left:0;position:fixed;right:0;top:0;width:100%}.ihabdevteam-core-scope .header__top{align-items:center;display:flex;flex:1}.ihabdevteam-core-scope .header__branding{height:auto}.ihabdevteam-core-scope .header__menu-button{display:inline-flex}.ihabdevteam-core-scope .header__bi{align-items:center;display:flex;gap:var(--spacing-xs);padding:0 calc(12px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));width:100%}.ihabdevteam-core-scope .header__bi .header__menu-button{margin-left:auto}.ihabdevteam-core-scope .header__bottom{display:none}}.ihabdevteam-core-scope .brand-identity__root{align-items:center;display:flex;height:100px;justify-content:center}.ihabdevteam-core-scope .brand-identity__image{height:48px;-o-object-fit:contain;object-fit:contain;width:auto}@media (min-width:1024px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .brand-identity__root{height:100px}}@media (max-width:767px){.ihabdevteam-core-scope .brand-identity__root{height:64px;padding:10px}.ihabdevteam-core-scope .brand-identity__image{height:40px}}';te(F5);function El({appMode:e}){const{t}=me.useTranslation(),a=e==="manager",r=a?Dl:Nl,n=O5,i=aa("(min-width: 768px) and (max-width: 1023px)");return o.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?o.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):o.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"})})}function jl({activeKey:e,onChange:t,items:a,malgwiItems:r,managerItems:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}){const{t:g}=me.useTranslation(),f=aa("(max-width: 767px)"),b=l.useMemo(()=>{const A=[];return s&&A.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:s}),c&&A.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&A.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),m&&A.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:m}),d&&A.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),A},[g,s,c,u,m,d,i]),v=l.useCallback(A=>({position:"fixed",top:A.bottom+8,right:Math.max(8,window.innerWidth-A.right),zIndex:1e4}),[]),y=l.useId(),{open:_,toggle:C,close:x,style:k,triggerRef:w,menuRef:S}=ao({computeStyle:v,onScroll:"ignore",onResize:"ignore"}),j=l.useMemo(()=>[{items:b.map(A=>({label:A.label,icon:A.icon,badgeCount:A.badgeCount,selected:A.selected??(!!A.key&&A.key===e),closeOnSelect:!0,onClick:()=>{A.onClick?.(),x()}}))}],[b,e,x]);return o.jsxs("aside",{className:`header${h==="manager"?" header--manager":""}`,children:[o.jsxs("div",{className:"header__bi",children:[o.jsx(El,{appMode:h}),o.jsxs("div",{className:"header__menu-button",ref:w,children:[o.jsx(re,{size:48,type:"dot",shape:"pill",variant:"default",icon:"menu",ariaLabel:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:C,"aria-expanded":_,"aria-controls":_?y:void 0}),_&&qt.createPortal(o.jsx("div",{id:y,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:k,ref:S,children:o.jsx(br,{columns:j,onClose:x})}),document.body)]})]}),o.jsx(Bl,{items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:m,appMode:h,onAppModeChange:p}),f&&o.jsx(Tl,{items:a,activeKey:e??void 0,onChange:t,appMode:h,onAppModeChange:p})]})}const Bh=jl;var W5='.ihabdevteam-core-scope .payment-plan__card{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex:1 1 340px;flex-direction:column;gap:28px;max-width:360px;min-width:min(340px,100%);padding:20px;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease;width:100%}.ihabdevteam-core-scope .payment-plan__card:hover{box-shadow:var(--shadow-dropdown);transform:translateY(-4px)}.ihabdevteam-core-scope .payment-plan__card-badge{position:absolute;right:32px;top:32px}.ihabdevteam-core-scope .payment-plan__pricing-card{cursor:pointer;display:flex;justify-content:center}.ihabdevteam-core-scope .payment-plan__title{color:var(--color-black);display:flex;flex-direction:column;margin:0}.ihabdevteam-core-scope .payment-plan__quote{color:var(--color-sub);margin:0 0 4px;min-height:1.4em}.ihabdevteam-core-scope .payment-plan__title-heading{margin:0}.ihabdevteam-core-scope .payment-plan__subtitle{color:var(--color-gray);line-height:1.5;margin:8px 0 0;text-align:left}.ihabdevteam-core-scope .payment-plan__box,.ihabdevteam-core-scope .payment-plan__box-title{display:block}.ihabdevteam-core-scope .payment-plan__contact-button{width:100%}.ihabdevteam-core-scope .payment-plan__feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:12px 0 0;padding:0}.ihabdevteam-core-scope .payment-plan__feature-item{align-items:center;color:var(--color-darkGray);display:flex;gap:10px;line-height:1.45}.ihabdevteam-core-scope .payment-plan__feature-check{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .payment-plan__card-pricing{display:flex;flex-direction:column;gap:6px;margin-top:auto;text-align:left;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-list{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .payment-plan__pricing-row{grid-row-gap:4px;align-items:center;background:var(--plan-color,var(--color-darkWhite));border:1px solid transparent;border-radius:var(--radius-s);box-sizing:border-box;color:#fff;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 18px;row-gap:4px;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.ihabdevteam-core-scope .payment-plan__pricing-row--static{cursor:default;pointer-events:none}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight{background:var(--color-white);border:1px solid var(--plan-color,var(--color-main));color:var(--color-darkGray)}.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-current,.ihabdevteam-core-scope .payment-plan__pricing-row--highlight .payment-plan__pricing-row-price{color:var(--plan-color,var(--color-main))}.ihabdevteam-core-scope .payment-plan__pricing-row:hover{box-shadow:var(--shadow-dropdown);filter:brightness(1.04);transform:translateY(-2px)}.ihabdevteam-core-scope .payment-plan__pricing-row-title{display:contents}.ihabdevteam-core-scope .payment-plan__pricing-row-label{grid-column:1;grid-row:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-row-price{align-items:center;color:#fff;display:flex;gap:var(--spacing-xs);grid-column:1/-1;grid-row:2;justify-content:flex-end;margin:0;text-align:right}.ihabdevteam-core-scope .payment-plan__pricing-current{color:#fff;margin:0;white-space:nowrap}.ihabdevteam-core-scope .payment-plan__pricing-symbol{font-weight:600;margin-right:2px}.ihabdevteam-core-scope .payment-plan__list{grid-gap:var(--spacing-l);align-items:stretch;display:grid;gap:var(--spacing-l);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),360px));justify-content:center;margin:0 auto var(--spacing-page);width:100%}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:stretch}.ihabdevteam-core-scope .payment-plan__card.recommended{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .payment-plan__feature{align-items:center;color:var(--color-darkGray);display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .payment-plan__feature:before{color:var(--color-success);content:"\u2713";font-weight:700}@media (max-width:767px){.ihabdevteam-core-scope .payment-plan__list{align-items:center;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .payment-plan__list>.payment-plan__card{align-self:center;flex:none;max-width:360px;width:100%}}';te(W5);function Nh(e){if(!(e==null||e===""))return or(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}function H5(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function V5(e){if(e.durationDays&&e.durationDays>0){const n=e.durationDays;return n%365===0?`${n/365}\uB144`:`${n}\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*$/);return r?r[1].replace(/\s+/g,""):a||"\uC774\uC6A9\uAD8C"}function G5(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 Ll(e){return{type:e.type??H5(e),plan:V5(e),label:e.label,price:Nh(e.price),originalPrice:Nh(e.originalPrice),discountLabel:e.discountLabel}}var q5='.ihabdevteam-core-scope .pass-card-frame{container-type:inline-size;height:188px;max-width:100%;width:300px}.ihabdevteam-core-scope .pass-card{border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;height:188px;overflow:hidden;padding:var(--spacing-l);position:relative;width:300px}.ihabdevteam-core-scope .pass-card-frame>.pass-card{aspect-ratio:auto;border-radius:5.33cqw;height:100%;padding:6.67cqw;width:100%}.ihabdevteam-core-scope .pass-card--clickable{cursor:pointer}@media (max-width:360px){.ihabdevteam-core-scope .pass-card,.ihabdevteam-core-scope .pass-card-frame{max-width:300px;width:100%}}.ihabdevteam-core-scope .pass-card--active{box-shadow:0 4px 16px rgba(0,0,0,.08)}.ihabdevteam-core-scope .pass-card--pending{box-shadow:0 2px 8px rgba(0,0,0,.05)}.ihabdevteam-core-scope .pass-card--expired{--color-main:var(--color-disabled);--color-sub:var(--color-whiteLine);--pass-card-expired-shape:var(--color-whiteLine);box-shadow:none}.ihabdevteam-core-scope [data-theme=dark] .pass-card--expired,.ihabdevteam-core-scope[data-theme=dark] .pass-card--expired,[data-theme=dark] .pass-card--expired .ihabdevteam-core-scope{--pass-card-expired-shape:hsla(0,0%,100%,.18)}@media (prefers-color-scheme:dark){.ihabdevteam-core-scope :root:not([data-theme=light]):not([data-theme=dark]) .pass-card--expired{--pass-card-expired-shape:hsla(0,0%,100%,.18)}}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg{background:var(--color-darkWhite)}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg__symbol{background:var(--pass-card-expired-shape)}.ihabdevteam-core-scope .pass-card--expired .pass-card__copyright,.ihabdevteam-core-scope .pass-card--expired .pass-card__plan,.ihabdevteam-core-scope .pass-card--expired .pass-card__price-area,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-percent,.ihabdevteam-core-scope .pass-card--expired .pass-card__usage-remaining{color:var(--color-gray)}.ihabdevteam-core-scope .pass-card.pass-card--expired:after{box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 color-mix(in srgb,var(--color-gray) 10%,transparent)}.ihabdevteam-core-scope .pass-card:after{border-radius:inherit;box-shadow:inset 1px 1px 0 hsla(0,0%,100%,.5),inset -1px -1px 0 rgba(73,156,223,.2);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .pass-card__top{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;margin-top:-1.67cqw;position:relative;z-index:1}.ihabdevteam-core-scope .pass-card__top-left{align-items:flex-start;display:flex;flex-direction:column;gap:0}.ihabdevteam-core-scope .pass-card__logo{height:10.67cqw;-o-object-fit:contain;object-fit:contain;width:auto}.ihabdevteam-core-scope .pass-card__plan{color:var(--pass-card-text,var(--color-pureBlack));display:flex;flex-direction:column;gap:0;margin-top:-.67cqw;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__plan .h0{font-size:13.33cqw;line-height:1.3}.ihabdevteam-core-scope .pass-card .pass-card__plan-number{font-size:17.33cqw;letter-spacing:-1cqw;line-height:1}.ihabdevteam-core-scope .pass-card__plan .h5b{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__plan-unit{margin-left:.67cqw;position:relative;top:-.67cqw}.ihabdevteam-core-scope .pass-card__plan-suffix{margin-left:.67cqw;margin-top:0}.ihabdevteam-core-scope .pass-card .pass-card__copyright{color:var(--pass-card-text,var(--color-black));font-size:3.67cqw;line-height:1.36;margin:auto 0 0;position:relative;text-align:left;z-index:1}.ihabdevteam-core-scope .pass-card__price-area{align-items:flex-end;bottom:4.67cqw;display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__price-area .h1{font-size:10.67cqw;line-height:1.375}.ihabdevteam-core-scope .pass-card__price-area .h5{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__usage{align-items:flex-end;bottom:4.67cqw;color:var(--pass-card-text,var(--color-black));display:flex;flex-direction:column;gap:0;position:absolute;right:6.67cqw;z-index:1}.ihabdevteam-core-scope .pass-card__usage-percent{align-items:baseline;display:inline-flex;font-size:3.67cqw;gap:0;line-height:1.36;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-remaining{font-size:5cqw;line-height:1.53;opacity:.9}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-value{font-size:10.67cqw;line-height:1.2}.ihabdevteam-core-scope .pass-card__usage .pass-card__usage-symbol{font-size:5cqw;line-height:1.53}.ihabdevteam-core-scope .pass-card__discount{color:var(--pass-card-text,var(--color-pureBlack));font-size:4.67cqw;line-height:1.2;text-align:right;white-space:pre-line}.ihabdevteam-core-scope .pass-card__price{align-items:baseline;color:var(--pass-card-text,var(--color-pureBlack));display:inline-flex;gap:2cqw;text-align:right}.ihabdevteam-core-scope .pass-card__price-original{color:color-mix(in srgb,var(--pass-card-text,var(--color-pureBlack)) 75%,transparent);font-size:4.67cqw;line-height:1.57;text-decoration:line-through;text-decoration-thickness:1px}';te(q5);var Y5='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',U5='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>',K5='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',Z5='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',X5='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>',J5='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',Q5=".ihabdevteam-core-scope .pass-card-bg{border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute}:where(.ihabdevteam-core-scope){--pass-card-symbol-opacity:1}.ihabdevteam-core-scope .pass-card-bg__symbol{background:var(--symbol-url) center /contain no-repeat;height:48px;-webkit-mask:var(--symbol-url) center /contain no-repeat;mask:var(--symbol-url) center /contain no-repeat;position:absolute;right:12px;top:12px;width:48px}";te(Q5);var e3=".ihabdevteam-core-scope .pass-card-bg-two-circle{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1,.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{border-radius:50%;opacity:.75;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg-two-circle__c1{background:var(--color-main);height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg-two-circle__c3{background:var(--color-sub);bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg-two-circle__symbol{background:var(--color-darkWhite)}";te(e3);var Dh='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 Wa={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Ml=new WeakMap;function t3(e){if(e)return Ml.get(e)}function ga(e,t){e&&(e.style.setProperty(Wa.text,t.text),e.style.setProperty(Wa.sub,t.sub),t.copyrightColor&&e.style.setProperty(Wa.copyright,t.copyrightColor),Ml.set(e,t))}function fa(e){e&&(e.style.removeProperty(Wa.text),e.style.removeProperty(Wa.sub),e.style.removeProperty(Wa.copyright),Ml.delete(e))}const Pl={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Rl(e={}){const t=lt(Pl,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-two-circle__c1"}),o.jsx("div",{className:"pass-card-bg-two-circle__c3"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${Dh}")`}})]})}const Eh="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 a3=".ihabdevteam-core-scope .pass-card-bg-sound-move{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg-sound-move__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(a3);var gr='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 o3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},r3=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function jh(e={}){const t=lt(o3,ga,fa),a="var(--color-main)",r=270,n=170;return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[o.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:r3.map(({scale:i,opacity:s},c)=>o.jsx("g",{transform:`translate(${r} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:o.jsx("path",{d:Eh,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var n3=".ihabdevteam-core-scope .pass-card-bg-sound-move-v1{background:linear-gradient(135deg,var(--color-main),var(--color-sub))}.ihabdevteam-core-scope .pass-card-bg-sound-move-v1__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(n3);const i3={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},s3=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function l3(e={}){const t=lt(i3,ga,fa),a="#ffffff",r=270,n=170;return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[o.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:s3.map(({scale:i,opacity:s},c)=>o.jsx("g",{transform:`translate(${r} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:o.jsx("path",{d:Eh,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${Dh}")`}})]})}var c3=".ihabdevteam-core-scope .pass-card-bg-talk{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk__shape--left{background:var(--color-main);border-radius:42px 42px 42px 4px;transform:translateX(-18px)}.ihabdevteam-core-scope .pass-card-bg-talk__shape--right{background:var(--color-sub);border-radius:50%;opacity:.7;transform:translateX(18px)}";te(c3);const d3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function u3(e={}){const t=lt(d3,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),o.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}const p3={Logo_speechear_kr:{"":Nl,_white:Y5,_textWhite:U5,_black:K5},Logo_speechearManager_kr:{"":Dl,_white:Z5,_textWhite:X5,_black:J5}};function h3(e,t){if(e)return p3[e]?.[t??""]??void 0}const m3={speechear:Nl,manager:Dl},b3={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Lh=10;function g3(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 n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function f3(e,t,a){if(e==="manager"){const r=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===Ca.t("passCard.specialLabel");return r?o.jsx(u3,{}):n?o.jsx(l3,{}):o.jsx(jh,{})}return o.jsx(Rl,{})}function $l({product:e,showPrice:t=!1,plan:a,type:r,endDate:n,remainingSeconds:i,state:s="active",bg:c,bgOnly:d=!1,textColor:u,subColor:m,copyrightColor:h,logoSrc:p,label:g,price:f,originalPrice:b,discountLabel:v,onUse:y,onRefund:_,onDelete:C}){const{t:x}=me.useTranslation(),k=e?Ll(e):void 0,w=r??k?.type??"speechear",S=a??k?.plan??"\uC774\uC6A9\uAD8C",j=g??k?.label,A=f??(t?k?.price:void 0),B=b??(t?k?.originalPrice:void 0),F=v??k?.discountLabel,R=l.useMemo(()=>{if(A)return null;const P=e?.durationDays??G5(e?.code);if(!P||P<=0)return null;const q=P*86400;let oe;if(i!=null)oe=i;else if((s==="active"||s==="expired")&&n){const de=new Date(n).getTime();if(Number.isNaN(de))return null;const I=new Date;I.setHours(0,0,0,0);const Z=new Date(de);Z.setHours(0,0,0,0);const Q=Math.round((Z.getTime()-I.getTime())/864e5);oe=Math.max(0,Q)*86400}else s==="expired"?oe=0:oe=q;const ge=Math.max(0,Math.min(100,Math.floor(Math.min(oe,q)/q*100)));return s==="pending"&&ge>=100?null:{percent:ge,remainingLabel:g3(oe,x)}},[A,s,n,i,e?.durationDays,e?.code,x]),E=l.useRef(null),[M,D]=l.useState({}),[H,ee]=l.useState(null),J=!!(y||_||C),ae=l.useRef(!1),T=l.useRef(void 0),[L,$]=l.useState(p);l.useLayoutEffect(()=>{$(p)},[p]),l.useLayoutEffect(()=>{const P=E.current;P&&(u!==void 0&&P.style.setProperty("--pass-card-text",u),m!==void 0&&P.style.setProperty("--pass-card-sub",m),h!==void 0&&P.style.setProperty("--pass-card-copyright",h))},[u,m,h]),l.useLayoutEffect(()=>{const P=E.current;if(!P)return;const q=t3(P);if(!p){const oe=b3[w],ge=s==="expired"?"_black":q?.logoColor??"",de=h3(oe,ge);$(de)}},[c,p,w,s]);const z=P=>{const q=E.current;if(!q)return null;const{left:oe,top:ge,width:de,height:I}=q.getBoundingClientRect(),Z=(P.clientX-oe)/de-.5;return{rotateX:-((P.clientY-ge)/I-.5)*Lh,rotateY:Z*Lh}},V=(P,q)=>{const oe=q*-.7,ge=P*.7+10,de=20+(Math.abs(P)+Math.abs(q))*.4;return`${oe}px ${ge}px ${de}px rgba(0, 0, 0, 0.18)`},X=l.useCallback(P=>{ae.current=!0,clearTimeout(T.current),T.current=setTimeout(()=>{ae.current=!1},200);const q=z(P);q&&D({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:V(q.rotateX,q.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)"})},[]),W=l.useCallback(P=>{const q=z(P);if(!q)return;const oe=ae.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";D({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:V(q.rotateX,q.rotateY),transition:oe})},[]),Y=l.useCallback(()=>{clearTimeout(T.current),ae.current=!1,D({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)"})},[]),O=l.useCallback(()=>ee(null),[]),ie=l.useMemo(()=>{const P=S.replace("\uC774\uC6A9\uAD8C","").trim(),q=P.match(/^(.*?)(일|년)$/);return q?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"h0 pass-card__plan-number",children:q[1]}),o.jsx("span",{className:"h5b pass-card__plan-unit",children:q[2]==="\uB144"?x("passCard.unitYear","\uB144"):x("passCard.unitDay","\uC77C")})]}):o.jsx("span",{className:"h0",children:P})},[S,x]),ue=l.useMemo(()=>{const P=or(A);if(!P)return null;const q=P.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return o.jsx("span",{className:"h1",children:P});const[,oe,ge,de]=q;return o.jsxs(o.Fragment,{children:[oe&&o.jsx("span",{className:"h5 pass-card__price-symbol",children:oe}),o.jsx("span",{className:"h1 pass-card__price-amount",children:ge}),de.trim()&&o.jsx("span",{className:"h5 pass-card__price-symbol",children:de.trim()})]})},[A]),fe=l.useCallback(()=>{J&&ee(P=>{if(P)return null;const q=E.current?.getBoundingClientRect();if(!q)return null;const oe=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+oe,top:q.top+oe,bottom:q.bottom+oe}})},[J]),ye=l.useCallback(P=>{J&&(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),fe())},[J,fe]),pe=[{items:[...y?[{label:x("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{y(),ee(null)},closeOnSelect:!0}]:[],..._?[{label:x("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),ee(null)},closeOnSelect:!0}]:[],...C?[{label:x("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{C(),ee(null)},closeOnSelect:!0}]:[]]}];return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pass-card-frame",children:o.jsxs("div",{ref:E,className:`pass-card pass-card--${s}${J?" pass-card--clickable":""}`,style:M,onMouseEnter:X,onMouseMove:W,onMouseLeave:Y,onClick:fe,onKeyDown:J?ye:void 0,role:J?"button":void 0,tabIndex:J?0:void 0,children:[c??f3(w,S,j),!d&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pass-card__top",children:o.jsxs("div",{className:"pass-card__top-left",children:[o.jsx("img",{src:L??m3[w],className:"pass-card__logo",alt:w==="manager"?x("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):x("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),o.jsxs("div",{className:"pass-card__plan",children:[o.jsx("div",{children:ie}),o.jsx("span",{className:"h5b pass-card__plan-suffix",children:j?x("passCard.labeledPlan",{label:j}):x("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),A?o.jsxs("div",{className:"pass-card__price-area",children:[F&&o.jsx("span",{className:"pass-card__discount body-3",children:F}),o.jsxs("div",{className:"pass-card__price",children:[B&&o.jsx("span",{className:"pass-card__price-original body-3",children:or(B)}),ue]})]}):R?o.jsxs("div",{className:"pass-card__usage",children:[o.jsx("span",{className:"h5b pass-card__usage-remaining",children:R.remainingLabel}),o.jsxs("span",{className:"pass-card__usage-percent",children:[o.jsx("span",{className:"h1 pass-card__usage-value",children:R.percent}),o.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):o.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),H&&o.jsx(Sa,{anchorRect:H,onClose:O,ariaLabel:x("tooltip.menu","\uBA54\uB274"),children:o.jsx(br,{columns:pe,onClose:O,size:"small"})})]})}var v3=".ihabdevteam-core-scope .pass-card-bg-sound-line{background:linear-gradient(60deg,var(--color-pureWhite) 0,color-mix(in srgb,var(--color-sub) 15%,var(--color-pureWhite)) 100%)}.ihabdevteam-core-scope .pass-card-bg-sound-line__svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}";te(v3);const y3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function x3(e={}){const t=`passcard-sound-line-grad-${l.useId()}`,a=lt(y3,ga,fa);return o.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[o.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:[o.jsx("defs",{children:o.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[o.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),o.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),o.jsx("g",{transform:"translate(25, 45)",children:o.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"})})]}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var C3=".ihabdevteam-core-scope .pass-card-bg-talk-v1{align-items:center;background:var(--color-pureWhite);display:flex;justify-content:center}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape{height:76px;position:absolute;width:76px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--left{background:linear-gradient(70deg,var(--color-main),var(--color-sub));border-radius:999px;height:92px;transform:translateX(0) rotate(120deg);width:180px}.ihabdevteam-core-scope .pass-card-bg-talk-v1__shape--right{background:var(--color-sub);border-radius:50%;height:60px;opacity:1;transform:translate(38px,12px);width:60px}";te(C3);const _3={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function w3(e={}){const t=lt(_3,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),o.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}function k3(e,t){if(e){if(t==="manager_pro")return o.jsx(w3,{});if(t==="manager_standard")return o.jsx(x3,{});if(t==="manager_lite")return o.jsx(jh,{})}}function S3(e){const t=or(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,r,n,i]=a;return o.jsxs(o.Fragment,{children:[r&&o.jsx("span",{className:"payment-plan__pricing-symbol h4",children:r}),n,i.trim()&&o.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function Mh(e){const{t}=me.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),r=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:s="monthly",ownedCodes:c}=e||{},d=C=>!!C&&!!c?.includes(C),u=(n.tiers||[]).some(C=>/오픈\s*특가/.test(C.label??"")&&d(C.code)),m=C=>{const x=C.prices?C.prices[s]:C.price;return x?(n.tiers||[]).some(k=>!!k.badge&&k.originals?.[s]===x):!1},h=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",p=t("payment.plan.freePrice","\uBB34\uB8CC"),g=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),f=C=>C.prices?C.prices[s]:C.price,b=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const x=f(C);return x==="\uBB34\uB8CC"||x===p||x==="0\uC6D0"}),v=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const x=f(C);return x==="\uBB38\uC758"||x===g}),y=n.group==="org",_=y?"manager":"speechear";return o.jsxs("div",{className:"payment-plan__card",style:{borderColor:h,"--plan-color":h},children:[n.cardBadge&&o.jsx("div",{className:"payment-plan__card-badge",children:o.jsx(ht,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),o.jsxs("div",{className:"payment-plan__title",children:[o.jsx("p",{className:"payment-plan__quote body-3b",style:{color:h},children:n.quote||"\xA0"}),o.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),o.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),o.jsxs("div",{className:"payment-plan__box",children:[o.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),o.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((C,x)=>o.jsxs("li",{className:"payment-plan__feature-item body-3",children:[o.jsx(Fe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),C]},x))})]}),o.jsxs("div",{className:"payment-plan__box",children:[o.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),o.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((C,x)=>o.jsxs("li",{className:"payment-plan__feature-item body-3",children:[o.jsx(Fe,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:h}}),C]},x))})]}),o.jsx("div",{className:"payment-plan__card-pricing",children:b?null:v?o.jsx(re,{className:"payment-plan__contact-button",label:t("payment.plan.contact",{defaultValue:"\uBB38\uC758\uD558\uAE30"}),variant:"main",size:56,onClick:()=>n.tiers?.[0]&&i?.({...n.tiers[0],productId:n.id,productTitle:n.title})}):o.jsx(o.Fragment,{children:o.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(C=>{const x=C.label||a,k=/오픈\s*특가/.test(x),w=k||C.openPromo===!0,S=x.replace(/^오픈\s*특가\s*/,"")||a,j=C.prices?C.prices[s]:C.price,A=C.badge?w?`${r}
|
|
838
|
+
${C.badge}`:C.badge:void 0;if(k&&d(C.code))return null;if(!C.badge&&!u)return m(C)?null:o.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${C.highlight?" payment-plan__pricing-row--highlight":""}`,children:[o.jsx("div",{className:"payment-plan__pricing-row-title",children:o.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:C.label})}),o.jsx("div",{className:"payment-plan__pricing-row-price",children:o.jsx("span",{className:"payment-plan__pricing-current h1",children:S3(j)})})]},C.id);const B=n.tier??(y?n.title:void 0),F=o.jsx($l,{showPrice:!0,product:{type:_,code:C.code,name:S,label:B,price:j,originalPrice:C.originals?.[s]??void 0,discountLabel:A},bg:k3(y,n.id)}),R=()=>i?.({...C,productId:n.id,productTitle:n.title,preview:F});return o.jsx("div",{className:"payment-plan__pricing-card",onClick:R,onKeyDown:i?E=>{E.target===E.currentTarget&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),R())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:F},C.id)})})})})]})}function Ph({variant:e="default"}){return o.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),o.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var A3=".ihabdevteam-core-scope .pass-card-bg-ihab{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol{bottom:-24px;height:140px;-o-object-fit:contain;object-fit:contain;opacity:.06;position:absolute;right:-24px;width:140px}.ihabdevteam-core-scope .pass-card-bg-ihab__symbol-top{transform:translate(-48px) rotate(-90deg);transform-origin:top right;width:126.72px}";te(A3);var Il='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 zl={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Rh(){const e=lt(zl,ga,fa);return o.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${Il}")`}})})}var T3=".ihabdevteam-core-scope .pass-card-bg-left-color-grid{background:var(--color-white)}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__bar{background:linear-gradient(120deg,var(--color-main),var(--color-sub));border-radius:16px 0 0 16px;height:100%;left:0;position:absolute;top:0;width:76%}.ihabdevteam-core-scope .pass-card-bg-left-color-grid__grid{--grid-line:rgba(73,156,223,.06);background-image:linear-gradient(rgba(73,156,223,.06) 1px,transparent 0),linear-gradient(90deg,rgba(73,156,223,.06) 1px,transparent 0);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;inset:0;position:absolute}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__grid{--grid-line:transparent}.ihabdevteam-core-scope .pass-card--expired .pass-card-bg-left-color-grid__bar{background:var(--pass-card-expired-shape)}";te(T3);const Ol={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function $h(e={}){const t=lt(Ol,ga,fa);return o.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[o.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),o.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),o.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${gr}")`}})]})}var B3=".ihabdevteam-core-scope .shortcut-badge{align-items:center;display:inline-flex;gap:4px;pointer-events:none;z-index:10}.ihabdevteam-core-scope .shortcut-badge--top-left{left:0;position:absolute;top:0;transform:translate(-25%,-25%) scale(1);transform:translate(-25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--top-right{position:absolute;right:0;top:0;transform:translate(25%,-25%) scale(1);transform:translate(25%,-25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-left{bottom:0;left:0;position:absolute;transform:translate(-25%,25%) scale(1);transform:translate(-25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge--bottom-right{bottom:0;position:absolute;right:0;transform:translate(25%,25%) scale(1);transform:translate(25%,25%) scale(var(--shortcut-badge-scale,1))}.ihabdevteam-core-scope .shortcut-badge__group{align-items:center;display:inline-flex;gap:4px}.ihabdevteam-core-scope .shortcut-badge__plus{color:var(--color-lightGray);font-size:11px;line-height:1}.ihabdevteam-core-scope .shortcut-badge__key{align-items:center;background:var(--color-lightBlack);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-white);display:inline-flex;font-family:inherit;font-size:11px;font-weight:400;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0 5px;white-space:nowrap}";te(B3);function Fl({keys:e,anchor:t="top-right",scale:a,className:r=""}){const n=Array.isArray(e)?e:[e];return o.jsx("span",{className:_e("shortcut-badge",`shortcut-badge--${t}`,r),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,s)=>o.jsxs("span",{className:"shortcut-badge__group",children:[s>0&&o.jsx("span",{className:"shortcut-badge__plus",children:"+"}),o.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${s}`))})}var N3=".ihabdevteam-core-scope .sound-compass{--scb-idle-bg:var(--color-deepWhite);--scb-idle-border:var(--color-whiteLine);--scb-idle-fg:var(--color-lightGray);--scb-active-bg:var(--color-main);--scb-active-border:var(--color-main);--scb-active-fg:#fff;--scb-played-bg:var(--color-sub);--scb-played-border:var(--color-sub);--scb-played-fg:#fff;--scb-wrong-bg:#ef4444;--scb-wrong-border:#ef4444;--scb-wrong-fg:#fff;--scb-idle-hover-bg:var(--color-whiteLine);--scb-idle-hover-border:var(--color-lightGray);--scb-idle-hover-fg:var(--scb-idle-fg);--scb-focus-ring:var(--color-main);--scc-bg:var(--color-white);--scc-border:var(--color-whiteLine);--scc-fg:var(--color-lightGray);--scc-hover-bg:var(--color-deepWhite);--scc-hover-border:var(--color-lightGray);--scc-hover-fg:var(--color-darkGray);--scc-disabled-bg:var(--color-deepWhite);--scc-disabled-border:var(--color-whiteLine);--scc-disabled-fg:var(--color-whiteLine);align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .sound-compass__svg{left:0;overflow:visible;position:absolute;top:0}.ihabdevteam-core-scope .sound-compass__speaker-btn{all:unset;align-items:center;border-radius:50%;border-style:solid;border-width:1px;box-sizing:border-box;display:flex;flex-direction:column;gap:1px;justify-content:center;position:relative;transition:background-color .15s,border-color .15s,color .15s;z-index:1}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle{background:var(--scb-idle-bg);border-color:var(--scb-idle-border);color:var(--scb-idle-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--active{background:var(--scb-active-bg);border-color:var(--scb-active-border);color:var(--scb-active-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--correct,.ihabdevteam-core-scope .sound-compass__speaker-btn--played{background:var(--scb-played-bg);border-color:var(--scb-played-border);color:var(--scb-played-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn--wrong{background:var(--scb-wrong-bg);border-color:var(--scb-wrong-border);color:var(--scb-wrong-fg)}.ihabdevteam-core-scope .sound-compass__speaker-number{color:inherit;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .sound-compass__compass-wrap{flex-shrink:0;margin-bottom:24px;overflow:visible;position:relative}.ihabdevteam-core-scope .sound-compass__center{align-items:center;background:var(--scc-bg);border:1px solid var(--scc-border);border-radius:50%;color:var(--scc-fg);display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes sound-compass-pulse{0%{opacity:0;transform:scale(.95)}8%{opacity:.45;transform:scale(1.05)}to{opacity:0;transform:scale(2.8);transform:scale(var(--sc-pulse-scale,2.8))}}.ihabdevteam-core-scope .sound-compass__center--button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;padding:0;pointer-events:auto;transition:background-color .15s,border-color .15s,color .15s}.ihabdevteam-core-scope .sound-compass__center--button:hover{background:var(--scc-hover-bg);border-color:var(--scc-hover-border);color:var(--scc-hover-fg)}.ihabdevteam-core-scope .sound-compass__center--button:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__center--disabled{background:var(--scc-disabled-bg);border-color:var(--scc-disabled-border);color:var(--scc-disabled-fg);cursor:default;pointer-events:none}.ihabdevteam-core-scope .sound-compass__pulse--center{z-index:0}.ihabdevteam-core-scope .sound-compass__pulse{animation:sound-compass-pulse 1s cubic-bezier(.33,1,.68,1) infinite;background:var(--sc-pulse-color,var(--scb-active-bg));border-radius:50%;height:40px;left:0;pointer-events:none;position:absolute;top:0;width:40px}.ihabdevteam-core-scope .sound-compass__pulse--idle{background:var(--sc-pulse-color,var(--scb-idle-bg))}.ihabdevteam-core-scope .sound-compass__pulse--active{background:var(--sc-pulse-color,var(--scb-active-bg))}.ihabdevteam-core-scope .sound-compass__pulse--correct,.ihabdevteam-core-scope .sound-compass__pulse--played{background:var(--sc-pulse-color,var(--scb-played-bg))}.ihabdevteam-core-scope .sound-compass__pulse--wrong{background:var(--sc-pulse-color,var(--scb-wrong-bg))}.ihabdevteam-core-scope .sound-compass__pulse--once{animation-duration:1s;animation-duration:var(--sc-pulse-duration-once,1s);animation-iteration-count:1}.ihabdevteam-core-scope .sound-compass__speaker-btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--scb-focus-ring) 14%,transparent)}.ihabdevteam-core-scope .sound-compass__speaker-btn--idle:hover{background:var(--scb-idle-hover-bg);border-color:var(--scb-idle-hover-border);color:var(--scb-idle-hover-fg)}.ihabdevteam-core-scope .sound-compass__speaker-btn:focus-visible{outline:2px solid var(--scb-focus-ring);outline-offset:2px}.ihabdevteam-core-scope .sound-compass__speaker-shortcut{pointer-events:none;z-index:2}.ihabdevteam-core-scope .sound-compass__speaker-pos{position:absolute}";te(N3);const fr=(e,t,a)=>e+(t-e)*a;function Ih({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:r=null,playedIds:n,selectedId:i=null,answerId:s=null,showFeedback:c=!1,pulseSelected:d=!1,pulseSelectedDuration:u,pulseScale:m,clickable:h=!1,onSelectSpeaker:p,buttonSize:g=40,showIcon:f=!0,onCenterClick:b,centerLabel:v,centerDisabled:y=!1,centerAttention:_=!1,shortcutAnchor:C="top-right",shortcutScale:x,scaleShortcut:k=!1}){const w=Math.max(0,Math.min(1,a)),S=t/2,j=110/300,A=.18,B=P=>t*(j+(P-1)*A),F=P=>{const q=B(P.row??1),oe=P.angleDeg*Math.PI/180;return{x:S+q*Math.cos(oe),y:S+q*Math.sin(oe)}},R=Math.max(...e.map(P=>P.row??1),1),E=t*.08,M=t*.1,D=t*.24,H=t-2*E,ee=t-M-D,J=t-D/2,ae=l.useMemo(()=>[...new Set(e.map(P=>P.deg))].sort((P,q)=>P-q),[e]),T=ae.length,L=Math.max(68,T>1?H/(T-1):0),$=l.useMemo(()=>new Map(ae.map((P,q)=>[P,q])),[ae]),z=P=>{const q=$.get(P.deg)??0,oe=S+(q-(T-1)/2)*L,ge=R>1?Math.min(68,ee/(R-1)):0,de=ge*(R-1),I=M+(ee-de)/2,Z=R===1?M+ee*.4:I+(R-(P.row??1))*ge;return{x:oe,y:Z}},V=P=>{const q=F(P),oe=z(P);return{x:fr(q.x,oe.x,w),y:fr(q.y,oe.y,w)}},X={x:S,y:fr(S,J,w)},W=Math.round(g*1.2),Y=Math.round(Math.max(16,Math.min(80,g*.7))),O=[],ie=new Map;for(const P of e){const q=P.row??1;ie.has(q)||ie.set(q,[]),ie.get(q).push(P)}for(const[P,q]of ie.entries()){if(q.length<2)continue;const oe=[...q].sort((Te,Ie)=>Te.deg-Ie.deg),ge=oe.map(Te=>V(Te)),de=oe.map(Te=>Te.deg),I=de[de.length-1]-de[0],Z=I/(de.length-1),Q=360-I,ve=oe.length>=3&&Z>0&&Q<=Z*1.5,De=Math.round(B(P)*1e3)/1e3,$e=(Te,Ie,He,be)=>{const Ke=(Ie.angleDeg-Te.angleDeg+540)%360-180;if(Ke===0)return`L ${be.x} ${be.y}`;if(w===0)return`A ${De} ${De} 0 0 ${Ke>0?1:0} ${be.x} ${be.y}`;const Ve=(Te.angleDeg+Ke/2)*Math.PI/180,Re={x:S+De*Math.cos(Ve),y:S+De*Math.sin(Ve)},qe={x:(He.x+be.x)/2,y:(He.y+be.y)/2},vt={x:fr(Re.x,qe.x,w),y:fr(Re.y,qe.y,w)},Ue={x:2*vt.x-qe.x,y:2*vt.y-qe.y};return`Q ${Ue.x} ${Ue.y} ${be.x} ${be.y}`},Le=ve?[...oe,oe[0]]:oe,Ee=ve?[...ge,ge[0]]:ge;let je=`M ${Ee[0].x} ${Ee[0].y}`;for(let Te=1;Te<Ee.length;Te++)je+=" "+$e(Le[Te-1],Le[Te],Ee[Te-1],Ee[Te]);O.push({key:`arc-${P}`,d:je})}const ue=l.useMemo(()=>new Set(n??[]),[n]),fe=P=>{if(r===P.id)return"active";if(c){if(P.id===s)return"correct";if(P.id===i&&i!==s)return"wrong"}return ue.has(P.id)?"played":"idle"},ye=P=>r===P.id?"loop":c?P.id===s?"loop":null:d&&P.id===i?"once":null,pe=(P,q)=>{switch(P){case"played":case"correct":return o.jsx(td,{size:q});case"wrong":return o.jsx(ud,{size:q});default:return o.jsx(dd,{size:q})}};return o.jsx("div",{className:"sound-compass",children:o.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[o.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[w===0&&e.map(P=>{const{x:q,y:oe}=V(P);return o.jsx("line",{x1:X.x,y1:X.y,x2:q,y2:oe,stroke:"#dde3ec",strokeWidth:"1"},P.id)}),O.map(P=>o.jsx("path",{d:P.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},P.key))]}),_&&!y&&o.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:W,height:W,left:X.x-W/2,top:X.y-W/2}}),b?o.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${y?" sound-compass__center--disabled":""}`,style:{width:W,height:W,left:X.x,top:X.y},"aria-label":v,"aria-disabled":y||void 0,tabIndex:y?-1:0,onClick:y?void 0:b,children:o.jsx(Vn,{size:Y,color:"currentColor",strokeWidth:1.5})}):o.jsx("div",{className:"sound-compass__center",style:{width:W,height:W,left:X.x,top:X.y},children:o.jsx(Vn,{size:Y,color:"currentColor",strokeWidth:1.5})}),e.map((P,q)=>{const{x:oe,y:ge}=V(P),de=fe(P),I=ye(P),Z={...x!==void 0||k?{"--shortcut-badge-scale":String(x??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:h?"auto":"none",cursor:h?"pointer":"default",zIndex:de!=="idle"?10:1},Q=g,ve=Math.round(Math.max(10,Math.min(56,Q*.38))),De=Math.round(Math.max(7,Math.min(18,Q*.2))),$e=Math.round(Math.max(10,Math.min(56,Q*.4))),Le=f==="answered"&&(de==="played"||de==="correct"||de==="wrong"),Ee=f===!0||Le,je=!Le;return o.jsxs("div",{className:"sound-compass__speaker-pos",style:{...Z,left:oe-Q/2,top:ge-Q/2},children:[I&&o.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${de}`+(I==="once"?" sound-compass__pulse--once":""),style:{width:Q,height:Q,...I==="once"&&u!==void 0?{"--sc-pulse-duration-once":`${u}ms`}:null,...m!==void 0?{"--sc-pulse-scale":String(m)}:null}}),o.jsxs("button",{type:"button",tabIndex:h?0:-1,"aria-disabled":h?void 0:!0,onClick:h?()=>p?.(P.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${de}`,style:{width:Q,height:Q},"aria-label":P.label,children:[Ee&&pe(de,ve),je&&o.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:f===!0?De:$e},children:q+1})]}),P.shortcut&&o.jsx(Fl,{keys:P.shortcut,anchor:C,className:"sound-compass__speaker-shortcut"})]},P.id)})]})})}function zh({children:e,position:t="top-left",size:a=24,className:r=""}){return o.jsx("span",{className:_e("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,r),children:e})}var D3=".ihabdevteam-core-scope .divider--horizontal{align-items:center;border:none;border-top:1px solid var(--color-whiteLine);display:flex;width:100%}.ihabdevteam-core-scope .divider--vertical{border:none;border-left:1px solid var(--color-whiteLine);display:inline-block;height:1em;vertical-align:middle;width:1px}.ihabdevteam-core-scope .divider--labeled{border-top:none;gap:var(--spacing-s)}.ihabdevteam-core-scope .divider__line{background:var(--color-whiteLine);flex:1 1 auto;height:1px}.ihabdevteam-core-scope .divider__label{color:var(--color-gray);flex:0 0 auto;white-space:nowrap}";te(D3);function Oh({orientation:e="horizontal",label:t,className:a=""}){const r=_e("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?o.jsx("div",{className:r,role:"separator","aria-orientation":"vertical"}):t?o.jsxs("div",{className:r,role:"separator","aria-orientation":"horizontal",children:[o.jsx("span",{className:"divider__line"}),o.jsx("span",{className:"divider__label caption-1",children:t}),o.jsx("span",{className:"divider__line"})]}):o.jsx("div",{className:r,role:"separator","aria-orientation":"horizontal"})}var E3='.ihabdevteam-core-scope .radio{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .radio input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .radio__dot{background:var(--color-pureWhite);border:1.5px solid var(--color-whiteLine);border-radius:50%;display:inline-block;flex-shrink:0;height:20px;position:relative;transition:border-color .15s,background .15s;width:20px}.ihabdevteam-core-scope .radio__dot:before{background:var(--color-pureWhite);border-radius:50%;content:"";inset:4px;position:absolute;transform:scale(0);transition:transform .15s}.ihabdevteam-core-scope .radio input:checked+.radio__dot{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:checked+.radio__dot:before{transform:scale(1)}.ihabdevteam-core-scope .radio:not(.radio--disabled):hover .radio__dot{border-color:var(--color-main)}.ihabdevteam-core-scope .radio input:focus-visible+.radio__dot{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .radio__label{color:var(--color-black)}.ihabdevteam-core-scope .radio--disabled{cursor:not-allowed;opacity:.45}';te(E3);function Wl({checked:e,onChange:t,name:a,value:r,disabled:n=!1,label:i,className:s=""}){const c=l.useId();return o.jsxs("label",{className:`radio${n?" radio--disabled":""} ${s}`.trim(),htmlFor:c,children:[o.jsx("input",{id:c,type:"radio",name:a,value:r,checked:e,disabled:n,onChange:d=>t?.(d.target.checked)}),o.jsx("span",{className:"radio__dot"}),i&&o.jsx("span",{className:"radio__label body-2",children:i})]})}var j3=".ihabdevteam-core-scope .radio-group{display:flex}.ihabdevteam-core-scope .radio-group--vertical{flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .radio-group--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-l)}";te(j3);function Fh({options:e,value:t,onChange:a,name:r,disabled:n=!1,direction:i="vertical",className:s=""}){const c=l.useId(),d=r??`radio-group-${c}`;return o.jsx("div",{className:`radio-group radio-group--${i} ${s}`.trim(),role:"radiogroup",children:e.map(u=>o.jsx(Wl,{name:d,value:u.value,checked:t===u.value,disabled:n||u.disabled,label:u.label,onChange:m=>{m&&a?.(u.value)}},u.value))})}var L3=".ihabdevteam-core-scope .alert{align-items:flex-start;background:color-mix(in srgb,var(--alert-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--alert-color) 25%,transparent);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);padding:var(--spacing-m)}.ihabdevteam-core-scope .alert__icon{align-items:center;color:var(--alert-color);display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .alert__body{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ihabdevteam-core-scope .alert__header{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .alert__message--indented{margin-left:calc(20px + var(--spacing-xs))}.ihabdevteam-core-scope .alert__title{color:var(--color-black)}.ihabdevteam-core-scope .alert__message{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert__dismiss{align-items:center;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:18px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.ihabdevteam-core-scope .alert__dismiss:hover{color:var(--color-darkGray)}.ihabdevteam-core-scope .alert--info{--alert-color:var(--color-main)}.ihabdevteam-core-scope .alert--success{--alert-color:var(--color-success)}.ihabdevteam-core-scope .alert--warning{--alert-color:var(--color-warn)}.ihabdevteam-core-scope .alert--danger{--alert-color:var(--color-error)}";te(L3);const M3={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Wh({tone:e="info",title:t,message:a,children:r,dismissible:n=!1,onDismiss:i,className:s=""}){const{t:c}=me.useTranslation(),[d,u]=l.useState(!1),m=l.useCallback(()=>{u(!0),i?.()},[i]);if(d)return null;const h=_e("alert",`alert--${e}`,s),p=!!t,g=!!(a||r);return o.jsxs("div",{className:h,role:"alert",children:[o.jsxs("div",{className:"alert__body",children:[o.jsxs("div",{className:"alert__header",children:[o.jsx(Fe,{icon:M3[e],size:20,className:"alert__icon"}),p&&o.jsx("span",{className:"alert__title body-2",children:t}),!p&&g&&o.jsx("div",{className:"alert__message body-3",children:a??r})]}),p&&g&&o.jsx("div",{className:"alert__message alert__message--indented body-3",children:a??r})]}),n&&o.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var P3=".ihabdevteam-core-scope .search-summary{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;color:var(--color-gray);display:inline-flex;gap:var(--spacing-xs);max-width:100%;padding:30px 20px;text-align:left}.ihabdevteam-core-scope .search-summary__icon{color:currentColor;display:inline-flex;flex-shrink:0}.ihabdevteam-core-scope .search-summary__text{min-width:0;overflow-wrap:anywhere;word-break:keep-all}.ihabdevteam-core-scope .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--ready{background:var(--color-white);color:var(--color-deepGray)}.ihabdevteam-core-scope .search-summary--ready .search-summary__em{color:var(--color-main)}.ihabdevteam-core-scope .search-summary--guide{background:var(--color-deepWhite);color:var(--color-gray)}.ihabdevteam-core-scope .search-summary--error{background:var(--color-white);color:var(--color-error)}.ihabdevteam-core-scope .search-summary--error .search-summary__em{color:var(--color-error)}";te(P3);const R3={ready:"search",guide:"info",error:"circle-alert"};function $3(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const r=[];let n=0,i=0;for(const s of a){const c=e.indexOf(s,n);c<0||(c>n&&r.push(e.slice(n,c)),r.push(o.jsx("strong",{className:"search-summary__em body-2",children:s},i++)),n=c+s.length)}return n<e.length&&r.push(e.slice(n)),r}function Hh({status:e="guide",label:t,children:a,emphasis:r,icon:n,className:i=""}){const s=n===!1?null:n??R3[e],c=_e("search-summary",`search-summary--${e}`,i),d=t??a,u=typeof d=="string"&&r&&r.length>0?$3(d,r):d;return o.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[s!=null&&o.jsx(Fe,{icon:s,size:18,className:"search-summary__icon"}),o.jsx("span",{className:"search-summary__text body-2",children:u})]})}function So({title:e,items:t}){const{t:a}=me.useTranslation(),{anchorRect:r,openAt:n,close:i}=ko();return o.jsxs(o.Fragment,{children:[o.jsx(re,{size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!r,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:s=>n(s.currentTarget),onPointerLeave:i,onFocus:s=>n(s.currentTarget),onBlur:i}),r&&o.jsx(Fa,{title:e,items:t,showIndex:t.length>1,anchorRect:r,onClose:i})]})}var I3=".ihabdevteam-core-scope .tabs{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .tabs__list{border-bottom:1px solid var(--color-whiteLine);display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-gray);cursor:pointer;padding:0 var(--spacing-xs);transition:color .15s,border-color .15s;white-space:nowrap}.ihabdevteam-core-scope .tabs__list--32 .tabs__tab{height:32px}.ihabdevteam-core-scope .tabs__list--40 .tabs__tab{height:40px}.ihabdevteam-core-scope .tabs__list--48 .tabs__tab{height:48px}.ihabdevteam-core-scope .tabs__tab:hover:not(:disabled){color:var(--color-darkGray)}.ihabdevteam-core-scope .tabs__tab:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .tabs__tab--active{border-bottom-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .tabs__tab:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .tabs__panel{outline:none}.ihabdevteam-core-scope .tabs__panel:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}";te(I3);function Vh({items:e=[],value:t,onChange:a,className:r="",size:n=40}){const i=l.useId(),{t:s}=me.useTranslation(),c=l.useRef(null),d=t??e[0]?.key,u=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,f=u())=>{if(f.length===0)return;const b=(g%f.length+f.length)%f.length;f[b]?.focus(),f[b]?.click()},h=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const f=u(),b=f.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(b+1,f):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(b-1,f):g.key==="Home"?m(0,f):m(f.length-1,f)},p=e.find(g=>g.key===d);return o.jsxs("div",{className:`tabs ${r}`.trim(),children:[o.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":s("tabs.ariaLabel","\uD0ED"),children:e.map(g=>o.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===d?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>a?.(g.key),onKeyDown:h,children:g.label},g.key))}),p&&o.jsx("div",{id:`tabs__panel-${i}-${p.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${p.key}`,tabIndex:0,className:"tabs__panel",children:p.panel},p.key)]})}var z3=".ihabdevteam-core-scope .avatar{align-items:center;background:var(--color-lightGray-a10);color:var(--color-gray);display:inline-flex;flex-shrink:0;height:var(--avatar-size);justify-content:center;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--avatar-size)}.ihabdevteam-core-scope .avatar--circle{border-radius:50%}.ihabdevteam-core-scope .avatar--rounded-square{border-radius:var(--radius-card)}.ihabdevteam-core-scope .avatar--xs{--avatar-size:24px}.ihabdevteam-core-scope .avatar--sm{--avatar-size:32px}.ihabdevteam-core-scope .avatar--md{--avatar-size:40px}.ihabdevteam-core-scope .avatar--lg{--avatar-size:56px}.ihabdevteam-core-scope .avatar--xl{--avatar-size:80px}.ihabdevteam-core-scope .avatar__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .avatar__initials{font-size:calc(var(--avatar-size)*.4);font-weight:600;line-height:1}.ihabdevteam-core-scope .avatar__icon{align-items:center;display:inline-flex;justify-content:center}";te(z3);const O3={xs:12,sm:16,md:20,lg:28,xl:36};function F3(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 Gh({src:e,name:t,size:a="md",shape:r="circle",className:n=""}){const{t:i}=me.useTranslation(),[s,c]=l.useState(!1),d=t?F3(t):"",u=!!e&&!s,m=!u&&!!d,h=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return o.jsxs("span",{className:`avatar avatar--${a} avatar--${r} ${n}`.trim(),role:"img","aria-label":h,children:[u&&o.jsx("img",{className:"avatar__image",src:e,alt:h,onError:()=>c(!0)}),!u&&m&&o.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!u&&!m&&o.jsx(Fe,{icon:"user-round",size:O3[a],className:"avatar__icon"})]})}var W3=".ihabdevteam-core-scope .file-upload{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .file-upload__dropzone{align-items:center;background:var(--color-deepWhite);border:1px dashed var(--color-whiteLine);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xl);position:relative;transition:border-color .15s,background .15s}.ihabdevteam-core-scope .file-upload__dropzone:hover:not(.file-upload__dropzone--disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .file-upload__dropzone--dragging{background:var(--color-main-a10);border-color:var(--color-main)}.ihabdevteam-core-scope .file-upload__dropzone--disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .file-upload__icon{color:var(--color-gray)}.ihabdevteam-core-scope .file-upload__prompt{color:var(--color-gray);text-align:center}.ihabdevteam-core-scope .file-upload__browse-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-pureWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-main);cursor:pointer;padding:var(--spacing-xs) var(--spacing-m)}.ihabdevteam-core-scope .file-upload__browse-button:disabled{color:var(--color-disabled);cursor:not-allowed}.ihabdevteam-core-scope .file-upload__input{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.ihabdevteam-core-scope .file-upload__list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .file-upload__list-item{align-items:center;background:var(--color-deepWhite);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-s);justify-content:space-between;padding:var(--spacing-xs) var(--spacing-s)}.ihabdevteam-core-scope .file-upload__file-name{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .file-upload__remove-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center}.ihabdevteam-core-scope .file-upload__remove-button:hover{color:var(--color-error)}";te(W3);function H3(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(),n=e.type.toLowerCase();return a.some(i=>{const s=i.toLowerCase();return s.startsWith(".")?r.endsWith(s):s.endsWith("/*")?n.startsWith(s.slice(0,-1)):n===s})}function qh({onFilesSelected:e,accept:t,multiple:a=!1,disabled:r=!1,showFileList:n=!0,files:i,onRemove:s,className:c=""}){const{t:d}=me.useTranslation(),u=l.useRef(null),[m,h]=l.useState(!1),[p,g]=l.useState([]),f=i??p,b=w=>{if(!w||w.length===0)return;const S=Array.from(w).filter(A=>H3(A,t));if(S.length===0)return;const j=a?S:S.slice(0,1);if(i===void 0){const A=a?[...f,...j]:j;g(A),e?.(A)}else e?.(j)},v=w=>{w.preventDefault(),!r&&h(!0)},y=w=>{w.preventDefault(),h(!1)},_=w=>{w.preventDefault(),h(!1),!r&&b(w.dataTransfer.files)},C=w=>{b(w.target.files),w.target.value=""},x=()=>{r||u.current?.click()},k=w=>{if(s){s(w);return}if(i===void 0){const S=f.filter((j,A)=>A!==w);g(S),e?.(S)}};return o.jsxs("div",{className:`file-upload ${c}`.trim(),children:[o.jsxs("div",{className:_e("file-upload__dropzone",m&&"file-upload__dropzone--dragging",r&&"file-upload__dropzone--disabled"),role:"button",tabIndex:r?-1:0,"aria-disabled":r,onClick:x,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),x())},onDragOver:v,onDragLeave:y,onDrop:_,children:[o.jsx(Fe,{icon:"upload",size:24,className:"file-upload__icon"}),o.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),o.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:r,onClick:w=>{w.stopPropagation(),x()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),o.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:r,onChange:C,tabIndex:-1})]}),n&&f.length>0&&o.jsx("ul",{className:"file-upload__list",children:f.map((w,S)=>o.jsxs("li",{className:"file-upload__list-item body-3",children:[o.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),o.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:w.name}),onClick:()=>k(S),children:o.jsx(Fe,{icon:"x",size:14})})]},`${w.name}-${S}`))})]})}var V3=".ihabdevteam-core-scope .breadcrumb{align-items:center;display:inline-flex}.ihabdevteam-core-scope .breadcrumb__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .breadcrumb__item{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .breadcrumb__link{align-items:center;background:none;border:none;color:var(--color-gray);cursor:pointer;display:inline-flex;justify-content:center;margin:0;min-height:24px;min-width:24px;padding:0}.ihabdevteam-core-scope .breadcrumb__link:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .breadcrumb__link:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .breadcrumb__current{color:var(--color-darkGray)}.ihabdevteam-core-scope .breadcrumb__separator{align-items:center;color:var(--color-disabled);display:inline-flex;flex-shrink:0}";te(V3);function Yh({items:e,className:t=""}){return o.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":"breadcrumb",children:o.jsx("ol",{className:"breadcrumb__list",children:e.map((a,r)=>{const n=r===e.length-1;return o.jsxs("li",{className:"breadcrumb__item",children:[n?o.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:a.label}):o.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:a.onClick,children:a.label}),!n&&o.jsx(Fe,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},r)})})})}var G3=".ihabdevteam-core-scope .rating{--rating-color:var(--color-warn);--rating-empty-color:var(--color-whiteLine);align-items:center;display:inline-flex;gap:2px}.ihabdevteam-core-scope .rating__item{align-items:center;background:none;border:none;display:inline-flex;justify-content:center;line-height:0;margin:0;padding:0}.ihabdevteam-core-scope .rating__item--interactive{cursor:pointer;min-height:24px;min-width:24px}.ihabdevteam-core-scope .rating__item--interactive:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .rating--readOnly .rating__item{cursor:default}.ihabdevteam-core-scope .rating__star-wrap{display:inline-flex;line-height:0;position:relative}.ihabdevteam-core-scope .rating__star--empty{color:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star--empty svg{fill:var(--rating-empty-color)}.ihabdevteam-core-scope .rating__star-fill{display:inline-flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:100%}.ihabdevteam-core-scope .rating__star-fill--half{width:50%}.ihabdevteam-core-scope .rating__star--filled{color:var(--rating-color)}.ihabdevteam-core-scope .rating__star--filled svg{fill:var(--rating-color)}";te(G3);const q3={small:14,medium:20,large:28};function Uh({value:e,onChange:t,max:a=5,readOnly:r=!1,size:n="medium",ariaLabel:i,className:s=""}){const{t:c}=me.useTranslation(),d=r||!t,[u,m]=l.useState(null),h=u??e,p=q3[n],g=x=>{d||t?.(x)},f=x=>{d||m(x)},b=l.useRef(null),v=x=>{const k=Math.min(a,Math.max(1,x));t?.(k),Array.from(b.current?.querySelectorAll("[data-star]")??[]).find(w=>w.dataset.star===String(k))?.focus()},y=x=>{if(!d){switch(x.key){case"ArrowRight":case"ArrowUp":v((e||0)+1);break;case"ArrowLeft":case"ArrowDown":v((e||1)-1);break;case"Home":v(1);break;case"End":v(a);break;default:return}x.preventDefault()}},_=e>=1&&e<=a?Math.round(e):1,C=()=>{d||m(null)};return o.jsx("div",{className:`rating rating--${n}${d?" rating--readOnly":""} ${s}`.trim(),ref:b,onKeyDown:y,role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:C,children:Array.from({length:a},(x,k)=>{const w=k+1,S=Math.max(0,Math.min(1,h-k)),j=S>0&&S<1,A=o.jsxs("span",{className:"rating__star-wrap",children:[o.jsx(Fe,{icon:"star",size:p,className:"rating__star rating__star--empty"}),S>0&&o.jsx("span",{className:`rating__star-fill${j?" rating__star-fill--half":""}`,children:o.jsx(Fe,{icon:"star",size:p,className:"rating__star rating__star--filled"})})]});return d?o.jsx("span",{className:"rating__item","aria-hidden":"true",children:A},w):o.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":e===w,"aria-label":c("rating.starLabel",{n:w}),"data-star":w,tabIndex:w===_?0:-1,onClick:()=>g(w),onMouseEnter:()=>f(w),children:A},w)})})}var Y3=".ihabdevteam-core-scope .color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .color-picker__swatch{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0;position:relative;transition:transform .12s,box-shadow .12s}.ihabdevteam-core-scope .color-picker__swatch--32{border-radius:8px;height:32px;width:32px}.ihabdevteam-core-scope .color-picker__swatch--40{border-radius:10px;height:40px;width:40px}.ihabdevteam-core-scope .color-picker__swatch--48{border-radius:12px;height:48px;width:48px}.ihabdevteam-core-scope .color-picker__swatch:hover{transform:scale(1.08)}.ihabdevteam-core-scope .color-picker__swatch:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}.ihabdevteam-core-scope .color-picker__check{color:#fff}.ihabdevteam-core-scope .color-picker__check svg{display:block}";te(Y3);const U3=20,K3=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function Kh({value:e,onChange:t,palette:a=K3,size:r=40,className:n=""}){const{t:i}=me.useTranslation();return o.jsx("div",{className:`color-picker ${n}`.trim(),role:"group",children:a.map(s=>{const c=e?.toLowerCase()===s.toLowerCase();return o.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${r}`,style:{backgroundColor:s},onClick:()=>t(s),"aria-pressed":c,"aria-label":c?`${s} ${i("colorPicker.selected","\uC120\uD0DD\uB428")}`:s,children:c&&o.jsx(Fe,{icon:"check",size:U3,className:"color-picker__check"})},s)})})}var Z3=".ihabdevteam-core-scope .count-tile{background:var(--color-deepWhite);border:1px solid var(--color-darkWhite);border-radius:16px;box-sizing:border-box;flex-shrink:0;height:72px;padding:12px;position:relative;transition:border-color .15s,background .15s;width:72px}.ihabdevteam-core-scope .count-tile__icon{color:var(--color-main);left:12px;position:absolute;top:12px}.ihabdevteam-core-scope .count-tile__count{bottom:12px;color:var(--color-darkGray);line-height:1;position:absolute;right:12px}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}.ihabdevteam-core-scope .count-tile--clickable:hover{background:var(--color-white)}@media (max-width:767px){.ihabdevteam-core-scope .count-tile{border-radius:14px;height:60px;padding:10px;width:60px}.ihabdevteam-core-scope .count-tile__icon{left:8px;top:8px}.ihabdevteam-core-scope .count-tile__count{bottom:8px;right:8px}}";te(Z3);function Zh({icon:e,count:t,title:a,className:r="",onClick:n,onMouseEnter:i,onMouseLeave:s}){const c=_e("count-tile",n&&"count-tile--clickable",r);return o.jsxs("div",{className:c,onClick:n,onKeyDown:n?d=>{d.key!=="Enter"&&d.key!==" "||(d.preventDefault(),d.currentTarget.click())}:void 0,onMouseEnter:i,onMouseLeave:s,role:n?"button":"img",tabIndex:n?0:void 0,"aria-label":a?`${a} ${t}`:String(t),children:[o.jsx(Fe,{icon:e,size:20,className:"count-tile__icon"}),o.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]})}var X3=".ihabdevteam-core-scope .dialog{align-items:center;background:rgba(16,24,32,.6);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:2200;z-index:var(--z-modal,2200)}@supports (color:rgb(0 0 0/0)) and (top:var(--f )){.ihabdevteam-core-scope .dialog{background:var(--color-popupBlock,rgba(16,24,32,.6))}}.ihabdevteam-core-scope .dialog__surface{background:#fff;background:var(--color-pureWhite,#fff);border-radius:20px;border-radius:var(--radius-dialog,20px);box-shadow:var(--shadow-popup);max-height:calc(100vh - 64px);outline:none;overflow:auto;position:relative;width:100%}.ihabdevteam-core-scope .dialog__surface--sm{max-width:420px}.ihabdevteam-core-scope .dialog__surface--md{max-width:640px}.ihabdevteam-core-scope .dialog__surface--lg{max-width:1000px}.ihabdevteam-core-scope .dialog__surface--full{background:none;box-shadow:none;max-width:1000px;overflow:visible}.ihabdevteam-core-scope .dialog__header{padding:24px 24px 0}.ihabdevteam-core-scope .dialog__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .dialog__close{align-items:center;background:none;border:0;border-radius:999px;border-radius:var(--radius-full,999px);color:var(--color-gray);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .15s ease,color .15s ease;width:40px}.ihabdevteam-core-scope .dialog__close:hover{background:var(--color-darkWhite);color:var(--color-black)}.ihabdevteam-core-scope .dialog__close>svg{height:20px;width:20px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close{background:hsla(0,0%,100%,.1);color:var(--color-pureWhite);right:0;top:-48px}.ihabdevteam-core-scope .dialog__surface--full .dialog__close:hover{background:hsla(0,0%,100%,.2)}.ihabdevteam-core-scope .dialog__body{padding:24px}.ihabdevteam-core-scope .dialog__surface--full .dialog__body{padding:0}@media (max-width:639px){.ihabdevteam-core-scope .dialog{padding:16px}.ihabdevteam-core-scope .dialog__body{padding:20px}}";te(X3);function J3(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:o.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function Xh({open:e,onClose:t,ariaLabel:a,title:r,children:n,size:i="md",closeOnBackdrop:s=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:m}){const{t:h}=me.useTranslation(),p=l.useId(),g=l.useRef(null),f=l.useCallback(()=>t(),[t]);return l.useEffect(()=>{if(!e)return;const b=document.activeElement,{overflow:v}=document.body.style;return document.body.style.overflow="hidden",g.current?.focus(),()=>{document.body.style.overflow=v,b?.focus?.()}},[e]),l.useEffect(()=>{if(!(!e||!c))return wl(f)},[e,c,f]),ks(g,e),!e||typeof document>"u"?null:qt.createPortal(o.jsx("div",{className:_e("dialog",u),onClick:s?f:void 0,children:o.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":r?void 0:a,"aria-labelledby":r?p:void 0,tabIndex:-1,className:_e("dialog__surface",`dialog__surface--${i}`,m),onClick:b=>b.stopPropagation(),children:[r?o.jsx("div",{className:"dialog__header",children:o.jsx("h2",{id:p,className:"dialog__title h4b",children:r})}):null,d?o.jsx("button",{type:"button",className:"dialog__close","aria-label":h("common.close","\uB2EB\uAE30"),onClick:f,children:o.jsx(J3,{})}):null,o.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var Q3=".ihabdevteam-core-scope .board{width:100%}.ihabdevteam-core-scope .board__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--spacing-m);justify-content:space-between;margin-bottom:var(--spacing-m)}.ihabdevteam-core-scope .board__title{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:500;line-height:var(--text-body-2-line);margin:0}.ihabdevteam-core-scope .board__toolbar{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .board__table{border-collapse:collapse;border-top:1px solid var(--color-text-primary);text-align:left;width:100%}.ihabdevteam-core-scope .board__caption{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ihabdevteam-core-scope .board__th{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-body-3-size);font-weight:500;line-height:var(--text-body-3-line);padding:14px 0}.ihabdevteam-core-scope .board__row{border-bottom:1px solid var(--color-border);transition:background .15s ease;transition:background var(--duration-fast,.15s) var(--ease-out,ease)}.ihabdevteam-core-scope .board__row:hover{background:var(--color-surface-raised)}.ihabdevteam-core-scope .board__td{color:var(--color-text-primary);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line);padding:var(--spacing-m) 0}.ihabdevteam-core-scope .board__cell--left{text-align:left}.ihabdevteam-core-scope .board__cell--center{text-align:center}.ihabdevteam-core-scope .board__cell--right{text-align:right}.ihabdevteam-core-scope .board__state{color:var(--color-text-secondary);font-size:var(--text-body-3-size);padding:56px 0;text-align:center}";te(Q3);function Jh({columns:e,rows:t,rowKey:a,title:r,toolbar:n,empty:i="\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",loading:s,caption:c,className:d=""}){const u=!s&&t.length===0;return o.jsxs("div",{className:_e("board",d),children:[r||n?o.jsxs("div",{className:"board__head",children:[r?o.jsx("h2",{className:"board__title",children:r}):o.jsx("span",{}),n?o.jsx("div",{className:"board__toolbar",children:n}):null]}):null,o.jsxs("table",{className:"board__table",children:[c?o.jsx("caption",{className:"board__caption",children:c}):null,o.jsx("thead",{children:o.jsx("tr",{children:e.map(m=>o.jsx("th",{scope:"col",className:_e("board__th",`board__cell--${m.headerAlign??m.align??"left"}`),style:m.width?{width:m.width}:void 0,children:m.header},m.key))})}),o.jsx("tbody",{children:s?o.jsx("tr",{children:o.jsx("td",{className:"board__state",colSpan:e.length,children:s})}):u?o.jsx("tr",{children:o.jsx("td",{className:"board__state",colSpan:e.length,children:i})}):t.map((m,h)=>o.jsx("tr",{className:"board__row",children:e.map(p=>o.jsx("td",{className:_e("board__td",`board__cell--${p.align??"left"}`),children:p.render(m,h)},p.key))},a(m,h)))})]})]})}var e8=".ihabdevteam-core-scope .person-card{display:flex;flex-direction:column}.ihabdevteam-core-scope .person-card__photo{background:var(--color-surface-raised);border-radius:var(--radius-full);flex-shrink:0;margin-inline:auto;max-width:100%;overflow:hidden}.ihabdevteam-core-scope .person-card__photo>*,.ihabdevteam-core-scope .person-card__photo>img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ihabdevteam-core-scope .person-card__name{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin-top:var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .person-card__role{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin-top:6px;text-align:center}.ihabdevteam-core-scope .person-card__credentials{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:var(--spacing-xl) auto 0;max-width:100%;padding:0;text-align:left;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .person-card__credentials>li{color:var(--color-darkGray);font-size:var(--text-body-3-size);line-height:var(--text-body-3-line)}@media (max-width:767px){.ihabdevteam-core-scope .person-card__credentials,.ihabdevteam-core-scope .person-card__name{margin-top:var(--spacing-l)}}";te(e8);function Qh({name:e,role:t,photo:a,media:r,credentials:n,size:i=190,className:s=""}){return o.jsxs("div",{className:_e("person-card",s),children:[o.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:r??(a?o.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),o.jsx("h3",{className:"person-card__name",children:e}),t?o.jsx("p",{className:"person-card__role",children:t}):null,n?.length?o.jsx("ul",{className:"person-card__credentials",children:n.map(c=>o.jsx("li",{children:c},c))}):null]})}var t8=".ihabdevteam-core-scope .timeline{display:flex;flex-direction:column;gap:56px}.ihabdevteam-core-scope .timeline__title{color:var(--color-text-primary);font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-spacing);line-height:var(--text-h1-line);margin:0}.ihabdevteam-core-scope .timeline__rows{border-top:1px solid var(--color-border);list-style:none;margin:var(--spacing-m) 0 0;padding:0}.ihabdevteam-core-scope .timeline__row{border-bottom:1px solid var(--color-border);display:flex;gap:40px;padding:var(--spacing-l) 0}.ihabdevteam-core-scope .timeline__label{color:var(--color-text-primary);flex-shrink:0;font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight-bold);line-height:var(--text-body-2-line);padding-top:1px;width:28px}.ihabdevteam-core-scope .timeline__items{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .timeline__items>p{color:var(--color-text-primary);font-size:var(--text-body-2-size);font-weight:var(--text-body-2-weight);line-height:var(--text-body-2-line);margin:0}@media (max-width:767px){.ihabdevteam-core-scope .timeline{gap:40px}.ihabdevteam-core-scope .timeline__row{gap:var(--spacing-xl)}}";te(t8);function em({groups:e,className:t=""}){return o.jsx("div",{className:_e("timeline",t),children:e.map(a=>o.jsxs("section",{className:"timeline__group",children:[o.jsx("h3",{className:"timeline__title",children:a.title}),o.jsx("ul",{className:"timeline__rows",children:a.entries.map((r,n)=>o.jsxs("li",{className:"timeline__row",children:[r.label?o.jsx("span",{className:"timeline__label",children:r.label}):null,o.jsx("div",{className:"timeline__items",children:r.items.map((i,s)=>o.jsx("p",{children:i},s))})]},`${r.label??""}-${n}`))})]},a.title))})}var a8=".ihabdevteam-core-scope .publication-card{background:var(--color-surface-raised);border-radius:var(--radius-m);box-sizing:border-box;display:flex;flex-direction:column;padding:36px var(--spacing-xl) 32px;position:relative}.ihabdevteam-core-scope .publication-card__badge{height:88px;pointer-events:none;position:absolute;right:var(--spacing-xl);top:0}.ihabdevteam-core-scope .publication-card__badge>*,.ihabdevteam-core-scope .publication-card__badge>img{height:100%;width:auto}.ihabdevteam-core-scope .publication-card__title{color:var(--color-text-primary);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight-bold);line-height:var(--text-h4-line);margin:0;padding-right:96px;position:relative;z-index:1}.ihabdevteam-core-scope .publication-card__kind{color:var(--color-darkGray);font-size:var(--text-body-3-size);font-weight:var(--text-body-3-weight);line-height:var(--text-body-3-line);margin:var(--spacing-m) 0 0}.ihabdevteam-core-scope .publication-card__body{color:var(--color-darkGray);font-size:var(--text-caption-1-size);line-height:1.65;margin:var(--spacing-m) 0 0}@media (max-width:767px){.ihabdevteam-core-scope .publication-card{padding:32px var(--spacing-l) 28px}.ihabdevteam-core-scope .publication-card__kind{margin-top:var(--spacing-m)}}.ihabdevteam-core-scope .publication-card__footer{margin-top:auto;padding-top:var(--spacing-l)}";te(a8);function tm({title:e,kind:t,body:a,badge:r,badgeSrc:n,footer:i,width:s,className:c=""}){const d=r??(n?o.jsx("img",{src:n,alt:""}):null);return o.jsxs("div",{className:_e("publication-card",c),style:s?{width:s,flexShrink:0}:void 0,children:[d?o.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,o.jsx("h3",{className:"publication-card__title",children:e}),t?o.jsx("p",{className:"publication-card__kind",children:t}):null,o.jsx("p",{className:"publication-card__body",children:a}),i?o.jsx("div",{className:"publication-card__footer",children:i}):null]})}var o8="@keyframes splash-logo{0%{opacity:0;transform:scale(.92)}18%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.ihabdevteam-core-scope .splash-logo{align-items:center;background:var(--color-pureWhite);display:flex;inset:0;justify-content:center;position:absolute;z-index:1000;z-index:var(--z-modal,1000)}.ihabdevteam-core-scope .splash-logo__image{animation:splash-logo 3s cubic-bezier(.4,0,.2,1) forwards;animation:splash-logo var(--splash-logo-duration,3s) cubic-bezier(.4,0,.2,1) forwards;height:80px;height:var(--splash-logo-height,80px);width:auto}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .splash-logo__image{animation:none;opacity:1}}";te(o8);function am({logo:e,alt:t,onDone:a,durationMs:r=3e3}){const n=al(a);return l.useEffect(()=>{if(!n.current)return;const i=setTimeout(()=>n.current?.(),r);return()=>clearTimeout(i)},[r,n]),o.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${r}ms`},"aria-hidden":"true",children:o.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}var r8='.ihabdevteam-core-scope .section-header{text-align:center}.ihabdevteam-core-scope .section-header__eyebrow{align-items:center;display:flex;font-size:var(--text-caption-1-size);font-weight:600;gap:10px;justify-content:center;letter-spacing:.18em;line-height:var(--text-caption-1-line);margin:0}.ihabdevteam-core-scope .section-header__index{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.6}.ihabdevteam-core-scope .section-header__rule{background:currentColor;height:1px;opacity:.3;width:24px}.ihabdevteam-core-scope .section-header__title{font-family:inherit;font-family:var(--font-display,inherit);font-size:clamp(2rem,1.35rem + 2.1vw,2.9rem);font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0}.ihabdevteam-core-scope .section-header__eyebrow+.section-header__title{margin-top:var(--spacing-xl)}.ihabdevteam-core-scope .section-header__description{font-size:var(--text-body-2-size);line-height:1.9;margin-top:var(--spacing-m)}.ihabdevteam-core-scope .section-header--dark .section-header__eyebrow{color:var(--color-main)}.ihabdevteam-core-scope .section-header--dark .section-header__title{color:var(--color-text-primary)}.ihabdevteam-core-scope .section-header--dark .section-header__description{color:var(--color-darkGray)}.ihabdevteam-core-scope .section-header--light .section-header__eyebrow{color:hsla(0,0%,100%,.85)}.ihabdevteam-core-scope .section-header--light .section-header__title{color:var(--color-pureWhite)}.ihabdevteam-core-scope .section-header--light .section-header__description{color:hsla(0,0%,100%,.85)}';te(r8);function om({eyebrow:e,eyebrowIndex:t,title:a,description:r,level:n=2,tone:i="dark",className:s=""}){const c=n===1?"h1":"h2";return o.jsxs("div",{className:_e("section-header",`section-header--${i}`,s),children:[e?o.jsxs("p",{className:"section-header__eyebrow",children:[t?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"section-header__index",children:t}),o.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?o.jsx(c,{className:"section-header__title",children:a}):null,r?o.jsx("div",{className:"section-header__description",children:r}):null]})}var n8=".ihabdevteam-core-scope .company-meta{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;font-size:var(--text-caption-1-size);gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.ihabdevteam-core-scope .company-meta__item{align-items:center;display:flex}.ihabdevteam-core-scope .company-meta__divider{color:var(--color-whiteLine);display:none;padding-inline:var(--spacing-m)}@media (min-width:640px){.ihabdevteam-core-scope .company-meta{flex-direction:row;gap:0}.ihabdevteam-core-scope .company-meta__divider{display:inline}}";te(n8);function rm({items:e,className:t=""}){return o.jsx("ul",{className:_e("company-meta",t),children:e.map((a,r)=>o.jsxs("li",{className:"company-meta__item",children:[r>0?o.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function Hl({value:e,onChange:t,suggestions:a,openOnFocus:r=!1}){const n=l.useId(),[i,s]=l.useState(!1),[c,d]=l.useState(-1),u=l.useRef(null),m=l.useMemo(()=>{if(!a.length)return[];const b=e??"";return b?a.filter(v=>v.toLowerCase().includes(b.toLowerCase())):r?a:[]},[a,e,r]);l.useEffect(()=>{i||d(-1)},[i]),l.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);const h=l.useCallback(b=>{t?.(b),s(!1)},[t]),p=l.useCallback(()=>s(!0),[]),g=l.useCallback(()=>{u.current=setTimeout(()=>s(!1),120)},[]),f=l.useCallback(b=>{b.key==="ArrowDown"?(b.preventDefault(),s(!0),d(v=>Math.min(m.length-1,v+1))):b.key==="ArrowUp"?(b.preventDefault(),d(v=>Math.max(-1,v-1))):b.key==="Enter"?c>=0&&!b.nativeEvent.isComposing&&h(m[c]):b.key==="Escape"&&i&&(b.preventDefault(),s(!1))},[m,c,i,h]);return{listId:n,open:i,activeIdx:c,filtered:m,handleFocus:p,handleBlur:g,handleKeyDown:f,handleSelect:h}}var i8=".ihabdevteam-core-scope .text-field{box-sizing:border-box;display:inline-flex;flex-direction:column;gap:6px;position:relative}.ihabdevteam-core-scope .text-field--full-width{display:flex;width:100%}.ihabdevteam-core-scope .text-field__label{align-items:center;color:var(--color-darkGray);display:flex;gap:4px}.ihabdevteam-core-scope .text-field__required{color:var(--color-main);line-height:1}.ihabdevteam-core-scope .text-field__wrap{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;display:flex;overflow:hidden;position:relative;transition:border-color .12s,background .12s,box-shadow .12s}.ihabdevteam-core-scope .text-field--s32 .text-field__wrap{border-radius:8px}.ihabdevteam-core-scope .text-field--s40 .text-field__wrap{border-radius:10px}.ihabdevteam-core-scope .text-field--s48 .text-field__wrap{border-radius:12px}.ihabdevteam-core-scope .text-field--s64 .text-field__wrap{border-radius:14px}.ihabdevteam-core-scope .text-field__wrap:focus-within{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .text-field--error .text-field__wrap{border-color:var(--color-error)}.ihabdevteam-core-scope .text-field--error .text-field__wrap:focus-within{box-shadow:0 0 0 3px var(--color-error-a10)}.ihabdevteam-core-scope .text-field--disabled .text-field__wrap{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .text-field--readonly .text-field__input{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .text-field--readonly .text-field__wrap{border-color:var(--color-darkWhite)}.ihabdevteam-core-scope .text-field__input{background:transparent;border:none;box-sizing:border-box;color:var(--color-darkGray);flex:1;margin:0;min-width:0;outline:none;padding:0 12px}.ihabdevteam-core-scope .text-field__input::-moz-placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input::placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .text-field__input:disabled{cursor:not-allowed}.ihabdevteam-core-scope .text-field__input[readonly]{cursor:default}.ihabdevteam-core-scope .text-field__input--textarea{align-self:stretch;line-height:1.6;min-height:80px;padding:10px 12px;resize:vertical}.ihabdevteam-core-scope .text-field__input--auto{align-self:stretch;line-height:1.5;overflow:hidden;padding:0 12px;resize:none}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__wrap,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__wrap{align-items:flex-start}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__icon,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__clear,.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__icon{margin-top:var(--spacing-s)}.ihabdevteam-core-scope .text-field--s32 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:30px}.ihabdevteam-core-scope .text-field--s40 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:38px}.ihabdevteam-core-scope .text-field--s48 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:46px}.ihabdevteam-core-scope .text-field--s64 .text-field__input:not(.text-field__input--textarea):not(.text-field__input--auto){height:62px;line-height:normal}.ihabdevteam-core-scope .text-field--display .text-field__input{font-weight:700;text-align:center}.ihabdevteam-core-scope .text-field--display .text-field__input::-moz-placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__input::placeholder{color:transparent}.ihabdevteam-core-scope .text-field--display .text-field__placeholder{align-items:center;color:var(--color-lightGray);display:flex;font-weight:400;inset:0;justify-content:center;pointer-events:none;position:absolute}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:-moz-placeholder)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display .text-field__input:not(:placeholder-shown)~.text-field__placeholder{display:none}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__input{font-size:22px}.ihabdevteam-core-scope .text-field--display.text-field--s48 .text-field__placeholder{font-size:15px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__input{font-size:28px;letter-spacing:-.3px}.ihabdevteam-core-scope .text-field--display.text-field--s64 .text-field__placeholder{font-size:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input--auto{height:30px;min-height:30px;padding-bottom:3px;padding-top:3px}.ihabdevteam-core-scope .text-field--s40 .text-field__input--auto{height:38px;min-height:38px;padding-bottom:7px;padding-top:7px}.ihabdevteam-core-scope .text-field--s48 .text-field__input--auto{height:46px;min-height:46px;padding-bottom:11px;padding-top:11px}.ihabdevteam-core-scope .text-field__icon{align-items:center;color:var(--color-lightGray);display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .text-field__icon--left{margin-left:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon--right{margin-right:var(--spacing-s)}.ihabdevteam-core-scope .text-field__icon-svg{display:block}.ihabdevteam-core-scope .text-field--has-left-icon .text-field__input{padding-left:6px}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__input{padding-right:6px}.ihabdevteam-core-scope .text-field--s32 .text-field__icon{height:16px;width:16px}.ihabdevteam-core-scope .text-field--s32 .text-field__input{font-size:14px;line-height:22px}.ihabdevteam-core-scope .text-field__clear{flex-shrink:0;margin-right:10px}.ihabdevteam-core-scope .text-field__suggestions{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);left:0;margin-top:var(--spacing-xs);max-height:220px;overflow:auto;padding:4px 0;position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.ihabdevteam-core-scope .text-field__suggestion{color:var(--color-darkGray);cursor:pointer;padding:8px 12px}.ihabdevteam-core-scope .text-field__suggestion.is-active,.ihabdevteam-core-scope .text-field__suggestion:hover{background:var(--color-deepWhite);color:var(--color-main)}.ihabdevteam-core-scope .text-field__footer{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .text-field__helper{color:var(--color-lightGray);flex:1}.ihabdevteam-core-scope .text-field--error .text-field__helper{color:var(--color-error)}.ihabdevteam-core-scope .text-field__count{color:var(--color-gray);flex-shrink:0;margin-right:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ihabdevteam-core-scope .text-field--has-right-icon .text-field__count,.ihabdevteam-core-scope .text-field:has(.text-field__clear) .text-field__count{margin-right:8px}.ihabdevteam-core-scope .text-field__count--over{color:var(--color-error)}.ihabdevteam-core-scope .text-field:has(.text-field__input--textarea) .text-field__count{bottom:6px;margin:0;pointer-events:none;position:absolute;right:20px}.ihabdevteam-core-scope .text-field:has(.text-field__input--auto) .text-field__count{align-self:flex-end;margin-bottom:var(--spacing-s)}";te(i8);function Ha(e){const{value:t,defaultValue:a,name:r,inputRef:n,onChange:i,label:s,ariaLabel:c,required:d,placeholder:u,type:m="text",disabled:h=!1,readOnly:p=!1,error:g,helperText:f,maxLength:b,size:v=48,variant:y="input",fullWidth:_=!1,newline:C=!1,multiline:x=!1,rows:k=3,leftIcon:w,rightIcon:S,clearable:j=!1,list:A,showCount:B=!0,className:F="",onFocus:R,onBlur:E,onKeyDown:M,onEnter:D,inputMode:H,autoComplete:ee,autoFocus:J,suggestions:ae,openOnFocus:T=!1}=e,{t:L}=me.useTranslation(),$=l.useId();!s&&!c&&Wn(`TextField:unnamed:${$}`,"[ihab/TextField] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 label \uC774\uB098 ariaLabel \uC911 \uD558\uB098\uB97C \uC8FC\uC138\uC694. placeholder \uB294 \uC774\uB984\uC744 \uB300\uC2E0\uD558\uC9C0 \uBABB\uD569\uB2C8\uB2E4.");const z=`tf-${$}`,V=`tf-helper-${$}`,X=l.useRef(null),W=Hl({value:t??"",onChange:i,suggestions:ae??[],openOnFocus:T}),Y=!!ae&&W.open&&W.filtered.length>0,O=l.useCallback(Z=>{X.current=Z,typeof n=="function"?n(Z):n&&(n.current=Z)},[n]),ie=t!==void 0,ue=ie&&m==="password",fe=(t??"").length;l.useEffect(()=>{const Z=X.current;if(!ue||!Z)return;const Q=t??"";Z.value!==Q&&(Z.value=Q)},[ue,t]),l.useEffect(()=>{if(!C||!X.current)return;const Z=X.current;Z.style.height="",Z.scrollHeight>Z.clientHeight&&(Z.style.height=`${Z.scrollHeight}px`)},[t,C]);const ye=b!=null&&fe>b,pe=v===32?16:20,P=_e("text-field",`text-field--s${v}`,y==="display"?"text-field--display":"",_?"text-field--full-width":"",h?"text-field--disabled":"",p?"text-field--readonly":"",g?"text-field--error":"",w?"text-field--has-left-icon":"",S||j?"text-field--has-right-icon":"",F),q={id:z,...ue?{}:ie?{value:t}:{defaultValue:a},ref:O,placeholder:u,name:r,disabled:h,readOnly:p,autoFocus:J,tabIndex:p?-1:void 0,maxLength:b,list:A,inputMode:H,autoComplete:ee,"aria-label":!s&&c?c:void 0,"aria-required":d,"aria-invalid":!!g,"aria-describedby":f||g?V:void 0,role:ae?"combobox":void 0,"aria-autocomplete":ae?"list":void 0,"aria-haspopup":ae?"listbox":void 0,"aria-expanded":ae?W.open:void 0,"aria-controls":Y?W.listId:void 0,"aria-activedescendant":Y&&W.activeIdx>=0?`${W.listId}-option-${W.activeIdx}`:void 0,onChange:Z=>i?.(Z.target.value),onFocus:(Z=>{R?.(Z),ae&&W.handleFocus()}),onBlur:(Z=>{E?.(Z),ae&&W.handleBlur()}),onKeyDown:(Z=>{D&&Z.key==="Enter"&&!Z.nativeEvent.isComposing&&(Z.preventDefault(),D()),M?.(Z),ae&&W.handleKeyDown(Z)})},oe=j&&!h&&!p&&fe>0,ge=()=>C?o.jsx("textarea",{...q,className:"text-field__input text-field__input--auto body-2",rows:1}):x?o.jsx("textarea",{...q,className:"text-field__input text-field__input--textarea body-2",rows:k}):o.jsx("input",{...q,type:m,className:"text-field__input body-2"}),de=y==="display"&&!C&&!x&&!!u,I=()=>o.jsxs(o.Fragment,{children:[ge(),de&&o.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:u})]});return o.jsxs("div",{className:P,children:[s&&o.jsxs("label",{htmlFor:z,className:"text-field__label caption-1",children:[s,d&&o.jsx("span",{className:"text-field__required",children:"*"})]}),o.jsxs("div",{className:"text-field__wrap",children:[w&&o.jsx("span",{className:"text-field__icon text-field__icon--left",children:o.jsx(Fe,{icon:w,label:"",className:"",svgClassName:"text-field__icon-svg",size:pe})}),I(),b!=null&&B&&o.jsxs("span",{className:`text-field__count caption-2${ye?" text-field__count--over":""}`,children:[fe,"/",b]}),oe&&o.jsx(re,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:L("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Z=>{Z.preventDefault()},onClick:()=>i?.(""),tabIndex:-1}),S&&!oe&&o.jsx("span",{className:"text-field__icon text-field__icon--right",children:o.jsx(Fe,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:pe})})]}),ae&&W.open&&W.filtered.length>0&&o.jsx("ul",{id:W.listId,className:"text-field__suggestions",role:"listbox",children:W.filtered.map((Z,Q)=>o.jsx("li",{id:`${W.listId}-option-${Q}`,role:"option","aria-selected":Q===W.activeIdx,className:`text-field__suggestion body-2${Q===W.activeIdx?" is-active":""}`,onMouseDown:ve=>ve.preventDefault(),onClick:()=>{W.handleSelect(Z),X.current?.focus()},children:Z},`${Z}-${Q}`))}),(f||g)&&o.jsx("div",{className:"text-field__footer",children:o.jsx("span",{id:V,className:"text-field__helper caption-1",role:g?"alert":void 0,children:g||f})})]})}var s8=".ihabdevteam-core-scope .dropdown{display:inline-block;position:relative}.ihabdevteam-core-scope .dropdown--block{display:block;width:100%}.ihabdevteam-core-scope .dropdown--block .dropdown__trigger{min-width:0}.ihabdevteam-core-scope .dropdown--s40 .dropdown__trigger{border-radius:10px;height:40px}.ihabdevteam-core-scope .dropdown--s48 .dropdown__trigger{border-radius:12px;height:48px}.ihabdevteam-core-scope .dropdown__trigger{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:12px;box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);height:48px;justify-content:space-between;min-width:120px;padding:0 12px;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__trigger:hover:not(:disabled){border-color:var(--color-main)}.ihabdevteam-core-scope .dropdown__trigger:focus-visible{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10);outline:none}.ihabdevteam-core-scope .dropdown__trigger:disabled{background:var(--color-deepWhite);cursor:default;opacity:.5}.ihabdevteam-core-scope .dropdown--open .dropdown__trigger{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger{border:1px solid var(--color-error)}.ihabdevteam-core-scope .dropdown--error .dropdown__trigger:hover:not(:disabled),.ihabdevteam-core-scope .dropdown--error.dropdown--open .dropdown__trigger{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 15%,transparent)}.ihabdevteam-core-scope .dropdown__trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis}.ihabdevteam-core-scope .dropdown__trigger-label--placeholder{color:var(--color-lightGray)}.ihabdevteam-core-scope .dropdown__chevron{color:var(--color-gray);flex-shrink:0;height:16px;transition:transform .2s;width:16px}.ihabdevteam-core-scope .dropdown--open .dropdown__chevron{transform:rotate(180deg)}.ihabdevteam-core-scope .dropdown__menu{animation:dropdown-appear .12s ease;background:var(--color-white);border:1.5px solid var(--color-whiteLine);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);box-sizing:border-box;max-height:260px;overflow-y:auto;overscroll-behavior-y:contain;padding:6px}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ihabdevteam-core-scope .dropdown__option{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-xs);padding:9px 12px;text-align:left;transition:background .1s,color .1s;white-space:nowrap;width:100%}.ihabdevteam-core-scope .dropdown__option:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .dropdown__option--active{background:var(--color-main-a10);color:var(--color-main)}.ihabdevteam-core-scope .dropdown__option--disabled{cursor:default;opacity:.4;pointer-events:none}.ihabdevteam-core-scope .dropdown__option-check{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.ihabdevteam-core-scope .dropdown__option-check svg{height:14px;width:14px}";te(s8);function Ut({options:e,value:t,onChange:a,placeholder:r,disabled:n=!1,block:i=!1,size:s=48,error:c=!1,className:d="",ariaLabel:u}){const{t:m}=me.useTranslation(),h=r??m("dropdown.placeholder","\uC120\uD0DD"),p=l.useId(),g=l.useRef(null),f=l.useCallback(E=>{const M=window.innerHeight-E.bottom<260&&E.top>260;return{position:"fixed",left:E.left,minWidth:E.width,...M?{bottom:window.innerHeight-E.top+6}:{top:E.bottom+6},zIndex:9999}},[]),{open:b,setOpen:v,toggle:y,style:_,triggerRef:C,menuRef:x}=ao({computeStyle:f}),[k,w]=l.useState(-1),S=l.useCallback(()=>w(-1),[]),j=e.find(E=>E.value===t);l.useEffect(()=>{if(b){const E=e.findIndex(M=>M.value===t);w(E>=0?E:0),requestAnimationFrame(()=>{const M=x.current;if(!M)return;const D=M.querySelectorAll(".dropdown__option")[E];D&&(M.scrollTop=Math.max(0,D.offsetTop-M.clientHeight/2+D.clientHeight/2))})}},[b,e,t,x]);const A=l.useCallback(()=>{n||y()},[n,y]),B=l.useCallback(E=>{E.disabled||(a?.(E.value),v(!1))},[a,v]),F=l.useCallback(E=>{if(!n){if(!b){(E.key==="Enter"||E.key===" "||E.key==="ArrowDown")&&(E.preventDefault(),v(!0));return}if(E.key==="Escape"){E.preventDefault(),v(!1);return}E.key==="ArrowDown"?(E.preventDefault(),w(M=>{let D=M+1;for(;D<e.length&&e[D].disabled;)D++;return D<e.length?D:M})):E.key==="ArrowUp"?(E.preventDefault(),w(M=>{let D=M-1;for(;D>=0&&e[D].disabled;)D--;return D>=0?D:M})):E.key==="Enter"&&k>=0&&(E.preventDefault(),B(e[k]))}},[n,b,e,k,B,v]),R=b?o.jsx("div",{ref:x,id:p,className:"dropdown__menu",role:"listbox",style:_,onMouseLeave:S,children:e.map((E,M)=>o.jsxs("button",{id:`${p}-option-${M}`,type:"button",role:"option","aria-selected":E.value===t,className:_e("dropdown__option body-2",E.value===t?"dropdown__option--active":"",M===k?"dropdown__option--active":"",E.disabled?"dropdown__option--disabled":""),onMouseDown:D=>D.preventDefault(),onClick:()=>B(E),onMouseEnter:()=>w(M),disabled:E.disabled,children:[o.jsx("span",{className:"dropdown__option-check",children:E.value===t&&o.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),E.label]},E.value))}):null;return o.jsxs("div",{ref:g,className:_e("dropdown",`dropdown--s${s}`,b?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:F,children:[o.jsxs("button",{ref:C,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":b,"aria-controls":b?p:void 0,"aria-activedescendant":b&&k>=0?`${p}-option-${k}`:void 0,"aria-label":u,"aria-invalid":c||void 0,disabled:n,onClick:A,children:[o.jsx("span",{className:`dropdown__trigger-label body-2${j?"":" dropdown__trigger-label--placeholder"}`,children:j?j.label:h}),o.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&qt.createPortal(R,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var l8=".ihabdevteam-core-scope .pagination{align-items:center;display:flex;gap:4px}.ihabdevteam-core-scope .pagination__info{color:var(--color-darkGray);font-weight:600;min-width:48px;text-align:center}";te(l8);function vr({page:e,totalPages:t,onChange:a,prevLabel:r,nextLabel:n,className:i=""}){const{t:s}=me.useTranslation(),c=r??s("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=n??s("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=()=>a(Math.max(1,e-1)),m=()=>a(Math.min(t,e+1));return o.jsxs("div",{className:_e("pagination",i),children:[o.jsx(re,{size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:u}),o.jsxs("span",{className:"pagination__info body-3",children:[e," / ",t]}),o.jsx(re,{size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=t,onClick:m})]})}var c8=".ihabdevteam-core-scope .segmented-control{background:var(--color-darkWhite);display:inline-flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-xs);overflow:hidden;padding:4px}.ihabdevteam-core-scope .segmented-control--pill{border-radius:999px}.ihabdevteam-core-scope .segmented-control--rounded{border-radius:12px}.ihabdevteam-core-scope .segmented-control .button{min-width:96px}.ihabdevteam-core-scope .segmented-control--32 .button{min-width:64px}.ihabdevteam-core-scope .segmented-control--40 .button{min-width:80px}.ihabdevteam-core-scope .segmented-control--48 .button{min-width:96px}.ihabdevteam-core-scope .segmented-control--no-bg{background:transparent;padding:0}.ihabdevteam-core-scope .segmented-control--full{display:flex;flex-wrap:nowrap;width:100%}.ihabdevteam-core-scope .segmented-control--full .button{flex:1 1 0;min-width:0}@media (max-width:767px){.ihabdevteam-core-scope .segmented-control{flex-shrink:1;min-width:0}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child){border-radius:14px;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(4):last-child)>.button{justify-content:center;width:100%}.ihabdevteam-core-scope .segmented-control--pill:has(>.button:nth-child(5)){border-radius:14px}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(5)){justify-content:center}}";te(c8);function Va(e){const{t}=me.useTranslation(),{options:a=[],value:r=a[0]?.key,onChange:n=v=>{},className:i="",size:s=48,shape:c="pill",useBG:d=!0,fullWidth:u=!1,ariaLabel:m}=e||{},h=l.useRef(null),p=a.filter(v=>!v.disabled),g=v=>{if(!p.length)return;const y=Math.max(0,p.findIndex(C=>C.key===r)),_=v==="first"?p[0]:v==="last"?p[p.length-1]:p[(y+v+p.length)%p.length];_&&(n(_.key),Array.from(h.current?.querySelectorAll("[data-segkey]")??[]).find(C=>C.dataset.segkey===_.key)?.focus())},f=v=>{switch(v.key){case"ArrowRight":case"ArrowDown":g(1);break;case"ArrowLeft":case"ArrowUp":g(-1);break;case"Home":g("first");break;case"End":g("last");break;default:return}v.preventDefault()},b=p.some(v=>v.key===r)?r:p[0]?.key;return o.jsx("div",{ref:h,onKeyDown:f,className:_e("segmented-control",`segmented-control--${c}`,`segmented-control--${s}`,u&&"segmented-control--full",!d&&"segmented-control--no-bg",i),role:"radiogroup","aria-label":m??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(v=>o.jsx(re,{role:"radio","aria-checked":v.key===r,"data-segkey":v.key,tabIndex:v.key===b?0:-1,label:v.label,count:v.count,disabled:v.disabled,className:v.key===r?"is-selected":"",onClick:()=>{v.disabled||n(v.key)},size:s,shape:c,useBorder:!1,useBG:!1},v.key))})}var d8=".ihabdevteam-core-scope .toolbar{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-s);min-height:64px;padding-bottom:8px;padding-top:8px;width:100%}.ihabdevteam-core-scope .toolbar__row{display:contents}.ihabdevteam-core-scope .toolbar__row-end{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:flex-end;margin-left:auto}.ihabdevteam-core-scope .toolbar__count{color:var(--color-gray);flex-shrink:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .toolbar .toolbar__search{flex-shrink:0;min-width:200px}@media (max-width:767px){.ihabdevteam-core-scope .toolbar{align-items:stretch;flex-direction:column;flex-wrap:wrap;padding-bottom:12px;padding-top:12px}.ihabdevteam-core-scope .toolbar__row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s)}.ihabdevteam-core-scope .toolbar .toolbar__search{flex:1;min-width:150px}}.ihabdevteam-core-scope .toolbar__count-highlight{color:var(--color-main)}";te(d8);function vn({count:e,search:t,segment:a,filters:r,pageSize:n,pagination:i,actions:s,className:c}){const{t:d}=me.useTranslation(),u=e!=null&&o.jsxs("p",{className:"toolbar__count body-1",children:[e.prefix??d("common.totalPrefix","\uCD1D "),o.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),m=!!(t||r?.length||n||i||s);return o.jsxs("div",{className:_e("toolbar",c),children:[o.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((h,p)=>o.jsx(Va,{size:40,...h},h.ariaLabel??p))]}),m&&o.jsx("div",{className:"toolbar__row",children:o.jsxs("div",{className:"toolbar__row-end",children:[t&&o.jsx(Ha,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??d("common.search","\uAC80\uC0C9"),clearable:!0}),r?.map((h,p)=>o.jsx(Ut,{size:40,options:h.options,value:h.value,onChange:h.onChange,ariaLabel:h.ariaLabel},p)),n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,onChange:n.onChange,ariaLabel:n.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&o.jsx(vr,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel}),s]})})]})}var u8=".ihabdevteam-core-scope .code-box{background:#eff8ff;background:var(--color-code-bg,#eff8ff);border:1px solid rgba(4,34,51,.06);border-radius:10px;color:#042233;color:var(--color-code-text,#042233);margin:0;overflow:hidden;padding:16px 20px}.ihabdevteam-core-scope .code-box__header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-height:40px}.ihabdevteam-core-scope .code-box__title{align-items:center;color:rgba(4,34,51,.75);display:flex;letter-spacing:.02em}.ihabdevteam-core-scope .code-box__copy{flex-shrink:0}.ihabdevteam-core-scope .code-box__inner{background:transparent;color:#042233;color:var(--color-code-text,#042233);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere;overflow-x:auto;padding:8px 0 0;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box__inner code{display:block;font-family:inherit;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-box--small .code-box__inner{font-size:12px}.ihabdevteam-core-scope .code-token{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.ihabdevteam-core-scope .code-token.keyword{color:#6b46ff;font-weight:600}.ihabdevteam-core-scope .code-token.string{color:#0a9d58}.ihabdevteam-core-scope .code-token.comment{color:#6b7280;font-style:italic}.ihabdevteam-core-scope .code-token.command{color:#0b78d1}.ihabdevteam-core-scope .code-token.number{color:#d97706}.ihabdevteam-core-scope .code-token.operator{color:#dc2626}.ihabdevteam-core-scope .code-token.identifier,.ihabdevteam-core-scope .code-token.punctuation{color:#042233;color:var(--color-code-text,#042233)}";te(u8);function nm(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(nm).join(""):""}function p8(e){let t=e.replace(/\r\n/g,`
|
|
839
839
|
`).replace(/\r/g,`
|
|
840
840
|
`);t=t.replace(/^\n+/,"").replace(/\n+$/,"");const a=t.split(`
|
|
841
841
|
`).map(i=>i.replace(/\t/g," ")),r=a.filter(i=>i.trim().length>0),n=r.length>0?Math.min(...r.map(i=>i.match(/^ */)?.[0].length??0)):0;return a.map(i=>i.slice(n)).join(`
|
|
842
842
|
`)}const h8=new Set(["pnpm","npm","yarn","node","git","curl","docker","cat","ls","cd","rm","mv","cp","echo","export"]),m8=/^(?:const|let|var|function|return|if|else|for|while|switch|case|break|import|from|export|class|new|try|catch|finally|throw|await|async|null|true|false|this|typeof|instanceof)\b/;function b8(e,t){let a=e;const r=[],n=/sh|bash/.test(t.toLowerCase()),i=(s,c)=>r.push({type:s,content:c});for(;a.length>0;){const s=a.match(/^\s+/);if(s){i("whitespace",s[0]),a=a.slice(s[0].length);continue}if(!n&&a.startsWith("//")){const f=a.indexOf(`
|
|
843
843
|
`),b=f===-1?a:a.slice(0,f);i("comment",b),a=a.slice(b.length);continue}if(n&&a.startsWith("#")){const f=a.indexOf(`
|
|
844
|
-
`),b=f===-1?a:a.slice(0,f);i("comment",b),a=a.slice(b.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(d){i("string",d[0]),a=a.slice(d[0].length);continue}const u=a.match(/^\d+(?:\.\d+)?/);if(u){i("number",u[0]),a=a.slice(u[0].length);continue}const m=a.match(m8);if(m){i("keyword",m[0]),a=a.slice(m[0].length);continue}const h=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(h){const f=h[0];i(n&&h8.has(f)?"command":"identifier",f),a=a.slice(f.length);continue}const p=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(p){i("operator",p[0]),a=a.slice(p[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function im({children:e,language:t="bash",title:a="",showCopy:r=!0,size:n="default",className:i=""}){const{t:s}=me.useTranslation(),[c,d]=l.useState(!1),u=p8(nm(e)),m=l.useRef(null);l.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const h=async()=>{try{if(!await ls(u))return;d(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>d(!1),2e3)}catch{}},p=b8(u,t),g=n==="small"?"caption-1":"body-3";return o.jsxs("div",{className:_e("code-box",n==="small"?"code-box--small":"",i),children:[(a||r)&&o.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":s("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[o.jsx("div",{className:"code-box__title caption-1",children:a}),r&&o.jsx(re,{className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:h,ariaLabel:c?s("common.copied","\uBCF5\uC0AC\uB428"):s("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),o.jsx("pre",{className:"code-box__inner","data-lang":t,children:o.jsx("code",{children:p.map((f,b)=>o.jsx("span",{className:`code-token ${f.type} ${g}`,children:f.content},b))})})]})}var g8=".ihabdevteam-core-scope .loader-spinner{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .loader-spinner__svg{animation:loader-rotate 1s linear infinite;transform-origin:center}.ihabdevteam-core-scope .loader-spinner__bg{stroke:rgba(0,0,0,.08)}.ihabdevteam-core-scope .loader-spinner__fg{stroke:var(--color-main);stroke-dasharray:125;stroke-dashoffset:80;animation:loader-dash 1.2s ease-in-out infinite}@keyframes loader-rotate{to{transform:rotate(1turn)}}@keyframes loader-dash{0%{stroke-dashoffset:125}50%{stroke-dashoffset:35}to{stroke-dashoffset:125}}.ihabdevteam-core-scope .loader-bar{background:rgba(0,0,0,.06);border-radius:999px;height:8px;overflow:hidden;width:100%}.ihabdevteam-core-scope .loader-bar__inner{background:var(--color-main);height:100%;transition:width .22s cubic-bezier(.2,.8,.2,1);width:0}@keyframes core-loader-rotate{to{transform:rotate(1turn)}}@keyframes core-loader-dash{0%{stroke-dashoffset:125}50%{stroke-dashoffset:35}to{stroke-dashoffset:125}}.ihabdevteam-core-scope .page-loading-center{display:flex;justify-content:center;padding:40px 0}";te(g8);function Ao(e){const{variant:t="spinner",size:a=24,progress:r=null,label:n}=e||{};if(t==="bar"){const s=Math.max(0,Math.min(100,Number(r)||0));return o.jsx("div",{className:"loader-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,"aria-label":n||"Loading",children:o.jsx("div",{className:"loader-bar__inner",style:{width:`${s}%`}})})}const i=typeof a=="number"?`${a}px`:a;return o.jsx("div",{className:"loader-spinner",style:{width:i,height:i},role:"status","aria-label":n||"Loading",children:o.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:a,height:a,children:[o.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),o.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})})}var f8='.ihabdevteam-core-scope .toggle{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .toggle input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .toggle__slider{background:#e2e8f0;background:var(--color-whiteLine,#e2e8f0);border-radius:26px;display:inline-block;flex-shrink:0;height:26px;position:relative;transition:background .2s;width:44px}.ihabdevteam-core-scope .toggle__slider:before{background:var(--color-pureWhite);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.15);content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .2s;width:20px}.ihabdevteam-core-scope .toggle input:checked+.toggle__slider{background:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .toggle input:checked+.toggle__slider:before{transform:translateX(18px)}.ihabdevteam-core-scope .toggle input:focus-visible+.toggle__slider{outline:2px solid var(--color-main,var(--color-main));outline-offset:2px}.ihabdevteam-core-scope .toggle__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .toggle--disabled{cursor:not-allowed;opacity:.45}';te(f8);function Vl({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:n,labelPosition:i="right",className:s="",id:c}){const d=r&&o.jsx("span",{className:"toggle__label body-3",children:r});return o.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${s}`.trim(),children:[i==="left"&&d,o.jsx("input",{id:c,type:"checkbox",checked:e,disabled:a,onChange:u=>t?.(u.target.checked),"aria-label":!r&&n?n:void 0}),o.jsx("span",{className:"toggle__slider"}),i==="right"&&d]})}var v8=`.ihabdevteam-core-scope .checkbox{align-items:center;cursor:pointer;display:inline-flex;gap:8px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .checkbox--disabled{cursor:not-allowed;opacity:.4}.ihabdevteam-core-scope .checkbox__input{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ihabdevteam-core-scope .checkbox__box{background:var(--color-white,var(--color-pureWhite));border:1.5px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-sm,8px);flex-shrink:0;height:24px;position:relative;transition:border-color .15s,background .15s;width:24px}.ihabdevteam-core-scope .checkbox__input:checked+.checkbox__box{background:var(--color-main,var(--color-main));border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:checked+.checkbox__box:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4 9 3.5 3.5L14 6'/%3E%3C/svg%3E") 50%/cover no-repeat;content:"";inset:0;position:absolute}.ihabdevteam-core-scope .checkbox__input:indeterminate+.checkbox__box{background:var(--color-main,var(--color-main));border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:indeterminate+.checkbox__box:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-width='2' d='M4.5 9h9'/%3E%3C/svg%3E") 50%/cover no-repeat;content:"";inset:0;position:absolute}.ihabdevteam-core-scope .checkbox:not(.checkbox--disabled):hover .checkbox__box{border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--color-main,var(--color-main));outline-offset:2px}.ihabdevteam-core-scope .checkbox--large .checkbox__box{border-radius:10px;border-radius:var(--radius-s,10px);height:30px;width:30px}.ihabdevteam-core-scope .checkbox--small .checkbox__box{border-radius:4px;border-radius:var(--radius-xs,4px);height:16px;width:16px}.ihabdevteam-core-scope .checkbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .checkbox--small .checkbox__label{font-size:13px}`;te(v8);function Gl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:n,size:i="medium",className:s,title:c,ariaLabel:d}){const u=l.useRef(null),m=l.useId();return l.useEffect(()=>{u.current&&(u.current.indeterminate=!!r)},[r]),o.jsxs("label",{className:_e("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",s),htmlFor:m,title:c,children:[o.jsx("input",{ref:u,id:m,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>t?.(h.target.checked),disabled:a,"aria-label":!n&&d?d:void 0}),o.jsx("span",{className:"checkbox__box"}),n&&o.jsx("span",{className:"checkbox__label body-3",children:n})]})}var y8=".ihabdevteam-core-scope .bulk-bar{align-items:center;background:var(--color-pureWhite,var(--color-pureWhite));border:1px solid var(--color-main);border-radius:12px;border-radius:var(--radius-m,12px);bottom:24px;box-shadow:0 4px 20px rgba(0,0,0,.12);box-sizing:border-box;color:#1a1a1a;color:var(--color-gray900,#1a1a1a);display:flex;gap:12px;justify-content:space-between;margin-top:16px;min-height:60px;opacity:0;padding:10px 16px;pointer-events:none;position:sticky;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}.ihabdevteam-core-scope .bulk-bar--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.ihabdevteam-core-scope .bulk-bar__count{color:#1a1a1a;color:var(--color-gray900,#1a1a1a);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .bulk-bar__count b{color:var(--color-main)}.ihabdevteam-core-scope .bulk-bar__actions{display:flex;flex-shrink:0;gap:8px}.ihabdevteam-core-scope .bulk-bar__chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-xs,8px);min-width:0}.ihabdevteam-core-scope .bulk-bar__chips .button{white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .bulk-bar{flex-wrap:wrap}.ihabdevteam-core-scope .bulk-bar__actions{flex-wrap:wrap;justify-content:flex-end;width:100%}}.ihabdevteam-core-scope .bulk-bar__actions--stacked{align-items:stretch;flex-direction:column}";te(y8);function sm({count:e,actions:t,onClear:a,clearLabel:r="\uC120\uD0DD \uD574\uC81C",visible:n,content:i,max:s}){const{t:c}=me.useTranslation(),d=n!==void 0?n:e>0,u=l.useRef(null),[m,h]=l.useState(!1);return l.useEffect(()=>{const p=u.current;if(!p)return;const g=()=>{const b=p.firstElementChild??p,v=Array.from(b.children);if(v.length<2){h(!1);return}const y=v[0].offsetTop;h(v.some(_=>_.offsetTop!==y))};if(g(),typeof ResizeObserver>"u")return;const f=new ResizeObserver(g);return f.observe(p),()=>f.disconnect()},[i,e]),o.jsxs("div",{className:`bulk-bar ${d?"bulk-bar--visible":""}`,children:[o.jsx("span",{ref:u,className:"bulk-bar__count body-2",children:i??o.jsx("b",{children:c("common.selectedCount",{count:e})})}),s!==void 0&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",label:`${e} / ${s}`}),o.jsxs("div",{className:`bulk-bar__actions${m?" bulk-bar__actions--stacked":""}`,children:[o.jsx(re,{size:40,label:r,onClick:a}),t.map((p,g)=>o.jsx(re,{size:40,variant:p.variant??"default",icon:p.icon,label:p.label,onClick:p.onClick},g))]})]})}function ql(e){const t=()=>{if(e){const[h,p]=e.split("-");return{y:+h,m:+p-1}}const m=new Date;return{y:m.getFullYear(),m:m.getMonth()}},[a,r]=l.useState(()=>t().y),[n,i]=l.useState(()=>t().m),s=l.useRef(e);l.useEffect(()=>{if(e===s.current)return;s.current=e;const m=t();r(m.y),i(m.m)},[e]);const c=l.useCallback(()=>{n===0?(r(m=>m-1),i(11)):i(m=>m-1)},[n]),d=l.useCallback(()=>{n===11?(r(m=>m+1),i(0)):i(m=>m+1)},[n]),u=l.useCallback((m,h)=>{r(m),i(h)},[]);return{viewY:a,viewM:n,prevMonth:c,nextMonth:d,setViewYM:u}}var x8=".ihabdevteam-core-scope .date-picker{position:relative;width:100%}.ihabdevteam-core-scope .date-picker__trigger{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;justify-content:space-between;padding:0 12px;text-align:left;transition:border-color .12s,background .12s,box-shadow .12s;width:100%}.ihabdevteam-core-scope .date-picker--s40 .date-picker__trigger{border-radius:10px;height:40px}.ihabdevteam-core-scope .date-picker--s48 .date-picker__trigger{border-radius:12px;height:48px}.ihabdevteam-core-scope .date-picker--s64 .date-picker__trigger{border-radius:14px;height:64px}.ihabdevteam-core-scope .date-picker--open .date-picker__trigger,.ihabdevteam-core-scope .date-picker__trigger:focus{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10);outline:none}.ihabdevteam-core-scope .date-picker__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .date-picker__placeholder{color:var(--color-lightGray);white-space:nowrap}.ihabdevteam-core-scope .date-picker__value{color:var(--color-darkGray);white-space:nowrap}.ihabdevteam-core-scope .date-picker__icon{color:var(--color-lightGray);flex-shrink:0;transition:color .12s}.ihabdevteam-core-scope .date-picker--open .date-picker__icon{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__dropdown{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.1);box-sizing:border-box;left:0;min-width:260px;padding:12px;position:absolute;top:calc(100% + 6px);z-index:200}.ihabdevteam-core-scope .date-picker__nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ihabdevteam-core-scope .date-picker__nav-dropdown{flex:1;margin:0 4px}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger{background:transparent!important;border:none!important;border-radius:6px!important;box-shadow:none!important;gap:4px!important;height:32px!important;justify-content:center!important;transition:background .12s,color .12s!important}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger:hover,.ihabdevteam-core-scope .date-picker__nav-dropdown.dropdown--open .dropdown__trigger{background:var(--color-deepWhite)!important}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger-label{color:var(--color-darkGray)!important;flex:initial!important;font-weight:600!important}.ihabdevteam-core-scope .date-picker__nav-btn{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:8px;color:var(--color-darkGray);cursor:pointer;display:flex;height:28px;justify-content:center;transition:border-color .12s,color .12s;width:28px}.ihabdevteam-core-scope .date-picker__nav-btn:hover{border-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .date-picker__grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.ihabdevteam-core-scope .date-picker__dow{color:var(--color-lightGray);font-weight:600;padding:4px 0 6px;text-align:center}.ihabdevteam-core-scope .date-picker__dow:first-child{color:var(--color-error)}.ihabdevteam-core-scope .date-picker__dow:last-child{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day{align-items:center;aspect-ratio:1;background:transparent;border:none;border-radius:6px;color:var(--color-darkGray);cursor:pointer;display:flex;justify-content:center;transition:background .1s,color .1s;width:100%}.ihabdevteam-core-scope .date-picker__day:hover:not(:disabled){background:var(--color-main-a10);color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--sun:hover:not(:disabled){color:var(--color-error)}.ihabdevteam-core-scope .date-picker__day--sat:hover:not(:disabled){color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--sun{color:var(--color-error)}.ihabdevteam-core-scope .date-picker__day--sat{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--today{font-weight:700;outline:1.5px solid var(--color-main);outline-offset:-1.5px}.ihabdevteam-core-scope .date-picker__day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__day--selected{background:var(--color-main)!important;color:#fff!important;font-weight:700}.ihabdevteam-core-scope .date-picker__day--disabled{cursor:not-allowed;opacity:.3}";te(x8);function lm(e,t){return new Date(e,t+1,0).getDate()}function C8(e,t){return new Date(e,t,1).getDay()}function To(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function _8(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function w8(e,t,a){const r=t?+t.split("-")[0]:e-10,n=a?+a.split("-")[0]:e+10,i=[];for(let s=r;s<=n;s++)for(let c=0;c<12;c++){const d=`${s}-${String(c+1).padStart(2,"0")}`;t&&d<t.slice(0,7)||a&&d>a.slice(0,7)||i.push({value:d,label:`${s}\uB144 ${c+1}\uC6D4`})}return i}function cm({value:e,onChange:t,size:a=48,min:r,max:n,disabled:i,placeholder:s="\uB0A0\uC9DC \uC120\uD0DD",className:c}){const{t:d}=me.useTranslation(),u=l.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),m=new Date,{viewY:h,viewM:p,prevMonth:g,nextMonth:f,setViewYM:b}=ql(e),v=l.useCallback(B=>{const L=window.innerHeight-B.bottom,$=300,z=L<$&&B.top>$;return{position:"fixed",left:B.left,width:B.width,minWidth:260,...z?{bottom:window.innerHeight-B.top+6}:{top:B.bottom+6},zIndex:9999}},[]),{open:y,setOpen:_,toggle:C,style:x,triggerRef:k,menuRef:w}=ao({computeStyle:v,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});l.useEffect(()=>{if(!y)return;const B=w.current;return(B?.querySelector(".date-picker__day--selected")??B?.querySelector(".date-picker__day--today")??B?.querySelector(dr)??B)?.focus?.(),()=>{const L=document.activeElement;(!L||L===document.body)&&k.current?.focus?.()}},[y,w,k]);const[S,j]=l.useState(1),A=l.useRef(null),T=l.useRef(null);l.useEffect(()=>{if(!y)return;const B=To(m.getFullYear(),m.getMonth(),m.getDate()),L=e&&e.slice(0,7)===`${h}-${String(p+1).padStart(2,"0")}`?+e.slice(8):B.slice(0,7)===`${h}-${String(p+1).padStart(2,"0")}`?+B.slice(8):1;j(L)},[y]),l.useEffect(()=>{if(T.current==null)return;const B=T.current;T.current=null,A.current?.querySelector(`[data-day="${B}"]`)?.focus()}),l.useEffect(()=>{j(B=>Math.min(B,lm(h,p)))},[h,p]);const F=l.useCallback(B=>{let L=To(B.getFullYear(),B.getMonth(),B.getDate());r&&L<r&&(L=r),n&&L>n&&(L=n);const[$,z,V]=L.split("-").map(Number);($!==h||z-1!==p)&&b($,z-1),j(V),T.current=V},[r,n,h,p,b]),R=l.useCallback(B=>{const L=new Date(h,p,S),$=V=>{L.setDate(L.getDate()+V),F(L)},z=V=>{L.setMonth(L.getMonth()+V),F(L)};switch(B.key){case"ArrowLeft":$(-1);break;case"ArrowRight":$(1);break;case"ArrowUp":$(-7);break;case"ArrowDown":$(7);break;case"Home":$(-L.getDay());break;case"End":$(6-L.getDay());break;case"PageUp":B.shiftKey?z(-12):z(-1);break;case"PageDown":B.shiftKey?z(12):z(1);break;default:return}B.preventDefault()},[h,p,S,F]),E=l.useCallback(B=>{t(To(h,p,B)),_(!1)},[h,p,t,_]),M=B=>{const L=To(h,p,B);return!!(r&&L<r||n&&L>n)},D=[];for(let B=0;B<C8(h,p);B++)D.push(null);for(let B=1;B<=lm(h,p);B++)D.push(B);const H=a===64?20:a===40?16:18,J=w8(h,r,n),ee=`${h}-${String(p+1).padStart(2,"0")}`,ae=y?qt.createPortal(o.jsxs("div",{ref:w,className:"date-picker__dropdown",style:x,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[o.jsxs("div",{className:"date-picker__nav",children:[o.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:g,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:o.jsx(ad,{size:16,strokeWidth:2})}),o.jsx(Ut,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:J,value:ee,onChange:B=>{const[L,$]=B.split("-");b(+L,+$-1)},block:!0,size:40}),o.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:o.jsx(od,{size:16,strokeWidth:2})})]}),o.jsxs("div",{className:"date-picker__grid",ref:A,onKeyDown:R,children:[u.map(B=>o.jsx("div",{className:"date-picker__dow caption-1",children:B},B)),D.map((B,L)=>{if(B===null)return o.jsx("div",{},`e${L}`);const $=To(h,p,B),z=$===e,V=$===To(m.getFullYear(),m.getMonth(),m.getDate()),X=M(B),W=L%7;return o.jsx("button",{type:"button",disabled:X,"data-day":B,tabIndex:B===S?0:-1,"aria-current":V?"date":void 0,onClick:()=>!X&&E(B),className:_e("date-picker__day caption-1",z&&"date-picker__day--selected",V&&!z&&"date-picker__day--today",X&&"date-picker__day--disabled",W===0&&"date-picker__day--sun",W===6&&"date-picker__day--sat"),children:B},B)})]})]}),document.body):null;return o.jsxs("div",{className:_e("date-picker",`date-picker--s${a}`,y&&"date-picker--open",c),children:[o.jsxs("button",{ref:k,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&C(),disabled:i,"aria-haspopup":"true","aria-expanded":y,children:[o.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?_8(e):s}),o.jsx(pd,{size:H,className:"date-picker__icon",strokeWidth:1.5})]}),ae]})}var k8=".ihabdevteam-core-scope .month-dropdown .dropdown__trigger{max-width:200px;min-width:200px;width:200px}.ihabdevteam-core-scope .month-dropdown .dropdown__menu{max-height:280px;overflow-y:auto;scrollbar-color:var(--color-darkWhite) transparent;scrollbar-width:thin}.ihabdevteam-core-scope .month-dropdown .dropdown__menu::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .month-dropdown .dropdown__menu::-webkit-scrollbar-thumb{background:var(--color-darkWhite);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .manager-bar-chart-wrap{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .manager-bar-chart-gridline{background:var(--color-darkWhite);height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:-1}.ihabdevteam-core-scope .manager-bar-chart-gridline__label{color:var(--color-deepGray);font-size:11px;left:0;position:absolute;top:100%;white-space:nowrap}.ihabdevteam-core-scope .manager-bar-chart-inner{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.ihabdevteam-core-scope .manager-bar-chart-scroll::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .manager-bar-chart-area{display:flex;flex-direction:column;min-width:-moz-max-content;min-width:max-content}.ihabdevteam-core-scope .manager-bar-chart-area svg{display:block}.ihabdevteam-core-scope .manager-bar-chart-x-axis{color:var(--color-deepGray);display:flex;font-size:11px;padding-top:6px}.ihabdevteam-core-scope .manager-bar-chart-x-axis__label{align-items:center;display:flex;flex:1;flex-direction:column;gap:1px;justify-content:flex-start;min-width:0;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .manager-bar-chart-x-axis__label--future .caption-1{color:var(--color-whiteLine)}.ihabdevteam-core-scope .manager-bar-chart-x-axis__main{position:relative}.ihabdevteam-core-scope .manager-bar-chart-x-axis__today-dot{border-radius:50%;height:8px;position:absolute;right:calc(100% + 3px);top:50%;transform:translateY(-50%);width:8px}.ihabdevteam-core-scope .manager-bar-chart-plot{align-items:flex-end;display:flex;gap:0;isolation:isolate;position:relative}.ihabdevteam-core-scope .manager-bar-chart-col{align-items:flex-end;display:flex;flex:1;gap:2px;height:100%;justify-content:center}.ihabdevteam-core-scope .manager-bar-chart-bar,.ihabdevteam-core-scope .manager-bar-chart-stack{flex:0 1 var(--bar-width);max-width:var(--bar-width)}.ihabdevteam-core-scope .manager-bar-chart-stack{display:flex;flex-direction:column-reverse;min-width:0}.ihabdevteam-core-scope .manager-bar-chart-bar{border-radius:6px 6px 0 0;min-width:0}.ihabdevteam-core-scope .manager-bar-chart-stack-segment{width:100%}.ihabdevteam-core-scope .manager-bar-chart-detail-btn{margin-left:auto}";te(k8);var S8=".ihabdevteam-core-scope .manager-section{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-card);margin-bottom:14px;min-width:320px;padding:20px}.ihabdevteam-core-scope .manager-section__head{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .chart-section-icon{display:inline-flex;opacity:.35}.ihabdevteam-core-scope .chart-section-icon-inner{color:var(--color-darkGray);height:22px;width:22px}@media (max-width:767px){.ihabdevteam-core-scope .manager-section__head{align-items:flex-start;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .manager-section-controls{flex-wrap:wrap}.ihabdevteam-core-scope .manager-section-controls .segmented-control{flex-wrap:nowrap}.ihabdevteam-core-scope .manager-section{min-width:0;padding:18px}}.ihabdevteam-core-scope .manager-section-controls{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-loading{align-items:center;display:flex;justify-content:center;min-height:186px}.ihabdevteam-core-scope .barchart-sub-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .barchart-total{align-items:baseline;display:flex;gap:4px}.ihabdevteam-core-scope .barchart-total--stacked{align-items:flex-start;flex-direction:column;gap:0}.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__label,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__num,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__unit,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__value{line-height:1.1;margin:0}.ihabdevteam-core-scope .barchart-total__label{color:var(--color-gray)}.ihabdevteam-core-scope .barchart-total__value{align-items:baseline;display:flex;gap:4px}.ihabdevteam-core-scope .barchart-total__num{color:var(--color-black)}.ihabdevteam-core-scope .barchart-total__unit{color:var(--color-gray)}.ihabdevteam-core-scope .manager-bar-chart-legend{align-items:flex-end;color:var(--color-gray);display:flex;flex-direction:column;font-size:12px;gap:6px;padding-right:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-legend-item{align-items:center;display:inline-flex}.ihabdevteam-core-scope .manager-bar-chart-legend-dot{border-radius:50%;display:inline-block;height:8px;margin-right:4px;width:8px}.ihabdevteam-core-scope .manager-section--compact{min-width:160px;padding:20px}.ihabdevteam-core-scope .manager-section--compact .manager-section__head{margin-bottom:4px;min-height:28px}.ihabdevteam-core-scope .chart-section-title--small{color:var(--color-deepGray)}.ihabdevteam-core-scope .manager-section--compact .barchart-total__num{font-size:32px;line-height:1}.ihabdevteam-core-scope .manager-section--compact .barchart-total{flex-shrink:0}.ihabdevteam-core-scope .manager-section--compact .barchart-sub-row{margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .manager-section--compact .manager-bar-chart-legend{align-items:stretch;flex:1 1 auto;min-width:0}.ihabdevteam-core-scope .manager-section--compact .manager-bar-chart-legend-item{display:flex;justify-content:flex-end;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ihabdevteam-core-scope .manager-section--full{flex:1 1 100%;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .manager-section--compact{min-width:0}}";te(S8);function yn({items:e,className:t}){return o.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>o.jsxs("span",{className:"manager-bar-chart-legend-item",children:[o.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function yr({label:e,children:t}){return e?o.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[o.jsx("span",{className:"barchart-total__label body-3",children:e}),o.jsx("span",{className:"barchart-total__value",children:t})]}):o.jsx("div",{className:"barchart-total",children:t})}function xn({title:e,titleClassName:t="h3",headRight:a,subRow:r,className:n,children:i}){return o.jsxs("section",{className:n?`manager-section ${n}`:"manager-section",children:[o.jsxs("div",{className:"manager-section__head",children:[o.jsx("div",{className:t,children:e}),a]}),r&&o.jsx("div",{className:"barchart-sub-row",children:r}),i]})}function oo(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function A8(){const e=new Date;let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<oo(t,a)){const s=new Date(t,a,0);t=s.getFullYear(),a=s.getMonth(),r=s.getDate()}const n=Math.floor((r-oo(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${n}`}}function dm(e){const t=new Date,a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=new Map;r.set(a,[]);for(const i of e){if(isNaN(i.date.getTime()))continue;const s=`${i.date.getFullYear()}\uB144 ${i.date.getMonth()+1}\uC6D4`;r.has(s)||r.set(s,[]),r.get(s).push(i)}const n={};for(const[i,s]of r){const c=i.match(/^(\d+)년 (\d+)월$/);if(!c)continue;const d=Number(c[1]),u=Number(c[2])-1,m=new Date(d,u+1,0).getDate(),h=d===t.getFullYear()&&u===t.getMonth(),p=t.getDate(),g=s.reduce((C,x)=>Math.max(C,x.parts?.length??0),0),f=new Array(m+1).fill(0),b=new Array(m+1).fill(0),v=Array.from({length:m+1},()=>new Array(g).fill(0));for(const C of s){const x=C.date.getDate();if(f[x]+=C.a,b[x]+=C.b,C.parts)for(let k=0;k<g;k++)v[x][k]+=C.parts[k]??0}const y=[];for(let C=1;C<=m;C++){const x=h&&C>p;y.push({label:String(C),a:x&&f[C]===0&&b[C]===0?-1:f[C],b:b[C],...g?{parts:v[C]}:{}})}const _=[];for(let C=oo(d,u);C<=m;C+=7){const x=Math.min(C+6,m);let k=0,w=0;const S=new Array(g).fill(0);for(let j=C;j<=x;j++){k+=f[j],w+=b[j];for(let A=0;A<g;A++)S[A]+=v[j][A]}_.push({label:`${_.length+1}\uC8FC`,sublabel:`[${C}\uC77C~${x}\uC77C]`,a:k,b:w,...g?{parts:S}:{}})}n[i]={weekly:_,daily:y}}return n}function T8(){const e=new Date,t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let n=2024;n<=t;n++){const i=n===t?a:12;for(let s=1;s<=i;s++){const c=`${n}\uB144 ${s}\uC6D4`;r.push({value:c,label:c,year:n,month:s})}}return r.reverse()}const B8=T8(),um=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Yl(e){const{t,i18n:a}=me.useTranslation(),[r,n]=l.useState("week"),i=l.useMemo(()=>B8.filter(A=>A.value in e),[e]),s=l.useMemo(()=>{const A=[];for(const T of i){const F=new Date(T.year,T.month,0).getDate(),R=oo(T.year,T.month-1),E=Math.ceil((F-R+1)/7);for(let M=E-1;M>=0;M--)A.push({value:`${T.value}#${M}`,monthKey:T.value,year:T.year,month:T.month,week:M})}return A},[i]),c=l.useCallback(A=>{const T=t("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${T} ${um[A.week]??`${A.week+1}`}\uC8FC`:`${T} Week ${A.week+1}`},[t,a.language]),d=l.useMemo(()=>i.map(A=>({value:A.value,label:t("calendar.yearMonth",{year:A.year,month:A.month})})),[t,i]),u=l.useMemo(()=>s.map(A=>({value:A.value,label:c(A)})),[s,c]),m=l.useMemo(()=>A8(),[]),h=l.useMemo(()=>i.find(A=>A.value===m.monthKey)?.value??i[0]?.value??"",[i,m]),p=l.useMemo(()=>s.find(A=>A.value===m.value)?.value??s[0]?.value??"",[s,m]),[g,f]=l.useState(""),[b,v]=l.useState("");l.useEffect(()=>{i.find(A=>A.value===g)||f(h)},[i,g,h]),l.useEffect(()=>{s.find(A=>A.value===b)||v(p)},[s,b,p]);const y=r==="month"?d:u,_=r==="month"?g:b,C=r==="month"?f:v,x=l.useMemo(()=>{const A=t("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=y.findIndex(A=>A.value===_),w=l.useCallback(()=>{const A=y.findIndex(T=>T.value===_);A<y.length-1&&C(y[A+1].value)},[y,_,C]),S=l.useCallback(()=>{const A=y.findIndex(T=>T.value===_);A>0&&C(y[A-1].value)},[y,_,C]),j=l.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:n,range:_,setRange:C,activeOptions:y,activeIdx:k,handlePrev:w,handleNext:S,periodOptions:j,monthRange:g,weekRange:b,weekRanges:s,DOW:x}}function N8({data:e,colorA:t,colorB:a,labelA:r,labelB:n,barWidth:i=10,height:s=140,maxOverride:c,tightMax:d,seriesColors:u,seriesLabels:m,rateLabels:h}){const p=!a,g=!!(u&&u.length>0),f=l.useMemo(()=>g?Math.max(0,...e.filter(S=>S.a!==-1).map(S=>(S.parts??[]).reduce((j,A)=>j+Math.max(0,A),0))):Math.max(0,...e.filter(S=>S.a!==-1).flatMap(S=>p?[S.a]:[S.a,S.b])),[e,p,g]),b=l.useMemo(()=>c??(d?f>0?f:10:Math.ceil(f/10)*10||10),[f,c,d]),v=s,y=g||p?1:2,_={"--bar-width":`${l.useMemo(()=>{const S=Math.max(1,e.length);return Math.max(8,Math.min(i,Math.round(120/(S*y)+6)))},[e.length,y,i])}px`},C=l.useMemo(()=>{const S=Math.round(b/2);return S!==b?[b,S,0]:[b,0]},[b]),[x,k]=l.useState(null),w=l.useCallback(()=>k(null),[]);return o.jsxs("div",{className:"manager-bar-chart-wrap",children:[o.jsx("div",{className:"manager-bar-chart-inner",children:o.jsx("div",{className:"manager-bar-chart-scroll",children:o.jsxs("div",{className:"manager-bar-chart-area",children:[o.jsxs("div",{className:"manager-bar-chart-plot",style:{height:v},children:[C.slice(0,-1).map((S,j)=>o.jsx("div",{className:"manager-bar-chart-gridline",style:{top:j*(v/(C.length-1))},children:o.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:S})},j)),e.map((S,j)=>{const A=S.a===-1,T=A?0:S.a/b*v,F=A?0:S.b/b*v,R=S.parts??[];return o.jsx("div",{className:"manager-bar-chart-col",style:{cursor:A?"default":"pointer"},onMouseEnter:A?void 0:E=>{const M=E.currentTarget.getBoundingClientRect(),D=g?(m??[]).map((H,J)=>`${H}: ${R[J]??0}`).filter((H,J)=>(R[J]??0)>0).join(" / ")||`${(m??[]).join(" / ")}: 0`:h&&!p?`${r} ${S.a}% / ${n} ${S.b}%`:h&&S.rawB!==void 0?`${h.total} ${S.rawB} / ${h.done} ${S.rawA??0}`:p?`${r}: ${S.a}`:`${r}: ${S.a} / ${n}: ${S.b}`;k({rect:{left:M.left,top:M.top,right:M.right,bottom:M.bottom,width:M.width,height:M.height},text:D})},onMouseLeave:w,children:!A&&(g?o.jsx("div",{className:"manager-bar-chart-stack",style:_,children:(()=>{const E=R.reduce((M,D,H)=>D>0?H:M,-1);return R.map((M,D)=>M>0?o.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:M/b*v,background:(u??[])[D],borderRadius:D===E?"6px 6px 0 0":void 0}},D):null)})()}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"manager-bar-chart-bar",style:{..._,height:T,background:t}}),!p&&o.jsx("div",{className:"manager-bar-chart-bar",style:{..._,height:F,background:a}})]}))},j)})]}),o.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((S,j)=>{const A=S.a===-1;return o.jsxs("span",{className:`manager-bar-chart-x-axis__label${A?" manager-bar-chart-x-axis__label--future":""}`,children:[o.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[S.isToday&&o.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),S.label]}),S.sublabel&&o.jsx("span",{className:"caption-1",children:S.sublabel})]},j)})})]})})}),x&&o.jsx(aa,{anchorRect:x.rect,text:x.text})]})}function Ul({control:e}){const{t}=me.useTranslation(),a=t("calendar.prevMonth","\uC774\uC804 \uB2EC"),r=t("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),{activeOptions:n,activeIdx:i,range:s,setRange:c,handlePrev:d,handleNext:u,periodOptions:m,period:h,setPeriod:p}=e;return o.jsxs("div",{className:"manager-section-controls",children:[o.jsx(re,{size:32,type:"dot",icon:"chevron-left",ariaLabel:a,showTooltipInfo:a,disabled:i===n.length-1,onClick:d}),o.jsx(Ut,{value:s,onChange:c,options:n,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),o.jsx(re,{size:32,type:"dot",icon:"chevron-right",ariaLabel:r,showTooltipInfo:r,disabled:i<=0,onClick:u}),o.jsx(Ha,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:m,value:h,onChange:g=>p(g),size:32})]})}function D8(e,t,a,r){const{period:n,monthRange:i,weekRange:s,weekRanges:c,DOW:d}=t,u=r?.startsWith("ko"),m=new Date,h=m.getFullYear(),p=m.getMonth()+1,g=m.getDate();if(n==="month"){const v=e[i]??{weekly:[],daily:[]},y=i.match(/^(\d+)년 (\d+)월$/),_=y?Number(y[1]):null,C=y?Number(y[2]):null,x=_&&C?oo(_,C-1):1;return v.weekly.map((k,w)=>{const S=w+1;let j=k.label,A=!1,T=!1;if(_&&C){const F=x+w*7,R=new Date(_,C-1,F+6),E=R.getMonth()+1,M=R.getDate(),D=E===C?`${M}`:`${E}/${M}`;j=a("manager.chart.weekRange",{start:F,end:D}),A=h===_&&p===C&&g>=F&&g<=F+6,T=_>h||_===h&&(C>p||C===p&&F>g)}return{...k,label:j,sublabel:u?`${um[S-1]??S}\uC8FC`:`Week ${S}`,isToday:A,a:T?-1:k.a,b:T?0:k.b}})}const f=c.find(v=>v.value===s);if(!f)return[];const b=new Date(f.year,f.month-1,oo(f.year,f.month-1)+f.week*7);return Array.from({length:7},(v,y)=>{const _=new Date(b);_.setDate(b.getDate()+y);const C=_.getMonth()+1,x=_.getDate(),k=_.getFullYear(),w=(e[`${k}\uB144 ${C}\uC6D4`]?.daily??[])[x-1],S=C===f.month&&k===f.year,j=w?.a===-1||_>new Date(h,m.getMonth(),g);return{label:S?`${x}`:`${C}/${x}`,sublabel:d[_.getDay()]??"",a:j?-1:w&&w.a>0?w.a:0,b:j?0:w&&w.b>0?w.b:0,isToday:k===h&&C===p&&x===g,...w?.parts?{parts:j?w.parts.map(()=>0):w.parts}:{}}})}const E8={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function pm({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:n,colorB:i,labelAKey:s,labelBKey:c,showTotal:d=!1,totalUnitKey:u,totalLabelKey:m,control:h,hideControls:p=!1,rate:g=!1,tightMax:f=!1,avgMode:b=!1,totalFormat:v,series:y,loading:_=!1,onDetail:C}){const{t:x,i18n:k}=me.useTranslation(),w=E8[e],S=Yl(r),j=h??S,A=l.useMemo(()=>D8(r,j,x,k.language),[r,j,x,k.language]),T=l.useMemo(()=>g?A.map(M=>({...M,a:M.a===-1?-1:M.b>0?Math.round(M.a/M.b*100):0,b:M.a===-1?0:c&&M.parts&&M.parts[1]>0?Math.round(M.parts[0]/M.parts[1]*100):0,rawA:M.a===-1?-1:M.a,rawB:M.b})):A,[A,g,c]),F=l.useMemo(()=>{if(g||b){const M=(j.period==="week"?A:r[j.monthRange]?.daily??[]).filter(H=>H.a!==-1);if(M.length===0)return 0;const D=g?M.reduce((H,J)=>H+(J.b>0?J.a/J.b*100:0),0):M.reduce((H,J)=>H+(J.a>0?J.a:0),0);return Math.round(D/M.length)}return T.reduce((M,D)=>M+(D.a>0?D.a:0)+(c&&D.b>0?D.b:0),0)},[T,A,g,b,c,j.period,j.monthRange,r]),R=y&&y.length>0?y.map(M=>({color:M.color,label:M.label})):[{color:n,label:x(s)},...c?[{color:i,label:x(c)}]:[]],E=e==="small";return o.jsx(xn,{className:E?"manager-section--compact":e==="large"?"manager-section--full":void 0,title:x(a),titleClassName:E?"h5 chart-section-title--small":void 0,headRight:E?void 0:o.jsxs(o.Fragment,{children:[!p&&o.jsx(Ul,{control:j}),C&&o.jsx("span",{className:"manager-bar-chart-detail-btn",children:o.jsx(re,{size:32,type:"dot",icon:"list",ariaLabel:x("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:C})})]}),subRow:o.jsxs(o.Fragment,{children:[d?g||b||m&&v?o.jsx(yr,{label:E?void 0:`${x(j.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${x(m??s)}`,children:v?(v(F).match(/(\d+|[^\d]+)/g)??[]).map((M,D)=>/\d/.test(M)?o.jsx("span",{className:"barchart-total__num h0",children:M},D):o.jsx("span",{className:"barchart-total__unit h5",children:M},D)):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"barchart-total__num h0",children:F}),u&&o.jsx("span",{className:"barchart-total__unit h5",children:x(u)})]})}):o.jsxs(yr,{children:[o.jsx("span",{className:"barchart-total__num h0",children:F}),o.jsx("span",{className:"barchart-total__unit h5",children:x(s)}),u&&o.jsx("span",{className:"barchart-total__unit h5",children:x(u)})]}):o.jsx("span",{}),o.jsx(yn,{items:R,className:"caption-1"})]}),children:_?o.jsx("div",{className:"manager-bar-chart-loading",children:o.jsx(Ao,{size:32})}):o.jsx(N8,{data:T,colorA:n,colorB:c?i:void 0,labelA:x(s),labelB:c?x(c):void 0,barWidth:t??w.barWidth,height:w.height,maxOverride:g?100:void 0,tightMax:f,seriesColors:y?.map(M=>M.color),seriesLabels:y?.map(M=>M.label),rateLabels:g?{total:x("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:x("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0})})}function hm(e){if(e.period==="month"){const i=e.monthRange.match(/^(\d+)년 (\d+)월$/),s=new Date,c=i?Number(i[1]):s.getFullYear(),d=i?Number(i[2]):s.getMonth()+1;return{from:new Date(c,d-1,1,0,0,0),to:new Date(c,d,0,23,59,59)}}const t=e.weekRanges.find(i=>i.value===e.weekRange);if(!t){const i=new Date;return{from:i,to:i}}const a=oo(t.year,t.month-1),r=new Date(t.year,t.month-1,a+t.week*7,0,0,0),n=new Date(r);return n.setDate(r.getDate()+6),n.setHours(23,59,59),{from:r,to:n}}var j8=".ihabdevteam-core-scope .ring-chart{flex-shrink:0;position:relative}.ihabdevteam-core-scope .ring-chart svg{display:block}.ihabdevteam-core-scope .ring-chart__center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ring-chart__center--small{transform:translateY(6.5px)}.ihabdevteam-core-scope .ring-chart__center--medium{transform:translateY(7.5px)}.ihabdevteam-core-scope .ring-chart__center--large{transform:translateY(8.5px)}.ihabdevteam-core-scope .ring-chart__pct{color:var(--color-darkGray);line-height:1}.ihabdevteam-core-scope .ring-chart__label{color:var(--color-lightGray)}.ihabdevteam-core-scope .ring-chart__label--tight{margin-top:-2px}.ihabdevteam-core-scope .ring-chart-section-body{display:flex;justify-content:center}.ihabdevteam-core-scope .ring-chart-section-body--offset{justify-content:flex-end}";te(j8);const mm={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function bm({done:e,total:t,segments:a,color:r="var(--color-main)",size:n="medium",strokeWidth:i,label:s="%",hideCenter:c=!1,hideLabel:d=!1}){const u=typeof n=="number"?n:mm[n].diameter,m=i??(typeof n=="number"?12:mm[n].strokeWidth),h=u/2,p=(u-m)/2,g=2*Math.PI*p;if(a&&a.length>0){const y=a.reduce((_,C)=>{const x=_.length>0?_[_.length-1].acc:0,k=Math.max(0,Math.min(C.ratio,1-x));return _.push({color:C.color,rotate:-90+x*360,dash:g*k,acc:x+k}),_},[]);return o.jsx("div",{className:"ring-chart",style:{width:u,height:u},children:o.jsxs("svg",{width:u,height:u,viewBox:`0 0 ${u} ${u}`,"aria-hidden":"true",children:[o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),y.map((_,C)=>_.dash>0&&o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:_.color,strokeWidth:m,strokeDasharray:`${_.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${_.rotate} ${h} ${h})`},C))]})})}const f=(t??0)>0?Math.min((e??0)/t,1):0,b=g*f,v=g-b;return o.jsxs("div",{className:"ring-chart",style:{width:u,height:u},children:[o.jsxs("svg",{width:u,height:u,viewBox:`0 0 ${u} ${u}`,"aria-hidden":"true",children:[o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),f>0&&o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:r,strokeWidth:m,strokeDasharray:`${b} ${v}`,strokeLinecap:f<.02||f>.98?"butt":"round",transform:`rotate(-90 ${h} ${h})`})]}),!c&&o.jsxs("div",{className:`ring-chart__center${d?"":` ${u<=96?"ring-chart__center--small":n==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[o.jsx("span",{className:`ring-chart__pct ${u<=96?"h2":"h1"}`,children:Math.round(f*100)}),!d&&o.jsx("span",{className:`ring-chart__label ${u<=96?"caption-2":"caption-1"}${u<=96||n==="medium"?" ring-chart__label--tight":""}`,children:s})]})]})}function gm({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:n,legend:i,loading:s,className:c,...d}){const{t:u}=me.useTranslation();if(!e)return o.jsx(bm,{...d});const m=(d.total??0)>0?Math.round(Math.min((d.done??0)/d.total,1)*100):0,h=d.size==="small",p=d.size==="large",g=[c,h?"manager-section--compact":p?"manager-section--full":""].filter(Boolean).join(" ")||void 0,f=a&&o.jsx("span",{className:"chart-section-icon",children:o.jsx(Fe,{icon:a,className:"chart-section-icon-inner"})});return o.jsx(xn,{className:g,title:u(e),titleClassName:h?"h5 chart-section-title--small":void 0,headRight:f||(h?void 0:t),subRow:(r||i)&&o.jsxs(o.Fragment,{children:[r?o.jsxs(yr,{label:!h&&n?u(n):void 0,children:[o.jsx("span",{className:"barchart-total__num h0",children:m}),o.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):o.jsx("span",{}),i&&o.jsx(yn,{items:i})]}),children:s?o.jsx("div",{className:"manager-bar-chart-loading",children:o.jsx(Ao,{size:32})}):o.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:o.jsx(bm,{...d,hideCenter:h||d.hideCenter})})})}var L8=".ihabdevteam-core-scope .manager-stat-card{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-card);container-type:inline-size;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;min-width:160px;padding:20px}.ihabdevteam-core-scope .manager-stat-card--clickable{border:1px solid transparent;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.ihabdevteam-core-scope .manager-stat-card--clickable:hover{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .manager-stat-card__label-row{align-items:center;display:flex;justify-content:space-between;min-height:28px}.ihabdevteam-core-scope .manager-stat-card__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .manager-stat-card__icon{display:inline-flex;opacity:.35}.ihabdevteam-core-scope .manager-stat-card__icon-inner{color:var(--color-darkGray);height:22px;width:22px}.ihabdevteam-core-scope .manager-stat-card__content{align-items:flex-start;display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .manager-stat-card__left{align-items:flex-start;display:flex;flex:1;flex-direction:row;gap:8px;text-align:left}.ihabdevteam-core-scope .manager-stat-card__value{color:var(--color-black);flex-shrink:0;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1;white-space:nowrap}.ihabdevteam-core-scope .manager-stat-card__change{font-size:12px;font-weight:500;line-height:1.2;margin-top:1px;min-width:0}.ihabdevteam-core-scope .manager-stat-card__change--up{color:var(--color-sub)}.ihabdevteam-core-scope .manager-stat-card__change--down{color:var(--color-error)}.ihabdevteam-core-scope .manager-stat-card__change--neutral{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .manager-stat-card{padding:12px 14px 16px}.ihabdevteam-core-scope .manager-stat-card__value{font-size:24px}}";te(L8);function fm({label:e,value:t,change:a,changeType:r,icon:n,tooltip:i,onClick:s}){const c=l.useRef(null),{anchorRect:d,openAt:u,close:m}=ko(),h=l.useCallback(()=>{i&&c.current&&u(c.current)},[i,u]),p=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),g=a===void 0?void 0:a>0?`+${a}`:`${a}`,f=l.useCallback(b=>{s&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),s())},[s]);return o.jsxs("div",{ref:c,className:`manager-stat-card${s?" manager-stat-card--clickable":""}`,onClick:s,onKeyDown:s?f:void 0,onPointerEnter:h,onPointerLeave:m,onFocus:h,onBlur:m,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":s?`${e} ${t}`:void 0,children:[i&&d&&o.jsx(aa,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:i}),o.jsxs("div",{className:"manager-stat-card__label-row",children:[o.jsx("span",{className:"manager-stat-card__label h5",children:e}),n&&o.jsx("span",{className:"manager-stat-card__icon",children:o.jsx(Fe,{icon:n,className:"manager-stat-card__icon-inner"})})]}),o.jsx("div",{className:"manager-stat-card__content",children:o.jsxs("div",{className:"manager-stat-card__left",children:[o.jsx("div",{className:"manager-stat-card__value h2",children:t}),g&&o.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${p??"neutral"} caption-1`,children:g})]})})]})}var M8='.ihabdevteam-core-scope .slider{--slider-thumb:40px;--slider-fill:calc(var(--slider-thumb)/2 + var(--slider-ratio, 0)*(100% - var(--slider-thumb)));--slider-fill-color:var(--color-main);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border-radius:999px;cursor:pointer;margin:0;outline:none}.ihabdevteam-core-scope .slider:disabled{--slider-fill-color:var(--color-gray);cursor:not-allowed}.ihabdevteam-core-scope .slider:focus-visible{outline:2px solid var(--color-main);outline-offset:4px}.ihabdevteam-core-scope .slider--horizontal{background:linear-gradient(to right,var(--slider-fill-color) var(--slider-fill),var(--color-darkWhite) var(--slider-fill));height:var(--slider-thumb);width:100%}.ihabdevteam-core-scope .slider--vertical{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to top,var(--slider-fill-color) var(--slider-fill),var(--color-darkWhite) var(--slider-fill));direction:rtl;height:160px;width:var(--slider-thumb);writing-mode:vertical-lr}.ihabdevteam-core-scope .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-white);border:2px solid var(--slider-fill-color);border-radius:50%;box-shadow:var(--shadow-dropdown);cursor:pointer;height:var(--slider-thumb);width:var(--slider-thumb)}.ihabdevteam-core-scope .slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.ihabdevteam-core-scope .slider::-moz-range-thumb{background:var(--color-white);border:2px solid var(--slider-fill-color);border-radius:50%;box-shadow:var(--shadow-dropdown);cursor:pointer;height:var(--slider-thumb);width:var(--slider-thumb)}.ihabdevteam-core-scope .slider::-moz-range-track{background:transparent}.ihabdevteam-core-scope .slider--static{pointer-events:none}.ihabdevteam-core-scope .slider--static::-webkit-slider-thumb{visibility:hidden}.ihabdevteam-core-scope .slider--static::-moz-range-thumb{visibility:hidden}.ihabdevteam-core-scope .slider-wrap{align-items:center;display:flex;gap:10px}.ihabdevteam-core-scope .slider-wrap--label-left,.ihabdevteam-core-scope .slider-wrap--label-right{flex-direction:row}.ihabdevteam-core-scope .slider-wrap--label-left>.slider,.ihabdevteam-core-scope .slider-wrap--label-left>.slider-track-group,.ihabdevteam-core-scope .slider-wrap--label-right>.slider,.ihabdevteam-core-scope .slider-wrap--label-right>.slider-track-group{flex:1;min-width:0}.ihabdevteam-core-scope .slider-wrap--label-bottom,.ihabdevteam-core-scope .slider-wrap--label-top{flex-direction:column;gap:6px}.ihabdevteam-core-scope .slider-wrap--label-left .slider-wrap__value,.ihabdevteam-core-scope .slider-wrap--label-top .slider-wrap__value{order:-1}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-left,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-left{align-items:flex-start}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-center,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-center{align-items:center}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-right,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-right{align-items:flex-end}.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-bottom>.slider,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-bottom>.slider-track-group,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-top>.slider,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-top>.slider-track-group{align-self:stretch}.ihabdevteam-core-scope .slider-wrap__value{font-feature-settings:"tnum";color:var(--color-main);flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.ihabdevteam-core-scope .slider-wrap--label-left .slider-wrap__value,.ihabdevteam-core-scope .slider-wrap--label-right .slider-wrap__value{min-width:2.5em;text-align:right}.ihabdevteam-core-scope .slider-track-group{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .slider-track-group--horizontal{flex-direction:row}.ihabdevteam-core-scope .slider-track-group--horizontal .slider{flex:1;min-width:0}.ihabdevteam-core-scope .slider-track-group--vertical{flex-direction:column}.ihabdevteam-core-scope .slider-wrap__minmax{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}';te(M8);function Kl({value:e,onChange:t,min:a=0,max:r=100,step:n=1,orientation:i="horizontal",size:s=24,disabled:c=!1,ariaLabel:d,length:u,className:m,label:h,formatValue:p,labelPos:g,labelAlign:f="right",showMinMax:b=!1,minLabel:v,maxLabel:y,showBgTick:_=!1,showFillTick:C=!1,tickStep:x,tickShape:k="dot"}){t&&!d&&Wn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const w=Math.min(r,Math.max(a,e)),S=r>a?(w-a)/(r-a):0,j=i==="vertical",A=!t,T=z=>t?.(Number(z.target.value)),F=typeof u=="number"?`${u}px`:u,R={"--slider-ratio":String(S),"--slider-thumb":`${s}px`,...F?j?{height:F}:{width:F}:{}},E=x??n,M=(_||C)&&E>0&&r>a?Math.floor((r-a)/E+1e-6):0;if(M>0&&M<=100){const z=k!=="dash",V=ie=>z?`radial-gradient(circle, ${ie} 0.5px, transparent 1px)`:j?`linear-gradient(to bottom, transparent calc(50% - 2px), ${ie} calc(50% - 2px), ${ie} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${ie} calc(50% - 2px), ${ie} calc(50% + 2px), transparent calc(50% + 2px))`,X=z?"2px":"4px",W=[],Y=[],O=[];for(let ie=0;ie<=M;ie++){const ue=ie*E/(r-a);if(ue>1+1e-6)break;const fe=`${((j?1-ue:ue)*100).toFixed(4)}%`,ye=ue<=S+1e-6;if(ye?!C:!_)continue;const pe=ye?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";W.push(V(pe)),Y.push(j?`${X} var(--slider-thumb)`:`var(--slider-thumb) ${X}`),O.push(j?`center ${fe}`:`${fe} center`)}W.push(j?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),Y.push("100% 100%"),O.push("0 0"),R.backgroundImage=W.join(", "),R.backgroundSize=Y.join(", "),R.backgroundPosition=O.join(", "),R.backgroundRepeat="no-repeat"}const D=o.jsx("input",{type:"range",className:_e("slider",`slider--${i}`,A&&"slider--static",!h&&!b&&m),min:a,max:r,step:n,value:w,disabled:c,readOnly:A,tabIndex:A?-1:void 0,"aria-label":d,"aria-orientation":i,onChange:T,style:R});if(!h&&!b)return D;const H=o.jsx("span",{className:"slider-wrap__minmax caption-1",children:v??a}),J=o.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??r}),ee=b?o.jsxs("div",{className:_e("slider-track-group",`slider-track-group--${i}`,!h&&m),children:[j?J:H,D,j?H:J]}):D;if(!h)return ee;const ae=g??(j?"bottom":"right"),B=`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`,L=p?p(w):h==="percent"?B:h==="count"?`${w} / ${r}`:String(w),$=o.jsx("span",{className:"slider-wrap__value body-3b",children:L});return o.jsxs("div",{className:_e("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${ae}`,`slider-wrap--align-${f}`,m),children:[ee,$]})}var P8='.ihabdevteam-core-scope .audio-meter{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .audio-meter__track{--meter-level:0;background:var(--color-darkWhite);border-radius:999px;flex-shrink:0;overflow:hidden;position:relative}.ihabdevteam-core-scope .audio-meter__fill{inset:0;position:absolute}.ihabdevteam-core-scope .audio-meter__value{font-feature-settings:"tnum";color:var(--color-gray);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:40px}.ihabdevteam-core-scope .audio-meter--horizontal .audio-meter__track{height:8px;width:120px}.ihabdevteam-core-scope .audio-meter--horizontal .audio-meter__fill{background:linear-gradient(to right,var(--color-success) 0,var(--color-success) 55%,var(--color-warn) 80%,var(--color-error) 100%);transform:scaleX(var(--meter-level));transform-origin:left}.ihabdevteam-core-scope .audio-meter--vertical{flex-direction:column}.ihabdevteam-core-scope .audio-meter--vertical .audio-meter__track{height:120px;width:8px}.ihabdevteam-core-scope .audio-meter--vertical .audio-meter__fill{background:linear-gradient(to top,var(--color-success) 0,var(--color-success) 55%,var(--color-warn) 80%,var(--color-error) 100%);transform:scaleY(var(--meter-level));transform-origin:bottom}.ihabdevteam-core-scope .audio-meter.audio-meter--label-left,.ihabdevteam-core-scope .audio-meter.audio-meter--label-right{flex-direction:row}.ihabdevteam-core-scope .audio-meter.audio-meter--label-bottom,.ihabdevteam-core-scope .audio-meter.audio-meter--label-top{flex-direction:column}.ihabdevteam-core-scope .audio-meter--label-left .audio-meter__value,.ihabdevteam-core-scope .audio-meter--label-top .audio-meter__value{order:-1}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-left,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-left{align-items:flex-start}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-center,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-center{align-items:center}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-right,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-right{align-items:flex-end}';te(P8);const R8=.86,$8=250,Zl=(e,t,a,r)=>{const n=Math.round(Math.min(r,Math.max(a,e-t)));return`${n<0?"-":"+"}${Math.abs(n)} dB`};function Cn({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:n,labelPos:i,labelAlign:s="right",floorDb:c=-60,refDb:d=-35,displayMin:u=-5,displayMax:m=25,className:h,ariaLabel:p}){const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null);l.useEffect(()=>{const C=e??Vo(t),x=g.current;if(!C||!x){x?.style.setProperty("--meter-level","0"),f.current&&(f.current.textContent=Zl(c,d,u,m));return}Ho();const k=new Float32Array(C.fftSize);let w=0,S=0,j=0,A=0,T=null;const F=R=>{const E=si(C,k);w=E>w?E:w*R8;const M=w>1e-5?20*Math.log10(w):-1/0,D=Math.max(c,M),H=D-d,J=Math.min(1,Math.max(0,(H-u)/(m-u)));if(x.style.setProperty("--meter-level",J.toFixed(3)),f.current&&(S+=D,j+=1,R-A>=$8)){const ee=S/j;T=T==null?ee:T*.6+ee*.4,f.current.textContent=Zl(T,d,u,m),S=0,j=0,A=R}b.current=requestAnimationFrame(F)};return b.current=requestAnimationFrame(F),()=>{b.current!=null&&cancelAnimationFrame(b.current),b.current=null}},[e,t,c,d,u,m]);const v=typeof r=="number"?`${r}px`:r,y=o.jsx("div",{className:"audio-meter__track",style:v?a==="vertical"?{height:v}:{width:v}:{},children:o.jsx("div",{ref:g,className:"audio-meter__fill"})}),_=i??(a==="vertical"?"bottom":"right");return o.jsxs("div",{className:_e("audio-meter",`audio-meter--${a}`,n&&`audio-meter--label-${_}`,n&&`audio-meter--align-${s}`,h),role:"meter","aria-label":p,children:[y,n&&o.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:Zl(c,d,u,m)})]})}const vm=500;function Xl({message:e,position:t,duration:a,onClose:r}){const[n,i]=l.useState(!1),[s,c]=l.useState(!1),d=l.useRef(s),u=l.useRef(n);l.useEffect(()=>{d.current=s},[s]),l.useEffect(()=>{u.current=n},[n]);const m=l.useRef(null),h=l.useRef(""),p=l.useRef(r);l.useEffect(()=>{p.current=r});const g=a,f=l.useRef(null),b=l.useRef(0),v=l.useRef(0),y=l.useRef(!1),_=l.useRef(null),C=l.useRef(null),x=l.useRef(null),k=l.useRef(null),w=l.useRef(()=>{});w.current=A=>{A<0||(b.current=Date.now(),v.current=A,f.current=setTimeout(()=>{f.current=null,i(!1),_.current=setTimeout(()=>{c(!1);try{p.current()}catch{}},vm)},A))};const S=l.useCallback(()=>{y.current||!f.current||(y.current=!0,clearTimeout(f.current),f.current=null,v.current=Math.max(0,v.current-(Date.now()-b.current)))},[]),j=l.useCallback(()=>{y.current&&(y.current=!1,w.current(v.current))},[]);return l.useEffect(()=>{if(e!==h.current&&(f.current&&(clearTimeout(f.current),f.current=null),_.current&&(clearTimeout(_.current),_.current=null)),e){if(u.current)return g>0&&!f.current&&(y.current=!1,w.current(g)),h.current=e,()=>{};const A=()=>{const T=m.current;if(T)try{T.classList.remove("is-visible"),T.style.transition="none",t==="top"?T.style.transform="translateX(-50%) translateY(-16px)":T.style.transform="translateX(-50%) translateY(16px)",T.style.opacity="0",T.offsetWidth,T.style.transition="",T.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{T.style.opacity="",T.style.transform="",T.style.transition=""}catch{}},60)}catch{}};d.current?(A(),i(!0)):(c(!0),C.current=requestAnimationFrame(()=>{x.current=requestAnimationFrame(()=>{A(),i(!0)})})),g>0&&(y.current=!1,w.current(g))}else i(!1),_.current=setTimeout(()=>c(!1),vm);return h.current=e,()=>{f.current&&clearTimeout(f.current),_.current&&clearTimeout(_.current),C.current&&cancelAnimationFrame(C.current),x.current&&cancelAnimationFrame(x.current),k.current&&clearTimeout(k.current),f.current=null,_.current=null,C.current=null,x.current=null,k.current=null}},[e,g,t]),{mounted:s,showing:n,popupRef:m,pause:S,resume:j}}var I8=".ihabdevteam-core-scope .toast{left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);will-change:transform,opacity;z-index:var(--z-toast)}.ihabdevteam-core-scope .toast__inner{align-items:center;background:var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-popup);box-sizing:border-box;color:#fff;display:flex;justify-content:center;margin:0;max-width:min(520px,calc(100vw - 32px));min-height:60px;min-width:min(360px,calc(100vw - 32px));overflow:hidden;padding:var(--spacing-content);pointer-events:auto;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .toast__inner--normal{background:linear-gradient(var(--color-white),var(--color-white)) padding-box,linear-gradient(135deg,var(--color-main),var(--color-sub)) border-box;border:2px solid transparent;color:var(--color-black)}.ihabdevteam-core-scope .toast__inner--notice{background:linear-gradient(135deg,var(--color-main),var(--color-sub));color:#fff}.ihabdevteam-core-scope .toast__inner--warning{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .toast--top{opacity:0;top:18px;transform:translateX(-50%) translateY(-100%);transition:transform .26s cubic-bezier(.22,.9,.3,1),opacity .18s ease-out}.ihabdevteam-core-scope .toast--top.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.ihabdevteam-core-scope .toast--bottom{bottom:18px;opacity:0;transform:translateX(-50%) translateY(100%);transition:transform .26s cubic-bezier(.22,.9,.3,1),opacity .18s ease-out}.ihabdevteam-core-scope .toast--bottom.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}";te(I8);function ro({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:n=2e3}){const{mounted:i,showing:s,popupRef:c,pause:d,resume:u}=Xl({message:e,position:t,duration:n,onClose:r});if(!i)return null;const m=a==="notice"||a==="warning"?a:"normal",h=o.jsx("div",{ref:c,className:`toast toast--${t} ${s?"is-visible":""}`,role:"status","aria-live":"polite",onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:u,children:o.jsx("div",{className:`toast__inner toast__inner--${m} body-2`,children:e})});return typeof document<"u"?qt.createPortal(h,document.body):h}var z8='.ihabdevteam-core-scope .progress-bar{flex-shrink:0}.ihabdevteam-core-scope .progress-bar__track{background:var(--progress-bar-track,var(--color-darkWhite));border-radius:999px;height:8px;height:var(--progress-bar-height,8px);overflow:hidden;width:100%}.ihabdevteam-core-scope .progress-bar__fill{background:var(--progress-bar-fill,var(--color-main));border-radius:inherit;height:100%;transition:width .3s ease;transition:width var(--progress-bar-duration,.3s) ease}.ihabdevteam-core-scope .progress-bar__label{font-feature-settings:"tnum";color:var(--progress-bar-label-color,var(--color-gray));font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .progress-bar--4{--progress-bar-height:4px}.ihabdevteam-core-scope .progress-bar--8{--progress-bar-height:8px}.ihabdevteam-core-scope .progress-bar--16{--progress-bar-height:16px}.ihabdevteam-core-scope .progress-bar--24{--progress-bar-height:24px}.ihabdevteam-core-scope .progress-bar--32{--progress-bar-height:32px}.ihabdevteam-core-scope .progress-bar--label-left,.ihabdevteam-core-scope .progress-bar--label-right{align-items:center;display:flex;gap:10px}.ihabdevteam-core-scope .progress-bar--label-left>.progress-bar__track,.ihabdevteam-core-scope .progress-bar--label-right>.progress-bar__track{flex:1;min-width:0}.ihabdevteam-core-scope .progress-bar--label-left .progress-bar__label{order:-1}.ihabdevteam-core-scope .progress-bar--label-bottom,.ihabdevteam-core-scope .progress-bar--label-top{display:flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .progress-bar--label-top .progress-bar__label{order:-1}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-left,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-left{align-items:flex-start}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-center,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-center{align-items:center}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-right,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-right{align-items:flex-end}.ihabdevteam-core-scope .progress-bar--label-bottom>.progress-bar__track,.ihabdevteam-core-scope .progress-bar--label-top>.progress-bar__track{align-self:stretch}.ihabdevteam-core-scope .progress-bar--label-inside{position:relative}.ihabdevteam-core-scope .progress-bar--label-inside .progress-bar__label{pointer-events:none;position:absolute;top:50%}.ihabdevteam-core-scope .progress-bar--label-on-fill .progress-bar__label{color:var(--progress-bar-label-color-on-fill,var(--color-deepWhite))}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-left .progress-bar__label{left:10px;transform:translateY(-50%)}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-center .progress-bar__label{left:50%;transform:translate(-50%,-50%)}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-right .progress-bar__label{right:10px;transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .progress-bar__fill{transition:none}}';te(z8);const O8=24;function ym({value:e,max:t=100,size:a=8,color:r,trackColor:n,label:i,formatValue:s,labelPos:c,labelAlign:d="right",ariaLabel:u,className:m}){const h=Number.isFinite(t)&&t>0?t:1,p=Math.max(0,Math.min(Number.isFinite(e)?e:0,h)),g=p/h*100,f=c??(a>=O8?"inside":"bottom"),b=f==="center"?"inside":f,v=b==="inside"&&(d==="left"?g>=15:d==="center"?g>=50:g>=85),y={};return r&&(y["--progress-bar-fill"]=r),n&&(y["--progress-bar-track"]=n),o.jsxs("div",{className:_e("progress-bar",`progress-bar--${a}`,`progress-bar--label-${b}`,i&&`progress-bar--align-${d}`,i&&v&&"progress-bar--label-on-fill",m),style:y,children:[o.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":p,"aria-valuemin":0,"aria-valuemax":h,"aria-label":u,children:o.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&o.jsx("span",{className:"progress-bar__label caption-1b",children:s?s(p):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(p):`${p} / ${h}`})]})}var F8=".ihabdevteam-core-scope .progress-indicator{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .progress-indicator-dot{align-items:center;background:var(--pi-inactive-bg,var(--color-whiteLine));border-radius:var(--radius-card);color:var(--pi-inactive-color,var(--color-gray));display:inline-flex;height:28px;justify-content:center;width:52px}.ihabdevteam-core-scope .progress-indicator-dot.done{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .progress-indicator-dot.active{background:var(--color-sub);color:#fff}@media (max-width:1024px){.ihabdevteam-core-scope .progress-indicator{gap:6px}.ihabdevteam-core-scope .progress-indicator-dot{height:28px;width:44px}}@media (max-width:767px){.ihabdevteam-core-scope .progress-indicator--mobile .progress-indicator-dot{height:28px;padding:0 12px;width:auto}}.ihabdevteam-core-scope .progress-indicator--dot{gap:var(--spacing-xs)}.ihabdevteam-core-scope .progress-indicator-dot--dot{background:var(--pi-inactive-bg,var(--color-darkWhite));border-radius:var(--radius-full);height:8px;transition:width .2s ease-out,background .2s ease-out;width:8px}.ihabdevteam-core-scope .progress-indicator-dot--dot.done{background:color-mix(in srgb,var(--color-main) 40%,transparent)}.ihabdevteam-core-scope .progress-indicator-dot--dot.active{background:var(--color-main);width:24px}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .progress-indicator-dot--dot{transition:none}}";te(F8);const W8="rgba(255, 255, 255, 0.16)";function Jl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:n,variant:i="numbered",announce:s=!1,ariaLabel:c}){const{t:d}=me.useTranslation(),u=oa("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const m=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,h=c??d("progress.steps",{current:m+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),p={};return a&&(p["--pi-inactive-bg"]=a),r&&(p["--pi-inactive-color"]=r),n&&(a||(p["--pi-inactive-bg"]=W8),r||(p["--pi-inactive-color"]="var(--color-white)")),i==="dot"?o.jsx("div",{className:"progress-indicator progress-indicator--dot",style:p,role:s?"status":"img","aria-label":h,children:Array.from({length:e}).map((g,f)=>o.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<m?" done":f===m?" active":""}`},f))}):u?o.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:p,role:"list","aria-label":h,children:o.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[m+1," / ",e]})}):o.jsx("div",{className:"progress-indicator",style:p,role:"list","aria-label":h,children:Array.from({length:e}).map((g,f)=>o.jsx("span",{role:"listitem","aria-current":f===m?"step":void 0,className:`progress-indicator-dot ${f<m?" done":f===m?" active":""} body-3`,children:f+1},f))})}function H8(e){if(!e)return[];const t=[];let a=0,r="";for(const n of e.trim()){if(n==="("?a++:n===")"&&a--,/\s/.test(n)&&a===0){r&&(t.push(r),r="");continue}r+=n}return r&&t.push(r),t}var V8=".ihabdevteam-core-scope .table-wrap{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);overflow-x:auto}.ihabdevteam-core-scope .table{width:100%}.ihabdevteam-core-scope .table-header{align-items:center;border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:8px;padding:0 16px;text-align:left;width:100%}.ihabdevteam-core-scope .table-header[role=button]{cursor:pointer;transition:background .15s}.ihabdevteam-core-scope .table-header[role=button]:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-header__chevron{align-items:center;color:var(--color-gray);display:flex;flex-shrink:0}.ihabdevteam-core-scope .table-header__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .table-header__title{color:var(--color-darkGray)}.ihabdevteam-core-scope .table-header__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .table-header__actions{align-items:center;display:flex;flex-shrink:0;gap:4px;margin-left:auto}.ihabdevteam-core-scope .table-wrap--collapsed .table-header{border-bottom:none}.ihabdevteam-core-scope .table-wrap--dragover{outline:2px dashed var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .table-wrap--dragover .table-header{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-fields-strip{position:relative}.ihabdevteam-core-scope .table-wrap--resizable .table-fields,.ihabdevteam-core-scope .table-wrap--resizable .table-row{padding-right:40px}.ihabdevteam-core-scope .table-fields__reset{position:absolute;right:2px;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .table-fields{border-bottom:1px solid var(--color-whiteLine);display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-template-columns:var(--table-grid-cols,repeat(auto-fit,minmax(80px,1fr)))}.ihabdevteam-core-scope .table-body{display:flex;flex-direction:column}.ihabdevteam-core-scope .table-row-wrap{border-bottom:1px solid var(--color-darkWhite);display:flex;flex-direction:column}.ihabdevteam-core-scope .table-row-wrap:last-child{border-bottom:none}.ihabdevteam-core-scope .table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-template-columns:var(--table-grid-cols,repeat(auto-fit,minmax(80px,1fr)))}.ihabdevteam-core-scope .table-row-expand{background:var(--color-darkWhite);border-top:1px solid var(--color-whiteLine);display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px}.ihabdevteam-core-scope .table-wrap--small .table-fields,.ihabdevteam-core-scope .table-wrap--small .table-header,.ihabdevteam-core-scope .table-wrap--small .table-row{min-height:48px}.ihabdevteam-core-scope .table-wrap--medium .table-fields,.ihabdevteam-core-scope .table-wrap--medium .table-header,.ihabdevteam-core-scope .table-wrap--medium .table-row{min-height:56px}.ihabdevteam-core-scope .table-wrap--large .table-fields,.ihabdevteam-core-scope .table-wrap--large .table-header,.ihabdevteam-core-scope .table-wrap--large .table-row{min-height:64px}.ihabdevteam-core-scope .table-fields.table-fields--groups{min-height:34px}.ihabdevteam-core-scope .table-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .table-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-row--draggable{cursor:grab}.ihabdevteam-core-scope .table-row--draggable:active{cursor:grabbing}.ihabdevteam-core-scope .table-row--dragging{opacity:.4}.ihabdevteam-core-scope .table-row--empty,.ihabdevteam-core-scope .table-row--loading{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .table-row--empty{color:var(--color-lightGray);padding:0 20px}.ihabdevteam-core-scope .table-wrap--small .table-row--empty{min-height:48px}.ihabdevteam-core-scope .table-wrap--medium .table-row--empty{min-height:56px}.ihabdevteam-core-scope .table-wrap--large .table-row--empty{min-height:64px}";te(V8);var G8=".ihabdevteam-core-scope .table-cell{align-items:center;color:var(--color-darkGray);display:flex;min-width:0;overflow:hidden;overflow-wrap:break-word;padding:0 16px;word-break:break-word}";te(G8);var q8='.ihabdevteam-core-scope .table-field{align-items:center;color:var(--color-gray);cursor:pointer;display:flex;gap:0;min-width:0;overflow:hidden;padding:0 16px;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ihabdevteam-core-scope .table-field--resizable{position:relative}.ihabdevteam-core-scope .table-field__resizer{align-items:center;cursor:col-resize;display:flex;height:100%;justify-content:flex-end;position:absolute;right:0;top:0;touch-action:none;width:10px;z-index:3}.ihabdevteam-core-scope .table-field__resizer:after{background:var(--color-whiteLine);content:"";height:55%;transition:background-color .12s,width .12s,height .12s;width:1px}.ihabdevteam-core-scope .table-field__resizer:active:after,.ihabdevteam-core-scope .table-field__resizer:hover:after{background:var(--color-main);height:100%;width:2px}.ihabdevteam-core-scope .table-field--sorted,.ihabdevteam-core-scope .table-field:hover{color:var(--color-main)}.ihabdevteam-core-scope .table-field__sort-arrow{flex-shrink:0}';te(q8);function Y8({children:e,className:t,style:a}){return o.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function Ql({variant:e="default",children:t,className:a,draggable:r,onClick:n,onMouseEnter:i,onMouseLeave:s,onDragStart:c,onDragEnd:d,expandedContent:u}){const m=l.useCallback(h=>{n&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),n())},[n]);return e==="loading"?o.jsx("div",{className:"table-row-wrap",children:o.jsx("div",{className:"table-row table-row--loading",children:o.jsx(Ao,{size:28})})}):e==="empty"?o.jsx("div",{className:"table-row-wrap",children:o.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):o.jsxs("div",{className:"table-row-wrap",children:[o.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:n,onKeyDown:n?m:void 0,onMouseEnter:i,onMouseLeave:s,onDragStart:c,onDragEnd:d,role:n?"button":void 0,tabIndex:n?0:void 0,children:t}),u&&o.jsx("div",{className:"table-row-expand",children:u})]})}function U8({dir:e}){return o.jsx(e==="asc"?md:hd,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function K8({children:e,onClick:t,className:a,sortDir:r,onResizeStart:n}){const i=l.useCallback(s=>{t&&s.target===s.currentTarget&&(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),t())},[t]);return o.jsxs("div",{onClick:t,onKeyDown:t?i:void 0,role:t?"button":void 0,tabIndex:t?0:void 0,"aria-sort":r?r==="asc"?"ascending":"descending":void 0,className:_e("table-field body-3",a,r?"table-field--sorted":"",n?"table-field--resizable":""),children:[e,r&&o.jsx(U8,{dir:r}),n&&o.jsx("span",{className:"table-field__resizer",onPointerDown:n,onClick:s=>s.stopPropagation(),"aria-hidden":"true"})]})}function _n({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:n,onRowMouseEnter:i,onRowMouseLeave:s,onRowDragStart:c,onRowDragEnd:d,draggingId:u,gridTemplateColumns:m,resizable:h=!1,resizeMode:p="grow",resizeStorageKey:g,size:f="small",title:b,icon:v,count:y,collapsed:_=!1,onToggleCollapse:C,headerActions:x,empty:k,loading:w,dragOver:S=!1,onDragOver:j,onDragLeave:A,onDrop:T,renderExpandedRow:F,expandedId:R}){const{t:E}=me.useTranslation(),M=48,D=g?`table-cols:${g}`:null,H=l.useRef(null),J=l.useRef(()=>!1),ee=l.useRef([]),ae=l.useRef(null),[B,L]=l.useState(()=>{if(!D||typeof window>"u")return null;try{const P=JSON.parse(window.localStorage.getItem(D)??"null");return Array.isArray(P)&&P.every(q=>typeof q=="number")?P:null}catch{return null}}),$=l.useRef(B);l.useEffect(()=>{$.current=B},[B]);const z=l.useCallback(P=>{const q=ae.current;q&&L(oe=>{if(!oe)return oe;const ge=[...oe];if(q.next!=null&&q.startWNext!=null){const de=P.clientX-q.startX,I=Math.max(M-q.startW,Math.min(q.startWNext-M,de));ge[q.index]=q.startW+I,ge[q.next]=q.startWNext-I}else ge[q.index]=Math.max(M,q.startW+(P.clientX-q.startX));return ge})},[]),V=l.useCallback(()=>{if(ae.current=null,window.removeEventListener("pointermove",z),window.removeEventListener("pointerup",V),document.body.style.cursor="",document.body.style.userSelect="",D&&$.current)try{window.localStorage.setItem(D,JSON.stringify($.current))}catch{}},[z,D]),X=l.useCallback((P,q)=>{q.preventDefault(),q.stopPropagation();const oe=H.current;if(!oe)return;const ge=Array.from(oe.children).map(I=>I.getBoundingClientRect().width),de=p==="fit"?e.findIndex((I,Z)=>Z>P&&I.resizable!==!1):-1;ae.current=de>=0?{index:P,startX:q.clientX,startW:ge[P],next:de,startWNext:ge[de]}:{index:P,startX:q.clientX,startW:ge[P]},L(ge),window.addEventListener("pointermove",z),window.addEventListener("pointerup",V),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[z,V,p,e]),W=l.useCallback(()=>{const P=H.current,q=P?.closest(".table-wrap");if(!P||!q)return;const oe=q.style.getPropertyValue("--table-grid-cols");q.style.setProperty("--table-grid-cols",e.map((Le,Ee)=>J.current(Ee)?ee.current[Ee]:"max-content").join(" "));const ge=Array.from(q.querySelectorAll(".table-row")).filter(Le=>!Le.classList.contains("table-row--loading")&&!Le.classList.contains("table-row--empty")),de=e.map((Le,Ee)=>{let je=P.children[Ee]?.getBoundingClientRect().width??0;for(const Te of ge){const Ie=Te.children[Ee];Ie&&(je=Math.max(je,Ie.getBoundingClientRect().width))}return Math.max(M,Math.ceil(je))}),I=window.getComputedStyle(P),Z=P.clientWidth-(parseFloat(I.paddingLeft)||0)-(parseFloat(I.paddingRight)||0);oe?q.style.setProperty("--table-grid-cols",oe):q.style.removeProperty("--table-grid-cols");let Q=de;const ve=de.reduce((Le,Ee,je)=>Le+(J.current(je)?Ee:0),0),De=de.reduce((Le,Ee,je)=>Le+(J.current(je)?0:Ee),0),$e=Z-ve;if(Z>0&&De>0&&$e>0){const Le=$e/De;Q=de.map((je,Te)=>J.current(Te)?je:Math.max(M,Math.round(je*Le)));const Ee=Math.round($e-Q.reduce((je,Te,Ie)=>je+(J.current(Ie)?0:Te),0));if(Ee!==0){let je=-1;Q.forEach((Te,Ie)=>{!J.current(Ie)&&(je<0||Te>Q[je])&&(je=Ie)}),je>=0&&(Q[je]=Math.max(M,Q[je]+Ee))}}if(L(Q),D)try{window.localStorage.setItem(D,JSON.stringify(Q))}catch{}},[e,p,D]);l.useEffect(()=>()=>{ae.current&&(window.removeEventListener("pointermove",z),window.removeEventListener("pointerup",V),document.body.style.cursor="",document.body.style.userSelect="")},[z,V]);const Y=H8(m),O=Y.filter(P=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(P));O.length>0&&Wn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${O.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const ie=P=>/^\d+(\.\d+)?px$/.test(Y[P]??"");J.current=ie,ee.current=Y;const ue=P=>p==="fit"&&!ie(P)?"fr":"px",fe=B&&B.length===e.length&&(p==="fit"||a.length>0)?e.map((P,q)=>P.resizable===!1&&Y[q]?Y[q]:`${B[q]}${ue(q)}`).join(" "):m,ye=fe?{"--table-grid-cols":fe}:void 0,pe=b!==void 0;return o.jsx("div",{className:`table-wrap table-wrap--${f}${h?" table-wrap--resizable":""}${S?" table-wrap--dragover":""}${_?" table-wrap--collapsed":""}`,style:ye,onDragOver:j,onDragLeave:A,onDrop:T,children:o.jsxs("div",{className:"table body-2",children:[pe&&o.jsxs("div",{className:"table-header",onClick:C,role:C?"button":void 0,tabIndex:C?0:void 0,"aria-expanded":C?!_:void 0,onKeyDown:C?P=>{(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),C())}:void 0,children:[C&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:_?"chevron-right":"chevron-down",ariaLabel:_?E("common.expand","\uD3BC\uCE58\uAE30"):E("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),v&&o.jsx(Fe,{icon:v,label:typeof b=="string"?b:void 0,className:"table-header__icon"}),o.jsx("span",{className:"table-header__title h5b",children:b}),y!==void 0&&o.jsx("span",{className:"table-header__count body-3b",children:y}),x&&o.jsx("span",{className:"table-header__actions",onClick:P=>P.stopPropagation(),children:x})]}),!_&&o.jsxs(o.Fragment,{children:[t&&t.length>0&&o.jsx("div",{className:"table-fields table-fields--groups",children:t.map((P,q)=>o.jsx("div",{className:_e("table-field body-3",P.className),style:{gridColumn:`span ${P.span}`},children:P.label},q))}),o.jsxs("div",{className:_e("table-fields-strip",h&&"table-fields-strip--resizable"),children:[o.jsx("div",{className:"table-fields",ref:H,children:e.map((P,q)=>o.jsx(K8,{onClick:P.onClick,className:P.className,sortDir:P.sortDir,onResizeStart:h&&q<e.length-1&&P.resizable!==!1&&(p!=="fit"||e.some((oe,ge)=>ge>q&&oe.resizable!==!1))?oe=>X(q,oe):void 0,children:P.label},q))}),h&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:W})]}),o.jsx("div",{className:"table-body",children:w?o.jsx(Ql,{variant:"loading"}):a.length===0&&k?o.jsx(Ql,{variant:"empty",children:k}):a.map((P,q)=>{const oe=u!=null&&P.id===u,ge=R!=null&&(R instanceof Set?R.has(P.id):P.id===R);return o.jsx(Ql,{className:`${n?" table-row--clickable":""}${c?" table-row--draggable":""}${oe?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:n?()=>n(P):void 0,onMouseEnter:i?de=>i(P,de):void 0,onMouseLeave:s?de=>s(P,de):void 0,onDragStart:c?de=>c(P,de):void 0,onDragEnd:d?de=>d(P,de):void 0,expandedContent:ge&&F?F(P):void 0,children:r(P).map((de,I)=>o.jsx(Y8,{className:de.className,style:de.style,children:de.content},I))},String(P.id??q))})})]})]})})}function xm(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}var Z8=".ihabdevteam-core-scope .dlp-popup .popup-panel{max-width:600px}.ihabdevteam-core-scope .dlp-row{border-bottom:1px solid var(--color-darkWhite);cursor:pointer;transition:background .1s}.ihabdevteam-core-scope .dlp-row:hover{background:#f5f5f5;background:var(--color-hoverBg,#f5f5f5)}.ihabdevteam-core-scope .dlp-row:last-child{border-bottom:none}.ihabdevteam-core-scope .dlp-date{color:var(--color-lightGray);white-space:nowrap}.ihabdevteam-core-scope .dlp-side-table{margin-top:0}.ihabdevteam-core-scope .dlp-worn-check{align-items:center;display:inline-flex}.ihabdevteam-core-scope .dlp-row-actions{align-items:center;display:flex;justify-content:flex-end}";te(Z8);function Cm(e,t){return t!=="wornAt"?String(e[t]??""):e.wornYear?`${e.wornYear}-${e.wornMonth.padStart(2,"0")}-${e.wornDay.padStart(2,"0")}`:""}function _m({rows:e,onSelect:t,onDelete:a,onWear:r,onRelease:n,onAdd:i}){const{t:s}=me.useTranslation(),c=f=>f==="\uC88C"?s("device.direction.left","\uC88C"):s("device.direction.right","\uC6B0"),{\uC815\uB82C:d,\uCE78:u}=dl(),m=l.useMemo(()=>{if(!d)return e;const{key:f,asc:b}=d;return[...e].sort((v,y)=>{const _=f==="worn"?Number(y.worn)-Number(v.worn):Cm(v,f).localeCompare(Cm(y,f),"ko");return b?_:-_})},[e,d]),{pageRows:h,pageSizeProps:p,paginationProps:g}=cl(m,d);return o.jsxs("div",{className:"dlp-side-table",children:[o.jsx(vn,{count:{value:e.length,unit:s("customers.device.unit","\uAC1C")},pageSize:p,pagination:g,actions:i&&o.jsx(re,{size:40,type:"bar",variant:"main",icon:"plus",label:s("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:i})}),o.jsx(_n,{resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...u(s("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},u(s("device.direction.label","\uBC29\uD5A5"),"side"),u(s("device.deviceType","\uC885\uB958"),"device"),u(s("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),u(s("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),u(s("device.productName","\uC81C\uD488\uBA85"),"productName"),u(s("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...a?[{label:"",resizable:!1}]:[]],items:h.map((f,b)=>({id:f.id??`${f.side}-${b}`,row:f})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${a?" 80px":""}`,renderRow:({row:f})=>[{content:o.jsx("span",{className:"dlp-worn-check",onClick:b=>b.stopPropagation(),children:o.jsx(Gl,{checked:f.worn,disabled:!r||!n,ariaLabel:f.worn?s("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):s("customers.device.wear","\uCC29\uC6A9"),onChange:b=>{b?r?.(f):n?.(f)}})})},{content:o.jsx("span",{children:c(f.side)})},{content:f.device?o.jsx(ht,{size:"small",variant:xm(f.device),fill:"soft",label:f.device}):o.jsx("span",{})},{content:o.jsx("span",{children:f.brand})},{content:o.jsx("span",{children:f.fitType||"-"})},{content:o.jsx("span",{children:f.productName||"-"})},{content:o.jsx("span",{className:"dlp-date",children:f.wornYear?`${f.wornYear}.${f.wornMonth}.${f.wornDay}`:"-"})},...a?[{content:o.jsx("span",{className:"dlp-row-actions",children:o.jsx(re,{size:28,type:"bar",variant:"transparent-gray",label:s("common.delete","\uC0AD\uC81C"),onClick:b=>{b?.stopPropagation(),a(f)}})})}]:[]],onRowClick:({row:f})=>t(f),empty:s("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}var X8=`.ihabdevteam-core-scope .calendar-nav{align-items:center;display:flex;gap:var(--spacing-m);justify-content:center;margin-bottom:var(--spacing-m);position:relative}.ihabdevteam-core-scope .calendar-nav__legend{align-items:center;color:var(--color-gray);display:flex;gap:6px;position:absolute;right:0}.ihabdevteam-core-scope .calendar-nav__legend-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.ihabdevteam-core-scope .calendar-nav__legend-dot--main{background:var(--color-main)}.ihabdevteam-core-scope .calendar-nav__legend-dot--sub{background:var(--color-sub)}.ihabdevteam-core-scope .calendar-nav__legend-dot--disabled{background:var(--color-disabled)}.ihabdevteam-core-scope .calendar-nav__button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-darkGray);cursor:pointer;display:flex;font-size:18px;height:32px;line-height:1;transition:border-color .15s,color .15s;width:32px}.ihabdevteam-core-scope .calendar-nav__button:hover{border-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .calendar-nav__title{color:var(--color-darkGray);font-weight:700;min-width:100px;text-align:center}.ihabdevteam-core-scope .calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.ihabdevteam-core-scope .calendar-day-header{color:var(--color-lightGray);font-weight:600;padding:6px 0;text-align:center}.ihabdevteam-core-scope .calendar-day-header:first-child{color:var(--color-error)}.ihabdevteam-core-scope .calendar-day-header:last-child{color:var(--color-main)}.ihabdevteam-core-scope .calendar-cell{background:transparent;border-radius:var(--radius-s);box-sizing:border-box;cursor:default;min-height:118px;min-width:118px;padding:8px}.ihabdevteam-core-scope .calendar-cell.empty{background:transparent;cursor:default}
|
|
844
|
+
`),b=f===-1?a:a.slice(0,f);i("comment",b),a=a.slice(b.length);continue}const c=a.match(/^\/\*[\s\S]*?\*\//);if(c){i("comment",c[0]),a=a.slice(c[0].length);continue}const d=a.match(/^(`(?:\\.|[^`])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/);if(d){i("string",d[0]),a=a.slice(d[0].length);continue}const u=a.match(/^\d+(?:\.\d+)?/);if(u){i("number",u[0]),a=a.slice(u[0].length);continue}const m=a.match(m8);if(m){i("keyword",m[0]),a=a.slice(m[0].length);continue}const h=a.match(/^[A-Za-z_$][A-Za-z0-9_$-]*/);if(h){const f=h[0];i(n&&h8.has(f)?"command":"identifier",f),a=a.slice(f.length);continue}const p=a.match(/^[=+\-*/%<>!&|^~?:]+/);if(p){i("operator",p[0]),a=a.slice(p[0].length);continue}const g=a.match(/^[()[\]{};.,]/);if(g){i("punctuation",g[0]),a=a.slice(1);continue}i("other",a[0]),a=a.slice(1)}return r}function im({children:e,language:t="bash",title:a="",showCopy:r=!0,size:n="default",className:i=""}){const{t:s}=me.useTranslation(),[c,d]=l.useState(!1),u=p8(nm(e)),m=l.useRef(null);l.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const h=async()=>{try{if(!await ls(u))return;d(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>d(!1),2e3)}catch{}},p=b8(u,t),g=n==="small"?"caption-1":"body-3";return o.jsxs("div",{className:_e("code-box",n==="small"?"code-box--small":"",i),children:[(a||r)&&o.jsxs("div",{className:"code-box__header",role:"toolbar","aria-label":s("common.codeBlock","\uCF54\uB4DC \uBE14\uB85D"),children:[o.jsx("div",{className:"code-box__title caption-1",children:a}),r&&o.jsx(re,{className:"code-box__copy",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:c?"check":"copy",onClick:h,ariaLabel:c?s("common.copied","\uBCF5\uC0AC\uB428"):s("common.copyCode","\uCF54\uB4DC \uBCF5\uC0AC")})]}),o.jsx("pre",{className:"code-box__inner","data-lang":t,children:o.jsx("code",{children:p.map((f,b)=>o.jsx("span",{className:`code-token ${f.type} ${g}`,children:f.content},b))})})]})}var g8=".ihabdevteam-core-scope .loader-spinner{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .loader-spinner__svg{animation:loader-rotate 1s linear infinite;transform-origin:center}.ihabdevteam-core-scope .loader-spinner__bg{stroke:rgba(0,0,0,.08)}.ihabdevteam-core-scope .loader-spinner__fg{stroke:var(--color-main);stroke-dasharray:125;stroke-dashoffset:80;animation:loader-dash 1.2s ease-in-out infinite}@keyframes loader-rotate{to{transform:rotate(1turn)}}@keyframes loader-dash{0%{stroke-dashoffset:125}50%{stroke-dashoffset:35}to{stroke-dashoffset:125}}.ihabdevteam-core-scope .loader-bar{background:rgba(0,0,0,.06);border-radius:999px;height:8px;overflow:hidden;width:100%}.ihabdevteam-core-scope .loader-bar__inner{background:var(--color-main);height:100%;transition:width .22s cubic-bezier(.2,.8,.2,1);width:0}@keyframes core-loader-rotate{to{transform:rotate(1turn)}}@keyframes core-loader-dash{0%{stroke-dashoffset:125}50%{stroke-dashoffset:35}to{stroke-dashoffset:125}}.ihabdevteam-core-scope .page-loading-center{display:flex;justify-content:center;padding:40px 0}";te(g8);function Ao(e){const{variant:t="spinner",size:a=24,progress:r=null,label:n}=e||{};if(t==="bar"){const s=Math.max(0,Math.min(100,Number(r)||0));return o.jsx("div",{className:"loader-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,"aria-label":n||"Loading",children:o.jsx("div",{className:"loader-bar__inner",style:{width:`${s}%`}})})}const i=typeof a=="number"?`${a}px`:a;return o.jsx("div",{className:"loader-spinner",style:{width:i,height:i},role:"status","aria-label":n||"Loading",children:o.jsxs("svg",{className:"loader-spinner__svg",viewBox:"0 0 50 50",width:a,height:a,children:[o.jsx("circle",{className:"loader-spinner__bg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4"}),o.jsx("circle",{className:"loader-spinner__fg",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round"})]})})}var f8='.ihabdevteam-core-scope .toggle{align-items:center;cursor:pointer;display:inline-flex;gap:var(--spacing-xs);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .toggle input{height:0;opacity:0;position:absolute;width:0}.ihabdevteam-core-scope .toggle__slider{background:#e2e8f0;background:var(--color-whiteLine,#e2e8f0);border-radius:26px;display:inline-block;flex-shrink:0;height:26px;position:relative;transition:background .2s;width:44px}.ihabdevteam-core-scope .toggle__slider:before{background:var(--color-pureWhite);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.15);content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .2s;width:20px}.ihabdevteam-core-scope .toggle input:checked+.toggle__slider{background:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .toggle input:checked+.toggle__slider:before{transform:translateX(18px)}.ihabdevteam-core-scope .toggle input:focus-visible+.toggle__slider{outline:2px solid var(--color-main,var(--color-main));outline-offset:2px}.ihabdevteam-core-scope .toggle__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .toggle--disabled{cursor:not-allowed;opacity:.45}';te(f8);function Vl({checked:e,onChange:t,disabled:a=!1,label:r,ariaLabel:n,labelPosition:i="right",className:s="",id:c}){const d=r&&o.jsx("span",{className:"toggle__label body-3",children:r});return o.jsxs("label",{className:`toggle${a?" toggle--disabled":""} ${s}`.trim(),children:[i==="left"&&d,o.jsx("input",{id:c,type:"checkbox",checked:e,disabled:a,onChange:u=>t?.(u.target.checked),"aria-label":!r&&n?n:void 0}),o.jsx("span",{className:"toggle__slider"}),i==="right"&&d]})}var v8=`.ihabdevteam-core-scope .checkbox{align-items:center;cursor:pointer;display:inline-flex;gap:8px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .checkbox--disabled{cursor:not-allowed;opacity:.4}.ihabdevteam-core-scope .checkbox__input{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ihabdevteam-core-scope .checkbox__box{background:var(--color-white,var(--color-pureWhite));border:1.5px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-sm,8px);flex-shrink:0;height:24px;position:relative;transition:border-color .15s,background .15s;width:24px}.ihabdevteam-core-scope .checkbox__input:checked+.checkbox__box{background:var(--color-main,var(--color-main));border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:checked+.checkbox__box:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4 9 3.5 3.5L14 6'/%3E%3C/svg%3E") 50%/cover no-repeat;content:"";inset:0;position:absolute}.ihabdevteam-core-scope .checkbox__input:indeterminate+.checkbox__box{background:var(--color-main,var(--color-main));border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:indeterminate+.checkbox__box:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-width='2' d='M4.5 9h9'/%3E%3C/svg%3E") 50%/cover no-repeat;content:"";inset:0;position:absolute}.ihabdevteam-core-scope .checkbox:not(.checkbox--disabled):hover .checkbox__box{border-color:var(--color-main,var(--color-main))}.ihabdevteam-core-scope .checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--color-main,var(--color-main));outline-offset:2px}.ihabdevteam-core-scope .checkbox--large .checkbox__box{border-radius:10px;border-radius:var(--radius-s,10px);height:30px;width:30px}.ihabdevteam-core-scope .checkbox--small .checkbox__box{border-radius:4px;border-radius:var(--radius-xs,4px);height:16px;width:16px}.ihabdevteam-core-scope .checkbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .checkbox--small .checkbox__label{font-size:13px}`;te(v8);function Gl({checked:e=!1,onChange:t,disabled:a,indeterminate:r,label:n,size:i="medium",className:s,title:c,ariaLabel:d}){const u=l.useRef(null),m=l.useId();return l.useEffect(()=>{u.current&&(u.current.indeterminate=!!r)},[r]),o.jsxs("label",{className:_e("checkbox",i==="small"&&"checkbox--small",i==="large"&&"checkbox--large",a&&"checkbox--disabled",s),htmlFor:m,title:c,children:[o.jsx("input",{ref:u,id:m,type:"checkbox",className:"checkbox__input",checked:e,onChange:h=>t?.(h.target.checked),disabled:a,"aria-label":!n&&d?d:void 0}),o.jsx("span",{className:"checkbox__box"}),n&&o.jsx("span",{className:"checkbox__label body-3",children:n})]})}var y8=".ihabdevteam-core-scope .bulk-bar{align-items:center;background:var(--color-pureWhite,var(--color-pureWhite));border:1px solid var(--color-main);border-radius:12px;border-radius:var(--radius-m,12px);bottom:24px;box-shadow:0 4px 20px rgba(0,0,0,.12);box-sizing:border-box;color:#1a1a1a;color:var(--color-gray900,#1a1a1a);display:flex;gap:12px;justify-content:space-between;margin-top:16px;min-height:60px;opacity:0;padding:10px 16px;pointer-events:none;position:sticky;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}.ihabdevteam-core-scope .bulk-bar--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.ihabdevteam-core-scope .bulk-bar__count{color:#1a1a1a;color:var(--color-gray900,#1a1a1a);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .bulk-bar__count b{color:var(--color-main)}.ihabdevteam-core-scope .bulk-bar__actions{display:flex;flex-shrink:0;gap:8px}.ihabdevteam-core-scope .bulk-bar__chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px;gap:var(--spacing-xs,8px);min-width:0}.ihabdevteam-core-scope .bulk-bar__chips .button{white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .bulk-bar{flex-wrap:wrap}.ihabdevteam-core-scope .bulk-bar__actions{flex-wrap:wrap;justify-content:flex-end;width:100%}}.ihabdevteam-core-scope .bulk-bar__actions--stacked{align-items:stretch;flex-direction:column}";te(y8);function sm({count:e,actions:t,onClear:a,clearLabel:r="\uC120\uD0DD \uD574\uC81C",visible:n,content:i,max:s}){const{t:c}=me.useTranslation(),d=n!==void 0?n:e>0,u=l.useRef(null),[m,h]=l.useState(!1);return l.useEffect(()=>{const p=u.current;if(!p)return;const g=()=>{const b=p.firstElementChild??p,v=Array.from(b.children);if(v.length<2){h(!1);return}const y=v[0].offsetTop;h(v.some(_=>_.offsetTop!==y))};if(g(),typeof ResizeObserver>"u")return;const f=new ResizeObserver(g);return f.observe(p),()=>f.disconnect()},[i,e]),o.jsxs("div",{className:`bulk-bar ${d?"bulk-bar--visible":""}`,children:[o.jsx("span",{ref:u,className:"bulk-bar__count body-2",children:i??o.jsx("b",{children:c("common.selectedCount",{count:e})})}),s!==void 0&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",label:`${e} / ${s}`}),o.jsxs("div",{className:`bulk-bar__actions${m?" bulk-bar__actions--stacked":""}`,children:[o.jsx(re,{size:40,label:r,onClick:a}),t.map((p,g)=>o.jsx(re,{size:40,variant:p.variant??"default",icon:p.icon,label:p.label,onClick:p.onClick},g))]})]})}function ql(e){const t=()=>{if(e){const[h,p]=e.split("-");return{y:+h,m:+p-1}}const m=new Date;return{y:m.getFullYear(),m:m.getMonth()}},[a,r]=l.useState(()=>t().y),[n,i]=l.useState(()=>t().m),s=l.useRef(e);l.useEffect(()=>{if(e===s.current)return;s.current=e;const m=t();r(m.y),i(m.m)},[e]);const c=l.useCallback(()=>{n===0?(r(m=>m-1),i(11)):i(m=>m-1)},[n]),d=l.useCallback(()=>{n===11?(r(m=>m+1),i(0)):i(m=>m+1)},[n]),u=l.useCallback((m,h)=>{r(m),i(h)},[]);return{viewY:a,viewM:n,prevMonth:c,nextMonth:d,setViewYM:u}}var x8=".ihabdevteam-core-scope .date-picker{position:relative;width:100%}.ihabdevteam-core-scope .date-picker__trigger{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-darkGray);cursor:pointer;display:flex;justify-content:space-between;padding:0 12px;text-align:left;transition:border-color .12s,background .12s,box-shadow .12s;width:100%}.ihabdevteam-core-scope .date-picker--s40 .date-picker__trigger{border-radius:10px;height:40px}.ihabdevteam-core-scope .date-picker--s48 .date-picker__trigger{border-radius:12px;height:48px}.ihabdevteam-core-scope .date-picker--s64 .date-picker__trigger{border-radius:14px;height:64px}.ihabdevteam-core-scope .date-picker--open .date-picker__trigger,.ihabdevteam-core-scope .date-picker__trigger:focus{background:var(--color-white);border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-a10);outline:none}.ihabdevteam-core-scope .date-picker__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.ihabdevteam-core-scope .date-picker__placeholder{color:var(--color-lightGray);white-space:nowrap}.ihabdevteam-core-scope .date-picker__value{color:var(--color-darkGray);white-space:nowrap}.ihabdevteam-core-scope .date-picker__icon{color:var(--color-lightGray);flex-shrink:0;transition:color .12s}.ihabdevteam-core-scope .date-picker--open .date-picker__icon{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__dropdown{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.1);box-sizing:border-box;left:0;min-width:260px;padding:12px;position:absolute;top:calc(100% + 6px);z-index:200}.ihabdevteam-core-scope .date-picker__nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ihabdevteam-core-scope .date-picker__nav-dropdown{flex:1;margin:0 4px}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger{background:transparent!important;border:none!important;border-radius:6px!important;box-shadow:none!important;gap:4px!important;height:32px!important;justify-content:center!important;transition:background .12s,color .12s!important}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger:hover,.ihabdevteam-core-scope .date-picker__nav-dropdown.dropdown--open .dropdown__trigger{background:var(--color-deepWhite)!important}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__nav-dropdown .dropdown__trigger-label{color:var(--color-darkGray)!important;flex:initial!important;font-weight:600!important}.ihabdevteam-core-scope .date-picker__nav-btn{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:8px;color:var(--color-darkGray);cursor:pointer;display:flex;height:28px;justify-content:center;transition:border-color .12s,color .12s;width:28px}.ihabdevteam-core-scope .date-picker__nav-btn:hover{border-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .date-picker__grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.ihabdevteam-core-scope .date-picker__dow{color:var(--color-lightGray);font-weight:600;padding:4px 0 6px;text-align:center}.ihabdevteam-core-scope .date-picker__dow:first-child{color:var(--color-error)}.ihabdevteam-core-scope .date-picker__dow:last-child{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day{align-items:center;aspect-ratio:1;background:transparent;border:none;border-radius:6px;color:var(--color-darkGray);cursor:pointer;display:flex;justify-content:center;transition:background .1s,color .1s;width:100%}.ihabdevteam-core-scope .date-picker__day:hover:not(:disabled){background:var(--color-main-a10);color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--sun:hover:not(:disabled){color:var(--color-error)}.ihabdevteam-core-scope .date-picker__day--sat:hover:not(:disabled){color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--sun{color:var(--color-error)}.ihabdevteam-core-scope .date-picker__day--sat{color:var(--color-main)}.ihabdevteam-core-scope .date-picker__day--today{font-weight:700;outline:1.5px solid var(--color-main);outline-offset:-1.5px}.ihabdevteam-core-scope .date-picker__day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ihabdevteam-core-scope .date-picker__day--selected{background:var(--color-main)!important;color:#fff!important;font-weight:700}.ihabdevteam-core-scope .date-picker__day--disabled{cursor:not-allowed;opacity:.3}";te(x8);function lm(e,t){return new Date(e,t+1,0).getDate()}function C8(e,t){return new Date(e,t,1).getDay()}function To(e,t,a){return`${e}-${String(t+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function _8(e){if(!e)return"";const[t,a,r]=e.split("-");return`${t}. ${a}. ${r}.`}function w8(e,t,a){const r=t?+t.split("-")[0]:e-10,n=a?+a.split("-")[0]:e+10,i=[];for(let s=r;s<=n;s++)for(let c=0;c<12;c++){const d=`${s}-${String(c+1).padStart(2,"0")}`;t&&d<t.slice(0,7)||a&&d>a.slice(0,7)||i.push({value:d,label:`${s}\uB144 ${c+1}\uC6D4`})}return i}function cm({value:e,onChange:t,size:a=48,min:r,max:n,disabled:i,placeholder:s="\uB0A0\uC9DC \uC120\uD0DD",className:c}){const{t:d}=me.useTranslation(),u=l.useMemo(()=>d("calendar.dow",{returnObjects:!0}),[d]),m=new Date,{viewY:h,viewM:p,prevMonth:g,nextMonth:f,setViewYM:b}=ql(e),v=l.useCallback(T=>{const L=window.innerHeight-T.bottom,$=300,z=L<$&&T.top>$;return{position:"fixed",left:T.left,width:T.width,minWidth:260,...z?{bottom:window.innerHeight-T.top+6}:{top:T.bottom+6},zIndex:9999}},[]),{open:y,setOpen:_,toggle:C,style:x,triggerRef:k,menuRef:w}=ao({computeStyle:v,onScroll:"reposition",onResize:"reposition",ignoreOutsideClickSelector:".dropdown__menu"});l.useEffect(()=>{if(!y)return;const T=w.current;return(T?.querySelector(".date-picker__day--selected")??T?.querySelector(".date-picker__day--today")??T?.querySelector(dr)??T)?.focus?.(),()=>{const L=document.activeElement;(!L||L===document.body)&&k.current?.focus?.()}},[y,w,k]);const[S,j]=l.useState(1),A=l.useRef(null),B=l.useRef(null);l.useEffect(()=>{if(!y)return;const T=To(m.getFullYear(),m.getMonth(),m.getDate()),L=e&&e.slice(0,7)===`${h}-${String(p+1).padStart(2,"0")}`?+e.slice(8):T.slice(0,7)===`${h}-${String(p+1).padStart(2,"0")}`?+T.slice(8):1;j(L)},[y]),l.useEffect(()=>{if(B.current==null)return;const T=B.current;B.current=null,A.current?.querySelector(`[data-day="${T}"]`)?.focus()}),l.useEffect(()=>{j(T=>Math.min(T,lm(h,p)))},[h,p]);const F=l.useCallback(T=>{let L=To(T.getFullYear(),T.getMonth(),T.getDate());r&&L<r&&(L=r),n&&L>n&&(L=n);const[$,z,V]=L.split("-").map(Number);($!==h||z-1!==p)&&b($,z-1),j(V),B.current=V},[r,n,h,p,b]),R=l.useCallback(T=>{const L=new Date(h,p,S),$=V=>{L.setDate(L.getDate()+V),F(L)},z=V=>{L.setMonth(L.getMonth()+V),F(L)};switch(T.key){case"ArrowLeft":$(-1);break;case"ArrowRight":$(1);break;case"ArrowUp":$(-7);break;case"ArrowDown":$(7);break;case"Home":$(-L.getDay());break;case"End":$(6-L.getDay());break;case"PageUp":T.shiftKey?z(-12):z(-1);break;case"PageDown":T.shiftKey?z(12):z(1);break;default:return}T.preventDefault()},[h,p,S,F]),E=l.useCallback(T=>{t(To(h,p,T)),_(!1)},[h,p,t,_]),M=T=>{const L=To(h,p,T);return!!(r&&L<r||n&&L>n)},D=[];for(let T=0;T<C8(h,p);T++)D.push(null);for(let T=1;T<=lm(h,p);T++)D.push(T);const H=a===64?20:a===40?16:18,ee=w8(h,r,n),J=`${h}-${String(p+1).padStart(2,"0")}`,ae=y?qt.createPortal(o.jsxs("div",{ref:w,className:"date-picker__dropdown",style:x,role:"dialog","aria-label":d("datePicker.chooseDate","\uB0A0\uC9DC \uC120\uD0DD"),tabIndex:-1,children:[o.jsxs("div",{className:"date-picker__nav",children:[o.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:g,"aria-label":d("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:o.jsx(ad,{size:16,strokeWidth:2})}),o.jsx(Ut,{className:"date-picker__nav-dropdown",ariaLabel:d("datePicker.selectYearMonth","\uC5F0\uC6D4 \uC120\uD0DD"),options:ee,value:J,onChange:T=>{const[L,$]=T.split("-");b(+L,+$-1)},block:!0,size:40}),o.jsx("button",{type:"button",className:"date-picker__nav-btn",onClick:f,"aria-label":d("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:o.jsx(od,{size:16,strokeWidth:2})})]}),o.jsxs("div",{className:"date-picker__grid",ref:A,onKeyDown:R,children:[u.map(T=>o.jsx("div",{className:"date-picker__dow caption-1",children:T},T)),D.map((T,L)=>{if(T===null)return o.jsx("div",{},`e${L}`);const $=To(h,p,T),z=$===e,V=$===To(m.getFullYear(),m.getMonth(),m.getDate()),X=M(T),W=L%7;return o.jsx("button",{type:"button",disabled:X,"data-day":T,tabIndex:T===S?0:-1,"aria-current":V?"date":void 0,onClick:()=>!X&&E(T),className:_e("date-picker__day caption-1",z&&"date-picker__day--selected",V&&!z&&"date-picker__day--today",X&&"date-picker__day--disabled",W===0&&"date-picker__day--sun",W===6&&"date-picker__day--sat"),children:T},T)})]})]}),document.body):null;return o.jsxs("div",{className:_e("date-picker",`date-picker--s${a}`,y&&"date-picker--open",c),children:[o.jsxs("button",{ref:k,type:"button",className:"date-picker__trigger body-2",onClick:()=>!i&&C(),disabled:i,"aria-haspopup":"true","aria-expanded":y,children:[o.jsx("span",{className:e?"date-picker__value":"date-picker__placeholder",children:e?_8(e):s}),o.jsx(pd,{size:H,className:"date-picker__icon",strokeWidth:1.5})]}),ae]})}var k8=".ihabdevteam-core-scope .month-dropdown .dropdown__trigger{max-width:200px;min-width:200px;width:200px}.ihabdevteam-core-scope .month-dropdown .dropdown__menu{max-height:280px;overflow-y:auto;scrollbar-color:var(--color-darkWhite) transparent;scrollbar-width:thin}.ihabdevteam-core-scope .month-dropdown .dropdown__menu::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .month-dropdown .dropdown__menu::-webkit-scrollbar-thumb{background:var(--color-darkWhite);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .manager-bar-chart-wrap{display:flex;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .manager-bar-chart-gridline{background:var(--color-darkWhite);height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:-1}.ihabdevteam-core-scope .manager-bar-chart-gridline__label{color:var(--color-deepGray);font-size:11px;left:0;position:absolute;top:100%;white-space:nowrap}.ihabdevteam-core-scope .manager-bar-chart-inner{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.ihabdevteam-core-scope .manager-bar-chart-scroll::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .manager-bar-chart-area{display:flex;flex-direction:column;min-width:-moz-max-content;min-width:max-content}.ihabdevteam-core-scope .manager-bar-chart-area svg{display:block}.ihabdevteam-core-scope .manager-bar-chart-x-axis{color:var(--color-deepGray);display:flex;font-size:11px;padding-top:6px}.ihabdevteam-core-scope .manager-bar-chart-x-axis__label{align-items:center;display:flex;flex:1;flex-direction:column;gap:1px;justify-content:flex-start;min-width:0;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .manager-bar-chart-x-axis__label--future .caption-1{color:var(--color-whiteLine)}.ihabdevteam-core-scope .manager-bar-chart-x-axis__main{position:relative}.ihabdevteam-core-scope .manager-bar-chart-x-axis__today-dot{border-radius:50%;height:8px;position:absolute;right:calc(100% + 3px);top:50%;transform:translateY(-50%);width:8px}.ihabdevteam-core-scope .manager-bar-chart-plot{align-items:flex-end;display:flex;gap:0;isolation:isolate;position:relative}.ihabdevteam-core-scope .manager-bar-chart-col{align-items:flex-end;display:flex;flex:1;gap:2px;height:100%;justify-content:center}.ihabdevteam-core-scope .manager-bar-chart-bar,.ihabdevteam-core-scope .manager-bar-chart-stack{flex:0 1 var(--bar-width);max-width:var(--bar-width)}.ihabdevteam-core-scope .manager-bar-chart-stack{display:flex;flex-direction:column-reverse;min-width:0}.ihabdevteam-core-scope .manager-bar-chart-bar{border-radius:6px 6px 0 0;min-width:0}.ihabdevteam-core-scope .manager-bar-chart-stack-segment{width:100%}.ihabdevteam-core-scope .manager-bar-chart-detail-btn{margin-left:auto}";te(k8);var S8=".ihabdevteam-core-scope .manager-section{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-card);margin-bottom:14px;min-width:320px;padding:20px}.ihabdevteam-core-scope .manager-section__head{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .chart-section-icon{display:inline-flex;opacity:.35}.ihabdevteam-core-scope .chart-section-icon-inner{color:var(--color-darkGray);height:22px;width:22px}@media (max-width:767px){.ihabdevteam-core-scope .manager-section__head{align-items:flex-start;flex-direction:column;gap:var(--spacing-s)}.ihabdevteam-core-scope .manager-section-controls{flex-wrap:wrap}.ihabdevteam-core-scope .manager-section-controls .segmented-control{flex-wrap:nowrap}.ihabdevteam-core-scope .manager-section{min-width:0;padding:18px}}.ihabdevteam-core-scope .manager-section-controls{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-loading{align-items:center;display:flex;justify-content:center;min-height:186px}.ihabdevteam-core-scope .barchart-sub-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .barchart-total{align-items:baseline;display:flex;gap:4px}.ihabdevteam-core-scope .barchart-total--stacked{align-items:flex-start;flex-direction:column;gap:0}.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__label,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__num,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__unit,.ihabdevteam-core-scope .barchart-total--stacked .barchart-total__value{line-height:1.1;margin:0}.ihabdevteam-core-scope .barchart-total__label{color:var(--color-gray)}.ihabdevteam-core-scope .barchart-total__value{align-items:baseline;display:flex;gap:4px}.ihabdevteam-core-scope .barchart-total__num{color:var(--color-black)}.ihabdevteam-core-scope .barchart-total__unit{color:var(--color-gray)}.ihabdevteam-core-scope .manager-bar-chart-legend{align-items:flex-end;color:var(--color-gray);display:flex;flex-direction:column;font-size:12px;gap:6px;padding-right:var(--spacing-xs)}.ihabdevteam-core-scope .manager-bar-chart-legend-item{align-items:center;display:inline-flex}.ihabdevteam-core-scope .manager-bar-chart-legend-dot{border-radius:50%;display:inline-block;height:8px;margin-right:4px;width:8px}.ihabdevteam-core-scope .manager-section--compact{min-width:160px;padding:20px}.ihabdevteam-core-scope .manager-section--compact .manager-section__head{margin-bottom:4px;min-height:28px}.ihabdevteam-core-scope .chart-section-title--small{color:var(--color-deepGray)}.ihabdevteam-core-scope .manager-section--compact .barchart-total__num{font-size:32px;line-height:1}.ihabdevteam-core-scope .manager-section--compact .barchart-total{flex-shrink:0}.ihabdevteam-core-scope .manager-section--compact .barchart-sub-row{margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .manager-section--compact .manager-bar-chart-legend{align-items:stretch;flex:1 1 auto;min-width:0}.ihabdevteam-core-scope .manager-section--compact .manager-bar-chart-legend-item{display:flex;justify-content:flex-end;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ihabdevteam-core-scope .manager-section--full{flex:1 1 100%;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .manager-section--compact{min-width:0}}";te(S8);function yn({items:e,className:t}){return o.jsx("div",{className:t?`manager-bar-chart-legend ${t}`:"manager-bar-chart-legend",children:e.map((a,r)=>o.jsxs("span",{className:"manager-bar-chart-legend-item",children:[o.jsx("span",{className:"manager-bar-chart-legend-dot",style:{background:a.color}}),a.label]},r))})}function yr({label:e,children:t}){return e?o.jsxs("div",{className:"barchart-total barchart-total--stacked",children:[o.jsx("span",{className:"barchart-total__label body-3",children:e}),o.jsx("span",{className:"barchart-total__value",children:t})]}):o.jsx("div",{className:"barchart-total",children:t})}function xn({title:e,titleClassName:t="h3",headRight:a,subRow:r,className:n,children:i}){return o.jsxs("section",{className:n?`manager-section ${n}`:"manager-section",children:[o.jsxs("div",{className:"manager-section__head",children:[o.jsx("div",{className:t,children:e}),a]}),r&&o.jsx("div",{className:"barchart-sub-row",children:r}),i]})}function oo(e,t){const a=new Date(e,t,1).getDay();return 1+(8-(a===0?7:a))%7}function A8(){const e=new Date;let t=e.getFullYear(),a=e.getMonth(),r=e.getDate();if(r<oo(t,a)){const s=new Date(t,a,0);t=s.getFullYear(),a=s.getMonth(),r=s.getDate()}const n=Math.floor((r-oo(t,a))/7),i=`${t}\uB144 ${a+1}\uC6D4`;return{monthKey:i,value:`${i}#${n}`}}function dm(e){const t=new Date,a=`${t.getFullYear()}\uB144 ${t.getMonth()+1}\uC6D4`,r=new Map;r.set(a,[]);for(const i of e){if(isNaN(i.date.getTime()))continue;const s=`${i.date.getFullYear()}\uB144 ${i.date.getMonth()+1}\uC6D4`;r.has(s)||r.set(s,[]),r.get(s).push(i)}const n={};for(const[i,s]of r){const c=i.match(/^(\d+)년 (\d+)월$/);if(!c)continue;const d=Number(c[1]),u=Number(c[2])-1,m=new Date(d,u+1,0).getDate(),h=d===t.getFullYear()&&u===t.getMonth(),p=t.getDate(),g=s.reduce((C,x)=>Math.max(C,x.parts?.length??0),0),f=new Array(m+1).fill(0),b=new Array(m+1).fill(0),v=Array.from({length:m+1},()=>new Array(g).fill(0));for(const C of s){const x=C.date.getDate();if(f[x]+=C.a,b[x]+=C.b,C.parts)for(let k=0;k<g;k++)v[x][k]+=C.parts[k]??0}const y=[];for(let C=1;C<=m;C++){const x=h&&C>p;y.push({label:String(C),a:x&&f[C]===0&&b[C]===0?-1:f[C],b:b[C],...g?{parts:v[C]}:{}})}const _=[];for(let C=oo(d,u);C<=m;C+=7){const x=Math.min(C+6,m);let k=0,w=0;const S=new Array(g).fill(0);for(let j=C;j<=x;j++){k+=f[j],w+=b[j];for(let A=0;A<g;A++)S[A]+=v[j][A]}_.push({label:`${_.length+1}\uC8FC`,sublabel:`[${C}\uC77C~${x}\uC77C]`,a:k,b:w,...g?{parts:S}:{}})}n[i]={weekly:_,daily:y}}return n}function T8(){const e=new Date,t=e.getFullYear(),a=e.getMonth()+1,r=[];for(let n=2024;n<=t;n++){const i=n===t?a:12;for(let s=1;s<=i;s++){const c=`${n}\uB144 ${s}\uC6D4`;r.push({value:c,label:c,year:n,month:s})}}return r.reverse()}const B8=T8(),um=["\uCCAB\uC9F8","\uB458\uC9F8","\uC14B\uC9F8","\uB137\uC9F8","\uB2E4\uC12F\uC9F8","\uC5EC\uC12F\uC9F8","\uC77C\uACF1\uC9F8"];function Yl(e){const{t,i18n:a}=me.useTranslation(),[r,n]=l.useState("week"),i=l.useMemo(()=>B8.filter(A=>A.value in e),[e]),s=l.useMemo(()=>{const A=[];for(const B of i){const F=new Date(B.year,B.month,0).getDate(),R=oo(B.year,B.month-1),E=Math.ceil((F-R+1)/7);for(let M=E-1;M>=0;M--)A.push({value:`${B.value}#${M}`,monthKey:B.value,year:B.year,month:B.month,week:M})}return A},[i]),c=l.useCallback(A=>{const B=t("calendar.yearMonth",{year:A.year,month:A.month});return a.language?.startsWith("ko")?`${B} ${um[A.week]??`${A.week+1}`}\uC8FC`:`${B} Week ${A.week+1}`},[t,a.language]),d=l.useMemo(()=>i.map(A=>({value:A.value,label:t("calendar.yearMonth",{year:A.year,month:A.month})})),[t,i]),u=l.useMemo(()=>s.map(A=>({value:A.value,label:c(A)})),[s,c]),m=l.useMemo(()=>A8(),[]),h=l.useMemo(()=>i.find(A=>A.value===m.monthKey)?.value??i[0]?.value??"",[i,m]),p=l.useMemo(()=>s.find(A=>A.value===m.value)?.value??s[0]?.value??"",[s,m]),[g,f]=l.useState(""),[b,v]=l.useState("");l.useEffect(()=>{i.find(A=>A.value===g)||f(h)},[i,g,h]),l.useEffect(()=>{s.find(A=>A.value===b)||v(p)},[s,b,p]);const y=r==="month"?d:u,_=r==="month"?g:b,C=r==="month"?f:v,x=l.useMemo(()=>{const A=t("calendar.dow",{returnObjects:!0});return Array.isArray(A)?A:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"]},[t]),k=y.findIndex(A=>A.value===_),w=l.useCallback(()=>{const A=y.findIndex(B=>B.value===_);A<y.length-1&&C(y[A+1].value)},[y,_,C]),S=l.useCallback(()=>{const A=y.findIndex(B=>B.value===_);A>0&&C(y[A-1].value)},[y,_,C]),j=l.useMemo(()=>[{key:"week",label:t("manager.chart.periodWeek","\uC8FC")},{key:"month",label:t("manager.chart.periodMonth","\uC6D4")}],[t]);return{period:r,setPeriod:n,range:_,setRange:C,activeOptions:y,activeIdx:k,handlePrev:w,handleNext:S,periodOptions:j,monthRange:g,weekRange:b,weekRanges:s,DOW:x}}function N8({data:e,colorA:t,colorB:a,labelA:r,labelB:n,barWidth:i=10,height:s=140,maxOverride:c,tightMax:d,seriesColors:u,seriesLabels:m,rateLabels:h}){const p=!a,g=!!(u&&u.length>0),f=l.useMemo(()=>g?Math.max(0,...e.filter(S=>S.a!==-1).map(S=>(S.parts??[]).reduce((j,A)=>j+Math.max(0,A),0))):Math.max(0,...e.filter(S=>S.a!==-1).flatMap(S=>p?[S.a]:[S.a,S.b])),[e,p,g]),b=l.useMemo(()=>c??(d?f>0?f:10:Math.ceil(f/10)*10||10),[f,c,d]),v=s,y=g||p?1:2,_={"--bar-width":`${l.useMemo(()=>{const S=Math.max(1,e.length);return Math.max(8,Math.min(i,Math.round(120/(S*y)+6)))},[e.length,y,i])}px`},C=l.useMemo(()=>{const S=Math.round(b/2);return S!==b?[b,S,0]:[b,0]},[b]),[x,k]=l.useState(null),w=l.useCallback(()=>k(null),[]);return o.jsxs("div",{className:"manager-bar-chart-wrap",children:[o.jsx("div",{className:"manager-bar-chart-inner",children:o.jsx("div",{className:"manager-bar-chart-scroll",children:o.jsxs("div",{className:"manager-bar-chart-area",children:[o.jsxs("div",{className:"manager-bar-chart-plot",style:{height:v},children:[C.slice(0,-1).map((S,j)=>o.jsx("div",{className:"manager-bar-chart-gridline",style:{top:j*(v/(C.length-1))},children:o.jsx("span",{className:"manager-bar-chart-gridline__label caption-1",children:S})},j)),e.map((S,j)=>{const A=S.a===-1,B=A?0:S.a/b*v,F=A?0:S.b/b*v,R=S.parts??[];return o.jsx("div",{className:"manager-bar-chart-col",style:{cursor:A?"default":"pointer"},onMouseEnter:A?void 0:E=>{const M=E.currentTarget.getBoundingClientRect(),D=[S.label,S.sublabel].filter(Boolean).join(" ");let H;if(g){const ee=(m??[]).map((ae,T)=>({text:`${ae}: ${R[T]??0}`,color:(u??[])[T]})),J=ee.filter((ae,T)=>(R[T]??0)>0);H=J.length?J:ee}else h&&!p?H=[{text:`${r} ${S.a}%`,color:t},{text:`${n} ${S.b}%`,color:a}]:h&&S.rawB!==void 0?H=[{text:`${h.total} ${S.rawB}`},{text:`${h.done} ${S.rawA??0}`,color:t}]:p?H=[{text:`${r}: ${S.a}`,color:t}]:H=[{text:`${r}: ${S.a}`,color:t},{text:`${n}: ${S.b}`,color:a}];k({rect:{left:M.left,top:M.top,right:M.right,bottom:M.bottom,width:M.width,height:M.height},title:D,items:H})},onMouseLeave:w,children:!A&&(g?o.jsx("div",{className:"manager-bar-chart-stack",style:_,children:(()=>{const E=R.reduce((M,D,H)=>D>0?H:M,-1);return R.map((M,D)=>M>0?o.jsx("div",{className:"manager-bar-chart-stack-segment",style:{height:M/b*v,background:(u??[])[D],borderRadius:D===E?"6px 6px 0 0":void 0}},D):null)})()}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"manager-bar-chart-bar",style:{..._,height:B,background:t}}),!p&&o.jsx("div",{className:"manager-bar-chart-bar",style:{..._,height:F,background:a}})]}))},j)})]}),o.jsx("div",{className:"manager-bar-chart-x-axis",children:e.map((S,j)=>{const A=S.a===-1;return o.jsxs("span",{className:`manager-bar-chart-x-axis__label${A?" manager-bar-chart-x-axis__label--future":""}`,children:[o.jsxs("span",{className:"caption-1 manager-bar-chart-x-axis__main",children:[S.isToday&&o.jsx("span",{className:"manager-bar-chart-x-axis__today-dot",style:{background:t}}),S.label]}),S.sublabel&&o.jsx("span",{className:"caption-1",children:S.sublabel})]},j)})})]})})}),x&&o.jsx(Fa,{anchorRect:x.rect,title:x.title,items:x.items,showIndex:!1,closeOnOutsideClick:!1})]})}function Ul({control:e}){const{t}=me.useTranslation(),a=t("calendar.prevMonth","\uC774\uC804 \uB2EC"),r=t("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),{activeOptions:n,activeIdx:i,range:s,setRange:c,handlePrev:d,handleNext:u,periodOptions:m,period:h,setPeriod:p}=e;return o.jsxs("div",{className:"manager-section-controls",children:[o.jsx(re,{size:32,type:"dot",icon:"chevron-left",ariaLabel:a,showTooltipInfo:a,disabled:i===n.length-1,onClick:d}),o.jsx(Ut,{value:s,onChange:c,options:n,size:40,className:"month-dropdown",ariaLabel:t("calendar.rangeSelect","\uAE30\uAC04 \uC120\uD0DD")}),o.jsx(re,{size:32,type:"dot",icon:"chevron-right",ariaLabel:r,showTooltipInfo:r,disabled:i<=0,onClick:u}),o.jsx(Va,{ariaLabel:t("calendar.periodSelect","\uAE30\uAC04 \uB2E8\uC704"),options:m,value:h,onChange:g=>p(g),size:32})]})}function D8(e,t,a,r){const{period:n,monthRange:i,weekRange:s,weekRanges:c,DOW:d}=t,u=r?.startsWith("ko"),m=new Date,h=m.getFullYear(),p=m.getMonth()+1,g=m.getDate();if(n==="month"){const v=e[i]??{weekly:[],daily:[]},y=i.match(/^(\d+)년 (\d+)월$/),_=y?Number(y[1]):null,C=y?Number(y[2]):null,x=_&&C?oo(_,C-1):1;return v.weekly.map((k,w)=>{const S=w+1;let j=k.label,A=!1,B=!1;if(_&&C){const F=x+w*7,R=new Date(_,C-1,F+6),E=R.getMonth()+1,M=R.getDate(),D=E===C?`${M}`:`${E}/${M}`;j=a("manager.chart.weekRange",{start:F,end:D}),A=h===_&&p===C&&g>=F&&g<=F+6,B=_>h||_===h&&(C>p||C===p&&F>g)}return{...k,label:j,sublabel:u?`${um[S-1]??S}\uC8FC`:`Week ${S}`,isToday:A,a:B?-1:k.a,b:B?0:k.b}})}const f=c.find(v=>v.value===s);if(!f)return[];const b=new Date(f.year,f.month-1,oo(f.year,f.month-1)+f.week*7);return Array.from({length:7},(v,y)=>{const _=new Date(b);_.setDate(b.getDate()+y);const C=_.getMonth()+1,x=_.getDate(),k=_.getFullYear(),w=(e[`${k}\uB144 ${C}\uC6D4`]?.daily??[])[x-1],S=C===f.month&&k===f.year,j=w?.a===-1||_>new Date(h,m.getMonth(),g);return{label:S?`${x}`:`${C}/${x}`,sublabel:d[_.getDay()]??"",a:j?-1:w&&w.a>0?w.a:0,b:j?0:w&&w.b>0?w.b:0,isToday:k===h&&C===p&&x===g,...w?.parts?{parts:j?w.parts.map(()=>0):w.parts}:{}}})}const E8={small:{height:100,barWidth:16},medium:{height:140,barWidth:20},large:{height:180,barWidth:24}};function pm({size:e="medium",barWidth:t,titleKey:a,data:r,colorA:n,colorB:i,labelAKey:s,labelBKey:c,showTotal:d=!1,totalUnitKey:u,totalLabelKey:m,control:h,hideControls:p=!1,rate:g=!1,tightMax:f=!1,avgMode:b=!1,totalFormat:v,series:y,loading:_=!1,onDetail:C}){const{t:x,i18n:k}=me.useTranslation(),w=E8[e],S=Yl(r),j=h??S,A=l.useMemo(()=>D8(r,j,x,k.language),[r,j,x,k.language]),B=l.useMemo(()=>g?A.map(M=>({...M,a:M.a===-1?-1:M.b>0?Math.round(M.a/M.b*100):0,b:M.a===-1?0:c&&M.parts&&M.parts[1]>0?Math.round(M.parts[0]/M.parts[1]*100):0,rawA:M.a===-1?-1:M.a,rawB:M.b})):A,[A,g,c]),F=l.useMemo(()=>{if(g||b){const M=(j.period==="week"?A:r[j.monthRange]?.daily??[]).filter(H=>H.a!==-1);if(M.length===0)return 0;const D=g?M.reduce((H,ee)=>H+(ee.b>0?ee.a/ee.b*100:0),0):M.reduce((H,ee)=>H+(ee.a>0?ee.a:0),0);return Math.round(D/M.length)}return B.reduce((M,D)=>M+(D.a>0?D.a:0)+(c&&D.b>0?D.b:0),0)},[B,A,g,b,c,j.period,j.monthRange,r]),R=y&&y.length>0?y.map(M=>({color:M.color,label:M.label})):[{color:n,label:x(s)},...c?[{color:i,label:x(c)}]:[]],E=e==="small";return o.jsx(xn,{className:E?"manager-section--compact":e==="large"?"manager-section--full":void 0,title:x(a),titleClassName:E?"h5 chart-section-title--small":void 0,headRight:E?void 0:o.jsxs(o.Fragment,{children:[!p&&o.jsx(Ul,{control:j}),C&&o.jsx("span",{className:"manager-bar-chart-detail-btn",children:o.jsx(re,{size:32,type:"dot",icon:"list",ariaLabel:x("trainingStatus.detail","\uC0C1\uC138\uBCF4\uAE30"),onClick:C})})]}),subRow:o.jsxs(o.Fragment,{children:[d?g||b||m&&v?o.jsx(yr,{label:E?void 0:`${x(j.period==="week"?"manager.chart.weeklyPrefix":"manager.chart.monthlyPrefix")} ${x(m??s)}`,children:v?(v(F).match(/(\d+|[^\d]+)/g)??[]).map((M,D)=>/\d/.test(M)?o.jsx("span",{className:"barchart-total__num h0",children:M},D):o.jsx("span",{className:"barchart-total__unit h5",children:M},D)):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"barchart-total__num h0",children:F}),u&&o.jsx("span",{className:"barchart-total__unit h5",children:x(u)})]})}):o.jsxs(yr,{children:[o.jsx("span",{className:"barchart-total__num h0",children:F}),o.jsx("span",{className:"barchart-total__unit h5",children:x(s)}),u&&o.jsx("span",{className:"barchart-total__unit h5",children:x(u)})]}):o.jsx("span",{}),o.jsx(yn,{items:R,className:"caption-1"})]}),children:_?o.jsx("div",{className:"manager-bar-chart-loading",children:o.jsx(Ao,{size:32})}):o.jsx(N8,{data:B,colorA:n,colorB:c?i:void 0,labelA:x(s),labelB:c?x(c):void 0,barWidth:t??w.barWidth,height:w.height,maxOverride:g?100:void 0,tightMax:f,seriesColors:y?.map(M=>M.color),seriesLabels:y?.map(M=>M.label),rateLabels:g?{total:x("trainingStatus.today.tooltipTotal","\uC804\uCCB4"),done:x("trainingStatus.today.tooltipDone","\uC644\uB8CC")}:void 0})})}function hm(e){if(e.period==="month"){const i=e.monthRange.match(/^(\d+)년 (\d+)월$/),s=new Date,c=i?Number(i[1]):s.getFullYear(),d=i?Number(i[2]):s.getMonth()+1;return{from:new Date(c,d-1,1,0,0,0),to:new Date(c,d,0,23,59,59)}}const t=e.weekRanges.find(i=>i.value===e.weekRange);if(!t){const i=new Date;return{from:i,to:i}}const a=oo(t.year,t.month-1),r=new Date(t.year,t.month-1,a+t.week*7,0,0,0),n=new Date(r);return n.setDate(r.getDate()+6),n.setHours(23,59,59),{from:r,to:n}}var j8=".ihabdevteam-core-scope .ring-chart{flex-shrink:0;position:relative}.ihabdevteam-core-scope .ring-chart svg{display:block}.ihabdevteam-core-scope .ring-chart__center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ring-chart__center--small{transform:translateY(6.5px)}.ihabdevteam-core-scope .ring-chart__center--medium{transform:translateY(7.5px)}.ihabdevteam-core-scope .ring-chart__center--large{transform:translateY(8.5px)}.ihabdevteam-core-scope .ring-chart__pct{color:var(--color-darkGray);line-height:1}.ihabdevteam-core-scope .ring-chart__label{color:var(--color-lightGray)}.ihabdevteam-core-scope .ring-chart__label--tight{margin-top:-2px}.ihabdevteam-core-scope .ring-chart-section-body{display:flex;justify-content:center}.ihabdevteam-core-scope .ring-chart-section-body--offset{justify-content:flex-end}";te(j8);const mm={small:{diameter:96,strokeWidth:16},medium:{diameter:120,strokeWidth:18},large:{diameter:160,strokeWidth:22}};function bm({done:e,total:t,segments:a,color:r="var(--color-main)",size:n="medium",strokeWidth:i,label:s="%",hideCenter:c=!1,hideLabel:d=!1}){const u=typeof n=="number"?n:mm[n].diameter,m=i??(typeof n=="number"?12:mm[n].strokeWidth),h=u/2,p=(u-m)/2,g=2*Math.PI*p;if(a&&a.length>0){const y=a.reduce((_,C)=>{const x=_.length>0?_[_.length-1].acc:0,k=Math.max(0,Math.min(C.ratio,1-x));return _.push({color:C.color,rotate:-90+x*360,dash:g*k,acc:x+k}),_},[]);return o.jsx("div",{className:"ring-chart",style:{width:u,height:u},children:o.jsxs("svg",{width:u,height:u,viewBox:`0 0 ${u} ${u}`,"aria-hidden":"true",children:[o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),y.map((_,C)=>_.dash>0&&o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:_.color,strokeWidth:m,strokeDasharray:`${_.dash} ${g}`,strokeLinecap:"round",transform:`rotate(${_.rotate} ${h} ${h})`},C))]})})}const f=(t??0)>0?Math.min((e??0)/t,1):0,b=g*f,v=g-b;return o.jsxs("div",{className:"ring-chart",style:{width:u,height:u},children:[o.jsxs("svg",{width:u,height:u,viewBox:`0 0 ${u} ${u}`,"aria-hidden":"true",children:[o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:"var(--color-whiteLine)",strokeWidth:m}),f>0&&o.jsx("circle",{cx:h,cy:h,r:p,fill:"none",stroke:r,strokeWidth:m,strokeDasharray:`${b} ${v}`,strokeLinecap:f<.02||f>.98?"butt":"round",transform:`rotate(-90 ${h} ${h})`})]}),!c&&o.jsxs("div",{className:`ring-chart__center${d?"":` ${u<=96?"ring-chart__center--small":n==="medium"?"ring-chart__center--medium":"ring-chart__center--large"}`}`,children:[o.jsx("span",{className:`ring-chart__pct ${u<=96?"h2":"h1"}`,children:Math.round(f*100)}),!d&&o.jsx("span",{className:`ring-chart__label ${u<=96?"caption-2":"caption-1"}${u<=96||n==="medium"?" ring-chart__label--tight":""}`,children:s})]})]})}function gm({titleKey:e,headRight:t,icon:a,showTotal:r,totalLabelKey:n,legend:i,loading:s,className:c,...d}){const{t:u}=me.useTranslation();if(!e)return o.jsx(bm,{...d});const m=(d.total??0)>0?Math.round(Math.min((d.done??0)/d.total,1)*100):0,h=d.size==="small",p=d.size==="large",g=[c,h?"manager-section--compact":p?"manager-section--full":""].filter(Boolean).join(" ")||void 0,f=a&&o.jsx("span",{className:"chart-section-icon",children:o.jsx(Fe,{icon:a,className:"chart-section-icon-inner"})});return o.jsx(xn,{className:g,title:u(e),titleClassName:h?"h5 chart-section-title--small":void 0,headRight:f||(h?void 0:t),subRow:(r||i)&&o.jsxs(o.Fragment,{children:[r?o.jsxs(yr,{label:!h&&n?u(n):void 0,children:[o.jsx("span",{className:"barchart-total__num h0",children:m}),o.jsx("span",{className:"barchart-total__unit h5",children:"%"})]}):o.jsx("span",{}),i&&o.jsx(yn,{items:i})]}),children:s?o.jsx("div",{className:"manager-bar-chart-loading",children:o.jsx(Ao,{size:32})}):o.jsx("div",{className:"ring-chart-section-body ring-chart-section-body--offset",children:o.jsx(bm,{...d,hideCenter:h||d.hideCenter})})})}var L8=".ihabdevteam-core-scope .manager-stat-card{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-card);container-type:inline-size;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;min-width:160px;padding:20px}.ihabdevteam-core-scope .manager-stat-card--clickable{border:1px solid transparent;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.ihabdevteam-core-scope .manager-stat-card--clickable:hover{border-color:var(--color-main);box-shadow:var(--shadow-dropdown)}.ihabdevteam-core-scope .manager-stat-card__label-row{align-items:center;display:flex;justify-content:space-between;min-height:28px}.ihabdevteam-core-scope .manager-stat-card__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .manager-stat-card__icon{display:inline-flex;opacity:.35}.ihabdevteam-core-scope .manager-stat-card__icon-inner{color:var(--color-darkGray);height:22px;width:22px}.ihabdevteam-core-scope .manager-stat-card__content{align-items:flex-start;display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .manager-stat-card__left{align-items:flex-start;display:flex;flex:1;flex-direction:row;gap:8px;text-align:left}.ihabdevteam-core-scope .manager-stat-card__value{color:var(--color-black);flex-shrink:0;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1;white-space:nowrap}.ihabdevteam-core-scope .manager-stat-card__change{font-size:12px;font-weight:500;line-height:1.2;margin-top:1px;min-width:0}.ihabdevteam-core-scope .manager-stat-card__change--up{color:var(--color-sub)}.ihabdevteam-core-scope .manager-stat-card__change--down{color:var(--color-error)}.ihabdevteam-core-scope .manager-stat-card__change--neutral{color:var(--color-gray)}@media (max-width:767px){.ihabdevteam-core-scope .manager-stat-card{padding:12px 14px 16px}.ihabdevteam-core-scope .manager-stat-card__value{font-size:24px}}";te(L8);function fm({label:e,value:t,change:a,changeType:r,icon:n,tooltip:i,onClick:s}){const c=l.useRef(null),{anchorRect:d,openAt:u,close:m}=ko(),h=l.useCallback(()=>{i&&c.current&&u(c.current)},[i,u]),p=r??(a===void 0?void 0:a>0?"up":a<0?"down":"neutral"),g=a===void 0?void 0:a>0?`+${a}`:`${a}`,f=l.useCallback(b=>{s&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),s())},[s]);return o.jsxs("div",{ref:c,className:`manager-stat-card${s?" manager-stat-card--clickable":""}`,onClick:s,onKeyDown:s?f:void 0,onPointerEnter:h,onPointerLeave:m,onFocus:h,onBlur:m,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":s?`${e} ${t}`:void 0,children:[i&&d&&o.jsx(ma,{anchorRect:{left:d.left,top:d.top+21,right:d.right,bottom:d.bottom,width:d.width,height:d.height},text:i}),o.jsxs("div",{className:"manager-stat-card__label-row",children:[o.jsx("span",{className:"manager-stat-card__label h5",children:e}),n&&o.jsx("span",{className:"manager-stat-card__icon",children:o.jsx(Fe,{icon:n,className:"manager-stat-card__icon-inner"})})]}),o.jsx("div",{className:"manager-stat-card__content",children:o.jsxs("div",{className:"manager-stat-card__left",children:[o.jsx("div",{className:"manager-stat-card__value h2",children:t}),g&&o.jsx("div",{className:`manager-stat-card__change manager-stat-card__change--${p??"neutral"} caption-1`,children:g})]})})]})}var M8='.ihabdevteam-core-scope .slider{--slider-thumb:40px;--slider-fill:calc(var(--slider-thumb)/2 + var(--slider-ratio, 0)*(100% - var(--slider-thumb)));--slider-fill-color:var(--color-main);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border-radius:999px;cursor:pointer;margin:0;outline:none}.ihabdevteam-core-scope .slider:disabled{--slider-fill-color:var(--color-gray);cursor:not-allowed}.ihabdevteam-core-scope .slider:focus-visible{outline:2px solid var(--color-main);outline-offset:4px}.ihabdevteam-core-scope .slider--horizontal{background:linear-gradient(to right,var(--slider-fill-color) var(--slider-fill),var(--color-darkWhite) var(--slider-fill));height:var(--slider-thumb);width:100%}.ihabdevteam-core-scope .slider--vertical{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to top,var(--slider-fill-color) var(--slider-fill),var(--color-darkWhite) var(--slider-fill));direction:rtl;height:160px;width:var(--slider-thumb);writing-mode:vertical-lr}.ihabdevteam-core-scope .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-white);border:2px solid var(--slider-fill-color);border-radius:50%;box-shadow:var(--shadow-dropdown);cursor:pointer;height:var(--slider-thumb);width:var(--slider-thumb)}.ihabdevteam-core-scope .slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.ihabdevteam-core-scope .slider::-moz-range-thumb{background:var(--color-white);border:2px solid var(--slider-fill-color);border-radius:50%;box-shadow:var(--shadow-dropdown);cursor:pointer;height:var(--slider-thumb);width:var(--slider-thumb)}.ihabdevteam-core-scope .slider::-moz-range-track{background:transparent}.ihabdevteam-core-scope .slider--static{pointer-events:none}.ihabdevteam-core-scope .slider--static::-webkit-slider-thumb{visibility:hidden}.ihabdevteam-core-scope .slider--static::-moz-range-thumb{visibility:hidden}.ihabdevteam-core-scope .slider-wrap{align-items:center;display:flex;gap:10px}.ihabdevteam-core-scope .slider-wrap--label-left,.ihabdevteam-core-scope .slider-wrap--label-right{flex-direction:row}.ihabdevteam-core-scope .slider-wrap--label-left>.slider,.ihabdevteam-core-scope .slider-wrap--label-left>.slider-track-group,.ihabdevteam-core-scope .slider-wrap--label-right>.slider,.ihabdevteam-core-scope .slider-wrap--label-right>.slider-track-group{flex:1;min-width:0}.ihabdevteam-core-scope .slider-wrap--label-bottom,.ihabdevteam-core-scope .slider-wrap--label-top{flex-direction:column;gap:6px}.ihabdevteam-core-scope .slider-wrap--label-left .slider-wrap__value,.ihabdevteam-core-scope .slider-wrap--label-top .slider-wrap__value{order:-1}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-left,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-left{align-items:flex-start}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-center,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-center{align-items:center}.ihabdevteam-core-scope .slider-wrap--label-bottom.slider-wrap--align-right,.ihabdevteam-core-scope .slider-wrap--label-top.slider-wrap--align-right{align-items:flex-end}.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-bottom>.slider,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-bottom>.slider-track-group,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-top>.slider,.ihabdevteam-core-scope .slider-wrap--horizontal.slider-wrap--label-top>.slider-track-group{align-self:stretch}.ihabdevteam-core-scope .slider-wrap__value{font-feature-settings:"tnum";color:var(--color-main);flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.ihabdevteam-core-scope .slider-wrap--label-left .slider-wrap__value,.ihabdevteam-core-scope .slider-wrap--label-right .slider-wrap__value{min-width:2.5em;text-align:right}.ihabdevteam-core-scope .slider-track-group{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .slider-track-group--horizontal{flex-direction:row}.ihabdevteam-core-scope .slider-track-group--horizontal .slider{flex:1;min-width:0}.ihabdevteam-core-scope .slider-track-group--vertical{flex-direction:column}.ihabdevteam-core-scope .slider-wrap__minmax{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}';te(M8);function Kl({value:e,onChange:t,min:a=0,max:r=100,step:n=1,orientation:i="horizontal",size:s=24,disabled:c=!1,ariaLabel:d,length:u,className:m,label:h,formatValue:p,labelPos:g,labelAlign:f="right",showMinMax:b=!1,minLabel:v,maxLabel:y,showBgTick:_=!1,showFillTick:C=!1,tickStep:x,tickShape:k="dot"}){t&&!d&&Wn("Slider:unnamed","[ihab/Slider] \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. label prop \uC740 \uAC12 \uD45C\uAE30 \uBC29\uC2DD\uC774\uC9C0 \uC774\uB984\uC774 \uC544\uB2D9\uB2C8\uB2E4.");const w=Math.min(r,Math.max(a,e)),S=r>a?(w-a)/(r-a):0,j=i==="vertical",A=!t,B=z=>t?.(Number(z.target.value)),F=typeof u=="number"?`${u}px`:u,R={"--slider-ratio":String(S),"--slider-thumb":`${s}px`,...F?j?{height:F}:{width:F}:{}},E=x??n,M=(_||C)&&E>0&&r>a?Math.floor((r-a)/E+1e-6):0;if(M>0&&M<=100){const z=k!=="dash",V=ie=>z?`radial-gradient(circle, ${ie} 0.5px, transparent 1px)`:j?`linear-gradient(to bottom, transparent calc(50% - 2px), ${ie} calc(50% - 2px), ${ie} calc(50% + 2px), transparent calc(50% + 2px))`:`linear-gradient(to right, transparent calc(50% - 2px), ${ie} calc(50% - 2px), ${ie} calc(50% + 2px), transparent calc(50% + 2px))`,X=z?"2px":"4px",W=[],Y=[],O=[];for(let ie=0;ie<=M;ie++){const ue=ie*E/(r-a);if(ue>1+1e-6)break;const fe=`${((j?1-ue:ue)*100).toFixed(4)}%`,ye=ue<=S+1e-6;if(ye?!C:!_)continue;const pe=ye?"var(--slider-tick-color-on-fill, var(--color-deepWhite))":"var(--slider-tick-color, var(--color-lightGray))";W.push(V(pe)),Y.push(j?`${X} var(--slider-thumb)`:`var(--slider-thumb) ${X}`),O.push(j?`center ${fe}`:`${fe} center`)}W.push(j?"linear-gradient(to top, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))":"linear-gradient(to right, var(--slider-fill-color) var(--slider-fill), var(--color-darkWhite) var(--slider-fill))"),Y.push("100% 100%"),O.push("0 0"),R.backgroundImage=W.join(", "),R.backgroundSize=Y.join(", "),R.backgroundPosition=O.join(", "),R.backgroundRepeat="no-repeat"}const D=o.jsx("input",{type:"range",className:_e("slider",`slider--${i}`,A&&"slider--static",!h&&!b&&m),min:a,max:r,step:n,value:w,disabled:c,readOnly:A,tabIndex:A?-1:void 0,"aria-label":d,"aria-orientation":i,onChange:B,style:R});if(!h&&!b)return D;const H=o.jsx("span",{className:"slider-wrap__minmax caption-1",children:v??a}),ee=o.jsx("span",{className:"slider-wrap__minmax caption-1",children:y??r}),J=b?o.jsxs("div",{className:_e("slider-track-group",`slider-track-group--${i}`,!h&&m),children:[j?ee:H,D,j?H:ee]}):D;if(!h)return J;const ae=g??(j?"bottom":"right"),T=`${Math.round(r>a?(w-a)/(r-a)*100:0)}%`,L=p?p(w):h==="percent"?T:h==="count"?`${w} / ${r}`:String(w),$=o.jsx("span",{className:"slider-wrap__value body-3b",children:L});return o.jsxs("div",{className:_e("slider-wrap",`slider-wrap--${i}`,`slider-wrap--label-${ae}`,`slider-wrap--align-${f}`,m),children:[J,$]})}var P8='.ihabdevteam-core-scope .audio-meter{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .audio-meter__track{--meter-level:0;background:var(--color-darkWhite);border-radius:999px;flex-shrink:0;overflow:hidden;position:relative}.ihabdevteam-core-scope .audio-meter__fill{inset:0;position:absolute}.ihabdevteam-core-scope .audio-meter__value{font-feature-settings:"tnum";color:var(--color-gray);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:40px}.ihabdevteam-core-scope .audio-meter--horizontal .audio-meter__track{height:8px;width:120px}.ihabdevteam-core-scope .audio-meter--horizontal .audio-meter__fill{background:linear-gradient(to right,var(--color-success) 0,var(--color-success) 55%,var(--color-warn) 80%,var(--color-error) 100%);transform:scaleX(var(--meter-level));transform-origin:left}.ihabdevteam-core-scope .audio-meter--vertical{flex-direction:column}.ihabdevteam-core-scope .audio-meter--vertical .audio-meter__track{height:120px;width:8px}.ihabdevteam-core-scope .audio-meter--vertical .audio-meter__fill{background:linear-gradient(to top,var(--color-success) 0,var(--color-success) 55%,var(--color-warn) 80%,var(--color-error) 100%);transform:scaleY(var(--meter-level));transform-origin:bottom}.ihabdevteam-core-scope .audio-meter.audio-meter--label-left,.ihabdevteam-core-scope .audio-meter.audio-meter--label-right{flex-direction:row}.ihabdevteam-core-scope .audio-meter.audio-meter--label-bottom,.ihabdevteam-core-scope .audio-meter.audio-meter--label-top{flex-direction:column}.ihabdevteam-core-scope .audio-meter--label-left .audio-meter__value,.ihabdevteam-core-scope .audio-meter--label-top .audio-meter__value{order:-1}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-left,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-left{align-items:flex-start}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-center,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-center{align-items:center}.ihabdevteam-core-scope .audio-meter--label-bottom.audio-meter--align-right,.ihabdevteam-core-scope .audio-meter--label-top.audio-meter--align-right{align-items:flex-end}';te(P8);const R8=.86,$8=250,Zl=(e,t,a,r)=>{const n=Math.round(Math.min(r,Math.max(a,e-t)));return`${n<0?"-":"+"}${Math.abs(n)} dB`};function Cn({analyser:e,audioElement:t,orientation:a="horizontal",length:r,label:n,labelPos:i,labelAlign:s="right",floorDb:c=-60,refDb:d=-35,displayMin:u=-5,displayMax:m=25,className:h,ariaLabel:p}){const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null);l.useEffect(()=>{const C=e??Vo(t),x=g.current;if(!C||!x){x?.style.setProperty("--meter-level","0"),f.current&&(f.current.textContent=Zl(c,d,u,m));return}Ho();const k=new Float32Array(C.fftSize);let w=0,S=0,j=0,A=0,B=null;const F=R=>{const E=si(C,k);w=E>w?E:w*R8;const M=w>1e-5?20*Math.log10(w):-1/0,D=Math.max(c,M),H=D-d,ee=Math.min(1,Math.max(0,(H-u)/(m-u)));if(x.style.setProperty("--meter-level",ee.toFixed(3)),f.current&&(S+=D,j+=1,R-A>=$8)){const J=S/j;B=B==null?J:B*.6+J*.4,f.current.textContent=Zl(B,d,u,m),S=0,j=0,A=R}b.current=requestAnimationFrame(F)};return b.current=requestAnimationFrame(F),()=>{b.current!=null&&cancelAnimationFrame(b.current),b.current=null}},[e,t,c,d,u,m]);const v=typeof r=="number"?`${r}px`:r,y=o.jsx("div",{className:"audio-meter__track",style:v?a==="vertical"?{height:v}:{width:v}:{},children:o.jsx("div",{ref:g,className:"audio-meter__fill"})}),_=i??(a==="vertical"?"bottom":"right");return o.jsxs("div",{className:_e("audio-meter",`audio-meter--${a}`,n&&`audio-meter--label-${_}`,n&&`audio-meter--align-${s}`,h),role:"meter","aria-label":p,children:[y,n&&o.jsx("span",{ref:f,className:"audio-meter__value caption-2",children:Zl(c,d,u,m)})]})}const vm=500;function Xl({message:e,position:t,duration:a,onClose:r}){const[n,i]=l.useState(!1),[s,c]=l.useState(!1),d=l.useRef(s),u=l.useRef(n);l.useEffect(()=>{d.current=s},[s]),l.useEffect(()=>{u.current=n},[n]);const m=l.useRef(null),h=l.useRef(""),p=l.useRef(r);l.useEffect(()=>{p.current=r});const g=a,f=l.useRef(null),b=l.useRef(0),v=l.useRef(0),y=l.useRef(!1),_=l.useRef(null),C=l.useRef(null),x=l.useRef(null),k=l.useRef(null),w=l.useRef(()=>{});w.current=A=>{A<0||(b.current=Date.now(),v.current=A,f.current=setTimeout(()=>{f.current=null,i(!1),_.current=setTimeout(()=>{c(!1);try{p.current()}catch{}},vm)},A))};const S=l.useCallback(()=>{y.current||!f.current||(y.current=!0,clearTimeout(f.current),f.current=null,v.current=Math.max(0,v.current-(Date.now()-b.current)))},[]),j=l.useCallback(()=>{y.current&&(y.current=!1,w.current(v.current))},[]);return l.useEffect(()=>{if(e!==h.current&&(f.current&&(clearTimeout(f.current),f.current=null),_.current&&(clearTimeout(_.current),_.current=null)),e){if(u.current)return g>0&&!f.current&&(y.current=!1,w.current(g)),h.current=e,()=>{};const A=()=>{const B=m.current;if(B)try{B.classList.remove("is-visible"),B.style.transition="none",t==="top"?B.style.transform="translateX(-50%) translateY(-16px)":B.style.transform="translateX(-50%) translateY(16px)",B.style.opacity="0",B.offsetWidth,B.style.transition="",B.classList.add("is-visible"),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null;try{B.style.opacity="",B.style.transform="",B.style.transition=""}catch{}},60)}catch{}};d.current?(A(),i(!0)):(c(!0),C.current=requestAnimationFrame(()=>{x.current=requestAnimationFrame(()=>{A(),i(!0)})})),g>0&&(y.current=!1,w.current(g))}else i(!1),_.current=setTimeout(()=>c(!1),vm);return h.current=e,()=>{f.current&&clearTimeout(f.current),_.current&&clearTimeout(_.current),C.current&&cancelAnimationFrame(C.current),x.current&&cancelAnimationFrame(x.current),k.current&&clearTimeout(k.current),f.current=null,_.current=null,C.current=null,x.current=null,k.current=null}},[e,g,t]),{mounted:s,showing:n,popupRef:m,pause:S,resume:j}}var I8=".ihabdevteam-core-scope .toast{left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);will-change:transform,opacity;z-index:var(--z-toast)}.ihabdevteam-core-scope .toast__inner{align-items:center;background:var(--color-main);border-radius:var(--radius-m);box-shadow:var(--shadow-popup);box-sizing:border-box;color:#fff;display:flex;justify-content:center;margin:0;max-width:min(520px,calc(100vw - 32px));min-height:60px;min-width:min(360px,calc(100vw - 32px));overflow:hidden;padding:var(--spacing-content);pointer-events:auto;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .toast__inner--normal{background:linear-gradient(var(--color-white),var(--color-white)) padding-box,linear-gradient(135deg,var(--color-main),var(--color-sub)) border-box;border:2px solid transparent;color:var(--color-black)}.ihabdevteam-core-scope .toast__inner--notice{background:linear-gradient(135deg,var(--color-main),var(--color-sub));color:#fff}.ihabdevteam-core-scope .toast__inner--warning{background:var(--color-error);color:#fff}.ihabdevteam-core-scope .toast--top{opacity:0;top:18px;transform:translateX(-50%) translateY(-100%);transition:transform .26s cubic-bezier(.22,.9,.3,1),opacity .18s ease-out}.ihabdevteam-core-scope .toast--top.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.ihabdevteam-core-scope .toast--bottom{bottom:18px;opacity:0;transform:translateX(-50%) translateY(100%);transition:transform .26s cubic-bezier(.22,.9,.3,1),opacity .18s ease-out}.ihabdevteam-core-scope .toast--bottom.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}";te(I8);function ro({message:e="",position:t="top",type:a="normal",onClose:r=()=>{},duration:n=2e3}){const{mounted:i,showing:s,popupRef:c,pause:d,resume:u}=Xl({message:e,position:t,duration:n,onClose:r});if(!i)return null;const m=a==="notice"||a==="warning"?a:"normal",h=o.jsx("div",{ref:c,className:`toast toast--${t} ${s?"is-visible":""}`,role:"status","aria-live":"polite",onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:u,children:o.jsx("div",{className:`toast__inner toast__inner--${m} body-2`,children:e})});return typeof document<"u"?qt.createPortal(h,document.body):h}var z8='.ihabdevteam-core-scope .progress-bar{flex-shrink:0}.ihabdevteam-core-scope .progress-bar__track{background:var(--progress-bar-track,var(--color-darkWhite));border-radius:999px;height:8px;height:var(--progress-bar-height,8px);overflow:hidden;width:100%}.ihabdevteam-core-scope .progress-bar__fill{background:var(--progress-bar-fill,var(--color-main));border-radius:inherit;height:100%;transition:width .3s ease;transition:width var(--progress-bar-duration,.3s) ease}.ihabdevteam-core-scope .progress-bar__label{font-feature-settings:"tnum";color:var(--progress-bar-label-color,var(--color-gray));font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .progress-bar--4{--progress-bar-height:4px}.ihabdevteam-core-scope .progress-bar--8{--progress-bar-height:8px}.ihabdevteam-core-scope .progress-bar--16{--progress-bar-height:16px}.ihabdevteam-core-scope .progress-bar--24{--progress-bar-height:24px}.ihabdevteam-core-scope .progress-bar--32{--progress-bar-height:32px}.ihabdevteam-core-scope .progress-bar--label-left,.ihabdevteam-core-scope .progress-bar--label-right{align-items:center;display:flex;gap:10px}.ihabdevteam-core-scope .progress-bar--label-left>.progress-bar__track,.ihabdevteam-core-scope .progress-bar--label-right>.progress-bar__track{flex:1;min-width:0}.ihabdevteam-core-scope .progress-bar--label-left .progress-bar__label{order:-1}.ihabdevteam-core-scope .progress-bar--label-bottom,.ihabdevteam-core-scope .progress-bar--label-top{display:flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .progress-bar--label-top .progress-bar__label{order:-1}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-left,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-left{align-items:flex-start}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-center,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-center{align-items:center}.ihabdevteam-core-scope .progress-bar--label-bottom.progress-bar--align-right,.ihabdevteam-core-scope .progress-bar--label-top.progress-bar--align-right{align-items:flex-end}.ihabdevteam-core-scope .progress-bar--label-bottom>.progress-bar__track,.ihabdevteam-core-scope .progress-bar--label-top>.progress-bar__track{align-self:stretch}.ihabdevteam-core-scope .progress-bar--label-inside{position:relative}.ihabdevteam-core-scope .progress-bar--label-inside .progress-bar__label{pointer-events:none;position:absolute;top:50%}.ihabdevteam-core-scope .progress-bar--label-on-fill .progress-bar__label{color:var(--progress-bar-label-color-on-fill,var(--color-deepWhite))}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-left .progress-bar__label{left:10px;transform:translateY(-50%)}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-center .progress-bar__label{left:50%;transform:translate(-50%,-50%)}.ihabdevteam-core-scope .progress-bar--label-inside.progress-bar--align-right .progress-bar__label{right:10px;transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .progress-bar__fill{transition:none}}';te(z8);const O8=24;function ym({value:e,max:t=100,size:a=8,color:r,trackColor:n,label:i,formatValue:s,labelPos:c,labelAlign:d="right",ariaLabel:u,className:m}){const h=Number.isFinite(t)&&t>0?t:1,p=Math.max(0,Math.min(Number.isFinite(e)?e:0,h)),g=p/h*100,f=c??(a>=O8?"inside":"bottom"),b=f==="center"?"inside":f,v=b==="inside"&&(d==="left"?g>=15:d==="center"?g>=50:g>=85),y={};return r&&(y["--progress-bar-fill"]=r),n&&(y["--progress-bar-track"]=n),o.jsxs("div",{className:_e("progress-bar",`progress-bar--${a}`,`progress-bar--label-${b}`,i&&`progress-bar--align-${d}`,i&&v&&"progress-bar--label-on-fill",m),style:y,children:[o.jsx("div",{className:"progress-bar__track",role:"progressbar","aria-valuenow":p,"aria-valuemin":0,"aria-valuemax":h,"aria-label":u,children:o.jsx("div",{className:"progress-bar__fill",style:{width:`${g}%`}})}),i&&o.jsx("span",{className:"progress-bar__label caption-1b",children:s?s(p):i==="percent"?`${Math.round(g)}%`:i==="raw"?String(p):`${p} / ${h}`})]})}var F8=".ihabdevteam-core-scope .progress-indicator{align-items:center;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .progress-indicator-dot{align-items:center;background:var(--pi-inactive-bg,var(--color-whiteLine));border-radius:var(--radius-card);color:var(--pi-inactive-color,var(--color-gray));display:inline-flex;height:28px;justify-content:center;width:52px}.ihabdevteam-core-scope .progress-indicator-dot.done{background:var(--color-main);color:#fff}.ihabdevteam-core-scope .progress-indicator-dot.active{background:var(--color-sub);color:#fff}@media (max-width:1024px){.ihabdevteam-core-scope .progress-indicator{gap:6px}.ihabdevteam-core-scope .progress-indicator-dot{height:28px;width:44px}}@media (max-width:767px){.ihabdevteam-core-scope .progress-indicator--mobile .progress-indicator-dot{height:28px;padding:0 12px;width:auto}}.ihabdevteam-core-scope .progress-indicator--dot{gap:var(--spacing-xs)}.ihabdevteam-core-scope .progress-indicator-dot--dot{background:var(--pi-inactive-bg,var(--color-darkWhite));border-radius:var(--radius-full);height:8px;transition:width .2s ease-out,background .2s ease-out;width:8px}.ihabdevteam-core-scope .progress-indicator-dot--dot.done{background:color-mix(in srgb,var(--color-main) 40%,transparent)}.ihabdevteam-core-scope .progress-indicator-dot--dot.active{background:var(--color-main);width:24px}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .progress-indicator-dot--dot{transition:none}}";te(F8);const W8="rgba(255, 255, 255, 0.16)";function Jl({max:e,index:t,inactiveBg:a,inactiveColor:r,transparent:n,variant:i="numbered",announce:s=!1,ariaLabel:c}){const{t:d}=me.useTranslation(),u=aa("(max-width: 767px)");if(!Number.isInteger(e)||e<=0)return null;const m=Number.isInteger(t)?Math.max(0,Math.min(t,e-1)):0,h=c??d("progress.steps",{current:m+1,total:e,defaultValue:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"}),p={};return a&&(p["--pi-inactive-bg"]=a),r&&(p["--pi-inactive-color"]=r),n&&(a||(p["--pi-inactive-bg"]=W8),r||(p["--pi-inactive-color"]="var(--color-white)")),i==="dot"?o.jsx("div",{className:"progress-indicator progress-indicator--dot",style:p,role:s?"status":"img","aria-label":h,children:Array.from({length:e}).map((g,f)=>o.jsx("span",{"aria-hidden":"true",className:`progress-indicator-dot--dot${f<m?" done":f===m?" active":""}`},f))}):u?o.jsx("div",{className:"progress-indicator progress-indicator--mobile",style:p,role:"list","aria-label":h,children:o.jsxs("span",{role:"listitem",className:"progress-indicator-dot active body-3",children:[m+1," / ",e]})}):o.jsx("div",{className:"progress-indicator",style:p,role:"list","aria-label":h,children:Array.from({length:e}).map((g,f)=>o.jsx("span",{role:"listitem","aria-current":f===m?"step":void 0,className:`progress-indicator-dot ${f<m?" done":f===m?" active":""} body-3`,children:f+1},f))})}function H8(e){if(!e)return[];const t=[];let a=0,r="";for(const n of e.trim()){if(n==="("?a++:n===")"&&a--,/\s/.test(n)&&a===0){r&&(t.push(r),r="");continue}r+=n}return r&&t.push(r),t}var V8=".ihabdevteam-core-scope .table-wrap{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);overflow-x:auto}.ihabdevteam-core-scope .table{width:100%}.ihabdevteam-core-scope .table-header{align-items:center;border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:8px;padding:0 16px;text-align:left;width:100%}.ihabdevteam-core-scope .table-header[role=button]{cursor:pointer;transition:background .15s}.ihabdevteam-core-scope .table-header[role=button]:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-header__chevron{align-items:center;color:var(--color-gray);display:flex;flex-shrink:0}.ihabdevteam-core-scope .table-header__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .table-header__title{color:var(--color-darkGray)}.ihabdevteam-core-scope .table-header__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .table-header__actions{align-items:center;display:flex;flex-shrink:0;gap:4px;margin-left:auto}.ihabdevteam-core-scope .table-wrap--collapsed .table-header{border-bottom:none}.ihabdevteam-core-scope .table-wrap--dragover{outline:2px dashed var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .table-wrap--dragover .table-header{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-fields-strip{position:relative}.ihabdevteam-core-scope .table-wrap--resizable .table-fields,.ihabdevteam-core-scope .table-wrap--resizable .table-row{padding-right:40px}.ihabdevteam-core-scope .table-fields__reset{position:absolute;right:2px;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .table-fields{border-bottom:1px solid var(--color-whiteLine);display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-template-columns:var(--table-grid-cols,repeat(auto-fit,minmax(80px,1fr)))}.ihabdevteam-core-scope .table-body{display:flex;flex-direction:column}.ihabdevteam-core-scope .table-row-wrap{border-bottom:1px solid var(--color-darkWhite);display:flex;flex-direction:column}.ihabdevteam-core-scope .table-row-wrap:last-child{border-bottom:none}.ihabdevteam-core-scope .table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-template-columns:var(--table-grid-cols,repeat(auto-fit,minmax(80px,1fr)))}.ihabdevteam-core-scope .table-row-expand{background:var(--color-darkWhite);border-top:1px solid var(--color-whiteLine);display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px}.ihabdevteam-core-scope .table-wrap--small .table-fields,.ihabdevteam-core-scope .table-wrap--small .table-header,.ihabdevteam-core-scope .table-wrap--small .table-row{min-height:48px}.ihabdevteam-core-scope .table-wrap--medium .table-fields,.ihabdevteam-core-scope .table-wrap--medium .table-header,.ihabdevteam-core-scope .table-wrap--medium .table-row{min-height:56px}.ihabdevteam-core-scope .table-wrap--large .table-fields,.ihabdevteam-core-scope .table-wrap--large .table-header,.ihabdevteam-core-scope .table-wrap--large .table-row{min-height:64px}.ihabdevteam-core-scope .table-fields.table-fields--groups{min-height:34px}.ihabdevteam-core-scope .table-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .table-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .table-row--draggable{cursor:grab}.ihabdevteam-core-scope .table-row--draggable:active{cursor:grabbing}.ihabdevteam-core-scope .table-row--dragging{opacity:.4}.ihabdevteam-core-scope .table-row--empty,.ihabdevteam-core-scope .table-row--loading{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .table-row--empty{color:var(--color-lightGray);padding:0 20px}.ihabdevteam-core-scope .table-wrap--small .table-row--empty{min-height:48px}.ihabdevteam-core-scope .table-wrap--medium .table-row--empty{min-height:56px}.ihabdevteam-core-scope .table-wrap--large .table-row--empty{min-height:64px}";te(V8);var G8=".ihabdevteam-core-scope .table-cell{align-items:center;color:var(--color-darkGray);display:flex;min-width:0;overflow:hidden;overflow-wrap:break-word;padding:0 16px;word-break:break-word}";te(G8);var q8='.ihabdevteam-core-scope .table-field{align-items:center;color:var(--color-gray);cursor:pointer;display:flex;gap:0;min-width:0;overflow:hidden;padding:0 16px;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ihabdevteam-core-scope .table-field--resizable{position:relative}.ihabdevteam-core-scope .table-field__resizer{align-items:center;cursor:col-resize;display:flex;height:100%;justify-content:flex-end;position:absolute;right:0;top:0;touch-action:none;width:10px;z-index:3}.ihabdevteam-core-scope .table-field__resizer:after{background:var(--color-whiteLine);content:"";height:55%;transition:background-color .12s,width .12s,height .12s;width:1px}.ihabdevteam-core-scope .table-field__resizer:active:after,.ihabdevteam-core-scope .table-field__resizer:hover:after{background:var(--color-main);height:100%;width:2px}.ihabdevteam-core-scope .table-field--sorted,.ihabdevteam-core-scope .table-field:hover{color:var(--color-main)}.ihabdevteam-core-scope .table-field__sort-arrow{flex-shrink:0}';te(q8);function Y8({children:e,className:t,style:a}){return o.jsx("div",{className:t?`table-cell ${t}`:"table-cell",style:a,children:e})}function Ql({variant:e="default",children:t,className:a,draggable:r,onClick:n,onMouseEnter:i,onMouseLeave:s,onDragStart:c,onDragEnd:d,expandedContent:u}){const m=l.useCallback(h=>{n&&h.target===h.currentTarget&&(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),n())},[n]);return e==="loading"?o.jsx("div",{className:"table-row-wrap",children:o.jsx("div",{className:"table-row table-row--loading",children:o.jsx(Ao,{size:28})})}):e==="empty"?o.jsx("div",{className:"table-row-wrap",children:o.jsx("div",{className:"table-row table-row--empty body-3",children:t})}):o.jsxs("div",{className:"table-row-wrap",children:[o.jsx("div",{className:a?`table-row ${a}`:"table-row",draggable:r,onClick:n,onKeyDown:n?m:void 0,onMouseEnter:i,onMouseLeave:s,onDragStart:c,onDragEnd:d,role:n?"button":void 0,tabIndex:n?0:void 0,children:t}),u&&o.jsx("div",{className:"table-row-expand",children:u})]})}function U8({dir:e}){return o.jsx(e==="asc"?md:hd,{className:"table-field__sort-arrow",size:16,strokeWidth:2})}function K8({children:e,onClick:t,className:a,sortDir:r,onResizeStart:n}){const i=l.useCallback(s=>{t&&s.target===s.currentTarget&&(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),t())},[t]);return o.jsxs("div",{onClick:t,onKeyDown:t?i:void 0,role:t?"button":void 0,tabIndex:t?0:void 0,"aria-sort":r?r==="asc"?"ascending":"descending":void 0,className:_e("table-field body-3",a,r?"table-field--sorted":"",n?"table-field--resizable":""),children:[e,r&&o.jsx(U8,{dir:r}),n&&o.jsx("span",{className:"table-field__resizer",onPointerDown:n,onClick:s=>s.stopPropagation(),"aria-hidden":"true"})]})}function _n({fields:e=[],headerGroups:t,items:a=[],renderRow:r,onRowClick:n,onRowMouseEnter:i,onRowMouseLeave:s,onRowDragStart:c,onRowDragEnd:d,draggingId:u,gridTemplateColumns:m,resizable:h=!1,resizeMode:p="grow",resizeStorageKey:g,size:f="small",title:b,icon:v,count:y,collapsed:_=!1,onToggleCollapse:C,headerActions:x,empty:k,loading:w,dragOver:S=!1,onDragOver:j,onDragLeave:A,onDrop:B,renderExpandedRow:F,expandedId:R}){const{t:E}=me.useTranslation(),M=48,D=g?`table-cols:${g}`:null,H=l.useRef(null),ee=l.useRef(()=>!1),J=l.useRef([]),ae=l.useRef(null),[T,L]=l.useState(()=>{if(!D||typeof window>"u")return null;try{const P=JSON.parse(window.localStorage.getItem(D)??"null");return Array.isArray(P)&&P.every(q=>typeof q=="number")?P:null}catch{return null}}),$=l.useRef(T);l.useEffect(()=>{$.current=T},[T]);const z=l.useCallback(P=>{const q=ae.current;q&&L(oe=>{if(!oe)return oe;const ge=[...oe];if(q.next!=null&&q.startWNext!=null){const de=P.clientX-q.startX,I=Math.max(M-q.startW,Math.min(q.startWNext-M,de));ge[q.index]=q.startW+I,ge[q.next]=q.startWNext-I}else ge[q.index]=Math.max(M,q.startW+(P.clientX-q.startX));return ge})},[]),V=l.useCallback(()=>{if(ae.current=null,window.removeEventListener("pointermove",z),window.removeEventListener("pointerup",V),document.body.style.cursor="",document.body.style.userSelect="",D&&$.current)try{window.localStorage.setItem(D,JSON.stringify($.current))}catch{}},[z,D]),X=l.useCallback((P,q)=>{q.preventDefault(),q.stopPropagation();const oe=H.current;if(!oe)return;const ge=Array.from(oe.children).map(I=>I.getBoundingClientRect().width),de=p==="fit"?e.findIndex((I,Z)=>Z>P&&I.resizable!==!1):-1;ae.current=de>=0?{index:P,startX:q.clientX,startW:ge[P],next:de,startWNext:ge[de]}:{index:P,startX:q.clientX,startW:ge[P]},L(ge),window.addEventListener("pointermove",z),window.addEventListener("pointerup",V),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[z,V,p,e]),W=l.useCallback(()=>{const P=H.current,q=P?.closest(".table-wrap");if(!P||!q)return;const oe=q.style.getPropertyValue("--table-grid-cols");q.style.setProperty("--table-grid-cols",e.map((Le,Ee)=>ee.current(Ee)?J.current[Ee]:"max-content").join(" "));const ge=Array.from(q.querySelectorAll(".table-row")).filter(Le=>!Le.classList.contains("table-row--loading")&&!Le.classList.contains("table-row--empty")),de=e.map((Le,Ee)=>{let je=P.children[Ee]?.getBoundingClientRect().width??0;for(const Te of ge){const Ie=Te.children[Ee];Ie&&(je=Math.max(je,Ie.getBoundingClientRect().width))}return Math.max(M,Math.ceil(je))}),I=window.getComputedStyle(P),Z=P.clientWidth-(parseFloat(I.paddingLeft)||0)-(parseFloat(I.paddingRight)||0);oe?q.style.setProperty("--table-grid-cols",oe):q.style.removeProperty("--table-grid-cols");let Q=de;const ve=de.reduce((Le,Ee,je)=>Le+(ee.current(je)?Ee:0),0),De=de.reduce((Le,Ee,je)=>Le+(ee.current(je)?0:Ee),0),$e=Z-ve;if(Z>0&&De>0&&$e>0){const Le=$e/De;Q=de.map((je,Te)=>ee.current(Te)?je:Math.max(M,Math.round(je*Le)));const Ee=Math.round($e-Q.reduce((je,Te,Ie)=>je+(ee.current(Ie)?0:Te),0));if(Ee!==0){let je=-1;Q.forEach((Te,Ie)=>{!ee.current(Ie)&&(je<0||Te>Q[je])&&(je=Ie)}),je>=0&&(Q[je]=Math.max(M,Q[je]+Ee))}}if(L(Q),D)try{window.localStorage.setItem(D,JSON.stringify(Q))}catch{}},[e,p,D]);l.useEffect(()=>()=>{ae.current&&(window.removeEventListener("pointermove",z),window.removeEventListener("pointerup",V),document.body.style.cursor="",document.body.style.userSelect="")},[z,V]);const Y=H8(m),O=Y.filter(P=>/\b(auto|min-content|max-content)\b|fit-content\(/.test(P));O.length>0&&Wn(`table-content-track:${m}`,`[ihabdevteam-core] Table \uC758 gridTemplateColumns \uC5D0 \uB0B4\uC6A9\uC73C\uB85C \uD06C\uAE30\uAC00 \uC815\uD574\uC9C0\uB294 \uD2B8\uB799(${O.join(", ")})\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBA38\uB9AC\uC640 \uBAB8\uD1B5\uC740 \uC11C\uB85C \uB2E4\uB978 \uACA9\uC790\uB77C \uADF8 \uD2B8\uB799\uC774 \uAC01\uC790 \uB2E4\uB974\uAC8C \uD480\uB824 \uC5F4\uC774 \uC5B4\uAE0B\uB0A9\uB2C8\uB2E4. px \uC774\uB098 fr \uC744 \uC4F0\uC138\uC694. (\uBC1B\uC740 \uAC12: ${m})`);const ie=P=>/^\d+(\.\d+)?px$/.test(Y[P]??"");ee.current=ie,J.current=Y;const ue=P=>p==="fit"&&!ie(P)?"fr":"px",fe=T&&T.length===e.length&&(p==="fit"||a.length>0)?e.map((P,q)=>P.resizable===!1&&Y[q]?Y[q]:`${T[q]}${ue(q)}`).join(" "):m,ye=fe?{"--table-grid-cols":fe}:void 0,pe=b!==void 0;return o.jsx("div",{className:`table-wrap table-wrap--${f}${h?" table-wrap--resizable":""}${S?" table-wrap--dragover":""}${_?" table-wrap--collapsed":""}`,style:ye,onDragOver:j,onDragLeave:A,onDrop:B,children:o.jsxs("div",{className:"table body-2",children:[pe&&o.jsxs("div",{className:"table-header",onClick:C,role:C?"button":void 0,tabIndex:C?0:void 0,"aria-expanded":C?!_:void 0,onKeyDown:C?P=>{(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),C())}:void 0,children:[C&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:_?"chevron-right":"chevron-down",ariaLabel:_?E("common.expand","\uD3BC\uCE58\uAE30"):E("common.collapse","\uC811\uAE30"),className:"table-header__chevron"}),v&&o.jsx(Fe,{icon:v,label:typeof b=="string"?b:void 0,className:"table-header__icon"}),o.jsx("span",{className:"table-header__title h5b",children:b}),y!==void 0&&o.jsx("span",{className:"table-header__count body-3b",children:y}),x&&o.jsx("span",{className:"table-header__actions",onClick:P=>P.stopPropagation(),children:x})]}),!_&&o.jsxs(o.Fragment,{children:[t&&t.length>0&&o.jsx("div",{className:"table-fields table-fields--groups",children:t.map((P,q)=>o.jsx("div",{className:_e("table-field body-3",P.className),style:{gridColumn:`span ${P.span}`},children:P.label},q))}),o.jsxs("div",{className:_e("table-fields-strip",h&&"table-fields-strip--resizable"),children:[o.jsx("div",{className:"table-fields",ref:H,children:e.map((P,q)=>o.jsx(K8,{onClick:P.onClick,className:P.className,sortDir:P.sortDir,onResizeStart:h&&q<e.length-1&&P.resizable!==!1&&(p!=="fit"||e.some((oe,ge)=>ge>q&&oe.resizable!==!1))?oe=>X(q,oe):void 0,children:P.label},q))}),h&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"chevrons-left-right-ellipsis",ariaLabel:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),showTooltipInfo:E("table.resetColumns","\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"),className:"table-fields__reset",onClick:W})]}),o.jsx("div",{className:"table-body",children:w?o.jsx(Ql,{variant:"loading"}):a.length===0&&k?o.jsx(Ql,{variant:"empty",children:k}):a.map((P,q)=>{const oe=u!=null&&P.id===u,ge=R!=null&&(R instanceof Set?R.has(P.id):P.id===R);return o.jsx(Ql,{className:`${n?" table-row--clickable":""}${c?" table-row--draggable":""}${oe?" table-row--dragging":""}`.trim(),draggable:!!c,onClick:n?()=>n(P):void 0,onMouseEnter:i?de=>i(P,de):void 0,onMouseLeave:s?de=>s(P,de):void 0,onDragStart:c?de=>c(P,de):void 0,onDragEnd:d?de=>d(P,de):void 0,expandedContent:ge&&F?F(P):void 0,children:r(P).map((de,I)=>o.jsx(Y8,{className:de.className,style:de.style,children:de.content},I))},String(P.id??q))})})]})]})})}function xm(e){switch(e){case"\uBCF4\uCCAD\uAE30":return"main";case"\uC778\uACF5\uC640\uC6B0":return"sub";default:return"default"}}var Z8=".ihabdevteam-core-scope .dlp-popup .popup-panel{max-width:600px}.ihabdevteam-core-scope .dlp-row{border-bottom:1px solid var(--color-darkWhite);cursor:pointer;transition:background .1s}.ihabdevteam-core-scope .dlp-row:hover{background:#f5f5f5;background:var(--color-hoverBg,#f5f5f5)}.ihabdevteam-core-scope .dlp-row:last-child{border-bottom:none}.ihabdevteam-core-scope .dlp-date{color:var(--color-lightGray);white-space:nowrap}.ihabdevteam-core-scope .dlp-side-table{margin-top:0}.ihabdevteam-core-scope .dlp-worn-check{align-items:center;display:inline-flex}.ihabdevteam-core-scope .dlp-row-actions{align-items:center;display:flex;justify-content:flex-end}";te(Z8);function Cm(e,t){return t!=="wornAt"?String(e[t]??""):e.wornYear?`${e.wornYear}-${e.wornMonth.padStart(2,"0")}-${e.wornDay.padStart(2,"0")}`:""}function _m({rows:e,onSelect:t,onDelete:a,onWear:r,onRelease:n,onAdd:i}){const{t:s}=me.useTranslation(),c=f=>f==="\uC88C"?s("device.direction.left","\uC88C"):s("device.direction.right","\uC6B0"),{\uC815\uB82C:d,\uCE78:u}=dl(),m=l.useMemo(()=>{if(!d)return e;const{key:f,asc:b}=d;return[...e].sort((v,y)=>{const _=f==="worn"?Number(y.worn)-Number(v.worn):Cm(v,f).localeCompare(Cm(y,f),"ko");return b?_:-_})},[e,d]),{pageRows:h,pageSizeProps:p,paginationProps:g}=cl(m,d);return o.jsxs("div",{className:"dlp-side-table",children:[o.jsx(vn,{count:{value:e.length,unit:s("customers.device.unit","\uAC1C")},pageSize:p,pagination:g,actions:i&&o.jsx(re,{size:40,type:"bar",variant:"main",icon:"plus",label:s("customers.device.addButton","\uAE30\uAE30 \uCD94\uAC00"),onClick:i})}),o.jsx(_n,{resizable:!0,resizeMode:"fit",resizeStorageKey:"customer-device-history-v2",fields:[{...u(s("customers.device.wearingNow","\uCC29\uC6A9"),"worn"),resizable:!1},u(s("device.direction.label","\uBC29\uD5A5"),"side"),u(s("device.deviceType","\uC885\uB958"),"device"),u(s("device.brand","\uBE0C\uB79C\uB4DC"),"brand"),u(s("device.fitType","\uCC29\uC6A9\uD615\uD0DC"),"fitType"),u(s("device.productName","\uC81C\uD488\uBA85"),"productName"),u(s("device.wornDate","\uCC29\uC6A9\uC77C"),"wornAt"),...a?[{label:"",resizable:!1}]:[]],items:h.map((f,b)=>({id:f.id??`${f.side}-${b}`,row:f})),gridTemplateColumns:`56px 110px 110px minmax(120px, 1fr) 100px minmax(120px, 1fr) 110px${a?" 80px":""}`,renderRow:({row:f})=>[{content:o.jsx("span",{className:"dlp-worn-check",onClick:b=>b.stopPropagation(),children:o.jsx(Gl,{checked:f.worn,disabled:!r||!n,ariaLabel:f.worn?s("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"):s("customers.device.wear","\uCC29\uC6A9"),onChange:b=>{b?r?.(f):n?.(f)}})})},{content:o.jsx("span",{children:c(f.side)})},{content:f.device?o.jsx(ht,{size:"small",variant:xm(f.device),fill:"soft",label:f.device}):o.jsx("span",{})},{content:o.jsx("span",{children:f.brand})},{content:o.jsx("span",{children:f.fitType||"-"})},{content:o.jsx("span",{children:f.productName||"-"})},{content:o.jsx("span",{className:"dlp-date",children:f.wornYear?`${f.wornYear}.${f.wornMonth}.${f.wornDay}`:"-"})},...a?[{content:o.jsx("span",{className:"dlp-row-actions",children:o.jsx(re,{size:28,type:"bar",variant:"transparent-gray",label:s("common.delete","\uC0AD\uC81C"),onClick:b=>{b?.stopPropagation(),a(f)}})})}]:[]],onRowClick:({row:f})=>t(f),empty:s("customers.device.historyEmpty","\uB4F1\uB85D\uB41C \uAE30\uAE30 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})]})}var X8=`.ihabdevteam-core-scope .calendar-nav{align-items:center;display:flex;gap:var(--spacing-m);justify-content:center;margin-bottom:var(--spacing-m);position:relative}.ihabdevteam-core-scope .calendar-nav__legend{align-items:center;color:var(--color-gray);display:flex;gap:6px;position:absolute;right:0}.ihabdevteam-core-scope .calendar-nav__legend-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.ihabdevteam-core-scope .calendar-nav__legend-dot--main{background:var(--color-main)}.ihabdevteam-core-scope .calendar-nav__legend-dot--sub{background:var(--color-sub)}.ihabdevteam-core-scope .calendar-nav__legend-dot--disabled{background:var(--color-disabled)}.ihabdevteam-core-scope .calendar-nav__button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-sm);color:var(--color-darkGray);cursor:pointer;display:flex;font-size:18px;height:32px;line-height:1;transition:border-color .15s,color .15s;width:32px}.ihabdevteam-core-scope .calendar-nav__button:hover{border-color:var(--color-main);color:var(--color-main)}.ihabdevteam-core-scope .calendar-nav__title{color:var(--color-darkGray);font-weight:700;min-width:100px;text-align:center}.ihabdevteam-core-scope .calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.ihabdevteam-core-scope .calendar-day-header{color:var(--color-lightGray);font-weight:600;padding:6px 0;text-align:center}.ihabdevteam-core-scope .calendar-day-header:first-child{color:var(--color-error)}.ihabdevteam-core-scope .calendar-day-header:last-child{color:var(--color-main)}.ihabdevteam-core-scope .calendar-cell{background:transparent;border-radius:var(--radius-s);box-sizing:border-box;cursor:default;min-height:118px;min-width:118px;padding:8px}.ihabdevteam-core-scope .calendar-cell.empty{background:transparent;cursor:default}
|
|
845
845
|
|
|
846
846
|
/* !important \uD544\uC694 \u2014 \uC624\uB298\uC774 \uC77C\uC694\uC77C/\uD1A0\uC694\uC77C\uACFC \uACB9\uCE58\uBA74 \uC544\uB798 nth-child \uC8FC\uB9D0 \uC0C9\uC0C1 \uADDC\uCE59\uACFC
|
|
847
847
|
\uD2B9\uC774\uB3C4\uAC00 \uB3D9\uC77C(3\uD074\uB798\uC2A4)\uD558\uACE0 \uC18C\uC2A4 \uC21C\uC11C\uC0C1 \uB4A4\uB77C !important \uC5C6\uC774\uB294 \uD770 \uAE00\uC790\uAC00 \uC8FC\uB9D0\uC0C9\uC73C\uB85C
|
|
848
|
-
\uB36E\uC5B4\uC368\uC9D0(\uC624\uB298 \uD45C\uC2DC\uAC00 \uBB34\uC758\uBBF8\uD574\uC9D0). \uC2E4\uC81C \uACBD\uD569 \uD655\uC778\uB428. */.ihabdevteam-core-scope .calendar-cell.today .calendar-cell__number{align-items:center;background:var(--color-main);border-radius:50%;color:#fff!important;display:flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .calendar-cell__number{align-items:center;color:var(--color-darkGray);display:flex;font-weight:600;height:24px;justify-content:center;margin-bottom:6px;width:24px}.ihabdevteam-core-scope .calendar-cell:nth-child(7n+8) .calendar-cell__number{color:var(--color-error)}.ihabdevteam-core-scope .calendar-cell:nth-child(7n+14) .calendar-cell__number{color:var(--color-main)}.ihabdevteam-core-scope .calendar-cell__badges{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .calendar-visit-badge{align-items:center;background:var(--color-main-a10);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--color-main);display:flex;gap:6px;min-height:28px;overflow:hidden;padding:0 8px}.ihabdevteam-core-scope .calendar-visit-badge__time{flex-shrink:0;font-weight:400;opacity:.7}.ihabdevteam-core-scope .calendar-visit-badge__name{flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .calendar-visit-badge--scheduled{background:var(--color-sub-a10);color:var(--color-sub)}.ihabdevteam-core-scope .calendar-visit-badge--no-visit{background:color-mix(in srgb,var(--color-disabled) 15%,#fff);color:var(--color-disabled)}.ihabdevteam-core-scope .calendar-visit-badge__no-visit{background:var(--color-disabled);border-radius:var(--radius-xs);color:#fff;flex-shrink:0;line-height:1.4;padding:1px 5px}.ihabdevteam-core-scope .calendar-visit-badge--clickable{cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ihabdevteam-core-scope .calendar-visit-badge--clickable:hover{background:var(--color-main);border-color:transparent;color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--scheduled.calendar-visit-badge--clickable:hover{background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--no-visit.calendar-visit-badge--clickable:hover{background:var(--color-disabled);color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--draggable{cursor:grab}.ihabdevteam-core-scope .calendar-visit-badge--draggable:active{cursor:grabbing;opacity:.5}.ihabdevteam-core-scope .calendar-nav__button{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .calendar-nav__button-icon{display:block}.ihabdevteam-core-scope .calendar-cell--clickable{cursor:pointer}.ihabdevteam-core-scope .calendar-cell--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .calendar-cell--clickable:focus-visible{outline:2px solid var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .calendar-cell.drag-over{background:var(--color-main-a10);outline:1px solid var(--color-main);outline-offset:-1px}@media (max-width:767px){.ihabdevteam-core-scope .calendar-nav{flex-wrap:wrap}.ihabdevteam-core-scope .calendar-nav__legend{justify-content:center;position:static;width:100%}.ihabdevteam-core-scope .calendar-cell,.ihabdevteam-core-scope .calendar-day-header{min-width:0}.ihabdevteam-core-scope .calendar-cell{min-height:72px;padding:4px}}`;te(X8);function wm(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a))}}:{}}function J8(e,t){return new Date(e,t+1,0).getDate()}function Q8(e,t){return new Date(e,t,1).getDay()}function km({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r}){const{t:n}=me.useTranslation(),i=l.useMemo(()=>n("calendar.dow",{returnObjects:!0}),[n]),[s,c]=l.useState(new Date().getFullYear()),[d,u]=l.useState(new Date().getMonth()),[m,h]=l.useState(null),p=l.useRef(null),g=new Date,f=l.useMemo(()=>{const x={};return e.forEach(k=>{x[k.date]||(x[k.date]=[]),x[k.date].push(k)}),x},[e]),b=l.useMemo(()=>{const x=J8(s,d),k=Q8(s,d),w=[];for(let S=0;S<k;S++)w.push(null);for(let S=1;S<=x;S++)w.push(S);for(;w.length<35;)w.push(null);return w},[s,d]),v=l.useCallback(()=>{d===0?(c(x=>x-1),u(11)):u(x=>x-1)},[d]),y=l.useCallback(()=>{d===11?(c(x=>x+1),u(0)):u(x=>x+1)},[d]),_=x=>`${s}-${String(d+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,C=x=>g.getFullYear()===s&&g.getMonth()===d&&g.getDate()===x;return o.jsxs("div",{children:[o.jsxs("div",{className:"calendar-nav",children:[o.jsx("button",{className:"calendar-nav__button",onClick:v,"aria-label":n("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:o.jsx(Fe,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),o.jsx("span",{className:"calendar-nav__title h5",children:n("calendar.yearMonth",{year:s,month:d+1})}),o.jsx("button",{className:"calendar-nav__button",onClick:y,"aria-label":n("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:o.jsx(Fe,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),o.jsxs("div",{className:"calendar-nav__legend",children:[o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.visited","\uBC29\uBB38")}),o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.scheduled","\uC608\uC57D")}),o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),o.jsxs("div",{className:"calendar-grid",children:[i.map(x=>o.jsx("div",{className:"calendar-day-header body-3",children:x},x)),b.map((x,k)=>{if(x===null)return o.jsx("div",{className:"calendar-cell empty"},`empty-${k}`);const w=x,S=_(w),j=f[S]??[],A=m===S;return o.jsxs("div",{className:`calendar-cell${C(w)?" today":""}${A?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?n("calendar.addOnDate",{date:S}):void 0,onClick:r?()=>r(S):void 0,onKeyDown:r?T=>{T.key!=="Enter"&&T.key!==" "||(T.preventDefault(),r(S))}:void 0,onDragOver:a?T=>{T.preventDefault(),h(S)}:void 0,onDragLeave:a?T=>{T.currentTarget.contains(T.relatedTarget)||h(null)}:void 0,onDrop:a?T=>{T.preventDefault(),p.current!=null&&(a(p.current,S),p.current=null),h(null)}:void 0,children:[o.jsx("div",{className:"calendar-cell__number body-3",children:w}),o.jsx("div",{className:"calendar-cell__badges",children:j.map((T,F)=>o.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${T.status==="noVisit"?" calendar-visit-badge--no-visit":T.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?R=>{p.current=T.id,R.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{p.current=null,h(null)}:void 0,onClick:t?R=>{R.stopPropagation(),t(T)}:void 0,...wm(t?()=>t(T):void 0),"aria-label":[T.time?Jr(T.time,n):null,T.customer,n(T.status==="noVisit"?"calendar.legend.noVisit":T.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[T.time&&o.jsx("span",{className:"calendar-visit-badge__time body-3",children:Jr(T.time,n)}),o.jsx("span",{className:"calendar-visit-badge__name body-3",children:T.customer}),T.status==="noVisit"&&o.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:n("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},T.id??F))})]},w)})]})]})}var ek=".ihabdevteam-core-scope .section{display:flex;flex-direction:column;text-align:left;width:100%}.ihabdevteam-core-scope .section--page{gap:var(--spacing-m);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section--pagePopup{gap:var(--spacing-s);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section--popup{gap:var(--spacing-xs);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section:last-child{padding-bottom:0}.ihabdevteam-core-scope .section__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .section__title-row{align-items:flex-start;display:flex;flex:1;gap:var(--spacing-s)}.ihabdevteam-core-scope .section__icon{align-items:center;background:var(--t-item-bg,var(--color-deepWhite));color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:5px;width:20px}.ihabdevteam-core-scope .section__title-group{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .section__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .section__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .section__action{flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .section__header{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}";te(ek);const tk={page:"h3",pagePopup:"h4",popup:"h5"};function no({type:e="page",title:t,icon:a,action:r,disc:n,children:i,className:s,style:c}){const d=tk[e],u=t||n;return o.jsxs("div",{className:_e("section",`section--${e}`,s),style:c,children:[u&&o.jsxs("div",{className:"section__header",children:[o.jsxs("div",{className:"section__title-row",children:[a&&o.jsx(Fe,{icon:a,label:typeof t=="string"?t:void 0,className:"section__icon"}),o.jsxs("div",{className:"section__title-group",children:[t&&o.jsx("div",{className:`section__title ${d}`,children:t}),n&&o.jsx("div",{className:"section__disc body-3",children:n})]})]}),r&&o.jsx("div",{className:"section__action",children:r})]}),i]})}var ak=".ihabdevteam-core-scope .training-blocks{align-items:flex-start;display:flex;flex-direction:column}.ihabdevteam-core-scope .training-block{border-radius:var(--radius-card);width:100%}.ihabdevteam-core-scope .training-list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px}.ihabdevteam-core-scope .training-block__more{display:flex;justify-content:center;margin-top:var(--spacing-l)}.ihabdevteam-core-scope .training-blocks--top-spaced{margin-top:18px}";te(ak);var ok=".ihabdevteam-core-scope .category-icon{align-items:center;background:var(--t-item-bg,color-mix(in srgb,var(--t-item-fg,var(--color-lightGray)) 10%,transparent));border-radius:var(--radius-s);color:var(--t-item-fg,var(--color-lightGray));display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .category-icon--small{border-radius:var(--radius-sm);height:28px;width:28px}.ihabdevteam-core-scope .category-icon__mask{background-color:currentColor;background-color:var(--t-item-fg,currentColor);border-radius:var(--radius-sm);display:inline-block;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .category-icon__image{border-radius:var(--radius-sm);display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .category-icon__svg svg{fill:currentColor;display:block}.ihabdevteam-core-scope .category-icon__wrap{cursor:default;display:inline-flex;position:relative}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";te(ok);function Sm({icon:e,label:t,tooltip:a,wrapperStyle:r,color:n,bgColor:i,useHover:s=!0,iconSize:c="medium"}){const d=c==="small",u=_e("category-icon",d?"category-icon--small":""),m=d?16:20,h=l.useRef(null),[p,g]=l.useState(!1),f=l.useMemo(()=>{const w=r&&typeof r=="object"?{...r}:{};return!n&&!i?w:{...w,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[r,n,i]),b=a||t,[v,y]=l.useState(null);l.useLayoutEffect(()=>{p&&y(h.current?.getBoundingClientRect()??null)},[p]),l.useEffect(()=>{if(!s&&p)try{g(!1)}catch{}},[s,p]),l.useEffect(()=>{if(!p)return;const w=S=>{const j=h.current;if(!j)return;const A=S.target;A&&!j.contains(A)&&g(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[p]);const _=l.useCallback(()=>{s&&g(!0)},[s]),C=l.useCallback(()=>{s&&g(!1)},[s]),x=l.useCallback(()=>g(!1),[]),k=l.useCallback(w=>{if(w.key==="Escape"){g(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(S=>!S))},[]);return o.jsxs("span",{ref:h,className:"category-icon__wrap",onPointerEnter:_,onPointerLeave:C,onFocus:_,onBlur:C,onKeyDown:k,role:"button",tabIndex:0,"aria-label":typeof b=="string"?b:void 0,"aria-haspopup":!!b,"aria-expanded":p,"data-tooltip-ignore":!0,children:[o.jsx(Fe,{icon:e,label:t,className:u,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:m}),p&&b&&o.jsx(aa,{anchorRect:v,text:typeof b=="string"?b:void 0,offset:8,onClose:x,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}var rk=".ihabdevteam-core-scope .training-block-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-m);box-shadow:var(--shadow-card);box-sizing:border-box;cursor:pointer;display:inline-block;height:200px;padding:var(--spacing-l);position:relative;text-align:left;transition:all .12s;vertical-align:top;width:200px}.ihabdevteam-core-scope .training-block-button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button--completed{box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button__more{position:absolute;right:var(--spacing-l);top:calc(var(--spacing-l) - 2px);z-index:2}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .training-block-button{height:190px;width:190px}}@media (max-width:767px){.ihabdevteam-core-scope .training-block-button{height:170px;width:calc(50% - 5px)}.ihabdevteam-core-scope .training-block-button__title.h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:20px;overflow:hidden}}.ihabdevteam-core-scope .training-block-button__left{display:block}.ihabdevteam-core-scope .training-block-button__title.h3{color:var(--color-black);left:20px;margin:0;position:absolute;right:20px;top:68px}.ihabdevteam-core-scope .training-block-button__description{align-items:center;bottom:20px;display:flex;gap:var(--spacing-xs);height:20px;justify-content:space-between;left:20px;position:absolute;right:20px}.ihabdevteam-core-scope .training-block-button__count{color:var(--color-darkGray)}.ihabdevteam-core-scope .training-block-button__chevron{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;margin-left:auto}.ihabdevteam-core-scope .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button__chevron-icon-image,.ihabdevteam-core-scope .training-block-button__chevron-icon-mask,.ihabdevteam-core-scope .training-block-button__chevron-icon-svg{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .training-block-button__chevron-icon-mask{background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-image{display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-svg svg{fill:currentColor;display:block;height:20px;width:20px}.ihabdevteam-core-scope .training-block-button .category-icon__wrap{left:18px;position:absolute;top:18px}.ihabdevteam-core-scope .training-block-button .category-icon{position:static}.ihabdevteam-core-scope .training-block-button__type-label{color:var(--color-gray);left:20px;overflow:hidden;position:absolute;right:20px;text-overflow:ellipsis;top:68px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--withType .training-block-button__title.h3{top:86px}.ihabdevteam-core-scope .training-block-button--small{height:120px;width:120px}.ihabdevteam-core-scope .training-block-button--small .category-icon__wrap{left:12px;top:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__type-label{color:var(--color-gray);left:12px;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:44px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small .training-block-button__title{color:var(--color-black);left:12px;margin:0;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:60px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small.training-block-button--no-type-label .training-block-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;top:44px;white-space:normal}.ihabdevteam-core-scope .training-block-button--small .training-block-button__description{bottom:10px;height:16px;left:12px;right:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__more{right:6px;top:6px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg svg{height:12px;width:12px}.ihabdevteam-core-scope .training-block-button--list{box-shadow:none;min-height:68px;padding:0 12px;width:200px}.ihabdevteam-core-scope .training-block-button--list .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-s);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--list .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--list .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--list .training-block-button__description{display:none}.ihabdevteam-core-scope .training-block-button--list .training-block-button__preview{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;order:4}.ihabdevteam-core-scope .training-block-button--small .training-block-button__preview{align-items:center;display:inline-flex;justify-content:center;position:absolute;right:12px;top:12px;z-index:1}.ihabdevteam-core-scope .training-block-button--compact{background:transparent;border-color:transparent;box-shadow:none;height:40px;padding:0;width:100%}.ihabdevteam-core-scope .training-block-button--compact:hover{background:var(--color-darkWhite);border-color:transparent;box-shadow:none}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-xs);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--compact .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__description{display:none}";te(rk);function nk(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=s=>s.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const s=a.sentences||a.items||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const s=a.items||a.sentences||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const s=a.items||a.sentences||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const s=a.sentences||a.items||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const n=a.sentences||a.items||[],i=r(Array.isArray(n)?n:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function ik(e,t){const[a,r]=l.useState(!1),[n,i]=l.useState(-1),[s,c]=l.useState([]),d=l.useRef(null),u=l.useRef(!1),m=l.useRef(null),[h,p]=l.useState(!1),g=l.useRef([]),{previewCodes:f,previewBucket:b}=nk(e,t);l.useEffect(()=>{if(!f.length)return;let y=!1;return(async()=>{const _=[],C=[];for(const x of f)try{const k=Er(x,b);if(!k){_.push("");continue}let w=null;try{w=await Oo(k)}catch{}if(!w)try{const S=await jr(k);S&&(w=URL.createObjectURL(S),C.push(w))}catch{}_.push(w??"")}catch{_.push("")}y?C.forEach(x=>{try{URL.revokeObjectURL(x)}catch{}}):(g.current.forEach(x=>{try{URL.revokeObjectURL(x)}catch{}}),g.current=C,c(_))})(),()=>{y=!0}},[f.join(","),b]),l.useEffect(()=>()=>{g.current.forEach(y=>{try{URL.revokeObjectURL(y)}catch{}}),g.current=[]},[]);const v=l.useCallback(async y=>{if(y.stopPropagation(),y.preventDefault(),u.current){u.current=!1;try{d.current?.pause()}catch{}r(!1),i(-1);return}if(s.filter(Boolean).length){u.current=!0,r(!0);for(let _=0;_<s.length&&u.current;_++){const C=s[_];if(C){i(_);try{await new Promise((x,k)=>{const w=new Audio(C);d.current=w,w.onended=()=>x(),w.onerror=()=>k(),w.play().catch(k)})}catch{break}}}u.current=!1,r(!1),i(-1)}},[s]);return l.useEffect(()=>()=>{u.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:n,previewUrls:s,previewHover:h,setPreviewHover:p,previewBtnRef:m,handlePreview:v}}const sk=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 n=r;return n.sentence||n.text||n.context||n.question||n.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function wn(e){const{index:t,type:a,trainingData:r,ariaLabel:n,depth:i,renderPopup:s,completed:c,completedIds:d,selectedIds:u,tooltipText:m,useDescriptionTooltip:h=!1,onRemove:p,hideCheckBadge:g=!1,showTypeLabel:f=!1,onComplete:b,onSelect:v,onMore:y,countLabelOverride:_,size:C="square"}=e||{},{t:x}=me.useTranslation(),[k,w]=l.useState(!1),S=l.useRef(null),[j,A]=l.useState(!1);l.useEffect(()=>{S.current?.matches(":hover")&&A(!0)},[]);const{playing:T,playingIndex:F,previewUrls:R,previewHover:E,setPreviewHover:M,previewBtnRef:D,handlePreview:H}=ik(r,a?.key),J=l.useCallback(()=>{v?v():w(!0)},[v]),ee=l.useCallback(()=>w(!1),[]),ae=l.useCallback(()=>A(!0),[]),B=l.useCallback(()=>A(!1),[]),L=l.useCallback(()=>M(!0),[M]),$=l.useCallback(()=>M(!1),[M]),[z,V]=l.useState(null);l.useLayoutEffect(()=>{E&&V(D.current?.getBoundingClientRect()??null)},[E,D]);const[X,W]=l.useState(null);l.useLayoutEffect(()=>{j&&!k&&h&&W(S.current?.getBoundingClientRect()??null)},[j,k,h]);const Y=l.useCallback(be=>{(be.key==="Enter"||be.key===" ")&&(be.preventDefault(),J())},[J]),O=r||null,ie=l.useMemo(()=>{if(!h)return null;const be=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,Ke=be&&be.length>0?be:sk(O);return Ke&&Ke.length>0?Ke:null},[h,m,O]),ue=l.useCallback(be=>{be.stopPropagation(),p?.()},[p]),fe=l.useCallback(be=>be.stopPropagation(),[]),ye=l.useCallback(be=>{typeof b=="function"&&b(be)},[b]),pe=c||(d&&r?.id!=null?d.has(String(r.id)):!1),P=!pe&&(u!=null&&r?.id!=null?u.has(String(r.id)):!1);ur("speechear.popup.close",ee);const q=Qr(),oe=`${a?.label||""} ${t+1}`,ge=O?.title||O?.name||oe;let de=a?.icon,I,Z="",Q="";try{const be=O?.category_0||O?.category_main_code||O?.category_main,Ke=O?.category_1||O?.category_sub_code||O?.category_sub,Ve=q.find(Re=>Re.key===be);Ve?.icon&&(de=Ve.icon),!I&&Ve?.color&&(I={"--t-item-fg":Ve.color}),!I&&O?.iconColor&&(I={"--t-item-fg":O.iconColor}),Z=Ve?.label||"";try{Q=Ve?.subs?.find(Re=>Re.key===Ke)?.label||""}catch{}}catch{}const ve=Q?`${Z} / ${Q}`:Z||a?.label||ge,De=be=>x("training.countQuestions",{n:be}),$e=be=>x("training.countSentences",{n:be});let Le="";try{if(O)if(a?.key==="LISTEN_IN_NOISE"){let be=0;Array.isArray(O.items)&&O.items.length>0?be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0?be=O.sentences.length:O.sentences&&(be=1),Le=$e(be)}else if(a?.key==="SHORT_STORY"){let be=1;Array.isArray(r?.items)?be=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?be=r.raw.items.length:Array.isArray(O?.questions)?be=O.questions.length:Array.isArray(O?.sentences)&&(be=O.sentences.length),Le=De(be)}else if(a?.key==="LONG_STORY"){let be=1;if(Array.isArray(O.items)&&O.items.length>0){const Ke=O.items.reduce((Ve,Re)=>{const qe=Re.questionItems;return Array.isArray(qe)?Ve+qe.length:Array.isArray(Re.questions)?Ve+Re.questions.length:Ve},0);be=Ke>0?Ke:O.items.length}else Array.isArray(O.questions)&&O.questions.length>0?be=O.questions.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(be=O.sentences.length);Le=De(be)}else if(a?.key==="ORDERING_SENTENCE"){let be=1;Array.isArray(O.items)&&O.items.length>0?be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(be=O.sentences.length),Le=$e(be)}else Array.isArray(O.items)&&(Le=O.items.length>0?De(O.items.length):"")}catch{}const Ee=C==="list",je=C==="compact",Te=C==="small",Ie=Te&&a?.key?ds().find(be=>be.key===a.key)?.label??"":"",He=!!f&&!!a?.label&&a.label!==String(ge)||Te&&!!Ie&&Ie!==String(ge);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{ref:S,className:`training-block-button${Ee?" training-block-button--list":""}${je?" training-block-button--compact":""}${Te?" training-block-button--small":""}${pe?" training-block-button--completed":""}${P?" training-block-button--selected":""}${He&&!Te?" training-block-button--withType":""}${Te&&!He?" training-block-button--no-type-label":""}`,onClick:J,onPointerEnter:ae,onPointerLeave:B,role:"button",tabIndex:0,onKeyDown:Y,"aria-label":typeof n=="string"?n:typeof ge=="string"?ge:void 0,children:[o.jsxs("div",{className:"training-block-button__left",children:[f&&a?.label&&a.label!==String(ge)&&o.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Te&&Ie&&Ie!==String(ge)&&o.jsx("span",{className:"training-block-button__type-label caption-2",children:Ie}),o.jsx(Sm,{icon:de,label:ge,tooltip:ve,wrapperStyle:I,iconSize:Te||je?"small":"medium"}),!g&&(pe||P)&&!(p&&j)&&o.jsx(ht,{type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":pe?x("training.completed","\uD6C8\uB828 \uC644\uB8CC"):x("training.selected","\uC120\uD0DD\uB428")}),p&&j&&o.jsx(ht,{type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":x("common.remove","\uC81C\uAC70"),onClick:ue}),o.jsx("div",{className:`training-block-button__title ${je?"body-3":Te?"body-3b":"h3"}`,children:String(ge)}),o.jsxs("div",{className:"training-block-button__description",children:[(()=>{const be=_!==void 0?_:Le;return be?o.jsx("div",{className:`training-block-button__count ${Te?"caption-2":"caption-1"}`,children:be}):null})(),o.jsx("div",{className:"training-block-button__chevron",children:o.jsx(Fe,{icon:"chevron-right",label:x("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:Te?12:20})})]}),(Ee||Te)&&R.length>0&&o.jsx("div",{ref:D,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:fe,onPointerEnter:L,onPointerLeave:$,children:o.jsx(re,{size:Te?28:32,type:"dot",icon:T?"pause":"play",variant:Te?"transparent-lightGray":"default",useBorder:!1,selected:T,ariaLabel:T?x("training.stop","\uC815\uC9C0"):x("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:H})})]}),y&&o.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:be=>{be.stopPropagation(),y(be)},children:o.jsx(re,{size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:x("common.more","\uB354\uBCF4\uAE30")})})]}),E&&o.jsx(aa,{anchorRect:z,text:T?x("training.stop","\uC815\uC9C0"):x("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:$}),j&&!k&&h&&(ie?o.jsx(to,{anchorRect:X,items:ie,activeIndex:F,onClose:B}):O?.subTitle?o.jsx(aa,{anchorRect:X,text:O.subTitle,offset:8,onClose:B}):null),k&&s&&s({trainingData:O,typeKey:a?.key??"",onClose:ee,onComplete:ye,popupTitle:String(ge),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:de,popupIconTooltip:String(ve),popupWrapperStyle:I})]})}const kn=20;function Am(e){const{t}=me.useTranslation(),{type:a,trainingDatas:r,depth:n,renderPopup:i,completedIds:s,selectedIds:c,onItemComplete:d,size:u,useDescriptionTooltip:m,onRemove:h,onMore:p,sectionType:g="page"}=e||{},[,f]=l.useState(0),b=typeof r<"u"?Array.isArray(r)?r:[]:[],v=b.length,[y,_]=l.useState(Math.min(v,kn)),C=l.useMemo(()=>Array.isArray(n)?[...n,a?.label].filter(Boolean).join(" \xB7 "):[n||"",a?.label].filter(Boolean).join(" \xB7 "),[n,a?.label]);l.useEffect(()=>{_(Math.min(v,kn))},[v]),ur("speechear.data.updated",()=>f(k=>k+1));function x(){_(k=>Math.min(v,k+kn))}return o.jsxs(no,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[o.jsx("div",{className:"training-list",children:(b||[]).slice(0,y).map((k,w)=>{const S=k;return o.jsx(wn,{index:w,type:a,trainingData:S,depth:C,renderPopup:i,completedIds:s,selectedIds:c,size:u,useDescriptionTooltip:m,onRemove:typeof h=="function"&&c!=null&&S?.id!=null&&c.has(String(S.id))?()=>h(S):void 0,onComplete:typeof d=="function"&&S?.id!=null?()=>d(String(S.id)):void 0,onMore:typeof p=="function"?j=>p(S,j):void 0},S?.id!=null?`${a?.key||"t"}-${String(S.id)}`:`${a?.key||"t"}-${w}`)})}),v>kn&&y<v&&o.jsx("div",{className:"training-block__more",children:o.jsx(re,{size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function ec(e){const t=l.useRef(null),[a,r]=l.useState(!!e),[n,i]=l.useState(!1);l.useEffect(()=>{i(!1);const d=t.current;r(!!e&&!(d?.complete&&d.naturalWidth>0))},[e]);const s=l.useCallback(()=>r(!1),[]),c=l.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:n,hasImage:!!e&&!n,onLoad:s,onError:c}}let Bo=null;function lk(e){if(Bo&&Bo!==e)try{Bo()}catch{}return Bo=e,()=>{Bo===e&&(Bo=null)}}var ck='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',dk='.ihabdevteam-core-scope .training-word-card{background:var(--color-white);border-radius:var(--radius-m);display:flex;flex:none;flex-direction:column;height:260px;overflow:visible;perspective:900px;position:relative;width:200px}.ihabdevteam-core-scope .training-word-card--disabled{cursor:default}.ihabdevteam-core-scope .training-word-card__flipper{border-radius:var(--radius-m);box-shadow:var(--shadow-card);display:flex;flex:1;flex-direction:column;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}.ihabdevteam-core-scope .training-word-card--flipped .training-word-card__flipper{transform:rotateY(180deg)}.ihabdevteam-core-scope .training-word-card__front{box-sizing:border-box;flex:1;flex-direction:column;gap:var(--spacing-s);min-height:0;padding:10px var(--spacing-m)}.ihabdevteam-core-scope .training-word-card__back,.ihabdevteam-core-scope .training-word-card__front{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;justify-content:center}.ihabdevteam-core-scope .training-word-card__back{background:#f3f5f6;background:var(--color-deepWhite,#f3f5f6);border-radius:var(--radius-m);inset:0;position:absolute;transform:rotateY(180deg)}.ihabdevteam-core-scope .training-word-card__back:before{border:8px solid var(--color-darkWhite);border-radius:var(--radius-m);content:"";inset:0;pointer-events:none;position:absolute}.ihabdevteam-core-scope .training-word-card__disabled-symbol{filter:invert(93%) sepia(6%) saturate(247%) hue-rotate(163deg) brightness(101%) contrast(93%);height:52px;opacity:.6;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:52px}.ihabdevteam-core-scope .training-word-card__selected-badge{position:absolute;right:0;top:0;transform:translate(12%,-12%);z-index:3}.ihabdevteam-core-scope .training-word-card__selected-badge .circle-badge{border:2px solid var(--color-pureWhite)}.ihabdevteam-core-scope .training-word-card--selectable{cursor:pointer;outline:1px solid transparent;overflow:visible;transition:box-shadow .15s,outline-color .15s}.ihabdevteam-core-scope .training-word-card--selectable:not(.training-word-card--disabled):hover{box-shadow:0 4px 16px rgba(9,30,34,.12);outline:1px solid var(--color-main)}.ihabdevteam-core-scope .training-word-card--selectable.training-word-card--selected:hover,.ihabdevteam-core-scope .training-word-card--selected{box-shadow:none;outline:2px solid #4f6ef7;outline:2px solid var(--color-main,#4f6ef7)}.ihabdevteam-core-scope .training-word-card__image-wrap{aspect-ratio:4/3;background:#f3f5f6;border-radius:var(--radius-s);flex-shrink:0;overflow:hidden;padding:0;position:relative;width:100%}.ihabdevteam-core-scope .training-word-card__image{-webkit-user-drag:none;display:block;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;transition:opacity .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ihabdevteam-core-scope .training-word-card__placeholder{background:linear-gradient(160deg,#f0f2f4,#e4e8ea);height:100%;width:100%}.ihabdevteam-core-scope .training-word-card__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute;z-index:1}.ihabdevteam-core-scope .training-word-card__spinner:after{animation:twCard__spin .7s linear infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--color-main,#4f6ef7);content:"";height:28px;width:28px}@keyframes twCard__spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .training-word-card__body{align-items:center;display:flex;flex-direction:column;gap:3px;padding:0}.ihabdevteam-core-scope .training-word-card__word{color:#0b2b35;color:var(--color-black,#0b2b35);font-size:22px;font-weight:700;line-height:1.25;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-word-card__pronunciation{color:#70858a;color:var(--color-gray,#70858a);font-size:13px;font-weight:500;line-height:1.4;text-align:center}.ihabdevteam-core-scope .training-word-card__colloquial{color:#a0b0b5;color:var(--color-lightGray,#a0b0b5);line-height:1.4;text-align:center}.ihabdevteam-core-scope .training-word-card__bottom{display:flex;flex-shrink:0;justify-content:center}@media (max-width:720px){.ihabdevteam-core-scope .training-word-card{border-radius:var(--radius-card)}.ihabdevteam-core-scope .training-word-card__word{font-size:18px}.ihabdevteam-core-scope .training-word-card__body{gap:2px}.ihabdevteam-core-scope .training-word-card__front{gap:var(--spacing-xs)}.ihabdevteam-core-scope .training-word-card__back,.ihabdevteam-core-scope .training-word-card__back:before{border-radius:var(--radius-card)}}@media (max-width:767px){.ihabdevteam-core-scope .training-word-card{border-radius:var(--radius-card);height:auto;width:100%}.ihabdevteam-core-scope .training-word-card__flipper{border-radius:var(--radius-card);box-shadow:0 2px 8px rgba(0,0,0,.03)}.ihabdevteam-core-scope .training-word-card__front{padding:var(--spacing-s)}.ihabdevteam-core-scope .training-word-card__back:before{border-width:4px}.ihabdevteam-core-scope .training-word-card__image-wrap{aspect-ratio:1/1}.ihabdevteam-core-scope .training-word-card__word{font-size:14px}.ihabdevteam-core-scope .training-word-card__pronunciation{font-size:11px}.ihabdevteam-core-scope .training-word-card__body{gap:2px}.ihabdevteam-core-scope .training-word-card__front{gap:4px}}';te(dk);const uk=ck,Sn=l.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:n=!1,onSelect:i,flipDelay:s=0,hideLabel:c=!1,hideAudio:d=!1,orderRank:u=null},m){const{t:h}=me.useTranslation(),p=e.word||e.title||"",g=t||!p,f=e.audio??e.sound??e.audioKey,b=e.subLabel||e.pronunciation||"",v=e.colloquialLabel||"",[y,_]=l.useState({label:p,subLabel:b,colloquialLabel:v,homonum:e.homonum});p&&y.label!==p&&_({label:p,subLabel:b,colloquialLabel:v,homonum:e.homonum});const C=l.useRef(null),x=oa("(max-width: 767px)"),[k,w]=l.useState(!1),[S,j]=l.useState(""),A=Ma()?.(y.label,y.homonum)??e.image??"",{imgRef:T,loading:F,hasImage:R,onLoad:E,onError:M}=ec(A);l.useEffect(()=>{let L=!1;return(async()=>{if(f){if(typeof f=="string"){if(f.startsWith("http")||f.includes("/")){j(f);return}}else if(typeof f=="object"&&!Array.isArray(f)){const z=f.src;if(z){j(z);return}}}const $=Fo();if($&&p)try{const z=await Promise.resolve($(p));!L&&z&&j(z)}catch{}})(),()=>{L=!0}},[f,p]),l.useEffect(()=>()=>{try{C.current?.pause()}catch{}C.current=null},[]);const D=l.useCallback(()=>new Promise(L=>{if(typeof window<"u"&&window.speechSynthesis&&p){w(!0),window.speechSynthesis.cancel();const $=new SpeechSynthesisUtterance(p);$.lang="ko-KR",$.onend=()=>{w(!1);try{a?.()}catch{}L()},$.onerror=()=>{w(!1),L()},window.speechSynthesis.speak($)}else L()}),[p,a]),H=l.useCallback(L=>new Promise($=>{let z=!1;const V=()=>{z||(z=!0,w(!1),$(!1))};try{const X=new Audio(L);C.current=X,X.onended=()=>{if(!z){z=!0,w(!1);try{a?.()}catch{}$(!0)}},X.onerror=V,X.play().catch(V)}catch{V()}}),[a]),J=l.useCallback(async()=>{if(t)return;const L=lk(()=>{try{C.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1)});try{window.speechSynthesis?.cancel()}catch{}try{if(S&&(w(!0),await H(S)))return;const $=ni();if($&&p)try{const z=await Promise.resolve($(p));if(z&&(w(!0),await H(z)))return}catch{}await D()}finally{L()}},[t,S,p,H,D]);l.useImperativeHandle(m,()=>({play:()=>J()}),[J]);const ee=L=>L.stopPropagation(),ae=l.useCallback(L=>{if(L.stopPropagation(),!t){if(k){try{C.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1);return}J()}},[t,k,J]),B=_e("training-word-card",t?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",n?"training-word-card--selected":"");return o.jsx("div",{className:B,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?n:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?L=>{(L.key==="Enter"||L.key===" "||L.key==="Spacebar")&&(L.preventDefault(),i?.())}:void 0,children:o.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${s}ms`},children:[o.jsxs("div",{className:"training-word-card__front",children:[n&&o.jsx("div",{className:"training-word-card__selected-badge",onClick:ee,children:o.jsx(ht,{type:"dot",size:40,position:"inline",animate:!0,icon:u!=null?void 0:"check",number:u??void 0,"aria-label":u!=null?h("training.nthSelected",{n:u}):h("training.selected","\uC120\uD0DD\uB428")})}),o.jsx("div",{className:"training-word-card__image-wrap",children:R?o.jsxs(o.Fragment,{children:[F&&o.jsx("div",{className:"training-word-card__spinner"}),o.jsx("img",{ref:T,className:"training-word-card__image",src:A,alt:y.label||h("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:F?0:1},onLoad:E,onError:M})]}):o.jsx("div",{className:"training-word-card__placeholder"})}),!c&&o.jsxs("div",{className:"training-word-card__body",children:[o.jsx("div",{className:"training-word-card__word",children:y.label}),y.subLabel&&o.jsxs("div",{className:"training-word-card__pronunciation",children:["[",y.subLabel,"]"]}),y.colloquialLabel&&o.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",y.colloquialLabel,"]"]})]}),!d&&o.jsx("div",{className:"training-word-card__bottom",onClick:r?ee:void 0,children:o.jsx(re,{size:x?40:48,type:x?"dot":"bar",icon:k?"pause":"play",label:x?void 0:h("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:ae,disabled:t,ariaLabel:h("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),o.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:o.jsx("img",{src:uk,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})});let xr=0,Tm="",Bm="",Cr=0;function pk(){return Nm(!1)}function hk(){return Nm(!0)}function Nm(e){const t=typeof document<"u";xr===0&&t&&(Tm=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Cr===0&&(Bm=document.body.style.paddingRight),Cr++,document.body.style.paddingRight="0px"),xr++;let a=!1;return()=>{a||(a=!0,xr=Math.max(0,xr-1),e&&t&&(Cr=Math.max(0,Cr-1),Cr===0&&(document.body.style.paddingRight=Bm)),xr===0&&t&&(document.body.style.overflow=Tm))}}var mk=".ihabdevteam-core-scope .popup{align-items:center;background:rgba(16,24,32,.6);background:var(--color-popupBlock,rgba(16,24,32,.6));display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal)}.ihabdevteam-core-scope .popup.popup--inline{align-items:stretch;background:transparent;justify-content:stretch;position:relative;z-index:5}.ihabdevteam-core-scope .popup.popup--inline .popup-panel{width:100%}.ihabdevteam-core-scope .popup-panel{background:var(--color-white);border-radius:28px;box-shadow:var(--shadow-popup);display:flex;flex-direction:column;max-height:calc(100% - 60px);max-width:820px;overflow:hidden;position:relative;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-panel--small{max-width:480px}.ihabdevteam-core-scope .popup-panel--medium{max-width:680px}.ihabdevteam-core-scope .popup-panel--large{max-width:1080px}.ihabdevteam-core-scope .popup-close-float{align-items:center;display:flex;gap:var(--spacing-xs);position:absolute;right:8px;top:8px;z-index:1}.ihabdevteam-core-scope .popup-title{display:block;flex-shrink:0;padding:var(--spacing-l);text-align:center}.ihabdevteam-core-scope .popup-header{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-s);padding:var(--spacing-l) var(--spacing-l) 0}.ihabdevteam-core-scope .popup-header--with-subtitle{align-items:flex-start}.ihabdevteam-core-scope .popup-header-main{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.ihabdevteam-core-scope .popup-title--left{flex:1;min-width:0;padding:0;text-align:left}.ihabdevteam-core-scope .popup-header-main .popup-title--left{flex:none}.ihabdevteam-core-scope .popup-header .popup-title--left{margin:0}.ihabdevteam-core-scope .popup-subtitle{color:var(--color-gray);margin:0;text-align:left}.ihabdevteam-core-scope .popup-header-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .popup-content{-webkit-overflow-scrolling:touch;display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 20px 0;touch-action:pan-y}.ihabdevteam-core-scope .popup-content__inner{padding-bottom:20px}.ihabdevteam-core-scope .popup-footer{display:flex;gap:8px;justify-content:center;padding:0 20px 20px}.ihabdevteam-core-scope .popup-footer--buttons>*{flex:1;max-width:200px}.ihabdevteam-core-scope .popup--closing{opacity:0;transition:opacity .26s ease}@media (max-width:767px){.ihabdevteam-core-scope .popup-panel{max-height:calc(100% - 132px - env(safe-area-inset-bottom))}}.ihabdevteam-core-scope .form-date-row{display:flex;flex:1;gap:6px;min-width:0}.ihabdevteam-core-scope .form-date-row>div{min-width:90px}.ihabdevteam-core-scope .form-date-row--ymd>div:first-child{flex:3}.ihabdevteam-core-scope .form-date-row--ymd>div:nth-child(2),.ihabdevteam-core-scope .form-date-row--ymd>div:nth-child(3){flex:2}.ihabdevteam-core-scope .form-date-row--hm>div{flex:1}.ihabdevteam-core-scope .form-date-row--gap-8{gap:8px}@media (max-width:360px){.ihabdevteam-core-scope .form-date-row--ymd{flex-wrap:wrap}.ihabdevteam-core-scope .form-date-row--ymd>div:first-child{flex:1 0 100%}}.ihabdevteam-core-scope .form-field-error{color:var(--color-error);font-size:13px;margin-bottom:8px;padding:6px 0}.ihabdevteam-core-scope .confirm-popup__message{margin:0 auto;max-width:100%;padding:8px 0;text-align:left;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .confirm-popup .popup-content{padding-top:40px}.ihabdevteam-core-scope .confirm-popup .popup-content__inner{padding-bottom:40px}.ihabdevteam-core-scope .confirm-popup .panel+.confirm-popup__message{margin-top:16px}.ihabdevteam-core-scope .confirm-popup__top{display:flex;justify-content:center;margin-bottom:20px}";te(mk);const bk=260;function Ta(e){const{t}=me.useTranslation(),{title:a,subtitle:r,headerActions:n,children:i,buttons:s,footer:c,footerClassName:d="",onClose:u,closeDisabled:m=!1,beforeClose:h,className:p="",ariaLabel:g,useTitle:f=!0,inline:b=!1,size:v,resetScrollKey:y}=e||{},[_,C]=l.useState(!1),x=l.useRef(!1),k=l.useRef(null),w=l.useId(),S=l.useRef(null);l.useEffect(()=>{},[b,a,g,p]),l.useEffect(()=>{y!==void 0&&S.current&&(S.current.scrollTop=0)},[y]);const[j,A]=l.useState(!1);l.useEffect(()=>{const D=S.current;if(!D)return;const H=()=>A(D.scrollHeight>D.clientHeight+1);if(H(),typeof ResizeObserver>"u")return;const J=new ResizeObserver(H);J.observe(D);const ee=D.firstElementChild;return ee&&J.observe(ee),()=>J.disconnect()},[i,y]),l.useEffect(()=>{if(!b)return pk()},[b]),l.useEffect(()=>{if(b)return;const D=document.activeElement,H=k.current;return H&&!H.contains(document.activeElement)&&(H.querySelector(dr)??H).focus(),()=>{D?.focus?.()}},[b]),ks(k,!b);const T=l.useCallback(D=>{x.current||(x.current=!0,C(!0),setTimeout(()=>{try{D&&D()}catch{}},bk))},[]),F=l.useCallback(()=>{m||h&&h()===!1||T(u)},[T,u,m,h]),R=l.useRef(F);l.useEffect(()=>{R.current=F});const E=!b&&!!u;l.useEffect(()=>{if(E)return wl(()=>R.current())},[E]);const M=o.jsx("div",{className:`popup ${b?"popup--inline":""} ${_?"popup--closing":""} ${p}`,children:o.jsxs("div",{ref:k,className:`popup-panel${v?` popup-panel--${v}`:""}`,tabIndex:-1,role:b?void 0:"dialog","aria-modal":b?void 0:!0,"aria-labelledby":!b&&a?w:void 0,"aria-label":!b&&!a&&g?g:void 0,children:[!f&&(n||u)?o.jsxs("div",{className:"popup-close-float",children:[n,u&&o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||n||u?o.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[o.jsxs("div",{className:"popup-header-main",children:[o.jsx("span",{id:w,className:"popup-title popup-title--left h2",children:a}),r&&o.jsx("span",{className:"popup-subtitle body-3",children:r})]}),o.jsxs("div",{className:"popup-header-actions",children:[n,u&&o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,o.jsx("div",{className:"popup-content",ref:S,tabIndex:j?0:void 0,children:o.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:T,closeWithAnimation:F}):i})}),s?.length?o.jsx("div",{className:"popup-footer popup-footer--buttons",children:s.map((D,H)=>o.jsx(re,{size:48,variant:D.variant??"default",label:D.label,disabled:D.disabled,onClick:()=>D.onClick?.({animateThen:T,closeWithAnimation:F})},H))}):c?o.jsx("div",{className:`popup-footer${d?` ${d}`:""}`,children:typeof c=="function"?c({animateThen:T,closeWithAnimation:F}):c}):null]})});return b||typeof document>"u"?M:qt.createPortal(M,document.body)}function _r(e){return String(e)}const tc=["o","triangle","x"];function ac(e,t){return e===t?null:t}const oc={o:"circle",triangle:"triangle",x:"x"},rc={o:"main",triangle:"warn",x:"danger"};function Dm(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const n=t+a+r;return{marked:n,o:t,triangle:a,x:r,rate:n===0?null:(t+a*.5)/n}}function An(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function nc(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function Em(e,t){return!t&&e>0}var gk=`.ihabdevteam-core-scope .word-table__scaler{overflow:clip;overflow-clip-margin:32px;width:100%}.ihabdevteam-core-scope .word-table{--print-margin:57px;background:#fbfdff;border:1px solid var(--color-whiteLine);box-shadow:var(--shadow-dropdown);box-sizing:border-box;padding:57px;padding:var(--print-margin)}.ihabdevteam-core-scope .word-table-block__content{box-sizing:border-box;display:grid;height:100%;position:relative;width:100%}.ihabdevteam-core-scope .word-table__page-number{bottom:8px;color:var(--color-gray);pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .word-table__page-number--left{left:12px}.ihabdevteam-core-scope .word-table__page-number--right{right:12px}.ihabdevteam-core-scope .word-table__page-number--center{left:50%;transform:translateX(-50%)}.ihabdevteam-core-scope .word-table-block__content--cut-show{background:var(--color-whiteLine);gap:1px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-block__content--outline{position:relative}.ihabdevteam-core-scope .word-table-block__content--outline:after{border:1px solid var(--color-whiteLine);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.ihabdevteam-core-scope .word-table-block__content--cut-corner .word-table-block__card{background:linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /1px 8px no-repeat,#fbfdff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-block__card{background:#fbfdff;display:flex;min-height:0;overflow:hidden;position:relative;transition:box-shadow .15s}.ihabdevteam-core-scope .word-table-block__card--filler{align-items:center;justify-content:center}.ihabdevteam-core-scope .word-table-block__card:not(.word-table-block__card--filler):hover{box-shadow:var(--shadow-dropdown);z-index:1}.ihabdevteam-core-scope .word-table-block__card--draggable{cursor:grab}.ihabdevteam-core-scope .word-table-block__card--draggable:active{cursor:grabbing}.ihabdevteam-core-scope .word-table-block__card--drag-over{outline:2px solid var(--color-main);outline-offset:-2px;z-index:2}.ihabdevteam-core-scope .word-table-block__card-close{opacity:0;position:absolute;right:20px;top:20px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card-close:focus-visible,.ihabdevteam-core-scope .word-table-block__card-close:focus-within,.ihabdevteam-core-scope .word-table-block__card:focus-within .word-table-block__card-close,.ihabdevteam-core-scope .word-table-block__card:hover .word-table-block__card-close{opacity:1}.ihabdevteam-core-scope .word-table-block__pair-divider{align-self:center;background:var(--color-whiteLine);display:none;flex-shrink:0;height:20%;print-color-adjust:exact;-webkit-print-color-adjust:exact;width:1px}.ihabdevteam-core-scope .word-table-block__content--div-line .word-table-block__pair-divider{display:block}.ihabdevteam-core-scope .word-table-block__edit-cell{align-items:stretch;background:#fbfdff;display:flex;flex-direction:row;min-height:0;overflow:hidden;position:relative;transition:box-shadow .15s}.ihabdevteam-core-scope .word-table-block__edit-cell--filled:hover{box-shadow:var(--shadow-dropdown);z-index:1}.ihabdevteam-core-scope .word-table-block__edit-cell--filled:focus-within .word-table-block__card-close,.ihabdevteam-core-scope .word-table-block__edit-cell--filled:hover .word-table-block__card-close{opacity:1}.ihabdevteam-core-scope .word-table-block__edit-cell--empty{align-items:center;justify-content:center}.ihabdevteam-core-scope .word-table-block__edit-cell--active{background:rgba(73,156,223,.04);background:rgba(var(--color-main-rgb,73,156,223),.04);outline:2px solid var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .word-table-block__content--cut-corner .word-table-block__edit-cell{background:linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /1px 8px no-repeat,#fbfdff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-cell{align-items:center;display:flex;flex:1;justify-content:center;min-height:0;min-width:0;overflow:hidden;position:relative}.ihabdevteam-core-scope .word-table-cell__inner{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:380px;justify-content:center;transform-origin:center center;width:280px}.ihabdevteam-core-scope .word-table-cell__word{color:var(--color-black);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__sub{color:var(--color-gray);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__colloquial{color:var(--color-lightGray);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__play-button{left:20px;opacity:0;position:absolute;top:20px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-cell__play-button:focus-visible,.ihabdevteam-core-scope .word-table-cell__play-button:focus-within{opacity:1}.ihabdevteam-core-scope .word-table-cell__info-button{left:20px;opacity:0;position:absolute;top:60px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-cell__info-button:focus-visible,.ihabdevteam-core-scope .word-table-cell__info-button:focus-within{opacity:1}.ihabdevteam-core-scope .word-table-cell__image-wrap{background:var(--color-deepWhite);border-radius:var(--radius-card);flex-shrink:0;height:240px;overflow:hidden;position:relative;width:240px}.ihabdevteam-core-scope .word-table-cell__image{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .word-table-cell__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .word-table-cell__spinner:after{animation:wordTableCell_spin .7s linear infinite;border:3px solid #fbfdff;border-radius:50%;border-top:3px solid var(--color-white,#fbfdff);border:3px solid var(--color-white,#fbfdff);border-top-color:var(--color-main,var(--color-main));content:"";height:32px;width:32px}@keyframes wordTableCell_spin{to{transform:rotate(1turn)}}@media print{@page{margin:0}.ihabdevteam-core-scope body *{visibility:hidden}.ihabdevteam-core-scope .word-table,.ihabdevteam-core-scope .word-table *{visibility:visible}
|
|
848
|
+
\uB36E\uC5B4\uC368\uC9D0(\uC624\uB298 \uD45C\uC2DC\uAC00 \uBB34\uC758\uBBF8\uD574\uC9D0). \uC2E4\uC81C \uACBD\uD569 \uD655\uC778\uB428. */.ihabdevteam-core-scope .calendar-cell.today .calendar-cell__number{align-items:center;background:var(--color-main);border-radius:50%;color:#fff!important;display:flex;height:24px;justify-content:center;width:24px}.ihabdevteam-core-scope .calendar-cell__number{align-items:center;color:var(--color-darkGray);display:flex;font-weight:600;height:24px;justify-content:center;margin-bottom:6px;width:24px}.ihabdevteam-core-scope .calendar-cell:nth-child(7n+8) .calendar-cell__number{color:var(--color-error)}.ihabdevteam-core-scope .calendar-cell:nth-child(7n+14) .calendar-cell__number{color:var(--color-main)}.ihabdevteam-core-scope .calendar-cell__badges{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .calendar-visit-badge{align-items:center;background:var(--color-main-a10);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--color-main);display:flex;gap:6px;min-height:28px;overflow:hidden;padding:0 8px}.ihabdevteam-core-scope .calendar-visit-badge__time{flex-shrink:0;font-weight:400;opacity:.7}.ihabdevteam-core-scope .calendar-visit-badge__name{flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .calendar-visit-badge--scheduled{background:var(--color-sub-a10);color:var(--color-sub)}.ihabdevteam-core-scope .calendar-visit-badge--no-visit{background:color-mix(in srgb,var(--color-disabled) 15%,#fff);color:var(--color-disabled)}.ihabdevteam-core-scope .calendar-visit-badge__no-visit{background:var(--color-disabled);border-radius:var(--radius-xs);color:#fff;flex-shrink:0;line-height:1.4;padding:1px 5px}.ihabdevteam-core-scope .calendar-visit-badge--clickable{cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ihabdevteam-core-scope .calendar-visit-badge--clickable:hover{background:var(--color-main);border-color:transparent;color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--scheduled.calendar-visit-badge--clickable:hover{background:var(--color-sub);color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--no-visit.calendar-visit-badge--clickable:hover{background:var(--color-disabled);color:#fff}.ihabdevteam-core-scope .calendar-visit-badge--draggable{cursor:grab}.ihabdevteam-core-scope .calendar-visit-badge--draggable:active{cursor:grabbing;opacity:.5}.ihabdevteam-core-scope .calendar-nav__button{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .calendar-nav__button-icon{display:block}.ihabdevteam-core-scope .calendar-cell--clickable{cursor:pointer}.ihabdevteam-core-scope .calendar-cell--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .calendar-cell--clickable:focus-visible{outline:2px solid var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .calendar-cell.drag-over{background:var(--color-main-a10);outline:1px solid var(--color-main);outline-offset:-1px}@media (max-width:767px){.ihabdevteam-core-scope .calendar-nav{flex-wrap:wrap}.ihabdevteam-core-scope .calendar-nav__legend{justify-content:center;position:static;width:100%}.ihabdevteam-core-scope .calendar-cell,.ihabdevteam-core-scope .calendar-day-header{min-width:0}.ihabdevteam-core-scope .calendar-cell{min-height:72px;padding:4px}}`;te(X8);function wm(e,t){return e?{role:t?.role??"button",tabIndex:0,...t?.selected===void 0?{}:{"aria-selected":t.selected},onKeyDown:a=>{a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),e(a))}}:{}}function J8(e,t){return new Date(e,t+1,0).getDate()}function Q8(e,t){return new Date(e,t,1).getDay()}function km({visits:e=[],onVisitClick:t,onVisitMove:a,onDayClick:r}){const{t:n}=me.useTranslation(),i=l.useMemo(()=>n("calendar.dow",{returnObjects:!0}),[n]),[s,c]=l.useState(new Date().getFullYear()),[d,u]=l.useState(new Date().getMonth()),[m,h]=l.useState(null),p=l.useRef(null),g=new Date,f=l.useMemo(()=>{const x={};return e.forEach(k=>{x[k.date]||(x[k.date]=[]),x[k.date].push(k)}),x},[e]),b=l.useMemo(()=>{const x=J8(s,d),k=Q8(s,d),w=[];for(let S=0;S<k;S++)w.push(null);for(let S=1;S<=x;S++)w.push(S);for(;w.length<35;)w.push(null);return w},[s,d]),v=l.useCallback(()=>{d===0?(c(x=>x-1),u(11)):u(x=>x-1)},[d]),y=l.useCallback(()=>{d===11?(c(x=>x+1),u(0)):u(x=>x+1)},[d]),_=x=>`${s}-${String(d+1).padStart(2,"0")}-${String(x).padStart(2,"0")}`,C=x=>g.getFullYear()===s&&g.getMonth()===d&&g.getDate()===x;return o.jsxs("div",{children:[o.jsxs("div",{className:"calendar-nav",children:[o.jsx("button",{className:"calendar-nav__button",onClick:v,"aria-label":n("calendar.prevMonth","\uC774\uC804 \uB2EC"),children:o.jsx(Fe,{icon:"chevron-left",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),o.jsx("span",{className:"calendar-nav__title h5",children:n("calendar.yearMonth",{year:s,month:d+1})}),o.jsx("button",{className:"calendar-nav__button",onClick:y,"aria-label":n("calendar.nextMonth","\uB2E4\uC74C \uB2EC"),children:o.jsx(Fe,{icon:"chevron-right",label:"",className:"",svgClassName:"calendar-nav__button-icon",size:18})}),o.jsxs("div",{className:"calendar-nav__legend",children:[o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--main"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.visited","\uBC29\uBB38")}),o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--sub"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.scheduled","\uC608\uC57D")}),o.jsx("span",{className:"calendar-nav__legend-dot calendar-nav__legend-dot--disabled"}),o.jsx("span",{className:"caption-1",children:n("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]})]}),o.jsxs("div",{className:"calendar-grid",children:[i.map(x=>o.jsx("div",{className:"calendar-day-header body-3",children:x},x)),b.map((x,k)=>{if(x===null)return o.jsx("div",{className:"calendar-cell empty"},`empty-${k}`);const w=x,S=_(w),j=f[S]??[],A=m===S;return o.jsxs("div",{className:`calendar-cell${C(w)?" today":""}${A?" drag-over":""}${r?" calendar-cell--clickable":""}`,role:r?"button":void 0,tabIndex:r?0:void 0,"aria-label":r?n("calendar.addOnDate",{date:S}):void 0,onClick:r?()=>r(S):void 0,onKeyDown:r?B=>{B.key!=="Enter"&&B.key!==" "||(B.preventDefault(),r(S))}:void 0,onDragOver:a?B=>{B.preventDefault(),h(S)}:void 0,onDragLeave:a?B=>{B.currentTarget.contains(B.relatedTarget)||h(null)}:void 0,onDrop:a?B=>{B.preventDefault(),p.current!=null&&(a(p.current,S),p.current=null),h(null)}:void 0,children:[o.jsx("div",{className:"calendar-cell__number body-3",children:w}),o.jsx("div",{className:"calendar-cell__badges",children:j.map((B,F)=>o.jsxs("div",{draggable:!!a,className:`calendar-visit-badge${B.status==="noVisit"?" calendar-visit-badge--no-visit":B.status==="scheduled"?" calendar-visit-badge--scheduled":""}${t?" calendar-visit-badge--clickable":""}${a?" calendar-visit-badge--draggable":""}`,onDragStart:a?R=>{p.current=B.id,R.dataTransfer.effectAllowed="move"}:void 0,onDragEnd:a?()=>{p.current=null,h(null)}:void 0,onClick:t?R=>{R.stopPropagation(),t(B)}:void 0,...wm(t?()=>t(B):void 0),"aria-label":[B.time?Jr(B.time,n):null,B.customer,n(B.status==="noVisit"?"calendar.legend.noVisit":B.status==="scheduled"?"calendar.legend.scheduled":"calendar.legend.visited")].filter(Boolean).join(" "),children:[B.time&&o.jsx("span",{className:"calendar-visit-badge__time body-3",children:Jr(B.time,n)}),o.jsx("span",{className:"calendar-visit-badge__name body-3",children:B.customer}),B.status==="noVisit"&&o.jsx("span",{className:"calendar-visit-badge__no-visit caption-1",children:n("calendar.legend.noVisit","\uBBF8\uBC29\uBB38")})]},B.id??F))})]},w)})]})]})}var ek=".ihabdevteam-core-scope .section{display:flex;flex-direction:column;text-align:left;width:100%}.ihabdevteam-core-scope .section--page{gap:var(--spacing-m);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section--pagePopup{gap:var(--spacing-s);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section--popup{gap:var(--spacing-xs);padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .section:last-child{padding-bottom:0}.ihabdevteam-core-scope .section__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .section__title-row{align-items:flex-start;display:flex;flex:1;gap:var(--spacing-s)}.ihabdevteam-core-scope .section__icon{align-items:center;background:var(--t-item-bg,var(--color-deepWhite));color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:5px;width:20px}.ihabdevteam-core-scope .section__title-group{display:flex;flex-direction:column;gap:4px}.ihabdevteam-core-scope .section__title{color:var(--color-black);margin:0}.ihabdevteam-core-scope .section__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .section__action{flex-shrink:0}@media (max-width:767px){.ihabdevteam-core-scope .section__header{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}";te(ek);const tk={page:"h3",pagePopup:"h4",popup:"h5"};function no({type:e="page",title:t,icon:a,action:r,disc:n,children:i,className:s,style:c}){const d=tk[e],u=t||n;return o.jsxs("div",{className:_e("section",`section--${e}`,s),style:c,children:[u&&o.jsxs("div",{className:"section__header",children:[o.jsxs("div",{className:"section__title-row",children:[a&&o.jsx(Fe,{icon:a,label:typeof t=="string"?t:void 0,className:"section__icon"}),o.jsxs("div",{className:"section__title-group",children:[t&&o.jsx("div",{className:`section__title ${d}`,children:t}),n&&o.jsx("div",{className:"section__disc body-3",children:n})]})]}),r&&o.jsx("div",{className:"section__action",children:r})]}),i]})}var ak=".ihabdevteam-core-scope .training-blocks{align-items:flex-start;display:flex;flex-direction:column}.ihabdevteam-core-scope .training-block{border-radius:var(--radius-card);width:100%}.ihabdevteam-core-scope .training-list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px}.ihabdevteam-core-scope .training-block__more{display:flex;justify-content:center;margin-top:var(--spacing-l)}.ihabdevteam-core-scope .training-blocks--top-spaced{margin-top:18px}";te(ak);var ok=".ihabdevteam-core-scope .category-icon{align-items:center;background:var(--t-item-bg,color-mix(in srgb,var(--t-item-fg,var(--color-lightGray)) 10%,transparent));border-radius:var(--radius-s);color:var(--t-item-fg,var(--color-lightGray));display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .category-icon--small{border-radius:var(--radius-sm);height:28px;width:28px}.ihabdevteam-core-scope .category-icon__mask{background-color:currentColor;background-color:var(--t-item-fg,currentColor);border-radius:var(--radius-sm);display:inline-block;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .category-icon__image{border-radius:var(--radius-sm);display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .category-icon__svg svg{fill:currentColor;display:block}.ihabdevteam-core-scope .category-icon__wrap{cursor:default;display:inline-flex;position:relative}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";te(ok);function Sm({icon:e,label:t,tooltip:a,wrapperStyle:r,color:n,bgColor:i,useHover:s=!0,iconSize:c="medium"}){const d=c==="small",u=_e("category-icon",d?"category-icon--small":""),m=d?16:20,h=l.useRef(null),[p,g]=l.useState(!1),f=l.useMemo(()=>{const w=r&&typeof r=="object"?{...r}:{};return!n&&!i?w:{...w,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[r,n,i]),b=a||t,[v,y]=l.useState(null);l.useLayoutEffect(()=>{p&&y(h.current?.getBoundingClientRect()??null)},[p]),l.useEffect(()=>{if(!s&&p)try{g(!1)}catch{}},[s,p]),l.useEffect(()=>{if(!p)return;const w=S=>{const j=h.current;if(!j)return;const A=S.target;A&&!j.contains(A)&&g(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[p]);const _=l.useCallback(()=>{s&&g(!0)},[s]),C=l.useCallback(()=>{s&&g(!1)},[s]),x=l.useCallback(()=>g(!1),[]),k=l.useCallback(w=>{if(w.key==="Escape"){g(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(S=>!S))},[]);return o.jsxs("span",{ref:h,className:"category-icon__wrap",onPointerEnter:_,onPointerLeave:C,onFocus:_,onBlur:C,onKeyDown:k,role:"button",tabIndex:0,"aria-label":typeof b=="string"?b:void 0,"aria-haspopup":!!b,"aria-expanded":p,"data-tooltip-ignore":!0,children:[o.jsx(Fe,{icon:e,label:t,className:u,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:m}),p&&b&&o.jsx(ma,{anchorRect:v,text:typeof b=="string"?b:void 0,offset:8,onClose:x,className:"category-icon__tooltip",ariaLabel:typeof b=="string"?b:void 0})]})}var rk=".ihabdevteam-core-scope .training-block-button{background:var(--color-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-m);box-shadow:var(--shadow-card);box-sizing:border-box;cursor:pointer;display:inline-block;height:200px;padding:var(--spacing-l);position:relative;text-align:left;transition:all .12s;vertical-align:top;width:200px}.ihabdevteam-core-scope .training-block-button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button--completed{box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .training-block-button__more{position:absolute;right:var(--spacing-l);top:calc(var(--spacing-l) - 2px);z-index:2}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .training-block-button{height:190px;width:190px}}@media (max-width:767px){.ihabdevteam-core-scope .training-block-button{height:170px;width:calc(50% - 5px)}.ihabdevteam-core-scope .training-block-button__title.h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:20px;overflow:hidden}}.ihabdevteam-core-scope .training-block-button__left{display:block}.ihabdevteam-core-scope .training-block-button__title.h3{color:var(--color-black);left:20px;margin:0;position:absolute;right:20px;top:68px}.ihabdevteam-core-scope .training-block-button__description{align-items:center;bottom:20px;display:flex;gap:var(--spacing-xs);height:20px;justify-content:space-between;left:20px;position:absolute;right:20px}.ihabdevteam-core-scope .training-block-button__count{color:var(--color-darkGray)}.ihabdevteam-core-scope .training-block-button__chevron{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;margin-left:auto}.ihabdevteam-core-scope .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button__chevron-icon-image,.ihabdevteam-core-scope .training-block-button__chevron-icon-mask,.ihabdevteam-core-scope .training-block-button__chevron-icon-svg{align-items:center;color:var(--color-lightGray);display:inline-flex;height:20px;justify-content:center;width:20px}.ihabdevteam-core-scope .training-block-button__chevron-icon-mask{background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-image{display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .training-block-button__chevron-icon-svg svg{fill:currentColor;display:block;height:20px;width:20px}.ihabdevteam-core-scope .training-block-button .category-icon__wrap{left:18px;position:absolute;top:18px}.ihabdevteam-core-scope .training-block-button .category-icon{position:static}.ihabdevteam-core-scope .training-block-button__type-label{color:var(--color-gray);left:20px;overflow:hidden;position:absolute;right:20px;text-overflow:ellipsis;top:68px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--withType .training-block-button__title.h3{top:86px}.ihabdevteam-core-scope .training-block-button--small{height:120px;width:120px}.ihabdevteam-core-scope .training-block-button--small .category-icon__wrap{left:12px;top:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__type-label{color:var(--color-gray);left:12px;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:44px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small .training-block-button__title{color:var(--color-black);left:12px;margin:0;overflow:hidden;position:absolute;right:12px;text-overflow:ellipsis;top:60px;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--small.training-block-button--no-type-label .training-block-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;top:44px;white-space:normal}.ihabdevteam-core-scope .training-block-button--small .training-block-button__description{bottom:10px;height:16px;left:12px;right:12px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__more{right:6px;top:6px}.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg,.ihabdevteam-core-scope .training-block-button--small .training-block-button__chevron-icon-svg svg{height:12px;width:12px}.ihabdevteam-core-scope .training-block-button--list{box-shadow:none;min-height:68px;padding:0 12px;width:200px}.ihabdevteam-core-scope .training-block-button--list .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-s);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--list .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--list .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--list .training-block-button__description{display:none}.ihabdevteam-core-scope .training-block-button--list .training-block-button__preview{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;order:4}.ihabdevteam-core-scope .training-block-button--small .training-block-button__preview{align-items:center;display:inline-flex;justify-content:center;position:absolute;right:12px;top:12px;z-index:1}.ihabdevteam-core-scope .training-block-button--compact{background:transparent;border-color:transparent;box-shadow:none;height:40px;padding:0;width:100%}.ihabdevteam-core-scope .training-block-button--compact:hover{background:var(--color-darkWhite);border-color:transparent;box-shadow:none}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__left{align-items:center;display:flex;gap:var(--spacing-xs);height:100%;width:100%}.ihabdevteam-core-scope .training-block-button--compact .category-icon__wrap{flex-shrink:0;order:1;position:static}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__title{color:var(--color-black);flex:1;min-width:0;order:2;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--compact .training-block-button__description{display:none}";te(rk);function nk(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,r=s=>s.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const s=a.sentences||a.items||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}if(t==="SHORT_STORY"){const s=a.items||a.sentences||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"SHORT_S"}}if(t==="LONG_STORY"){const s=a.items||a.sentences||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LONG"}}if(t==="ORDERING_SENTENCE"){const s=a.sentences||a.items||[],c=Array.isArray(s)&&s.length>0?r(s):[];return c.length===0&&(a.contextCode||a.context_code)&&c.push(String(a.contextCode||a.context_code)),{previewCodes:c,previewBucket:"LIN_D"}}const n=a.sentences||a.items||[],i=r(Array.isArray(n)?n:[]);return i.length===0&&(a.contextCode||a.context_code)&&i.push(String(a.contextCode||a.context_code)),{previewCodes:i,previewBucket:null}}function ik(e,t){const[a,r]=l.useState(!1),[n,i]=l.useState(-1),[s,c]=l.useState([]),d=l.useRef(null),u=l.useRef(!1),m=l.useRef(null),[h,p]=l.useState(!1),g=l.useRef([]),{previewCodes:f,previewBucket:b}=nk(e,t);l.useEffect(()=>{if(!f.length)return;let y=!1;return(async()=>{const _=[],C=[];for(const x of f)try{const k=Er(x,b);if(!k){_.push("");continue}let w=null;try{w=await Oo(k)}catch{}if(!w)try{const S=await jr(k);S&&(w=URL.createObjectURL(S),C.push(w))}catch{}_.push(w??"")}catch{_.push("")}y?C.forEach(x=>{try{URL.revokeObjectURL(x)}catch{}}):(g.current.forEach(x=>{try{URL.revokeObjectURL(x)}catch{}}),g.current=C,c(_))})(),()=>{y=!0}},[f.join(","),b]),l.useEffect(()=>()=>{g.current.forEach(y=>{try{URL.revokeObjectURL(y)}catch{}}),g.current=[]},[]);const v=l.useCallback(async y=>{if(y.stopPropagation(),y.preventDefault(),u.current){u.current=!1;try{d.current?.pause()}catch{}r(!1),i(-1);return}if(s.filter(Boolean).length){u.current=!0,r(!0);for(let _=0;_<s.length&&u.current;_++){const C=s[_];if(C){i(_);try{await new Promise((x,k)=>{const w=new Audio(C);d.current=w,w.onended=()=>x(),w.onerror=()=>k(),w.play().catch(k)})}catch{break}}}u.current=!1,r(!1),i(-1)}},[s]);return l.useEffect(()=>()=>{u.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:n,previewUrls:s,previewHover:h,setPreviewHover:p,previewBtnRef:m,handlePreview:v}}const sk=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 n=r;return n.sentence||n.text||n.context||n.question||n.title||""}return""}).filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()):[]};function wn(e){const{index:t,type:a,trainingData:r,ariaLabel:n,depth:i,renderPopup:s,completed:c,completedIds:d,selectedIds:u,tooltipText:m,useDescriptionTooltip:h=!1,onRemove:p,hideCheckBadge:g=!1,showTypeLabel:f=!1,onComplete:b,onSelect:v,onMore:y,countLabelOverride:_,size:C="square"}=e||{},{t:x}=me.useTranslation(),[k,w]=l.useState(!1),S=l.useRef(null),[j,A]=l.useState(!1);l.useEffect(()=>{S.current?.matches(":hover")&&A(!0)},[]);const{playing:B,playingIndex:F,previewUrls:R,previewHover:E,setPreviewHover:M,previewBtnRef:D,handlePreview:H}=ik(r,a?.key),ee=l.useCallback(()=>{v?v():w(!0)},[v]),J=l.useCallback(()=>w(!1),[]),ae=l.useCallback(()=>A(!0),[]),T=l.useCallback(()=>A(!1),[]),L=l.useCallback(()=>M(!0),[M]),$=l.useCallback(()=>M(!1),[M]),[z,V]=l.useState(null);l.useLayoutEffect(()=>{E&&V(D.current?.getBoundingClientRect()??null)},[E,D]);const[X,W]=l.useState(null);l.useLayoutEffect(()=>{j&&!k&&h&&W(S.current?.getBoundingClientRect()??null)},[j,k,h]);const Y=l.useCallback(be=>{(be.key==="Enter"||be.key===" ")&&(be.preventDefault(),ee())},[ee]),O=r||null,ie=l.useMemo(()=>{if(!h)return null;const be=m?(Array.isArray(m)?m:[m]).filter(Boolean):null,Ke=be&&be.length>0?be:sk(O);return Ke&&Ke.length>0?Ke:null},[h,m,O]),ue=l.useCallback(be=>{be.stopPropagation(),p?.()},[p]),fe=l.useCallback(be=>be.stopPropagation(),[]),ye=l.useCallback(be=>{typeof b=="function"&&b(be)},[b]),pe=c||(d&&r?.id!=null?d.has(String(r.id)):!1),P=!pe&&(u!=null&&r?.id!=null?u.has(String(r.id)):!1);ur("speechear.popup.close",J);const q=Qr(),oe=`${a?.label||""} ${t+1}`,ge=O?.title||O?.name||oe;let de=a?.icon,I,Z="",Q="";try{const be=O?.category_0||O?.category_main_code||O?.category_main,Ke=O?.category_1||O?.category_sub_code||O?.category_sub,Ve=q.find(Re=>Re.key===be);Ve?.icon&&(de=Ve.icon),!I&&Ve?.color&&(I={"--t-item-fg":Ve.color}),!I&&O?.iconColor&&(I={"--t-item-fg":O.iconColor}),Z=Ve?.label||"";try{Q=Ve?.subs?.find(Re=>Re.key===Ke)?.label||""}catch{}}catch{}const ve=Q?`${Z} / ${Q}`:Z||a?.label||ge,De=be=>x("training.countQuestions",{n:be}),$e=be=>x("training.countSentences",{n:be});let Le="";try{if(O)if(a?.key==="LISTEN_IN_NOISE"){let be=0;Array.isArray(O.items)&&O.items.length>0?be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0?be=O.sentences.length:O.sentences&&(be=1),Le=$e(be)}else if(a?.key==="SHORT_STORY"){let be=1;Array.isArray(r?.items)?be=r.items.length:Array.isArray(r?.raw&&r.raw?.items)?be=r.raw.items.length:Array.isArray(O?.questions)?be=O.questions.length:Array.isArray(O?.sentences)&&(be=O.sentences.length),Le=De(be)}else if(a?.key==="LONG_STORY"){let be=1;if(Array.isArray(O.items)&&O.items.length>0){const Ke=O.items.reduce((Ve,Re)=>{const qe=Re.questionItems;return Array.isArray(qe)?Ve+qe.length:Array.isArray(Re.questions)?Ve+Re.questions.length:Ve},0);be=Ke>0?Ke:O.items.length}else Array.isArray(O.questions)&&O.questions.length>0?be=O.questions.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(be=O.sentences.length);Le=De(be)}else if(a?.key==="ORDERING_SENTENCE"){let be=1;Array.isArray(O.items)&&O.items.length>0?be=O.items.length:Array.isArray(O.sentences)&&O.sentences.length>0&&(be=O.sentences.length),Le=$e(be)}else Array.isArray(O.items)&&(Le=O.items.length>0?De(O.items.length):"")}catch{}const Ee=C==="list",je=C==="compact",Te=C==="small",Ie=Te&&a?.key?ds().find(be=>be.key===a.key)?.label??"":"",He=!!f&&!!a?.label&&a.label!==String(ge)||Te&&!!Ie&&Ie!==String(ge);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{ref:S,className:`training-block-button${Ee?" training-block-button--list":""}${je?" training-block-button--compact":""}${Te?" training-block-button--small":""}${pe?" training-block-button--completed":""}${P?" training-block-button--selected":""}${He&&!Te?" training-block-button--withType":""}${Te&&!He?" training-block-button--no-type-label":""}`,onClick:ee,onPointerEnter:ae,onPointerLeave:T,role:"button",tabIndex:0,onKeyDown:Y,"aria-label":typeof n=="string"?n:typeof ge=="string"?ge:void 0,children:[o.jsxs("div",{className:"training-block-button__left",children:[f&&a?.label&&a.label!==String(ge)&&o.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Te&&Ie&&Ie!==String(ge)&&o.jsx("span",{className:"training-block-button__type-label caption-2",children:Ie}),o.jsx(Sm,{icon:de,label:ge,tooltip:ve,wrapperStyle:I,iconSize:Te||je?"small":"medium"}),!g&&(pe||P)&&!(p&&j)&&o.jsx(ht,{type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":pe?x("training.completed","\uD6C8\uB828 \uC644\uB8CC"):x("training.selected","\uC120\uD0DD\uB428")}),p&&j&&o.jsx(ht,{type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":x("common.remove","\uC81C\uAC70"),onClick:ue}),o.jsx("div",{className:`training-block-button__title ${je?"body-3":Te?"body-3b":"h3"}`,children:String(ge)}),o.jsxs("div",{className:"training-block-button__description",children:[(()=>{const be=_!==void 0?_:Le;return be?o.jsx("div",{className:`training-block-button__count ${Te?"caption-2":"caption-1"}`,children:be}):null})(),o.jsx("div",{className:"training-block-button__chevron",children:o.jsx(Fe,{icon:"chevron-right",label:x("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:Te?12:20})})]}),(Ee||Te)&&R.length>0&&o.jsx("div",{ref:D,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:fe,onPointerEnter:L,onPointerLeave:$,children:o.jsx(re,{size:Te?28:32,type:"dot",icon:B?"pause":"play",variant:Te?"transparent-lightGray":"default",useBorder:!1,selected:B,ariaLabel:B?x("training.stop","\uC815\uC9C0"):x("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:H})})]}),y&&o.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:be=>{be.stopPropagation(),y(be)},children:o.jsx(re,{size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:x("common.more","\uB354\uBCF4\uAE30")})})]}),E&&o.jsx(ma,{anchorRect:z,text:B?x("training.stop","\uC815\uC9C0"):x("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:$}),j&&!k&&h&&(ie?o.jsx(Fa,{anchorRect:X,items:ie,activeIndex:F,onClose:T}):O?.subTitle?o.jsx(ma,{anchorRect:X,text:O.subTitle,offset:8,onClose:T}):null),k&&s&&s({trainingData:O,typeKey:a?.key??"",onClose:J,onComplete:ye,popupTitle:String(ge),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:de,popupIconTooltip:String(ve),popupWrapperStyle:I})]})}const kn=20;function Am(e){const{t}=me.useTranslation(),{type:a,trainingDatas:r,depth:n,renderPopup:i,completedIds:s,selectedIds:c,onItemComplete:d,size:u,useDescriptionTooltip:m,onRemove:h,onMore:p,sectionType:g="page"}=e||{},[,f]=l.useState(0),b=typeof r<"u"?Array.isArray(r)?r:[]:[],v=b.length,[y,_]=l.useState(Math.min(v,kn)),C=l.useMemo(()=>Array.isArray(n)?[...n,a?.label].filter(Boolean).join(" \xB7 "):[n||"",a?.label].filter(Boolean).join(" \xB7 "),[n,a?.label]);l.useEffect(()=>{_(Math.min(v,kn))},[v]),ur("speechear.data.updated",()=>f(k=>k+1));function x(){_(k=>Math.min(v,k+kn))}return o.jsxs(no,{type:g,title:a?.label,icon:a?.icon,disc:a?.desc,className:"training-block",children:[o.jsx("div",{className:"training-list",children:(b||[]).slice(0,y).map((k,w)=>{const S=k;return o.jsx(wn,{index:w,type:a,trainingData:S,depth:C,renderPopup:i,completedIds:s,selectedIds:c,size:u,useDescriptionTooltip:m,onRemove:typeof h=="function"&&c!=null&&S?.id!=null&&c.has(String(S.id))?()=>h(S):void 0,onComplete:typeof d=="function"&&S?.id!=null?()=>d(String(S.id)):void 0,onMore:typeof p=="function"?j=>p(S,j):void 0},S?.id!=null?`${a?.key||"t"}-${String(S.id)}`:`${a?.key||"t"}-${w}`)})}),v>kn&&y<v&&o.jsx("div",{className:"training-block__more",children:o.jsx(re,{size:48,type:"bar",icon:"plus",onClick:x,ariaLabel:t("common.loadMore","\uB354\uBCF4\uAE30"),label:t("common.loadMore","\uB354\uBCF4\uAE30"),variant:"main"})})]})}function ec(e){const t=l.useRef(null),[a,r]=l.useState(!!e),[n,i]=l.useState(!1);l.useEffect(()=>{i(!1);const d=t.current;r(!!e&&!(d?.complete&&d.naturalWidth>0))},[e]);const s=l.useCallback(()=>r(!1),[]),c=l.useCallback(()=>{r(!1),i(!0)},[]);return{imgRef:t,loading:a,failed:n,hasImage:!!e&&!n,onLoad:s,onError:c}}let Bo=null;function lk(e){if(Bo&&Bo!==e)try{Bo()}catch{}return Bo=e,()=>{Bo===e&&(Bo=null)}}var ck='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_2256_7437)">%0A<g opacity="0.1">%0A<path d="M35.7143 25C29.7964 25 25 29.7964 25 35.7143V64.2857C25 67.3786 25.7893 70.2893 27.1714 72.8286C29.7071 74.2143 32.6179 75 35.7143 75H64.2857C70.2036 75 75 70.2036 75 64.2857V35.7143C75 32.6214 74.2107 29.7107 72.8286 27.1714C70.2929 25.7857 67.3821 25 64.2857 25H35.7143Z" fill="%23111111"/>%0A</g>%0A<path d="M57.1426 17.8571H35.7141C25.8533 17.8571 17.8569 25.8536 17.8569 35.7143V44.0643L10.9926 51.6179C10.5819 52.0679 10.6283 52.775 11.0998 53.1643C13.1783 54.8929 15.4641 56.2214 17.8569 57.1679C17.8676 63.925 21.6283 69.8 27.1712 72.825C25.7855 70.2893 24.9998 67.3786 24.9998 64.2821V35.7107C24.9998 29.7929 29.7962 24.9964 35.7141 24.9964H64.2855C67.3783 24.9964 70.2891 25.7857 72.8283 27.1679C69.7998 21.6179 63.9105 17.8536 57.1426 17.8536V17.8571Z" fill="%23111111"/>%0A<path d="M72.8285 27.1714C74.2142 29.7072 75 32.6179 75 35.7143V64.2857C75 70.2036 70.2035 75 64.2857 75H35.7142C32.6214 75 29.7107 74.2107 27.1714 72.8286C30.2 78.3786 36.0892 82.1429 42.8571 82.1429H58.9678C59.9321 82.1429 60.7142 82.925 60.7142 83.8893C60.7142 84.9107 61.5892 85.7215 62.6071 85.6322C73.5535 84.675 82.1428 75.4822 82.1428 64.2857V42.8572C82.1428 36.0893 78.3785 30.2 72.8285 27.1714Z" fill="%23111111"/>%0A<path d="M36.0714 40.7143C36.0714 39.5308 35.112 38.5714 33.9285 38.5714C32.745 38.5714 31.7856 39.5308 31.7856 40.7143V45C31.7856 46.1834 32.745 47.1428 33.9285 47.1428C35.112 47.1428 36.0714 46.1834 36.0714 45V40.7143Z" fill="%23111111"/>%0A<path d="M46.7859 57.1429C45.743 57.1429 44.6966 56.875 43.7502 56.3286C42.8966 55.8357 42.6037 54.7429 43.1002 53.8893C43.593 53.0357 44.6859 52.7429 45.5395 53.2393C46.518 53.8036 47.7573 53.6429 48.5537 52.8464C48.9395 52.4607 49.1823 51.9714 49.2573 51.4357C49.5787 49.1607 50.5823 47 52.1645 45.1857C53.1073 44.1071 53.6037 42.7214 53.568 41.2857C53.493 38.3536 51.1466 35.9107 48.2216 35.7286C47.2323 35.6679 46.2859 35.8464 45.4073 36.2679C44.518 36.6929 43.4502 36.3107 43.0287 35.4214C42.6037 34.5321 42.9859 33.4643 43.8752 33.0429C45.2895 32.3714 46.868 32.0679 48.4466 32.1643C53.2037 32.4607 57.0216 36.4286 57.1395 41.1964C57.1966 43.5286 56.3859 45.7786 54.8573 47.5357C53.7323 48.825 53.018 50.3464 52.7966 51.9357C52.6109 53.2464 52.018 54.4357 51.0823 55.375C49.9145 56.5429 48.3609 57.15 46.7895 57.15L46.7859 57.1429Z" fill="%23111111"/>%0A</g>%0A<defs>%0A<clipPath id="clip0_2256_7437">%0A<rect width="100" height="100" fill="white"/>%0A</clipPath>%0A</defs>%0A</svg>%0A',dk='.ihabdevteam-core-scope .training-word-card{background:var(--color-white);border-radius:var(--radius-m);display:flex;flex:none;flex-direction:column;height:260px;overflow:visible;perspective:900px;position:relative;width:200px}.ihabdevteam-core-scope .training-word-card--disabled{cursor:default}.ihabdevteam-core-scope .training-word-card__flipper{border-radius:var(--radius-m);box-shadow:var(--shadow-card);display:flex;flex:1;flex-direction:column;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}.ihabdevteam-core-scope .training-word-card--flipped .training-word-card__flipper{transform:rotateY(180deg)}.ihabdevteam-core-scope .training-word-card__front{box-sizing:border-box;flex:1;flex-direction:column;gap:var(--spacing-s);min-height:0;padding:10px var(--spacing-m)}.ihabdevteam-core-scope .training-word-card__back,.ihabdevteam-core-scope .training-word-card__front{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;justify-content:center}.ihabdevteam-core-scope .training-word-card__back{background:#f3f5f6;background:var(--color-deepWhite,#f3f5f6);border-radius:var(--radius-m);inset:0;position:absolute;transform:rotateY(180deg)}.ihabdevteam-core-scope .training-word-card__back:before{border:8px solid var(--color-darkWhite);border-radius:var(--radius-m);content:"";inset:0;pointer-events:none;position:absolute}.ihabdevteam-core-scope .training-word-card__disabled-symbol{filter:invert(93%) sepia(6%) saturate(247%) hue-rotate(163deg) brightness(101%) contrast(93%);height:52px;opacity:.6;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:52px}.ihabdevteam-core-scope .training-word-card__selected-badge{position:absolute;right:0;top:0;transform:translate(12%,-12%);z-index:3}.ihabdevteam-core-scope .training-word-card__selected-badge .circle-badge{border:2px solid var(--color-pureWhite)}.ihabdevteam-core-scope .training-word-card--selectable{cursor:pointer;outline:1px solid transparent;overflow:visible;transition:box-shadow .15s,outline-color .15s}.ihabdevteam-core-scope .training-word-card--selectable:not(.training-word-card--disabled):hover{box-shadow:0 4px 16px rgba(9,30,34,.12);outline:1px solid var(--color-main)}.ihabdevteam-core-scope .training-word-card--selectable.training-word-card--selected:hover,.ihabdevteam-core-scope .training-word-card--selected{box-shadow:none;outline:2px solid #4f6ef7;outline:2px solid var(--color-main,#4f6ef7)}.ihabdevteam-core-scope .training-word-card__image-wrap{aspect-ratio:4/3;background:#f3f5f6;border-radius:var(--radius-s);flex-shrink:0;overflow:hidden;padding:0;position:relative;width:100%}.ihabdevteam-core-scope .training-word-card__image{-webkit-user-drag:none;display:block;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;transition:opacity .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ihabdevteam-core-scope .training-word-card__placeholder{background:linear-gradient(160deg,#f0f2f4,#e4e8ea);height:100%;width:100%}.ihabdevteam-core-scope .training-word-card__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute;z-index:1}.ihabdevteam-core-scope .training-word-card__spinner:after{animation:twCard__spin .7s linear infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--color-main,#4f6ef7);content:"";height:28px;width:28px}@keyframes twCard__spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .training-word-card__body{align-items:center;display:flex;flex-direction:column;gap:3px;padding:0}.ihabdevteam-core-scope .training-word-card__word{color:#0b2b35;color:var(--color-black,#0b2b35);font-size:22px;font-weight:700;line-height:1.25;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-word-card__pronunciation{color:#70858a;color:var(--color-gray,#70858a);font-size:13px;font-weight:500;line-height:1.4;text-align:center}.ihabdevteam-core-scope .training-word-card__colloquial{color:#a0b0b5;color:var(--color-lightGray,#a0b0b5);line-height:1.4;text-align:center}.ihabdevteam-core-scope .training-word-card__bottom{display:flex;flex-shrink:0;justify-content:center}@media (max-width:720px){.ihabdevteam-core-scope .training-word-card{border-radius:var(--radius-card)}.ihabdevteam-core-scope .training-word-card__word{font-size:18px}.ihabdevteam-core-scope .training-word-card__body{gap:2px}.ihabdevteam-core-scope .training-word-card__front{gap:var(--spacing-xs)}.ihabdevteam-core-scope .training-word-card__back,.ihabdevteam-core-scope .training-word-card__back:before{border-radius:var(--radius-card)}}@media (max-width:767px){.ihabdevteam-core-scope .training-word-card{border-radius:var(--radius-card);height:auto;width:100%}.ihabdevteam-core-scope .training-word-card__flipper{border-radius:var(--radius-card);box-shadow:0 2px 8px rgba(0,0,0,.03)}.ihabdevteam-core-scope .training-word-card__front{padding:var(--spacing-s)}.ihabdevteam-core-scope .training-word-card__back:before{border-width:4px}.ihabdevteam-core-scope .training-word-card__image-wrap{aspect-ratio:1/1}.ihabdevteam-core-scope .training-word-card__word{font-size:14px}.ihabdevteam-core-scope .training-word-card__pronunciation{font-size:11px}.ihabdevteam-core-scope .training-word-card__body{gap:2px}.ihabdevteam-core-scope .training-word-card__front{gap:4px}}';te(dk);const uk=ck,Sn=l.forwardRef(function({item:e,disabled:t=!1,onPlayDone:a,selectable:r=!1,selected:n=!1,onSelect:i,flipDelay:s=0,hideLabel:c=!1,hideAudio:d=!1,orderRank:u=null},m){const{t:h}=me.useTranslation(),p=e.word||e.title||"",g=t||!p,f=e.audio??e.sound??e.audioKey,b=e.subLabel||e.pronunciation||"",v=e.colloquialLabel||"",[y,_]=l.useState({label:p,subLabel:b,colloquialLabel:v,homonum:e.homonum});p&&y.label!==p&&_({label:p,subLabel:b,colloquialLabel:v,homonum:e.homonum});const C=l.useRef(null),x=aa("(max-width: 767px)"),[k,w]=l.useState(!1),[S,j]=l.useState(""),A=Ma()?.(y.label,y.homonum)??e.image??"",{imgRef:B,loading:F,hasImage:R,onLoad:E,onError:M}=ec(A);l.useEffect(()=>{let L=!1;return(async()=>{if(f){if(typeof f=="string"){if(f.startsWith("http")||f.includes("/")){j(f);return}}else if(typeof f=="object"&&!Array.isArray(f)){const z=f.src;if(z){j(z);return}}}const $=Fo();if($&&p)try{const z=await Promise.resolve($(p));!L&&z&&j(z)}catch{}})(),()=>{L=!0}},[f,p]),l.useEffect(()=>()=>{try{C.current?.pause()}catch{}C.current=null},[]);const D=l.useCallback(()=>new Promise(L=>{if(typeof window<"u"&&window.speechSynthesis&&p){w(!0),window.speechSynthesis.cancel();const $=new SpeechSynthesisUtterance(p);$.lang="ko-KR",$.onend=()=>{w(!1);try{a?.()}catch{}L()},$.onerror=()=>{w(!1),L()},window.speechSynthesis.speak($)}else L()}),[p,a]),H=l.useCallback(L=>new Promise($=>{let z=!1;const V=()=>{z||(z=!0,w(!1),$(!1))};try{const X=new Audio(L);C.current=X,X.onended=()=>{if(!z){z=!0,w(!1);try{a?.()}catch{}$(!0)}},X.onerror=V,X.play().catch(V)}catch{V()}}),[a]),ee=l.useCallback(async()=>{if(t)return;const L=lk(()=>{try{C.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1)});try{window.speechSynthesis?.cancel()}catch{}try{if(S&&(w(!0),await H(S)))return;const $=ni();if($&&p)try{const z=await Promise.resolve($(p));if(z&&(w(!0),await H(z)))return}catch{}await D()}finally{L()}},[t,S,p,H,D]);l.useImperativeHandle(m,()=>({play:()=>ee()}),[ee]);const J=L=>L.stopPropagation(),ae=l.useCallback(L=>{if(L.stopPropagation(),!t){if(k){try{C.current?.pause()}catch{}try{window.speechSynthesis?.cancel()}catch{}w(!1);return}ee()}},[t,k,ee]),T=_e("training-word-card",t?"training-word-card--disabled":"",g?"training-word-card--flipped":"",r?"training-word-card--selectable":"",n?"training-word-card--selected":"");return o.jsx("div",{className:T,onClick:r&&!t?i:void 0,role:r?"button":void 0,"aria-pressed":r?n:void 0,tabIndex:r&&!t?0:void 0,"aria-disabled":r&&t?!0:void 0,onKeyDown:r&&!t?L=>{(L.key==="Enter"||L.key===" "||L.key==="Spacebar")&&(L.preventDefault(),i?.())}:void 0,children:o.jsxs("div",{className:"training-word-card__flipper",style:{transitionDelay:g?"0ms":`${s}ms`},children:[o.jsxs("div",{className:"training-word-card__front",children:[n&&o.jsx("div",{className:"training-word-card__selected-badge",onClick:J,children:o.jsx(ht,{type:"dot",size:40,position:"inline",animate:!0,icon:u!=null?void 0:"check",number:u??void 0,"aria-label":u!=null?h("training.nthSelected",{n:u}):h("training.selected","\uC120\uD0DD\uB428")})}),o.jsx("div",{className:"training-word-card__image-wrap",children:R?o.jsxs(o.Fragment,{children:[F&&o.jsx("div",{className:"training-word-card__spinner"}),o.jsx("img",{ref:B,className:"training-word-card__image",src:A,alt:y.label||h("common.image","\uC774\uBBF8\uC9C0"),style:{opacity:F?0:1},onLoad:E,onError:M})]}):o.jsx("div",{className:"training-word-card__placeholder"})}),!c&&o.jsxs("div",{className:"training-word-card__body",children:[o.jsx("div",{className:"training-word-card__word",children:y.label}),y.subLabel&&o.jsxs("div",{className:"training-word-card__pronunciation",children:["[",y.subLabel,"]"]}),y.colloquialLabel&&o.jsxs("div",{className:"training-word-card__colloquial caption-1",children:["[",y.colloquialLabel,"]"]})]}),!d&&o.jsx("div",{className:"training-word-card__bottom",onClick:r?J:void 0,children:o.jsx(re,{size:x?40:48,type:x?"dot":"bar",icon:k?"pause":"play",label:x?void 0:h("training.playSound","\uC18C\uB9AC \uB4E3\uAE30"),selected:k,onClick:ae,disabled:t,ariaLabel:h("training.playSound","\uC18C\uB9AC \uB4E3\uAE30")})})]}),o.jsx("div",{className:"training-word-card__back","aria-hidden":"true",children:o.jsx("img",{src:uk,className:"training-word-card__disabled-symbol",alt:"",draggable:!1})})]})})});let xr=0,Tm="",Bm="",Cr=0;function pk(){return Nm(!1)}function hk(){return Nm(!0)}function Nm(e){const t=typeof document<"u";xr===0&&t&&(Tm=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(Cr===0&&(Bm=document.body.style.paddingRight),Cr++,document.body.style.paddingRight="0px"),xr++;let a=!1;return()=>{a||(a=!0,xr=Math.max(0,xr-1),e&&t&&(Cr=Math.max(0,Cr-1),Cr===0&&(document.body.style.paddingRight=Bm)),xr===0&&t&&(document.body.style.overflow=Tm))}}var mk=".ihabdevteam-core-scope .popup{align-items:center;background:rgba(16,24,32,.6);background:var(--color-popupBlock,rgba(16,24,32,.6));display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal)}.ihabdevteam-core-scope .popup.popup--inline{align-items:stretch;background:transparent;justify-content:stretch;position:relative;z-index:5}.ihabdevteam-core-scope .popup.popup--inline .popup-panel{width:100%}.ihabdevteam-core-scope .popup-panel{background:var(--color-white);border-radius:28px;box-shadow:var(--shadow-popup);display:flex;flex-direction:column;max-height:calc(100% - 60px);max-width:820px;overflow:hidden;position:relative;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-panel--small{max-width:480px}.ihabdevteam-core-scope .popup-panel--medium{max-width:680px}.ihabdevteam-core-scope .popup-panel--large{max-width:1080px}.ihabdevteam-core-scope .popup-close-float{align-items:center;display:flex;gap:var(--spacing-xs);position:absolute;right:8px;top:8px;z-index:1}.ihabdevteam-core-scope .popup-title{display:block;flex-shrink:0;padding:var(--spacing-l);text-align:center}.ihabdevteam-core-scope .popup-header{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-s);padding:var(--spacing-l) var(--spacing-l) 0}.ihabdevteam-core-scope .popup-header--with-subtitle{align-items:flex-start}.ihabdevteam-core-scope .popup-header-main{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.ihabdevteam-core-scope .popup-title--left{flex:1;min-width:0;padding:0;text-align:left}.ihabdevteam-core-scope .popup-header-main .popup-title--left{flex:none}.ihabdevteam-core-scope .popup-header .popup-title--left{margin:0}.ihabdevteam-core-scope .popup-subtitle{color:var(--color-gray);margin:0;text-align:left}.ihabdevteam-core-scope .popup-header-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .popup-content{-webkit-overflow-scrolling:touch;display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 20px 0;touch-action:pan-y}.ihabdevteam-core-scope .popup-content__inner{padding-bottom:20px}.ihabdevteam-core-scope .popup-footer{display:flex;gap:8px;justify-content:center;padding:0 20px 20px}.ihabdevteam-core-scope .popup-footer--buttons>*{flex:1;max-width:200px}.ihabdevteam-core-scope .popup--closing{opacity:0;transition:opacity .26s ease}@media (max-width:767px){.ihabdevteam-core-scope .popup-panel{max-height:calc(100% - 132px - env(safe-area-inset-bottom))}}.ihabdevteam-core-scope .form-date-row{display:flex;flex:1;gap:6px;min-width:0}.ihabdevteam-core-scope .form-date-row>div{min-width:90px}.ihabdevteam-core-scope .form-date-row--ymd>div:first-child{flex:3}.ihabdevteam-core-scope .form-date-row--ymd>div:nth-child(2),.ihabdevteam-core-scope .form-date-row--ymd>div:nth-child(3){flex:2}.ihabdevteam-core-scope .form-date-row--hm>div{flex:1}.ihabdevteam-core-scope .form-date-row--gap-8{gap:8px}@media (max-width:360px){.ihabdevteam-core-scope .form-date-row--ymd{flex-wrap:wrap}.ihabdevteam-core-scope .form-date-row--ymd>div:first-child{flex:1 0 100%}}.ihabdevteam-core-scope .form-field-error{color:var(--color-error);font-size:13px;margin-bottom:8px;padding:6px 0}.ihabdevteam-core-scope .confirm-popup__message{margin:0 auto;max-width:100%;padding:8px 0;text-align:left;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .confirm-popup .popup-content{padding-top:40px}.ihabdevteam-core-scope .confirm-popup .popup-content__inner{padding-bottom:40px}.ihabdevteam-core-scope .confirm-popup .panel+.confirm-popup__message{margin-top:16px}.ihabdevteam-core-scope .confirm-popup__top{display:flex;justify-content:center;margin-bottom:20px}";te(mk);const bk=260;function Ta(e){const{t}=me.useTranslation(),{title:a,subtitle:r,headerActions:n,children:i,buttons:s,footer:c,footerClassName:d="",onClose:u,closeDisabled:m=!1,beforeClose:h,className:p="",ariaLabel:g,useTitle:f=!0,inline:b=!1,size:v,resetScrollKey:y}=e||{},[_,C]=l.useState(!1),x=l.useRef(!1),k=l.useRef(null),w=l.useId(),S=l.useRef(null);l.useEffect(()=>{},[b,a,g,p]),l.useEffect(()=>{y!==void 0&&S.current&&(S.current.scrollTop=0)},[y]);const[j,A]=l.useState(!1);l.useEffect(()=>{const D=S.current;if(!D)return;const H=()=>A(D.scrollHeight>D.clientHeight+1);if(H(),typeof ResizeObserver>"u")return;const ee=new ResizeObserver(H);ee.observe(D);const J=D.firstElementChild;return J&&ee.observe(J),()=>ee.disconnect()},[i,y]),l.useEffect(()=>{if(!b)return pk()},[b]),l.useEffect(()=>{if(b)return;const D=document.activeElement,H=k.current;return H&&!H.contains(document.activeElement)&&(H.querySelector(dr)??H).focus(),()=>{D?.focus?.()}},[b]),ks(k,!b);const B=l.useCallback(D=>{x.current||(x.current=!0,C(!0),setTimeout(()=>{try{D&&D()}catch{}},bk))},[]),F=l.useCallback(()=>{m||h&&h()===!1||B(u)},[B,u,m,h]),R=l.useRef(F);l.useEffect(()=>{R.current=F});const E=!b&&!!u;l.useEffect(()=>{if(E)return wl(()=>R.current())},[E]);const M=o.jsx("div",{className:`popup ${b?"popup--inline":""} ${_?"popup--closing":""} ${p}`,children:o.jsxs("div",{ref:k,className:`popup-panel${v?` popup-panel--${v}`:""}`,tabIndex:-1,role:b?void 0:"dialog","aria-modal":b?void 0:!0,"aria-labelledby":!b&&a?w:void 0,"aria-label":!b&&!a&&g?g:void 0,children:[!f&&(n||u)?o.jsxs("div",{className:"popup-close-float",children:[n,u&&o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]}):a||n||u?o.jsxs("div",{className:`popup-header${r?" popup-header--with-subtitle":""}`,children:[o.jsxs("div",{className:"popup-header-main",children:[o.jsx("span",{id:w,className:"popup-title popup-title--left h2",children:a}),r&&o.jsx("span",{className:"popup-subtitle body-3",children:r})]}),o.jsxs("div",{className:"popup-header-actions",children:[n,u&&o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,onClick:F,disabled:m,ariaLabel:t("common.close","\uB2EB\uAE30")})]})]}):null,o.jsx("div",{className:"popup-content",ref:S,tabIndex:j?0:void 0,children:o.jsx("div",{className:"popup-content__inner",children:typeof i=="function"?i({animateThen:B,closeWithAnimation:F}):i})}),s?.length?o.jsx("div",{className:"popup-footer popup-footer--buttons",children:s.map((D,H)=>o.jsx(re,{size:48,variant:D.variant??"default",label:D.label,disabled:D.disabled,onClick:()=>D.onClick?.({animateThen:B,closeWithAnimation:F})},H))}):c?o.jsx("div",{className:`popup-footer${d?` ${d}`:""}`,children:typeof c=="function"?c({animateThen:B,closeWithAnimation:F}):c}):null]})});return b||typeof document>"u"?M:qt.createPortal(M,document.body)}function _r(e){return String(e)}const tc=["o","triangle","x"];function ac(e,t){return e===t?null:t}const oc={o:"circle",triangle:"triangle",x:"x"},rc={o:"main",triangle:"warn",x:"danger"};function Dm(e){let t=0,a=0,r=0;for(const i of Object.values(e))i==="o"?t++:i==="triangle"?a++:i==="x"&&r++;const n=t+a+r;return{marked:n,o:t,triangle:a,x:r,rate:n===0?null:(t+a*.5)/n}}function An(e){const t={};for(const[a,r]of Object.entries(e))(r==="o"||r==="triangle"||r==="x")&&(t[a]=r);return t}function nc(e){const t=[];let a=0;for(const r of e)t.push(a),a+=r;return t}function Em(e,t){return!t&&e>0}var gk=`.ihabdevteam-core-scope .word-table__scaler{overflow:clip;overflow-clip-margin:32px;width:100%}.ihabdevteam-core-scope .word-table{--print-margin:57px;background:#fbfdff;border:1px solid var(--color-whiteLine);box-shadow:var(--shadow-dropdown);box-sizing:border-box;padding:57px;padding:var(--print-margin)}.ihabdevteam-core-scope .word-table-block__content{box-sizing:border-box;display:grid;height:100%;position:relative;width:100%}.ihabdevteam-core-scope .word-table__page-number{bottom:8px;color:var(--color-gray);pointer-events:none;position:absolute;z-index:2}.ihabdevteam-core-scope .word-table__page-number--left{left:12px}.ihabdevteam-core-scope .word-table__page-number--right{right:12px}.ihabdevteam-core-scope .word-table__page-number--center{left:50%;transform:translateX(-50%)}.ihabdevteam-core-scope .word-table-block__content--cut-show{background:var(--color-whiteLine);gap:1px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-block__content--outline{position:relative}.ihabdevteam-core-scope .word-table-block__content--outline:after{border:1px solid var(--color-whiteLine);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.ihabdevteam-core-scope .word-table-block__content--cut-corner .word-table-block__card{background:linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /1px 8px no-repeat,#fbfdff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-block__card{background:#fbfdff;display:flex;min-height:0;overflow:hidden;position:relative;transition:box-shadow .15s}.ihabdevteam-core-scope .word-table-block__card--filler{align-items:center;justify-content:center}.ihabdevteam-core-scope .word-table-block__card:not(.word-table-block__card--filler):hover{box-shadow:var(--shadow-dropdown);z-index:1}.ihabdevteam-core-scope .word-table-block__card--draggable{cursor:grab}.ihabdevteam-core-scope .word-table-block__card--draggable:active{cursor:grabbing}.ihabdevteam-core-scope .word-table-block__card--drag-over{outline:2px solid var(--color-main);outline-offset:-2px;z-index:2}.ihabdevteam-core-scope .word-table-block__card-close{opacity:0;position:absolute;right:20px;top:20px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card-close:focus-visible,.ihabdevteam-core-scope .word-table-block__card-close:focus-within,.ihabdevteam-core-scope .word-table-block__card:focus-within .word-table-block__card-close,.ihabdevteam-core-scope .word-table-block__card:hover .word-table-block__card-close{opacity:1}.ihabdevteam-core-scope .word-table-block__pair-divider{align-self:center;background:var(--color-whiteLine);display:none;flex-shrink:0;height:20%;print-color-adjust:exact;-webkit-print-color-adjust:exact;width:1px}.ihabdevteam-core-scope .word-table-block__content--div-line .word-table-block__pair-divider{display:block}.ihabdevteam-core-scope .word-table-block__edit-cell{align-items:stretch;background:#fbfdff;display:flex;flex-direction:row;min-height:0;overflow:hidden;position:relative;transition:box-shadow .15s}.ihabdevteam-core-scope .word-table-block__edit-cell--filled:hover{box-shadow:var(--shadow-dropdown);z-index:1}.ihabdevteam-core-scope .word-table-block__edit-cell--filled:focus-within .word-table-block__card-close,.ihabdevteam-core-scope .word-table-block__edit-cell--filled:hover .word-table-block__card-close{opacity:1}.ihabdevteam-core-scope .word-table-block__edit-cell--empty{align-items:center;justify-content:center}.ihabdevteam-core-scope .word-table-block__edit-cell--active{background:rgba(73,156,223,.04);background:rgba(var(--color-main-rgb,73,156,223),.04);outline:2px solid var(--color-main);outline-offset:-2px}.ihabdevteam-core-scope .word-table-block__content--cut-corner .word-table-block__edit-cell{background:linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 0 /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 0 100% /1px 8px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /8px 1px no-repeat,linear-gradient(var(--color-whiteLine),var(--color-whiteLine)) 100% 100% /1px 8px no-repeat,#fbfdff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ihabdevteam-core-scope .word-table-cell{align-items:center;display:flex;flex:1;justify-content:center;min-height:0;min-width:0;overflow:hidden;position:relative}.ihabdevteam-core-scope .word-table-cell__inner{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:380px;justify-content:center;transform-origin:center center;width:280px}.ihabdevteam-core-scope .word-table-cell__word{color:var(--color-black);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__sub{color:var(--color-gray);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__colloquial{color:var(--color-lightGray);text-align:center;white-space:nowrap}.ihabdevteam-core-scope .word-table-cell__play-button{left:20px;opacity:0;position:absolute;top:20px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-cell__play-button:focus-visible,.ihabdevteam-core-scope .word-table-cell__play-button:focus-within{opacity:1}.ihabdevteam-core-scope .word-table-cell__info-button{left:20px;opacity:0;position:absolute;top:60px;transition:opacity .15s;z-index:1}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-cell__info-button:focus-visible,.ihabdevteam-core-scope .word-table-cell__info-button:focus-within{opacity:1}.ihabdevteam-core-scope .word-table-cell__image-wrap{background:var(--color-deepWhite);border-radius:var(--radius-card);flex-shrink:0;height:240px;overflow:hidden;position:relative;width:240px}.ihabdevteam-core-scope .word-table-cell__image{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .word-table-cell__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .word-table-cell__spinner:after{animation:wordTableCell_spin .7s linear infinite;border:3px solid #fbfdff;border-radius:50%;border-top:3px solid var(--color-white,#fbfdff);border:3px solid var(--color-white,#fbfdff);border-top-color:var(--color-main,var(--color-main));content:"";height:32px;width:32px}@keyframes wordTableCell_spin{to{transform:rotate(1turn)}}@media print{@page{margin:0}.ihabdevteam-core-scope body *{visibility:hidden}.ihabdevteam-core-scope .word-table,.ihabdevteam-core-scope .word-table *{visibility:visible}
|
|
849
849
|
|
|
850
850
|
/* !important \uD544\uC694: WordTable.tsx\uAC00 \uD654\uBA74 \uD45C\uC2DC\uC6A9 scale/marginLeft\uB97C \uC778\uB77C\uC778 style\uB85C
|
|
851
851
|
\uC9C1\uC811 \uC801\uC6A9\uD558\uBBC0\uB85C(\uC2A4\uD06C\uB9B0 \uCD95\uC18C \uB80C\uB354), \uC778\uC1C4 \uC2DC \uC774\uB97C \uBB34\uD6A8\uD654\uD558\uB824\uBA74 \uD074\uB798\uC2A4 \uADDC\uCE59\uC5D0
|
|
852
|
-
!important\uAC00 \uBD88\uAC00\uD53C(\uC778\uB77C\uC778 \uC2A4\uD0C0\uC77C\uC740 !important \uC5C6\uC774\uB294 \uC774\uAE38 \uC218 \uC5C6\uC74C). */.ihabdevteam-core-scope .word-table{background:#fbfdff;border:none;box-shadow:none;inset:0;margin:0!important;padding:15mm;position:fixed;transform:none!important}.ihabdevteam-core-scope .word-table-block__card-close,.ihabdevteam-core-scope .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-cell__spinner{display:none}}.ihabdevteam-core-scope .word-table-cell__score{bottom:16px;display:flex;gap:4px;left:50%;position:absolute;transform:translateX(-50%);z-index:1}.ihabdevteam-core-scope .word-table-cell__score-slot{display:none}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-cell__score-slot--on,.ihabdevteam-core-scope .word-table-cell__score:focus-within .word-table-cell__score-slot{display:inline-flex}@media print{.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__score-slot:not(.word-table-cell__score-slot--on),.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__score-slot:not(.word-table-cell__score-slot--on){display:none}}.ihabdevteam-core-scope .word-table-cell__score .button--variant-main.is-selected,.ihabdevteam-core-scope .word-table-cell__score .button--variant-main[aria-pressed=true]{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .word-table-cell__score .button--variant-warn.is-selected,.ihabdevteam-core-scope .word-table-cell__score .button--variant-warn[aria-pressed=true]{--button-icon-color:#fff;background:var(--color-warn);border-color:var(--color-warn)}`;te(gk);const io={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function jm(e="landscape"){const{printSize:t,printW:a,printH:r}=io[e],n=document.createElement("style");n.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(n);const i=()=>{document.head.removeChild(n),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function Lm(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let n=0;n<e.length;n+=a)r.push(e.slice(n,n+a));return r}const fk={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function vk(e,t){const a=fk[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),n=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,s;return e==="landscape"?(s=n,i=Math.ceil(r/s)):(i=n,s=Math.ceil(r/i)),(e==="landscape"?i<s:s<i)&&([i,s]=[s,i]),{cols:i,rows:s}}const yk={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},ic={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},sc={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function Tn(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function Mm(e,t,a,r){if(r!=="\uC810\uC120")return{};const n=e%t,i=Math.floor(e/t),s=n<t-1,c=i<a-1;if(!s&&!c)return{};const d="#ddd",u=g=>`repeating-linear-gradient(to ${g}, ${d} 0, ${d} 5px, transparent 5px, transparent 10px)`,m=[],h=[],p=[];return s&&(m.push(u("bottom")),h.push("1px 100%"),p.push("right center")),c&&(m.push(u("right")),h.push("100% 1px"),p.push("center bottom")),{backgroundImage:m.join(", "),backgroundSize:h.join(", "),backgroundPosition:p.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const xk=280,Ck=240,_k=280,wk=400,kk=120,Sk=280;function lc(e,t){const a=l.useRef(null),[r,n]=l.useState(1),[i,s]=l.useState(0),c=l.useCallback((d,u)=>{const m=d/e,h=t?u/t:1/0,p=Math.min(1,m,h);n(p),s(Math.max(0,(d-e*p)/2))},[e,t]);return l.useEffect(()=>{const d=a.current;if(!d)return;const u=t?d.parentElement??d:d;if(c(u.clientWidth,u.clientHeight),typeof ResizeObserver>"u")return;const m=new ResizeObserver(([h])=>c(h.contentRect.width,h.contentRect.height));return m.observe(u),()=>m.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}let Ba=null;function Pm({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:n=!0,showImage:i=!0,showPronunciation:s=!0,showColloquial:c=!0,buttonSize:d=40,wordInfo:u}){const{t:m}=me.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(1),[v,y]=l.useState(!1),[_,C]=l.useState(""),[x,k]=l.useState(null),w=t&&t.length>0?t:ii()?.(e,r)??"",S=Ma()?.(e,r)??"",{imgRef:j,loading:A,failed:T,onLoad:F,onError:R}=ec(S),E=l.useCallback(()=>k(p.current?.getBoundingClientRect()??null),[]),M=l.useCallback(()=>k(null),[]),D=l.useMemo(()=>{if(!u)return null;const B=[];return u.grade&&B.push(`\uB09C\uC774\uB3C4: ${u.grade}\uB4F1\uAE09`),u.syllables&&B.push(`\uC74C\uC808 \uC218: ${u.syllables}\uC74C\uC808`),u.pos&&B.push(`\uD488\uC0AC: ${Tn(u.pos,ic)}`),u.wordType&&B.push(`\uC720\uD615: ${Tn(u.wordType,sc)}`),B.length?B:null},[u]);l.useEffect(()=>{const B=Fo(),L=w||e;if(!B||!L)return;let $=!1;return Promise.resolve(B(L)).then(z=>{!$&&z&&C(z)}),()=>{$=!0}},[w,e]),l.useEffect(()=>()=>{g.current?.pause(),Ba?.audio===g.current&&(Ba=null)},[]);const H=l.useCallback(async B=>{if(B.stopPropagation(),v){g.current?.pause(),y(!1),Ba=null;return}if(_){Ba?.stop(),y(!0);try{const L=new Audio(_);g.current=L;const $=()=>{y(!1),Ba?.audio===L&&(Ba=null)};Ba={audio:L,stop:()=>{L.pause(),$()}},L.onended=$,L.onerror=$,await L.play()}catch{y(!1),Ba?.audio===g.current&&(Ba=null)}}},[v,_]),J=i&&!!S&&!T,ee=J&&n?xk:J?_k:Ck,ae=J&&n?wk:J?Sk:kk;return l.useEffect(()=>{const B=h.current;if(!B||typeof ResizeObserver>"u")return;const L=new ResizeObserver(([$])=>{const{width:z,height:V}=$.contentRect;b(Math.min(z/ee,V/ae))});return L.observe(B),()=>L.disconnect()},[ee,ae]),o.jsxs("div",{ref:h,className:"word-table-cell",children:[o.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${f})`},children:[J&&o.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&o.jsx("div",{className:"word-table-cell__spinner"}),o.jsx("img",{ref:j,className:"word-table-cell__image",src:S,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:F,onError:R})]}),n&&o.jsx("span",{className:"word-table-cell__word h0",children:e}),s&&w&&o.jsxs("span",{className:"word-table-cell__sub h3",children:["[",w,"]"]}),c&&a&&o.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),o.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":_,children:[o.jsx("span",{"data-play-state":"play",style:{display:v?"none":void 0},children:o.jsx(re,{size:d,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:m("common.play","\uC7AC\uC0DD"),onClick:H})}),o.jsx("span",{"data-play-state":"pause",style:{display:v?void 0:"none"},children:o.jsx(re,{size:d,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:m("common.pause","\uBA48\uCDA4"),onClick:H})})]}),u&&o.jsxs("div",{ref:p,className:"word-table-cell__info-button",onPointerEnter:E,onPointerLeave:M,onFocus:E,onBlur:M,children:[o.jsx(re,{size:d,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:m("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:B=>B.stopPropagation()}),x&&D&&o.jsx(to,{anchorRect:x,items:D,showIndex:!1})]})]})}function so({title:e,titleIcon:t,disc:a,className:r,orientation:n="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:s="\uD45C\uC2DC",showOutline:c=!0,showDivLine:d=!0,items:u,editCells:m,count:h,activeCell:p=null,onActivateCell:g,onRemoveCell:f,onRemoveItem:b,onReorder:v,showFillerAdd:y=!1,contentRef:_,buttonSize:C=40,pageNumber:x,pageNumberPosition:k="right",fitHeight:w=!1,scoring:S=!1,marks:j,onMarkClick:A,scoreIndexOffset:T=0}){const F=l.useCallback((ye,pe)=>{A?.(T+ye,pe)},[A,T]),R=(ye,pe)=>{const P=j?.[_r(T+ye)]??null;return o.jsx("div",{className:_e("word-table-cell__score",P?"word-table-cell__score--marked":""),children:tc.map(q=>o.jsx("span",{className:_e("word-table-cell__score-slot",P===q?"word-table-cell__score-slot--on":""),children:o.jsx(re,{size:C,type:"dot",icon:oc[q],variant:P===q?rc[q]:"default",selected:P===q,useBorder:!1,showTooltipInfo:!1,ariaLabel:E(`wordTable.scoring.${q}`,{word:pe,defaultValue:`${pe} ${q}`}),onClick:oe=>{oe.stopPropagation(),F(ye,q)}})},q))})},{t:E}=me.useTranslation(),M=m!==void 0,D=l.useRef(null),[H,J]=l.useState(null),{width:ee,height:ae}=io[n],{scalerRef:B,scale:L,offset:$}=lc(ee,w?ae:void 0),z=M?m?.length??0:u?.length??0,V=Math.max(h??z,1),{cols:X,rows:W}=vk(n,V),Y={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},O=M?(m??[]).some(ye=>ye!==null&&ye.length>1):(u??[]).some(ye=>ye.words.length>1),ie=_e("word-table-block__content",yk[s],c&&"word-table-block__content--outline",d&&O&&"word-table-block__content--div-line"),ue={transform:`scale(${1/L})`,transformOrigin:"center center"},fe=o.jsx("div",{ref:B,className:"word-table__scaler",style:{height:ae*L},children:o.jsx("div",{className:_e("word-table",r),style:{width:ee,height:ae,transform:`scale(${L})`,transformOrigin:"top left",marginLeft:$},children:o.jsxs("div",{ref:_,className:ie,style:{gridTemplateColumns:`repeat(${X}, 1fr)`,gridTemplateRows:`repeat(${W}, 1fr)`},children:[M?o.jsx(o.Fragment,{children:(m??[]).map((ye,pe)=>o.jsx("div",{className:_e("word-table-block__edit-cell",ye?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",p===pe?"word-table-block__edit-cell--active":""),style:Mm(pe,X,W,s),children:ye?o.jsxs(o.Fragment,{children:[ye.map((P,q)=>o.jsxs(l.Fragment,{children:[q>0&&o.jsx("div",{className:"word-table-block__pair-divider"}),o.jsx(Pm,{label:P.word,subLabel:P.pronunciation,homonum:P.homonum,showWord:Y.word,showImage:Y.image,showPronunciation:Y.pron,showColloquial:Y.colloq,buttonSize:C})]},q)),S&&R(pe,ye.map(P=>P.word).join(" / ")),f&&o.jsx("div",{className:"word-table-block__card-close",children:o.jsx(re,{size:C,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ye.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ye.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(pe)})})]}):g&&o.jsx("div",{style:ue,children:o.jsx(re,{size:"48",type:"bar",icon:"plus",label:E("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(pe)})})},pe))}):o.jsxs(o.Fragment,{children:[(u??[]).map((ye,pe)=>o.jsxs("div",{className:`word-table-block__card${v?" word-table-block__card--draggable":""}${H===pe?" word-table-block__card--drag-over":""}`,style:Mm(pe,X,W,s),draggable:!!v,onDragStart:v?()=>{D.current=pe}:void 0,onDragOver:v?P=>{P.preventDefault(),J(pe)}:void 0,onDragLeave:v?()=>J(null):void 0,onDrop:v?P=>{P.preventDefault(),D.current!==null&&D.current!==pe&&v(D.current,pe),D.current=null,J(null)}:void 0,onDragEnd:v?()=>{D.current=null,J(null)}:void 0,children:[ye.words.map((P,q)=>o.jsxs(l.Fragment,{children:[q>0&&o.jsx("div",{className:"word-table-block__pair-divider"}),o.jsx(Pm,{label:P.label,subLabel:P.subLabel,colloquialLabel:P.colloquialLabel,homonum:P.homonum,showWord:Y.word,showImage:Y.image,showPronunciation:Y.pron,showColloquial:Y.colloq,buttonSize:C,wordInfo:P.grade||P.syllables!=null||P.pos||P.wordType?{grade:P.grade,syllables:P.syllables,pos:P.pos,wordType:P.wordType}:void 0})]},q)),S&&R(pe,ye.words.map(P=>P.label).join(" / ")),b&&o.jsx("div",{className:"word-table-block__card-close",children:o.jsx(re,{size:C,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ye.words.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ye.words.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>b(ye.id)})})]},ye.id)),Array.from({length:Math.max(0,X*W-(u?.length??0))}).map((ye,pe)=>{const P=(u?.length??0)+pe<V;return o.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:y&&g&&P&&o.jsx("div",{style:ue,children:o.jsx(re,{size:C,type:"bar",icon:"plus",label:E("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((u?.length??0)+pe)})})},`filler-${pe}`)})]}),x&&k!=="none"&&o.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:E("wordTable.filter.pageIndicator",{current:x.current,total:x.total})})]})})});return e!=null||t||a?o.jsx(no,{type:"page",icon:t,title:e,disc:a,className:_e("word-table-block",r),children:fe}):fe}var Ak=".ihabdevteam-core-scope .filter-panel{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:var(--spacing-m);min-width:200px;padding:var(--spacing-l)}.ihabdevteam-core-scope .filter-panel__header{align-items:center;display:flex;justify-content:space-between}.ihabdevteam-core-scope .filter-panel--collapsible{padding-bottom:0;padding-top:0}.ihabdevteam-core-scope .filter-panel--collapsible .filter-panel__header{flex-shrink:0;min-height:60px}.ihabdevteam-core-scope .filter-panel--collapsible .filter-panel__sections{padding-bottom:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__footer{border-top:1px solid var(--color-darkWhite);color:var(--color-gray);padding-bottom:var(--spacing-l);padding-top:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__title{display:block;text-align:left}.ihabdevteam-core-scope .filter-panel__title-row{align-items:center;display:flex;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .filter-panel__header-actions{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.ihabdevteam-core-scope .filter-panel__section{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__section-label-row{align-items:center;display:flex;justify-content:space-between}.ihabdevteam-core-scope .filter-panel__section-label{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .filter-panel__sections{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__sections--row{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:16px 32px}.ihabdevteam-core-scope .filter-panel__group-label-row{align-items:center;display:flex;flex-basis:100%;gap:var(--spacing-s);justify-content:space-between;padding-top:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .filter-panel__group-label{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .filter-panel__section--row{align-items:center;flex-direction:row;gap:var(--spacing-s)}.ihabdevteam-core-scope .filter-panel__section--row .filter-panel__section-label-row{flex:0 0 auto;min-width:44px}.ihabdevteam-core-scope .filter-panel__sections--row .filter-panel__section--row{flex:0 0 auto;max-width:100%}.ihabdevteam-core-scope .filter-panel__sections--row .filter-panel__section--block{flex-basis:100%}.ihabdevteam-core-scope .filter-panel__items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__item-groups{-moz-column-gap:var(--spacing-xl);column-gap:var(--spacing-xl);display:flex;flex-wrap:wrap;row-gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__item-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__note{color:var(--color-darkGray);text-align:left;width:100%}.ihabdevteam-core-scope .filter-panel__note-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:18px}.ihabdevteam-core-scope .filter-panel__textfield{min-width:200px}.ihabdevteam-core-scope .filter-panel__dropdown{min-width:180px}@media (max-width:767px){.ihabdevteam-core-scope .filter-panel__textfield{min-width:0;width:100%}}";te(Ak);function va({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:n,onCollapsedChange:i,footer:s,sections:c,selected:d={},onSelect:u,align:m,sectionAlign:h,className:p}){const g=(m??(h==="vertical"?"newline":"inline"))==="inline",{t:f}=me.useTranslation(),[b,v]=l.useState(r),y=n??b,_=()=>{const x=!y;v(x),i?.(x)},C=e||t||a;return o.jsxs("div",{className:_e("filter-panel",a?"filter-panel--collapsible":"",y?"filter-panel--collapsed":"",p),children:[C&&o.jsxs("div",{className:"filter-panel__header",children:[o.jsxs("div",{className:"filter-panel__title-row",children:[a&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:y?"chevron-down":"chevron-up",ariaLabel:y?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),"aria-expanded":!y,onClick:_}),e&&o.jsx("span",{className:"filter-panel__title h4",children:e})]}),o.jsx("div",{className:"filter-panel__header-actions",children:!y&&t})]}),!y&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:_e("filter-panel__sections",g?"filter-panel__sections--row":""),children:c.map(x=>{const k=d[x.label],w=k===void 0||(Array.isArray(k)?k.length===0:!1),S=(x.items??[]).filter(A=>A!=null),j=A=>{const T=typeof A=="string"?A:A.value,F=typeof A!="string"&&!!A.disabled,R=typeof A!="string"?A.labels:void 0,E=typeof A!="string"?A.displayLabel:void 0,M=typeof A!="string"?A.tooltip:void 0,D=typeof A!="string"?A.descriptionTooltip:void 0,H=typeof A!="string"?A.shape:void 0,J=Array.isArray(k)?k.includes(T):k===T;return o.jsx(re,{size:"keyboard",label:R??E??T,type:x.itemType??(R?"bar":T.length===1?"dot":void 0),selected:J,disabled:F,shape:H,showTooltipInfo:!!M,tooltipInfoText:M,tooltipDescription:D,onClick:()=>u?.(T,x.label)},T)};return o.jsxs(l.Fragment,{children:[x.groupLabel&&o.jsxs("div",{className:"filter-panel__group-label-row",children:[o.jsx("div",{className:"filter-panel__group-label body-2",children:x.groupLabel}),x.groupAction]}),o.jsxs("div",{className:_e("filter-panel__section",x.layout==="row"?"filter-panel__section--row":"",x.block?"filter-panel__section--block":""),children:[o.jsxs("div",{className:"filter-panel__section-label-row",children:[o.jsx("span",{className:"filter-panel__section-label body-3",children:x.displayLabel??x.label}),x.labelAction??(x.labelInfo?o.jsx(So,{...x.labelInfo}):null)]}),x.type==="note"?o.jsx("div",{className:"filter-panel__note body-3",children:x.content}):x.type==="input"?o.jsx(Wa,{className:"filter-panel__textfield",placeholder:x.placeholder,ariaLabel:x.displayLabel??x.label,value:d[x.label]??"",onChange:A=>u?.(A,x.label),error:x.error}):!x.multiple&&x.display==="segmented"?o.jsx(Ha,{ariaLabel:x.displayLabel??x.label,options:[...x.allOption?[{key:Dt,label:x.allLabel??f("common.all","\uC804\uCCB4")}]:[],...S.map(A=>{const T=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{key:T,label:F??T,disabled:R}})],value:w&&x.allOption?Dt:d[x.label],onChange:A=>u?.(A,x.label),size:32}):!x.multiple&&x.display==="dropdown"?o.jsx(Ut,{className:"filter-panel__dropdown",size:40,options:[...x.allOption?[{value:Dt,label:x.allLabel??f("common.all","\uC804\uCCB4")}]:[],...S.map(A=>{const T=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{value:T,label:F??T,disabled:R}})],value:w&&x.allOption?Dt:d[x.label],onChange:A=>u?.(A,x.label)}):o.jsxs("div",{className:x.groups?"filter-panel__item-groups":"filter-panel__items",children:[x.allOption&&!x.groups&&o.jsx(re,{size:"keyboard",label:x.allLabel??f("common.all","\uC804\uCCB4"),selected:w,disabled:x.allOptionDisabled,onClick:()=>u?.(Dt,x.label)}),x.groups?x.groups.map((A,T)=>o.jsxs("div",{className:"filter-panel__item-group",children:[T===0&&x.allOption&&o.jsx(re,{size:"keyboard",label:x.allLabel??f("common.all","\uC804\uCCB4"),selected:w,disabled:x.allOptionDisabled,onClick:()=>u?.(Dt,x.label)}),A.filter(F=>F!=null).map(j)]},T)):S.map(j)]})]})]},x.label)})}),s!=null&&s!==!1&&o.jsx("div",{className:"filter-panel__footer body-3",children:s})]})]})}const Tk=[1,2,3,4,5,6,7,8,9,10,11,12],Bk=[8,4,2,1];function Rm(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function $m(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function Im(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function zm(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Om(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Fm(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...Bk.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Wm(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const Hm={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Vm(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Gm(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function qm(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===Dt?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(n=>n.includes(t)?n.filter(i=>i!==t):[...n,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function Nk(e){return"sections"in e}function Bn(e){const{t}=me.useTranslation(),{title:a,className:r}=e;if(Nk(e))return o.jsx(va,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:n,hasColloquial:i,contentTypes:s,orientation:c,showOutline:d,cutLine:u,showDivLine:m,setters:h,showCutLine:p=!1,showDivLine2:g=!1,middleSections:f=[],extraSelected:b={},onExtraSelect:v}=e,y=[Rm(t,{hasImage:n,hasColloquial:i}),$m(t),...f,Im(t),...p?[zm(t)]:[],...g?[Om(t)]:[]],_={...Gm(t,{contentTypes:s,orientation:c,showOutline:d,cutLine:u,showDivLine:m}),...b},C=(x,k)=>{qm(t,x,k,h)||v?.(x,k)};return o.jsx(va,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:y,selected:_,onSelect:C,sectionAlign:"horizontal"})}function Ym(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function cc(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}function Dk(e,t,a,r="",n=""){if(e.length===0)return;const i=r?cc(r):"";if(i){const d=document.title;document.title=i;const u=()=>{document.title=d,window.removeEventListener("afterprint",u)};window.addEventListener("afterprint",u)}const s=document.createElement("iframe");s.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(s);const c=s.contentDocument;if(!c){s.remove();return}c.open(),c.write(dc(e,t,a,!0,i,n)),c.close(),s.contentWindow?.addEventListener("afterprint",()=>setTimeout(()=>s.remove(),0))}function dc(e,t,a,r=!1,n="",i=""){n=n?cc(n):"";const s=Array.from(document.styleSheets).flatMap(m=>{try{return Array.from(m.cssRules).map(h=>h.cssText)}catch{return[]}}).join(`
|
|
852
|
+
!important\uAC00 \uBD88\uAC00\uD53C(\uC778\uB77C\uC778 \uC2A4\uD0C0\uC77C\uC740 !important \uC5C6\uC774\uB294 \uC774\uAE38 \uC218 \uC5C6\uC74C). */.ihabdevteam-core-scope .word-table{background:#fbfdff;border:none;box-shadow:none;inset:0;margin:0!important;padding:15mm;position:fixed;transform:none!important}.ihabdevteam-core-scope .word-table-block__card-close,.ihabdevteam-core-scope .word-table-cell__info-button,.ihabdevteam-core-scope .word-table-cell__play-button,.ihabdevteam-core-scope .word-table-cell__spinner{display:none}}.ihabdevteam-core-scope .word-table-cell__score{bottom:16px;display:flex;gap:4px;left:50%;position:absolute;transform:translateX(-50%);z-index:1}.ihabdevteam-core-scope .word-table-cell__score-slot{display:none}.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-block__edit-cell:focus-within .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__score-slot,.ihabdevteam-core-scope .word-table-cell__score-slot--on,.ihabdevteam-core-scope .word-table-cell__score:focus-within .word-table-cell__score-slot{display:inline-flex}@media print{.ihabdevteam-core-scope .word-table-block__card:hover .word-table-cell__score-slot:not(.word-table-cell__score-slot--on),.ihabdevteam-core-scope .word-table-block__edit-cell:hover .word-table-cell__score-slot:not(.word-table-cell__score-slot--on){display:none}}.ihabdevteam-core-scope .word-table-cell__score .button--variant-main.is-selected,.ihabdevteam-core-scope .word-table-cell__score .button--variant-main[aria-pressed=true]{background:var(--color-main);border-color:var(--color-main)}.ihabdevteam-core-scope .word-table-cell__score .button--variant-warn.is-selected,.ihabdevteam-core-scope .word-table-cell__score .button--variant-warn[aria-pressed=true]{--button-icon-color:#fff;background:var(--color-warn);border-color:var(--color-warn)}`;te(gk);const io={landscape:{width:1123,height:794,printSize:"A4 landscape",printW:"297mm",printH:"210mm"},portrait:{width:794,height:1123,printSize:"A4 portrait",printW:"210mm",printH:"297mm"}};function jm(e="landscape"){const{printSize:t,printW:a,printH:r}=io[e],n=document.createElement("style");n.textContent=`@page { size: ${t}; margin: 0; } .word-table { width: ${a} !important; height: ${r} !important; }`,document.head.appendChild(n);const i=()=>{document.head.removeChild(n),window.removeEventListener("afterprint",i)};window.addEventListener("afterprint",i),window.print()}function Lm(e,t){if(e.length===0)return[[]];const a=Math.max(1,Math.floor(t)),r=[];for(let n=0;n<e.length;n+=a)r.push(e.slice(n,n+a));return r}const fk={landscape:{1:{cols:1,rows:1},2:{cols:2,rows:1},3:{cols:3,rows:1},4:{cols:2,rows:2},5:{cols:3,rows:2},6:{cols:3,rows:2},7:{cols:4,rows:2},8:{cols:4,rows:2},9:{cols:5,rows:2},10:{cols:5,rows:2},11:{cols:4,rows:3},12:{cols:4,rows:3}},portrait:{1:{cols:1,rows:1},2:{cols:1,rows:2},3:{cols:1,rows:3},4:{cols:1,rows:4},5:{cols:1,rows:5},6:{cols:2,rows:3},7:{cols:2,rows:4},8:{cols:2,rows:4},9:{cols:2,rows:5},10:{cols:2,rows:5},11:{cols:3,rows:4},12:{cols:3,rows:4}}};function vk(e,t){const a=fk[e][t];if(a)return a;const r=Math.max(1,Math.ceil(t)),n=Math.max(1,Math.ceil(Math.sqrt(r*.707)));let i,s;return e==="landscape"?(s=n,i=Math.ceil(r/s)):(i=n,s=Math.ceil(r/i)),(e==="landscape"?i<s:s<i)&&([i,s]=[s,i]),{cols:i,rows:s}}const yk={\uD45C\uC2DC:"word-table-block__content--cut-show",\uC810\uC120:"",\uCF54\uB108:"word-table-block__content--cut-corner",\uBBF8\uD45C\uC2DC:""},ic={\uBA85:"\uBA85\uC0AC",\uB3D9:"\uB3D9\uC0AC",\uD615:"\uD615\uC6A9\uC0AC",\uBD80:"\uBD80\uC0AC",\uC218:"\uC218\uC0AC",\uAD00:"\uAD00\uD615\uC0AC",\uAC10:"\uAC10\uD0C4\uC0AC",\uC870:"\uC870\uC0AC",\uC811:"\uC811\uC0AC",\uC758:"\uC758\uC874\uBA85\uC0AC",\uB300:"\uB300\uBA85\uC0AC",\uBCF4\uB3D9:"\uBCF4\uC870\uB3D9\uC0AC",\uBCF4\uD615:"\uBCF4\uC870\uD615\uC6A9\uC0AC"},sc={\uACE0\uC720:"\uACE0\uC720\uC5B4",\uD55C\uC790:"\uD55C\uC790\uC5B4",\uC678\uB798:"\uC678\uB798\uC5B4",\uD63C\uC885:"\uD63C\uC885\uC5B4"};function Tn(e,t){return e?e.split("/").map(a=>t[a]??a).join("/"):""}function Mm(e,t,a,r){if(r!=="\uC810\uC120")return{};const n=e%t,i=Math.floor(e/t),s=n<t-1,c=i<a-1;if(!s&&!c)return{};const d="#ddd",u=g=>`repeating-linear-gradient(to ${g}, ${d} 0, ${d} 5px, transparent 5px, transparent 10px)`,m=[],h=[],p=[];return s&&(m.push(u("bottom")),h.push("1px 100%"),p.push("right center")),c&&(m.push(u("right")),h.push("100% 1px"),p.push("center bottom")),{backgroundImage:m.join(", "),backgroundSize:h.join(", "),backgroundPosition:p.join(", "),backgroundRepeat:"no-repeat",printColorAdjust:"exact",WebkitPrintColorAdjust:"exact"}}const xk=280,Ck=240,_k=280,wk=400,kk=120,Sk=280;function lc(e,t){const a=l.useRef(null),[r,n]=l.useState(1),[i,s]=l.useState(0),c=l.useCallback((d,u)=>{const m=d/e,h=t?u/t:1/0,p=Math.min(1,m,h);n(p),s(Math.max(0,(d-e*p)/2))},[e,t]);return l.useEffect(()=>{const d=a.current;if(!d)return;const u=t?d.parentElement??d:d;if(c(u.clientWidth,u.clientHeight),typeof ResizeObserver>"u")return;const m=new ResizeObserver(([h])=>c(h.contentRect.width,h.contentRect.height));return m.observe(u),()=>m.disconnect()},[c,t]),{scalerRef:a,scale:r,offset:i}}let Ba=null;function Pm({label:e,subLabel:t,colloquialLabel:a,homonum:r,showWord:n=!0,showImage:i=!0,showPronunciation:s=!0,showColloquial:c=!0,buttonSize:d=40,wordInfo:u}){const{t:m}=me.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(1),[v,y]=l.useState(!1),[_,C]=l.useState(""),[x,k]=l.useState(null),w=t&&t.length>0?t:ii()?.(e,r)??"",S=Ma()?.(e,r)??"",{imgRef:j,loading:A,failed:B,onLoad:F,onError:R}=ec(S),E=l.useCallback(()=>k(p.current?.getBoundingClientRect()??null),[]),M=l.useCallback(()=>k(null),[]),D=l.useMemo(()=>{if(!u)return null;const T=[];return u.grade&&T.push(`\uB09C\uC774\uB3C4: ${u.grade}\uB4F1\uAE09`),u.syllables&&T.push(`\uC74C\uC808 \uC218: ${u.syllables}\uC74C\uC808`),u.pos&&T.push(`\uD488\uC0AC: ${Tn(u.pos,ic)}`),u.wordType&&T.push(`\uC720\uD615: ${Tn(u.wordType,sc)}`),T.length?T:null},[u]);l.useEffect(()=>{const T=Fo(),L=w||e;if(!T||!L)return;let $=!1;return Promise.resolve(T(L)).then(z=>{!$&&z&&C(z)}),()=>{$=!0}},[w,e]),l.useEffect(()=>()=>{g.current?.pause(),Ba?.audio===g.current&&(Ba=null)},[]);const H=l.useCallback(async T=>{if(T.stopPropagation(),v){g.current?.pause(),y(!1),Ba=null;return}if(_){Ba?.stop(),y(!0);try{const L=new Audio(_);g.current=L;const $=()=>{y(!1),Ba?.audio===L&&(Ba=null)};Ba={audio:L,stop:()=>{L.pause(),$()}},L.onended=$,L.onerror=$,await L.play()}catch{y(!1),Ba?.audio===g.current&&(Ba=null)}}},[v,_]),ee=i&&!!S&&!B,J=ee&&n?xk:ee?_k:Ck,ae=ee&&n?wk:ee?Sk:kk;return l.useEffect(()=>{const T=h.current;if(!T||typeof ResizeObserver>"u")return;const L=new ResizeObserver(([$])=>{const{width:z,height:V}=$.contentRect;b(Math.min(z/J,V/ae))});return L.observe(T),()=>L.disconnect()},[J,ae]),o.jsxs("div",{ref:h,className:"word-table-cell",children:[o.jsxs("div",{className:"word-table-cell__inner",style:{transform:`scale(${f})`},children:[ee&&o.jsxs("div",{className:"word-table-cell__image-wrap",children:[A&&o.jsx("div",{className:"word-table-cell__spinner"}),o.jsx("img",{ref:j,className:"word-table-cell__image",src:S,alt:e,draggable:!1,style:{opacity:A?0:1},onLoad:F,onError:R})]}),n&&o.jsx("span",{className:"word-table-cell__word h0",children:e}),s&&w&&o.jsxs("span",{className:"word-table-cell__sub h3",children:["[",w,"]"]}),c&&a&&o.jsxs("span",{className:"word-table-cell__colloquial h5",children:["[",a,"]"]})]}),o.jsxs("div",{className:"word-table-cell__play-button","data-audio-src":_,children:[o.jsx("span",{"data-play-state":"play",style:{display:v?"none":void 0},children:o.jsx(re,{size:d,type:"dot",icon:"play",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:m("common.play","\uC7AC\uC0DD"),onClick:H})}),o.jsx("span",{"data-play-state":"pause",style:{display:v?void 0:"none"},children:o.jsx(re,{size:d,type:"dot",icon:"pause",useBorder:!1,selected:!0,showTooltipInfo:m("common.pause","\uBA48\uCDA4"),onClick:H})})]}),u&&o.jsxs("div",{ref:p,className:"word-table-cell__info-button",onPointerEnter:E,onPointerLeave:M,onFocus:E,onBlur:M,children:[o.jsx(re,{size:d,type:"dot",icon:"info",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:!1,ariaLabel:m("wordTable.wordInfo","{{word}} \uB0B1\uB9D0 \uC815\uBCF4",{word:e}),onClick:T=>T.stopPropagation()}),x&&D&&o.jsx(Fa,{anchorRect:x,items:D,showIndex:!1})]})]})}function so({title:e,titleIcon:t,disc:a,className:r,orientation:n="landscape",contentTypes:i=["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"],cutLine:s="\uD45C\uC2DC",showOutline:c=!0,showDivLine:d=!0,items:u,editCells:m,count:h,activeCell:p=null,onActivateCell:g,onRemoveCell:f,onRemoveItem:b,onReorder:v,showFillerAdd:y=!1,contentRef:_,buttonSize:C=40,pageNumber:x,pageNumberPosition:k="right",fitHeight:w=!1,scoring:S=!1,marks:j,onMarkClick:A,scoreIndexOffset:B=0}){const F=l.useCallback((ye,pe)=>{A?.(B+ye,pe)},[A,B]),R=(ye,pe)=>{const P=j?.[_r(B+ye)]??null;return o.jsx("div",{className:_e("word-table-cell__score",P?"word-table-cell__score--marked":""),children:tc.map(q=>o.jsx("span",{className:_e("word-table-cell__score-slot",P===q?"word-table-cell__score-slot--on":""),children:o.jsx(re,{size:C,type:"dot",icon:oc[q],variant:P===q?rc[q]:"default",selected:P===q,useBorder:!1,showTooltipInfo:!1,ariaLabel:E(`wordTable.scoring.${q}`,{word:pe,defaultValue:`${pe} ${q}`}),onClick:oe=>{oe.stopPropagation(),F(ye,q)}})},q))})},{t:E}=me.useTranslation(),M=m!==void 0,D=l.useRef(null),[H,ee]=l.useState(null),{width:J,height:ae}=io[n],{scalerRef:T,scale:L,offset:$}=lc(J,w?ae:void 0),z=M?m?.length??0:u?.length??0,V=Math.max(h??z,1),{cols:X,rows:W}=vk(n,V),Y={word:i.length===0||i.includes("\uB2E8\uC5B4"),image:i.length===0||i.includes("\uC774\uBBF8\uC9C0"),pron:i.length===0||i.includes("\uD45C\uC900 \uBC1C\uC74C"),colloq:i.length===0||i.includes("\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")},O=M?(m??[]).some(ye=>ye!==null&&ye.length>1):(u??[]).some(ye=>ye.words.length>1),ie=_e("word-table-block__content",yk[s],c&&"word-table-block__content--outline",d&&O&&"word-table-block__content--div-line"),ue={transform:`scale(${1/L})`,transformOrigin:"center center"},fe=o.jsx("div",{ref:T,className:"word-table__scaler",style:{height:ae*L},children:o.jsx("div",{className:_e("word-table",r),style:{width:J,height:ae,transform:`scale(${L})`,transformOrigin:"top left",marginLeft:$},children:o.jsxs("div",{ref:_,className:ie,style:{gridTemplateColumns:`repeat(${X}, 1fr)`,gridTemplateRows:`repeat(${W}, 1fr)`},children:[M?o.jsx(o.Fragment,{children:(m??[]).map((ye,pe)=>o.jsx("div",{className:_e("word-table-block__edit-cell",ye?"word-table-block__edit-cell--filled":"word-table-block__edit-cell--empty",p===pe?"word-table-block__edit-cell--active":""),style:Mm(pe,X,W,s),children:ye?o.jsxs(o.Fragment,{children:[ye.map((P,q)=>o.jsxs(l.Fragment,{children:[q>0&&o.jsx("div",{className:"word-table-block__pair-divider"}),o.jsx(Pm,{label:P.word,subLabel:P.pronunciation,homonum:P.homonum,showWord:Y.word,showImage:Y.image,showPronunciation:Y.pron,showColloquial:Y.colloq,buttonSize:C})]},q)),S&&R(pe,ye.map(P=>P.word).join(" / ")),f&&o.jsx("div",{className:"word-table-block__card-close",children:o.jsx(re,{size:C,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ye.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ye.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>f(pe)})})]}):g&&o.jsx("div",{style:ue,children:o.jsx(re,{size:"48",type:"bar",icon:"plus",label:E("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g(pe)})})},pe))}):o.jsxs(o.Fragment,{children:[(u??[]).map((ye,pe)=>o.jsxs("div",{className:`word-table-block__card${v?" word-table-block__card--draggable":""}${H===pe?" word-table-block__card--drag-over":""}`,style:Mm(pe,X,W,s),draggable:!!v,onDragStart:v?()=>{D.current=pe}:void 0,onDragOver:v?P=>{P.preventDefault(),ee(pe)}:void 0,onDragLeave:v?()=>ee(null):void 0,onDrop:v?P=>{P.preventDefault(),D.current!==null&&D.current!==pe&&v(D.current,pe),D.current=null,ee(null)}:void 0,onDragEnd:v?()=>{D.current=null,ee(null)}:void 0,children:[ye.words.map((P,q)=>o.jsxs(l.Fragment,{children:[q>0&&o.jsx("div",{className:"word-table-block__pair-divider"}),o.jsx(Pm,{label:P.label,subLabel:P.subLabel,colloquialLabel:P.colloquialLabel,homonum:P.homonum,showWord:Y.word,showImage:Y.image,showPronunciation:Y.pron,showColloquial:Y.colloq,buttonSize:C,wordInfo:P.grade||P.syllables!=null||P.pos||P.wordType?{grade:P.grade,syllables:P.syllables,pos:P.pos,wordType:P.wordType}:void 0})]},q)),S&&R(pe,ye.words.map(P=>P.label).join(" / ")),b&&o.jsx("div",{className:"word-table-block__card-close",children:o.jsx(re,{size:C,type:"dot",icon:"x",variant:"transparent-lightGray",useBorder:!1,showTooltipInfo:ye.words.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),ariaLabel:ye.words.length>1?E("wordPrint.removePair","\uB300\uB9BD\uC30D \uBE7C\uAE30"):E("wordPrint.removeWord","\uB2E8\uC5B4 \uBE7C\uAE30"),onClick:()=>b(ye.id)})})]},ye.id)),Array.from({length:Math.max(0,X*W-(u?.length??0))}).map((ye,pe)=>{const P=(u?.length??0)+pe<V;return o.jsx("div",{className:"word-table-block__card word-table-block__card--filler",children:y&&g&&P&&o.jsx("div",{style:ue,children:o.jsx(re,{size:C,type:"bar",icon:"plus",label:E("wordTable.addWord","\uCD94\uAC00\uD558\uAE30"),onClick:()=>g((u?.length??0)+pe)})})},`filler-${pe}`)})]}),x&&k!=="none"&&o.jsx("span",{className:`word-table__page-number body-3 word-table__page-number--${k}`,children:E("wordTable.filter.pageIndicator",{current:x.current,total:x.total})})]})})});return e!=null||t||a?o.jsx(no,{type:"page",icon:t,title:e,disc:a,className:_e("word-table-block",r),children:fe}):fe}var Ak=".ihabdevteam-core-scope .filter-panel{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:var(--spacing-m);min-width:200px;padding:var(--spacing-l)}.ihabdevteam-core-scope .filter-panel__header{align-items:center;display:flex;justify-content:space-between}.ihabdevteam-core-scope .filter-panel--collapsible{padding-bottom:0;padding-top:0}.ihabdevteam-core-scope .filter-panel--collapsible .filter-panel__header{flex-shrink:0;min-height:60px}.ihabdevteam-core-scope .filter-panel--collapsible .filter-panel__sections{padding-bottom:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__footer{border-top:1px solid var(--color-darkWhite);color:var(--color-gray);padding-bottom:var(--spacing-l);padding-top:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__title{display:block;text-align:left}.ihabdevteam-core-scope .filter-panel__title-row{align-items:center;display:flex;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .filter-panel__header-actions{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.ihabdevteam-core-scope .filter-panel__section{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__section-label-row{align-items:center;display:flex;justify-content:space-between}.ihabdevteam-core-scope .filter-panel__section-label{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .filter-panel__sections{display:flex;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .filter-panel__sections--row{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:16px 32px}.ihabdevteam-core-scope .filter-panel__group-label-row{align-items:center;display:flex;flex-basis:100%;gap:var(--spacing-s);justify-content:space-between;padding-top:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .filter-panel__group-label{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .filter-panel__section--row{align-items:center;flex-direction:row;gap:var(--spacing-s)}.ihabdevteam-core-scope .filter-panel__section--row .filter-panel__section-label-row{flex:0 0 auto;min-width:44px}.ihabdevteam-core-scope .filter-panel__sections--row .filter-panel__section--row{flex:0 0 auto;max-width:100%}.ihabdevteam-core-scope .filter-panel__sections--row .filter-panel__section--block{flex-basis:100%}.ihabdevteam-core-scope .filter-panel__items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__item-groups{-moz-column-gap:var(--spacing-xl);column-gap:var(--spacing-xl);display:flex;flex-wrap:wrap;row-gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__item-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.ihabdevteam-core-scope .filter-panel__note{color:var(--color-darkGray);text-align:left;width:100%}.ihabdevteam-core-scope .filter-panel__note-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:18px}.ihabdevteam-core-scope .filter-panel__textfield{min-width:200px}.ihabdevteam-core-scope .filter-panel__dropdown{min-width:180px}@media (max-width:767px){.ihabdevteam-core-scope .filter-panel__textfield{min-width:0;width:100%}}";te(Ak);function va({title:e,headerAction:t,collapsible:a=!1,defaultCollapsed:r=!1,collapsed:n,onCollapsedChange:i,footer:s,sections:c,selected:d={},onSelect:u,align:m,sectionAlign:h,className:p}){const g=(m??(h==="vertical"?"newline":"inline"))==="inline",{t:f}=me.useTranslation(),[b,v]=l.useState(r),y=n??b,_=()=>{const x=!y;v(x),i?.(x)},C=e||t||a;return o.jsxs("div",{className:_e("filter-panel",a?"filter-panel--collapsible":"",y?"filter-panel--collapsed":"",p),children:[C&&o.jsxs("div",{className:"filter-panel__header",children:[o.jsxs("div",{className:"filter-panel__title-row",children:[a&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:y?"chevron-down":"chevron-up",ariaLabel:y?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),"aria-expanded":!y,onClick:_}),e&&o.jsx("span",{className:"filter-panel__title h4",children:e})]}),o.jsx("div",{className:"filter-panel__header-actions",children:!y&&t})]}),!y&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:_e("filter-panel__sections",g?"filter-panel__sections--row":""),children:c.map(x=>{const k=d[x.label],w=k===void 0||(Array.isArray(k)?k.length===0:!1),S=(x.items??[]).filter(A=>A!=null),j=A=>{const B=typeof A=="string"?A:A.value,F=typeof A!="string"&&!!A.disabled,R=typeof A!="string"?A.labels:void 0,E=typeof A!="string"?A.displayLabel:void 0,M=typeof A!="string"?A.tooltip:void 0,D=typeof A!="string"?A.descriptionTooltip:void 0,H=typeof A!="string"?A.shape:void 0,ee=Array.isArray(k)?k.includes(B):k===B;return o.jsx(re,{size:"keyboard",label:R??E??B,type:x.itemType??(R?"bar":B.length===1?"dot":void 0),selected:ee,disabled:F,shape:H,showTooltipInfo:!!M,tooltipInfoText:M,tooltipDescription:D,onClick:()=>u?.(B,x.label)},B)};return o.jsxs(l.Fragment,{children:[x.groupLabel&&o.jsxs("div",{className:"filter-panel__group-label-row",children:[o.jsx("div",{className:"filter-panel__group-label body-2",children:x.groupLabel}),x.groupAction]}),o.jsxs("div",{className:_e("filter-panel__section",x.layout==="row"?"filter-panel__section--row":"",x.block?"filter-panel__section--block":""),children:[o.jsxs("div",{className:"filter-panel__section-label-row",children:[o.jsx("span",{className:"filter-panel__section-label body-3",children:x.displayLabel??x.label}),x.labelAction??(x.labelInfo?o.jsx(So,{...x.labelInfo}):null)]}),x.type==="note"?o.jsx("div",{className:"filter-panel__note body-3",children:x.content}):x.type==="input"?o.jsx(Ha,{className:"filter-panel__textfield",placeholder:x.placeholder,ariaLabel:x.displayLabel??x.label,value:d[x.label]??"",onChange:A=>u?.(A,x.label),error:x.error}):!x.multiple&&x.display==="segmented"?o.jsx(Va,{ariaLabel:x.displayLabel??x.label,options:[...x.allOption?[{key:Dt,label:x.allLabel??f("common.all","\uC804\uCCB4")}]:[],...S.map(A=>{const B=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{key:B,label:F??B,disabled:R}})],value:w&&x.allOption?Dt:d[x.label],onChange:A=>u?.(A,x.label),size:32}):!x.multiple&&x.display==="dropdown"?o.jsx(Ut,{className:"filter-panel__dropdown",size:40,options:[...x.allOption?[{value:Dt,label:x.allLabel??f("common.all","\uC804\uCCB4")}]:[],...S.map(A=>{const B=typeof A=="string"?A:A.value,F=typeof A!="string"?A.displayLabel:void 0,R=typeof A!="string"?A.disabled:void 0;return{value:B,label:F??B,disabled:R}})],value:w&&x.allOption?Dt:d[x.label],onChange:A=>u?.(A,x.label)}):o.jsxs("div",{className:x.groups?"filter-panel__item-groups":"filter-panel__items",children:[x.allOption&&!x.groups&&o.jsx(re,{size:"keyboard",label:x.allLabel??f("common.all","\uC804\uCCB4"),selected:w,disabled:x.allOptionDisabled,onClick:()=>u?.(Dt,x.label)}),x.groups?x.groups.map((A,B)=>o.jsxs("div",{className:"filter-panel__item-group",children:[B===0&&x.allOption&&o.jsx(re,{size:"keyboard",label:x.allLabel??f("common.all","\uC804\uCCB4"),selected:w,disabled:x.allOptionDisabled,onClick:()=>u?.(Dt,x.label)}),A.filter(F=>F!=null).map(j)]},B)):S.map(j)]})]})]},x.label)})}),s!=null&&s!==!1&&o.jsx("div",{className:"filter-panel__footer body-3",children:s})]})]})}const Tk=[1,2,3,4,5,6,7,8,9,10,11,12],Bk=[8,4,2,1];function Rm(e,t){return{label:e("wordTable.filter.composition","\uAD6C\uC131"),items:[{value:"\uC774\uBBF8\uC9C0",disabled:!t.hasImage,displayLabel:e("wordTable.filter.image","\uC774\uBBF8\uC9C0")},{value:"\uB2E8\uC5B4",displayLabel:e("wordTable.filter.word","\uB2E8\uC5B4")},{value:"\uD45C\uC900 \uBC1C\uC74C",displayLabel:e("wordTable.filter.standardPron","\uD45C\uC900 \uBC1C\uC74C")},{value:"\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C",disabled:!t.hasColloquial,displayLabel:e("wordTable.filter.colloquialPron","\uAD6C\uC5B4\uCCB4 \uBC1C\uC74C")}],multiple:!0,allOption:!0}}function $m(e){return{label:e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5"),items:[{value:"\uAC00\uB85C",displayLabel:e("wordTable.filter.landscape","\uAC00\uB85C")},{value:"\uC138\uB85C",displayLabel:e("wordTable.filter.portrait","\uC138\uB85C")}],display:"segmented"}}function Im(e){return{label:e("wordTable.filter.border","\uC678\uACFD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function zm(e){return{label:e("wordTable.filter.cutLine","\uC808\uCDE8\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uC810\uC120",displayLabel:e("wordTable.filter.dotted","\uC810\uC120")},{value:"\uCF54\uB108",displayLabel:e("wordTable.filter.corner","\uCF54\uB108")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Om(e){return{label:e("wordPrint.divLine","\uB300\uB9BD\uC120"),items:[{value:"\uD45C\uC2DC",displayLabel:e("wordTable.filter.show","\uD45C\uC2DC")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}function Fm(e,t){return{label:e(t.hasPairs?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord"),items:[t.itemCount,...Bk.filter(a=>a<t.itemCount)].map(a=>({value:`${a}\uAC1C`,displayLabel:e("wordTable.filter.itemsPerPageOption",{count:a})})),display:"segmented"}}function Wm(e){return{label:e("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638"),items:[{value:"\uC67C\uCABD",displayLabel:e("wordTable.filter.pageNumberLeft","\uC67C\uCABD")},{value:"\uC911\uC559",displayLabel:e("wordTable.filter.pageNumberCenter","\uC911\uC559")},{value:"\uC624\uB978\uCABD",displayLabel:e("wordTable.filter.pageNumberRight","\uC624\uB978\uCABD")},{value:"\uBBF8\uD45C\uC2DC",displayLabel:e("wordTable.filter.hide","\uBBF8\uD45C\uC2DC")}],display:"segmented"}}const Hm={left:"\uC67C\uCABD",center:"\uC911\uC559",right:"\uC624\uB978\uCABD",none:"\uBBF8\uD45C\uC2DC"};function Vm(e){return e==="\uC67C\uCABD"?"left":e==="\uC911\uC559"?"center":e==="\uC624\uB978\uCABD"?"right":"none"}function Gm(e,t){return{[e("wordTable.filter.composition","\uAD6C\uC131")]:t.contentTypes,[e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")]:t.orientation==="landscape"?"\uAC00\uB85C":"\uC138\uB85C",[e("wordTable.filter.border","\uC678\uACFD\uC120")]:t.showOutline?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC",[e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")]:t.cutLine,[e("wordPrint.divLine","\uB300\uB9BD\uC120")]:t.showDivLine?"\uD45C\uC2DC":"\uBBF8\uD45C\uC2DC"}}function qm(e,t,a,r){return a===e("wordTable.filter.composition","\uAD6C\uC131")?t===Dt?(r.setContentTypes(()=>[]),!0):(r.setContentTypes(n=>n.includes(t)?n.filter(i=>i!==t):[...n,t]),!0):a===e("wordTable.filter.paperOrientation","\uC6A9\uC9C0 \uBC29\uD5A5")?(r.setOrientation(t==="\uAC00\uB85C"?"landscape":"portrait"),!0):a===e("wordTable.filter.border","\uC678\uACFD\uC120")?(r.setShowOutline(t==="\uD45C\uC2DC"),!0):a===e("wordTable.filter.cutLine","\uC808\uCDE8\uC120")?(r.setCutLine(t),!0):a===e("wordPrint.divLine","\uB300\uB9BD\uC120")?(r.setShowDivLine(t==="\uD45C\uC2DC"),!0):!1}function Nk(e){return"sections"in e}function Bn(e){const{t}=me.useTranslation(),{title:a,className:r}=e;if(Nk(e))return o.jsx(va,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:e.sections,selected:e.selected,onSelect:e.onSelect,align:"inline"});const{hasImage:n,hasColloquial:i,contentTypes:s,orientation:c,showOutline:d,cutLine:u,showDivLine:m,setters:h,showCutLine:p=!1,showDivLine2:g=!1,middleSections:f=[],extraSelected:b={},onExtraSelect:v}=e,y=[Rm(t,{hasImage:n,hasColloquial:i}),$m(t),...f,Im(t),...p?[zm(t)]:[],...g?[Om(t)]:[]],_={...Gm(t,{contentTypes:s,orientation:c,showOutline:d,cutLine:u,showDivLine:m}),...b},C=(x,k)=>{qm(t,x,k,h)||v?.(x,k)};return o.jsx(va,{className:r,title:a??t("wordTable.filterTitle","\uD45C \uC124\uC815"),sections:y,selected:_,onSelect:C,sectionAlign:"horizontal"})}function Ym(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function cc(e){return e.replace(/[\\/:*?"<>|]/g,"_").trim()}function Dk(e,t,a,r="",n=""){if(e.length===0)return;const i=r?cc(r):"";if(i){const d=document.title;document.title=i;const u=()=>{document.title=d,window.removeEventListener("afterprint",u)};window.addEventListener("afterprint",u)}const s=document.createElement("iframe");s.style.cssText="position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0;",document.body.appendChild(s);const c=s.contentDocument;if(!c){s.remove();return}c.open(),c.write(dc(e,t,a,!0,i,n)),c.close(),s.contentWindow?.addEventListener("afterprint",()=>setTimeout(()=>s.remove(),0))}function dc(e,t,a,r=!1,n="",i=""){n=n?cc(n):"";const s=Array.from(document.styleSheets).flatMap(m=>{try{return Array.from(m.cssRules).map(h=>h.cssText)}catch{return[]}}).join(`
|
|
853
853
|
`),c=document.documentElement.getAttribute("data-theme")||"light",d=i?`<div class="paper-head">${Ym(i)}</div>`:"",u=e.map(m=>{const h=m.cloneNode(!0);return h.querySelectorAll('[data-play-state="play"]').forEach(p=>p.style.display=""),h.querySelectorAll('[data-play-state="pause"]').forEach(p=>p.style.display="none"),h.querySelectorAll(".word-table-cell__score-slot:not(.word-table-cell__score-slot--on)").forEach(p=>p.remove()),`<div class="paper-wrap">${d}${h.outerHTML}</div>`}).join(`
|
|
854
854
|
`);return`<!DOCTYPE html>
|
|
855
855
|
<html data-theme="${c}">
|
|
@@ -976,16 +976,16 @@ ${C.badge}`:C.badge:void 0;if(k&&d(C.code))return null;if(!C.badge&&!u)return m(
|
|
|
976
976
|
`:""}
|
|
977
977
|
<\/script>
|
|
978
978
|
</body>
|
|
979
|
-
</html>`}function Nn({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:n,header:i=""}){const s=l.useCallback(()=>{Dk(e(),t,a,r,i)},[e,t,a,r,i]),c=l.useCallback(()=>{const u=e();if(u.length===0)return;const m=window.open("","_blank");if(!m){n?.();return}m.document.write(dc(u,t,a,!1,r,i)),m.document.close()},[e,t,a,r,n,i]),d=l.useCallback(()=>{const u=e();if(u.length===0)return;const m=dc(u,t,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),p=URL.createObjectURL(h),g=r&&cc(r),f=Object.assign(document.createElement("a"),{href:p,download:`${g}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(p)},[e,t,a,r,i]);return{print:s,openNewWindow:c,downloadHtml:d}}function uc(e){const{t}=me.useTranslation(),[a,r]=l.useState("landscape"),[n,i]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[s,c]=l.useState("\uD45C\uC2DC"),[d,u]=l.useState(!0),[m,h]=l.useState(!0),[p,g]=l.useState(8),[f,b]=l.useState("right"),v=e.length,y=e.some(R=>R.words.length>1),_=e.some(R=>R.words.some(E=>!!E.colloquialLabel)),C=Math.min(p,Math.max(v,1)),x=l.useMemo(()=>Lm(e,C),[e,C]),k=x.length>1,w=C,[S,j]=l.useState(!1);l.useEffect(()=>{let R=!1;if(!Ma()){j(!1);return}return Promise.all(e.flatMap(E=>E.words.map(M=>Yo(M.label,M.homonum)))).then(E=>{R||j(E.some(Boolean))}),()=>{R=!0}},[e]);const A=l.useMemo(()=>[Rm(t,{hasImage:S,hasColloquial:_}),$m(t),...v>0?[Fm(t,{hasPairs:y,itemCount:v})]:[],...k?[Wm(t)]:[],Im(t),...w>1?[zm(t)]:[],...y?[Om(t)]:[]],[t,S,_,v,y,k,w]),T={...Gm(t,{contentTypes:n,orientation:a,showOutline:d,cutLine:s,showDivLine:m}),...v>0?{[t(y?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${C}\uAC1C`}:{},...k?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hm[f]}:{}},F=l.useCallback((R,E)=>{qm(t,R,E,{setContentTypes:i,setOrientation:r,setShowOutline:u,setCutLine:c,setShowDivLine:h})||(E===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||E===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?g(parseInt(R)):E===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&b(Vm(R)))},[t]);return{settings:{orientation:a,contentTypes:n,cutLine:s,showOutline:d,showDivLine:m,count:w},filterSections:A,filterSelected:T,handleSelect:F,pages:x,isPaginated:k,pageNumberPosition:f}}var Ek=".ihabdevteam-core-scope .word-table-popup .popup-content__inner,.ihabdevteam-core-scope .word-table-popup__body{display:flex;flex:1;flex-direction:column;min-height:0}.ihabdevteam-core-scope .word-table-popup__body{gap:var(--spacing-m)}.ihabdevteam-core-scope .word-table-popup__table{align-items:flex-start;display:flex;flex:1;justify-content:center;min-height:0;overflow:hidden}.ihabdevteam-core-scope .word-table-popup__pages{align-items:center;display:flex;flex:1;flex-direction:column;gap:24px;gap:var(--spacing-content,24px);min-height:0;overflow:auto}@media print{.ihabdevteam-core-scope .word-table-popup__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-popup__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}.ihabdevteam-core-scope .word-table-popup__empty{color:var(--color-gray);padding:var(--spacing-m) 0;text-align:center}";te(Ek);function Um({items:e,words:t,title:a,subtitle:r,emptyText:n,buttons:i,renderButtons:s,renderFooter:c,footerClassName:d,printFileName:u,showSettings:m,autoPrint:h,className:p,onClose:g,scoring:f=!1,onScoreChange:b,printHeader:v,beforeClose:y}){const{t:_}=me.useTranslation(),C=l.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(ie=>typeof ie=="string"&&ie.length>0).map((ie,ue)=>({id:`${ie}-${ue}`,words:[{label:ie}]})),[e,t]),{settings:x,filterSections:k,filterSelected:w,handleSelect:S,pages:j,isPaginated:A,pageNumberPosition:T}=uc(C),F=l.useMemo(()=>nc(j.map(ie=>ie.length)),[j]),[R,E]=l.useState({}),M=l.useCallback((ie,ue)=>{E(fe=>({...fe,[_r(ie)]:ac(fe[_r(ie)]??null,ue)}))},[]),D=l.useRef(b);l.useEffect(()=>{D.current=b}),l.useEffect(()=>{D.current?.(An(R))},[R]);const H=l.useMemo(()=>An(R),[R]),J=l.useRef(null),{toastMessage:ee,toastKey:ae,showWarning:B,clearToast:L}=bn("warning"),$=l.useRef([]),z=l.useCallback(()=>A?$.current.filter(ie=>ie!==null):J.current?[J.current]:[],[A]),{print:V,openNewWindow:X}=Nn({getElements:z,paperW:io[x.orientation].width,paperH:io[x.orientation].height,fileName:u??"",header:v??"",onPopupBlocked:()=>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."))}),W=l.useMemo(()=>c?void 0:s?s({print:V,openNewWindow:X}):u?[{label:_("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>X()},{label:_("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>V()},...i??[]]:i,[c,s,u,i,_,V,X]),Y=l.useMemo(()=>c?c({print:V,openNewWindow:X}):void 0,[c,V,X]),O=l.useRef(!1);return l.useEffect(()=>{if(!h||O.current)return;O.current=!0;const ie=window.setTimeout(()=>V(),100);return()=>window.clearTimeout(ie)},[h,V]),o.jsxs(Ta,{title:a??_("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:_e("word-table-popup",p),buttons:W,footer:Y,footerClassName:d,beforeClose:y,onClose:g,children:[C.length>0?o.jsxs("div",{className:"word-table-popup__body",children:[m&&o.jsx(Bn,{sections:k,selected:w,onSelect:S}),A?o.jsx("div",{className:"word-table-popup__pages",children:j.map((ie,ue)=>o.jsx(so,{items:ie,orientation:x.orientation,contentTypes:x.contentTypes,cutLine:x.cutLine,showOutline:x.showOutline,showDivLine:x.showDivLine,count:x.count,contentRef:fe=>{$.current[ue]=fe},pageNumber:{current:ue+1,total:j.length},pageNumberPosition:T,scoring:f,scoreIndexOffset:F[ue],marks:H,onMarkClick:M},ue))}):o.jsx("div",{className:"word-table-popup__table",children:o.jsx(so,{items:C,orientation:x.orientation,contentTypes:x.contentTypes,cutLine:x.cutLine,showOutline:x.showOutline,showDivLine:x.showDivLine,count:x.count,contentRef:J,fitHeight:!0,scoring:f,marks:H,onMarkClick:M})})]}):o.jsx("p",{className:"word-table-popup__empty body-3",children:n??_("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),o.jsx(ro,{message:ee,position:"top",onClose:L},ae)]})}const jk=new Set(["x","triangle"]);function Km(e,t){const a=[];for(let r=0;r<e.length;r++){const n=t[String(r)];n&&jk.has(n)&&a.push(e[r])}return a}function Zm(e,t){const[,a,r]=ka(t).split("-"),n=`${a}.${r}`,i=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;let s=e.trim(),c=1;for(;;){const u=i.exec(s);if(!u)break;c=Math.max(c,(u[1]?Number(u[1]):1)+1),s=s.slice(0,u.index).trim()}const d=c>=2?`${c}\uCC28 `:"";return`${s||"\uB2E8\uC5B4\uD45C"} ${d}\uBCF5\uC2B5 ${n}`}function Xm(e,t){const a={};for(const[r,n]of Object.entries(t)){if(n!=="o"&&n!=="triangle"&&n!=="x")continue;const i=Number(r),s=e[i];s&&(a[r]=s)}return a}function Jm(e){return e.map(t=>t.label).join(" / ")}function Qm(e,t,a){const r=Xr(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}const Lk=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Dn(e,t){return Lk().compare(e,t)}function Mk(e,t){return typeof e=="number"&&typeof t=="number"?e-t:Dn(e==null?"":String(e),t==null?"":String(t))}function eb(e,t,a){return a===0?0:(e+t*.5)/a}function tb(e){const t=new Map,a=[...e].sort((n,i)=>n.scoredAt.localeCompare(i.scoredAt));for(const n of a)for(const[i,s]of Object.entries(n.marks)){const c=n.labels?.[i];if(!c)continue;const d=t.get(c)??{o:0,triangle:0,x:0,latest:s,latestAt:n.scoredAt};if(s==="o")d.o++;else if(s==="triangle")d.triangle++;else if(s==="x")d.x++;else continue;d.latest=s,d.latestAt=n.scoredAt,t.set(c,d)}const r=[];for(const[n,i]of t){const s=i.o+i.triangle+i.x;r.push({label:n,tried:s,o:i.o,triangle:i.triangle,x:i.x,rate:eb(i.o,i.triangle,s),latest:i.latest,latestAt:i.latestAt})}return r.sort((n,i)=>n.rate-i.rate||i.tried-n.tried||Dn(n.label,i.label)),r}function ab(e){const t=new Map;for(const r of e){const n=r.tableId??`name:${r.tableName}`,i=t.get(n)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(n,i)}const a=[];for(const r of t.values()){const n=[...r.rows].sort((s,c)=>s.scoredAt.localeCompare(c.scoredAt)),i=n.map(s=>{const c=Object.values(s.marks),d=c.filter(m=>m==="o").length,u=c.filter(m=>m==="triangle").length;return eb(d,u,c.filter(m=>m==="o"||m==="triangle"||m==="x").length)});a.push({tableName:r.tableName,tableId:r.tableId,rates:i,times:n.map(s=>s.scoredAt),delta:i.length>=2?i[i.length-1]-i[0]:null})}return a.sort((r,n)=>(n.times[n.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function ob(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function rb(e){const t=new Map;let a=0,r=0;const n=[...e].sort((s,c)=>s.answeredAt.localeCompare(c.answeredAt));for(const s of n){if(s.isCorrect==null)continue;const c=s.itemTitle?.trim();if(!c){r++;continue}a++;const d=s.itemId?.trim()||c,u=`${s.trainingType}|${d}`,m=t.get(u)??{trainingType:s.trainingType,itemId:d,title:c,tried:0,wrong:0,latestCorrect:s.isCorrect,latestAt:s.answeredAt,lastSelected:s.selected,setIds:[]};m.tried++,s.isCorrect||m.wrong++,m.title=c,m.latestCorrect=s.isCorrect,m.latestAt=s.answeredAt,m.lastSelected=s.selected,s.setId&&!m.setIds.includes(s.setId)&&m.setIds.unshift(s.setId),t.set(u,m)}const i=[...t.entries()].map(([s,c])=>({key:s,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((s,c)=>s.rate-c.rate||c.tried-s.tried||Dn(s.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function nb(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function ib(e){const t=new Map;for(const r of e){const n=t.get(r.trainingType)??[];n.push(r),t.set(r.trainingType,n)}const a=[...t.entries()].map(([r,n])=>({trainingType:r,items:n,pending:n.filter(i=>!i.latestCorrect).length}));return a.sort((r,n)=>n.pending-r.pending||r.trainingType.localeCompare(n.trainingType)),a}const En=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function sb(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const s=i.setIds[0];if(!s){a++;continue}const c=`${i.trainingType}|${s}`,d=t.get(c)??{setId:s,trainingType:i.trainingType,pending:0};d.pending++,t.set(c,d)}const r=(i,s)=>s.pending-i.pending||i.trainingType.localeCompare(s.trainingType)||i.setId.localeCompare(s.setId),n=[...t.values()];return{sentence:n.filter(i=>En.includes(i.trainingType)).sort(r),word:n.filter(i=>!En.includes(i.trainingType)).sort(r),noSet:a}}function lb(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const n=[];for(const i of e){const s=new Set,c=[];for(const d of i.cellLabels)r.has(d)&&!s.has(d)&&(s.add(d),c.push(d));c.length!==0&&n.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return n.sort((i,s)=>s.covered.length-i.covered.length||i.totalCells-s.totalCells||Dn(i.name,s.name)),n.slice(0,Math.max(0,a))}function cb(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function db(e,t){const a=new Map;for(const n of e)for(const i of n.cells){const s=n.labelOf(i);a.has(s)||a.set(s,i)}const r=[];for(const n of t){const i=a.get(n);i!==void 0&&r.push(i)}return r}function ub(e){if(!e||e<=0)return"-";const t=Math.floor(e/60),a=e%60;return t>0?`${t}\uBD84${a>0?` ${a}\uCD08`:""}`:`${a}\uCD08`}function pb(e,t){const a=[],r=new Set;for(const n of e){const i=t(n);r.has(i)||(r.add(i),a.push({key:i,value:n,pinned:!1}))}return a}function hb(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function mb(e,t){return e.filter(a=>a.key!==t)}function bb(e,t,a){const r=e.filter(u=>u.pinned),n=new Set(r.map(u=>u.key)),i=e.length-r.length,s=[],c=new Set(n);for(const u of t){if(s.length>=i)break;const m=a(u);c.has(m)||(c.add(m),s.push({key:m,value:u,pinned:!1}))}const d=[...s];return e.map(u=>u.pinned?u:d.shift()).filter(u=>u!==void 0)}function gb(e){return e.map(t=>t.value)}var Pk=`.ihabdevteam-core-scope .icon-grid-menu{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:center}.ihabdevteam-core-scope .icon-grid-menu--medium{margin-bottom:60px}.ihabdevteam-core-scope .icon-grid-menu--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .page:has(.choice-chips) .icon-grid-menu{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .icon-grid-menu__button{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:28px;cursor:pointer;display:flex;flex-direction:column;gap:0;height:68px;justify-content:center;padding:0;text-align:center;transition:background-color .24s ease,box-shadow .15s,border-color .15s;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .icon-grid-menu__button:disabled{border-color:var(--color-whiteLine);box-shadow:none;cursor:default;opacity:.95;outline:none;pointer-events:none}.ihabdevteam-core-scope .icon-grid-menu__button-icon{align-items:center;color:var(--color-lightGray);display:inline-flex;font-size:28px;height:32px;justify-content:center;transform-origin:center;width:32px;will-change:transform}
|
|
979
|
+
</html>`}function Nn({getElements:e,paperW:t,paperH:a,fileName:r="",onPopupBlocked:n,header:i=""}){const s=l.useCallback(()=>{Dk(e(),t,a,r,i)},[e,t,a,r,i]),c=l.useCallback(()=>{const u=e();if(u.length===0)return;const m=window.open("","_blank");if(!m){n?.();return}m.document.write(dc(u,t,a,!1,r,i)),m.document.close()},[e,t,a,r,n,i]),d=l.useCallback(()=>{const u=e();if(u.length===0)return;const m=dc(u,t,a,!1,r,i),h=new Blob([m],{type:"text/html;charset=utf-8"}),p=URL.createObjectURL(h),g=r&&cc(r),f=Object.assign(document.createElement("a"),{href:p,download:`${g}.html`});document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(p)},[e,t,a,r,i]);return{print:s,openNewWindow:c,downloadHtml:d}}function uc(e){const{t}=me.useTranslation(),[a,r]=l.useState("landscape"),[n,i]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[s,c]=l.useState("\uD45C\uC2DC"),[d,u]=l.useState(!0),[m,h]=l.useState(!0),[p,g]=l.useState(8),[f,b]=l.useState("right"),v=e.length,y=e.some(R=>R.words.length>1),_=e.some(R=>R.words.some(E=>!!E.colloquialLabel)),C=Math.min(p,Math.max(v,1)),x=l.useMemo(()=>Lm(e,C),[e,C]),k=x.length>1,w=C,[S,j]=l.useState(!1);l.useEffect(()=>{let R=!1;if(!Ma()){j(!1);return}return Promise.all(e.flatMap(E=>E.words.map(M=>Yo(M.label,M.homonum)))).then(E=>{R||j(E.some(Boolean))}),()=>{R=!0}},[e]);const A=l.useMemo(()=>[Rm(t,{hasImage:S,hasColloquial:_}),$m(t),...v>0?[Fm(t,{hasPairs:y,itemCount:v})]:[],...k?[Wm(t)]:[],Im(t),...w>1?[zm(t)]:[],...y?[Om(t)]:[]],[t,S,_,v,y,k,w]),B={...Gm(t,{contentTypes:n,orientation:a,showOutline:d,cutLine:s,showDivLine:m}),...v>0?{[t(y?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${C}\uAC1C`}:{},...k?{[t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hm[f]}:{}},F=l.useCallback((R,E)=>{qm(t,R,E,{setContentTypes:i,setOrientation:r,setShowOutline:u,setCutLine:c,setShowDivLine:h})||(E===t("wordTable.filter.itemsPerPagePair","\uD398\uC774\uC9C0\uB2F9 \uB300\uB9BD\uC30D \uC218")||E===t("wordTable.filter.itemsPerPageWord","\uD398\uC774\uC9C0\uB2F9 \uB2E8\uC5B4 \uC218")?g(parseInt(R)):E===t("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&b(Vm(R)))},[t]);return{settings:{orientation:a,contentTypes:n,cutLine:s,showOutline:d,showDivLine:m,count:w},filterSections:A,filterSelected:B,handleSelect:F,pages:x,isPaginated:k,pageNumberPosition:f}}var Ek=".ihabdevteam-core-scope .word-table-popup .popup-content__inner,.ihabdevteam-core-scope .word-table-popup__body{display:flex;flex:1;flex-direction:column;min-height:0}.ihabdevteam-core-scope .word-table-popup__body{gap:var(--spacing-m)}.ihabdevteam-core-scope .word-table-popup__table{align-items:flex-start;display:flex;flex:1;justify-content:center;min-height:0;overflow:hidden}.ihabdevteam-core-scope .word-table-popup__pages{align-items:center;display:flex;flex:1;flex-direction:column;gap:24px;gap:var(--spacing-content,24px);min-height:0;overflow:auto}@media print{.ihabdevteam-core-scope .word-table-popup__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-popup__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}.ihabdevteam-core-scope .word-table-popup__empty{color:var(--color-gray);padding:var(--spacing-m) 0;text-align:center}";te(Ek);function Um({items:e,words:t,title:a,subtitle:r,emptyText:n,buttons:i,renderButtons:s,renderFooter:c,footerClassName:d,printFileName:u,showSettings:m,autoPrint:h,className:p,onClose:g,scoring:f=!1,onScoreChange:b,printHeader:v,beforeClose:y}){const{t:_}=me.useTranslation(),C=l.useMemo(()=>Array.isArray(e)?e:(Array.isArray(t)?t:[]).filter(ie=>typeof ie=="string"&&ie.length>0).map((ie,ue)=>({id:`${ie}-${ue}`,words:[{label:ie}]})),[e,t]),{settings:x,filterSections:k,filterSelected:w,handleSelect:S,pages:j,isPaginated:A,pageNumberPosition:B}=uc(C),F=l.useMemo(()=>nc(j.map(ie=>ie.length)),[j]),[R,E]=l.useState({}),M=l.useCallback((ie,ue)=>{E(fe=>({...fe,[_r(ie)]:ac(fe[_r(ie)]??null,ue)}))},[]),D=l.useRef(b);l.useEffect(()=>{D.current=b}),l.useEffect(()=>{D.current?.(An(R))},[R]);const H=l.useMemo(()=>An(R),[R]),ee=l.useRef(null),{toastMessage:J,toastKey:ae,showWarning:T,clearToast:L}=bn("warning"),$=l.useRef([]),z=l.useCallback(()=>A?$.current.filter(ie=>ie!==null):ee.current?[ee.current]:[],[A]),{print:V,openNewWindow:X}=Nn({getElements:z,paperW:io[x.orientation].width,paperH:io[x.orientation].height,fileName:u??"",header:v??"",onPopupBlocked:()=>T(_("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."))}),W=l.useMemo(()=>c?void 0:s?s({print:V,openNewWindow:X}):u?[{label:_("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),variant:"default",onClick:()=>X()},{label:_("wordTable.print","\uC778\uC1C4\uD558\uAE30"),variant:"default",onClick:()=>V()},...i??[]]:i,[c,s,u,i,_,V,X]),Y=l.useMemo(()=>c?c({print:V,openNewWindow:X}):void 0,[c,V,X]),O=l.useRef(!1);return l.useEffect(()=>{if(!h||O.current)return;O.current=!0;const ie=window.setTimeout(()=>V(),100);return()=>window.clearTimeout(ie)},[h,V]),o.jsxs(Ta,{title:a??_("keyWords.title","\uC8FC\uC694 \uB2E8\uC5B4"),subtitle:r,size:"large",className:_e("word-table-popup",p),buttons:W,footer:Y,footerClassName:d,beforeClose:y,onClose:g,children:[C.length>0?o.jsxs("div",{className:"word-table-popup__body",children:[m&&o.jsx(Bn,{sections:k,selected:w,onSelect:S}),A?o.jsx("div",{className:"word-table-popup__pages",children:j.map((ie,ue)=>o.jsx(so,{items:ie,orientation:x.orientation,contentTypes:x.contentTypes,cutLine:x.cutLine,showOutline:x.showOutline,showDivLine:x.showDivLine,count:x.count,contentRef:fe=>{$.current[ue]=fe},pageNumber:{current:ue+1,total:j.length},pageNumberPosition:B,scoring:f,scoreIndexOffset:F[ue],marks:H,onMarkClick:M},ue))}):o.jsx("div",{className:"word-table-popup__table",children:o.jsx(so,{items:C,orientation:x.orientation,contentTypes:x.contentTypes,cutLine:x.cutLine,showOutline:x.showOutline,showDivLine:x.showDivLine,count:x.count,contentRef:ee,fitHeight:!0,scoring:f,marks:H,onMarkClick:M})})]}):o.jsx("p",{className:"word-table-popup__empty body-3",children:n??_("keyWords.empty","\uCD94\uCD9C\uB41C \uC8FC\uC694 \uB2E8\uC5B4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),o.jsx(ro,{message:J,position:"top",onClose:L},ae)]})}const jk=new Set(["x","triangle"]);function Km(e,t){const a=[];for(let r=0;r<e.length;r++){const n=t[String(r)];n&&jk.has(n)&&a.push(e[r])}return a}function Zm(e,t){const[,a,r]=ka(t).split("-"),n=`${a}.${r}`,i=/\s*(?:(\d+)차\s*)?복습\s*\d{2}\.\d{2}$/;let s=e.trim(),c=1;for(;;){const u=i.exec(s);if(!u)break;c=Math.max(c,(u[1]?Number(u[1]):1)+1),s=s.slice(0,u.index).trim()}const d=c>=2?`${c}\uCC28 `:"";return`${s||"\uB2E8\uC5B4\uD45C"} ${d}\uBCF5\uC2B5 ${n}`}function Xm(e,t){const a={};for(const[r,n]of Object.entries(t)){if(n!=="o"&&n!=="triangle"&&n!=="x")continue;const i=Number(r),s=e[i];s&&(a[r]=s)}return a}function Jm(e){return e.map(t=>t.label).join(" / ")}function Qm(e,t,a){const r=Xr(a);return[e.trim(),r,t.trim()].filter(Boolean).join(" \xB7 ")}const Lk=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function Dn(e,t){return Lk().compare(e,t)}function Mk(e,t){return typeof e=="number"&&typeof t=="number"?e-t:Dn(e==null?"":String(e),t==null?"":String(t))}function eb(e,t,a){return a===0?0:(e+t*.5)/a}function tb(e){const t=new Map,a=[...e].sort((n,i)=>n.scoredAt.localeCompare(i.scoredAt));for(const n of a)for(const[i,s]of Object.entries(n.marks)){const c=n.labels?.[i];if(!c)continue;const d=t.get(c)??{o:0,triangle:0,x:0,latest:s,latestAt:n.scoredAt};if(s==="o")d.o++;else if(s==="triangle")d.triangle++;else if(s==="x")d.x++;else continue;d.latest=s,d.latestAt=n.scoredAt,t.set(c,d)}const r=[];for(const[n,i]of t){const s=i.o+i.triangle+i.x;r.push({label:n,tried:s,o:i.o,triangle:i.triangle,x:i.x,rate:eb(i.o,i.triangle,s),latest:i.latest,latestAt:i.latestAt})}return r.sort((n,i)=>n.rate-i.rate||i.tried-n.tried||Dn(n.label,i.label)),r}function ab(e){const t=new Map;for(const r of e){const n=r.tableId??`name:${r.tableName}`,i=t.get(n)??{tableName:r.tableName,tableId:r.tableId,rows:[]};i.rows.push(r),t.set(n,i)}const a=[];for(const r of t.values()){const n=[...r.rows].sort((s,c)=>s.scoredAt.localeCompare(c.scoredAt)),i=n.map(s=>{const c=Object.values(s.marks),d=c.filter(m=>m==="o").length,u=c.filter(m=>m==="triangle").length;return eb(d,u,c.filter(m=>m==="o"||m==="triangle"||m==="x").length)});a.push({tableName:r.tableName,tableId:r.tableId,rates:i,times:n.map(s=>s.scoredAt),delta:i.length>=2?i[i.length-1]-i[0]:null})}return a.sort((r,n)=>(n.times[n.times.length-1]??"").localeCompare(r.times[r.times.length-1]??"")),a}function ob(e,t=8){return e.filter(a=>a.latest!=="o").slice(0,t)}function rb(e){const t=new Map;let a=0,r=0;const n=[...e].sort((s,c)=>s.answeredAt.localeCompare(c.answeredAt));for(const s of n){if(s.isCorrect==null)continue;const c=s.itemTitle?.trim();if(!c){r++;continue}a++;const d=s.itemId?.trim()||c,u=`${s.trainingType}|${d}`,m=t.get(u)??{trainingType:s.trainingType,itemId:d,title:c,tried:0,wrong:0,latestCorrect:s.isCorrect,latestAt:s.answeredAt,lastSelected:s.selected,setIds:[]};m.tried++,s.isCorrect||m.wrong++,m.title=c,m.latestCorrect=s.isCorrect,m.latestAt=s.answeredAt,m.lastSelected=s.selected,s.setId&&!m.setIds.includes(s.setId)&&m.setIds.unshift(s.setId),t.set(u,m)}const i=[...t.entries()].map(([s,c])=>({key:s,trainingType:c.trainingType,itemId:c.itemId,title:c.title,tried:c.tried,wrong:c.wrong,rate:c.tried===0?0:(c.tried-c.wrong)/c.tried,latestCorrect:c.latestCorrect,latestAt:c.latestAt,lastSelected:c.lastSelected,setIds:c.setIds}));return i.sort((s,c)=>s.rate-c.rate||c.tried-s.tried||Dn(s.title,c.title)),{items:i,counted:a,skippedNoTitle:r}}function nb(e,t=8){return e.filter(a=>!a.latestCorrect).slice(0,t)}function ib(e){const t=new Map;for(const r of e){const n=t.get(r.trainingType)??[];n.push(r),t.set(r.trainingType,n)}const a=[...t.entries()].map(([r,n])=>({trainingType:r,items:n,pending:n.filter(i=>!i.latestCorrect).length}));return a.sort((r,n)=>n.pending-r.pending||r.trainingType.localeCompare(n.trainingType)),a}const En=["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"];function sb(e){const t=new Map;let a=0;for(const i of e){if(i.latestCorrect)continue;const s=i.setIds[0];if(!s){a++;continue}const c=`${i.trainingType}|${s}`,d=t.get(c)??{setId:s,trainingType:i.trainingType,pending:0};d.pending++,t.set(c,d)}const r=(i,s)=>s.pending-i.pending||i.trainingType.localeCompare(s.trainingType)||i.setId.localeCompare(s.setId),n=[...t.values()];return{sentence:n.filter(i=>En.includes(i.trainingType)).sort(r),word:n.filter(i=>!En.includes(i.trainingType)).sort(r),noSet:a}}function lb(e,t,a=5){const r=new Set(t);if(r.size===0)return[];const n=[];for(const i of e){const s=new Set,c=[];for(const d of i.cellLabels)r.has(d)&&!s.has(d)&&(s.add(d),c.push(d));c.length!==0&&n.push({id:i.id,name:i.name,kind:i.kind,covered:c,totalCells:i.cellLabels.length})}return n.sort((i,s)=>s.covered.length-i.covered.length||i.totalCells-s.totalCells||Dn(i.name,s.name)),n.slice(0,Math.max(0,a))}function cb(e,t){const a=new Set(e.flatMap(r=>r.covered));return t.filter(r=>!a.has(r))}function db(e,t){const a=new Map;for(const n of e)for(const i of n.cells){const s=n.labelOf(i);a.has(s)||a.set(s,i)}const r=[];for(const n of t){const i=a.get(n);i!==void 0&&r.push(i)}return r}function ub(e){if(!e||e<=0)return"-";const t=Math.floor(e/60),a=e%60;return t>0?`${t}\uBD84${a>0?` ${a}\uCD08`:""}`:`${a}\uCD08`}function pb(e,t){const a=[],r=new Set;for(const n of e){const i=t(n);r.has(i)||(r.add(i),a.push({key:i,value:n,pinned:!1}))}return a}function hb(e,t){return e.map(a=>a.key===t?{...a,pinned:!a.pinned}:a)}function mb(e,t){return e.filter(a=>a.key!==t)}function bb(e,t,a){const r=e.filter(u=>u.pinned),n=new Set(r.map(u=>u.key)),i=e.length-r.length,s=[],c=new Set(n);for(const u of t){if(s.length>=i)break;const m=a(u);c.has(m)||(c.add(m),s.push({key:m,value:u,pinned:!1}))}const d=[...s];return e.map(u=>u.pinned?u:d.shift()).filter(u=>u!==void 0)}function gb(e){return e.map(t=>t.value)}var Pk=`.ihabdevteam-core-scope .icon-grid-menu{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:center}.ihabdevteam-core-scope .icon-grid-menu--medium{margin-bottom:60px}.ihabdevteam-core-scope .icon-grid-menu--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .page:has(.choice-chips) .icon-grid-menu{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .icon-grid-menu__button{align-items:center;background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:28px;cursor:pointer;display:flex;flex-direction:column;gap:0;height:68px;justify-content:center;padding:0;text-align:center;transition:background-color .24s ease,box-shadow .15s,border-color .15s;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button:hover{border-color:var(--color-main);box-shadow:var(--shadow-card)}.ihabdevteam-core-scope .icon-grid-menu__button:disabled{border-color:var(--color-whiteLine);box-shadow:none;cursor:default;opacity:.95;outline:none;pointer-events:none}.ihabdevteam-core-scope .icon-grid-menu__button-icon{align-items:center;color:var(--color-lightGray);display:inline-flex;font-size:28px;height:32px;justify-content:center;transform-origin:center;width:32px;will-change:transform}
|
|
980
980
|
|
|
981
981
|
/* !important \uD544\uC694: Icon.tsx\uC758 \uD3F4\uBC31 SVG(nullSvg)\uB294 style="stroke:...;stroke-width:.." \uC778\uB77C\uC778
|
|
982
982
|
\uC18D\uC131\uC73C\uB85C \uB80C\uB354\uB9C1\uB418\uC5B4 \uD074\uB798\uC2A4 \uADDC\uCE59\uBCF4\uB2E4 \uC6B0\uC120\uC21C\uC704\uAC00 \uB192\uC74C. \uC774 \uADDC\uCE59\uC744 \uBAA8\uB4E0 \uC544\uC774\uCF58(\uC77C\uBC18 lucide
|
|
983
983
|
\uC544\uC774\uCF58 + \uD3F4\uBC31)\uC5D0 \uB3D9\uC77C\uD558\uAC8C \uC801\uC6A9\uD558\uB824\uBA74 !important\uAC00 \uBD88\uAC00\uD53C\uD568. */.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg,.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg *{stroke:currentColor!important;stroke-width:2px!important;stroke-width:var(--icon-grid-menu-button-stroke-width,2px)!important;vector-effect:non-scaling-stroke}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg{height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg{display:block;height:28px;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{background-color:currentColor;display:inline-block;height:28px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-image{display:block;height:28px;-o-object-fit:contain;object-fit:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{align-items:center;display:inline-flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .icon-grid-menu__button-label{color:var(--color-darkGray);overflow-wrap:break-word;word-break:keep-all}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected{animation:sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-main);border-color:transparent;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected .icon-grid-menu__button-icon{color:#fff}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-wrapper{gap:4px;margin:4px 8px;width:56px}.ihabdevteam-core-scope .icon-grid-menu--medium .icon-grid-menu__button-wrapper{margin-left:6px;margin-right:6px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon{font-size:20px;height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-image,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-mask,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg svg{height:20px;width:20px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-label{font-size:12px;line-height:1.3}@media (min-width:1024px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 12px;width:80px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:28px;height:68px;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:28px;width:28px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 10px;width:64px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:24px;height:58px;width:58px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:24px;width:24px}}@media (max-width:767px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:var(--spacing-xs);width:50px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:20px;width:20px}}`;te(Pk);function Rk(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},n=t?.key?` icon-grid-menu__button--${t.key}`:"",i=l.useId();return o.jsxs("div",{className:`icon-grid-menu__button-wrapper${n}`,children:[o.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,disabled:a,children:o.jsx(Fe,{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"})}),o.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function fb(e){const{categories:t=[],selected:a,onSelect:r,size:n="medium"}=e||{},i=a??(t&&t[0]?.key)??null,[s,c]=l.useState(i??null);l.useEffect(()=>{a!=null&&c(a)},[a]);const d=l.useRef(r),u=l.useRef(s),m=l.useRef(a!==void 0);l.useEffect(()=>{!m.current&&u.current&&typeof d.current=="function"&&d.current(u.current)},[]);const h=l.useCallback(p=>{const g=s===p?null:p;c(g),r?.(g)},[s,r]);return o.jsx("div",{className:`icon-grid-menu icon-grid-menu--${n}`,children:(t||[]).map(p=>o.jsx(Rk,{category:p,isSelected:s===p.key,onClick:()=>h(p.key)},p.key))})}var $k=".ihabdevteam-core-scope .choice-chips{display:block;width:100%}.ihabdevteam-core-scope .choice-chips--medium{margin-bottom:60px}.ihabdevteam-core-scope .choice-chips--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .choice-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:center;padding-bottom:6px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar{height:8px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:var(--radius-sm)}.ihabdevteam-core-scope .choice-chips__button{background:var(--color-deepWhite)!important;border:1px solid var(--color-whiteLine)!important;border-radius:var(--radius-s)!important;color:var(--color-darkGray)!important;height:40px!important;padding:0 24px!important;transition:all .12s!important;white-space:nowrap}.ihabdevteam-core-scope .choice-chips__button:hover{border-color:var(--color-main)!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__button{height:32px!important;padding:0 16px!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__list{gap:var(--spacing-xs)}.ihabdevteam-core-scope .choice-chips__button.is-selected{animation:chip-sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background:var(--color-main)!important;border:1px solid var(--color-main)!important;box-shadow:var(--shadow-dropdown);color:#fff!important}@keyframes chip-sub-to-main{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";te($k);function vb({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const n=r==="small"?32:40;return o.jsx("div",{className:`choice-chips choice-chips--${r}`,children:o.jsx("div",{className:"choice-chips__list",children:e.map(i=>o.jsx(re,{size:n,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}var Ik=".ihabdevteam-core-scope .site-footer{background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-gray);padding:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__top{align-items:flex-start;display:flex;gap:40px;justify-content:space-between}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 220px;width:220px}.ihabdevteam-core-scope .site-footer__lead{color:var(--color-gray);text-align:left}.ihabdevteam-core-scope .site-footer__links{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:100px 10px;min-width:320px}.ihabdevteam-core-scope .site-footer__column{flex:0 0 160px;min-width:160px;text-align:left}.ihabdevteam-core-scope .site-footer__column-title{color:var(--color-lightGray)}.ihabdevteam-core-scope .footer-title{color:var(--color-lightGray);display:inline-block;font-size:13px;font-weight:600;line-height:20px;width:80px}.ihabdevteam-core-scope .site-footer__column ul{list-style:none;margin:10px 0 0;padding:0}.ihabdevteam-core-scope .site-footer__column li{margin-bottom:6px}.ihabdevteam-core-scope .footer-link,.ihabdevteam-core-scope .site-footer__column a{color:var(--color-lightGray);text-decoration:none}.ihabdevteam-core-scope .footer-link{align-items:center;display:inline-flex;font-size:13px;line-height:20px;min-height:24px;min-width:24px;transition:color .12s ease}.ihabdevteam-core-scope .footer-copyright,.ihabdevteam-core-scope .footer-meta{line-height:18px}.ihabdevteam-core-scope .footer-link:focus,.ihabdevteam-core-scope .footer-link:hover{color:var(--color-main);text-decoration:none}.ihabdevteam-core-scope .site-footer__rule{border:none;border-top:1px solid var(--color-darkWhite);margin:40px 0}.ihabdevteam-core-scope .site-footer__bottom{align-items:center;display:flex;gap:40px;justify-content:flex-start}.ihabdevteam-core-scope .site-footer__logo{height:52px}.ihabdevteam-core-scope .site-footer__bottom .site-footer__brand{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .site-footer__meta{color:var(--color-lightGray);text-align:left}.ihabdevteam-core-scope .site-footer__copyright{align-items:center;box-sizing:border-box;color:var(--color-lightGray);display:flex;justify-content:center;margin:var(--spacing-page) 0 0 0;text-align:center;width:100%}@media (max-width:1024px){.ihabdevteam-core-scope .site-footer__top{flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 auto;width:100%}.ihabdevteam-core-scope .site-footer__links{gap:20px 10px;margin:0;min-width:0;width:100%}.ihabdevteam-core-scope .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__meta{width:100%}.ihabdevteam-core-scope .site-footer__logo{height:50px}}@media (max-width:767px){.ihabdevteam-core-scope .site-footer__logo{height:48px}}";te(Ik);function yb({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",n=a?.tel??"031-380-3724",{t:i}=me.useTranslation();return o.jsx("footer",{className:"site-footer",children:o.jsxs("div",{className:"safearea",children:[o.jsxs("div",{className:"site-footer__top",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
|
|
984
984
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
985
985
|
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
|
|
986
|
-
`).map((s,c,d)=>o.jsxs(l.Fragment,{children:[s,c<d.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.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")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.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"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Il,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.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")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var zk='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';te(zk);function xb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,f)=>c?c(g,{onClick:f}):o.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var Ok=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";te(Ok);function Cb({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,...wm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const pc=9,Fk=e=>Math.round(Math.min(pc,Math.max(0,e))/pc*100),Wk=e=>e/100*pc,_b={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},wb=l.createContext(null);function hc(){return l.useContext(wb)}const mc=e=>`${oi()}/${e}`,kb=e=>Array.from({length:10},(t,a)=>mc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),jn={get defaultNoise(){return mc("noise1.mp3")},get street(){return kb("noise2")},get restaurant(){return kb("noise3")},get buzz(){return mc("noise4.mp3")}};function Hk(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return jn.defaultNoise;case"street":return jn.street[t];case"restaurant":return jn.restaurant[t];case"buzz":return jn.buzz;default:return null}}function Vk({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),d=l.useRef(null),u=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((v,y=250)=>{const _=n.current;if(!_||!_.src)return;m.current+=1,p();try{Ho(),r.current?.("noise",Vo(_))}catch{}const C=_.paused?0:_.volume;_.paused&&(_.volume=0),_.play().catch(()=>{});const x=performance.now(),k=()=>{const w=Math.min(1,(performance.now()-x)/y);try{_.volume=Math.max(0,Math.min(1,C+(v-C)*w))}catch{}w<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((v=250,y)=>{const _=n.current;if(!_||_.paused){y?.();return}const C=++m.current;p();const x=performance.now(),k=_.volume,w=()=>{const S=Math.min(1,(performance.now()-x)/v);try{_.volume=Math.max(0,k*(1-S))}catch{}if(S<1)u.current=requestAnimationFrame(w);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{_.pause()}catch{}y?.()}};u.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===C){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{_.paused||(_.volume=0,_.pause(),y?.())}catch{}}},v+150)},[p]);l.useEffect(()=>{const v=document.createElement("audio");return v.loop=!0,v.crossOrigin="anonymous",n.current=v,()=>{p();try{v.pause(),v.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let v=0;const y=setInterval(()=>{const _=n.current;if(!_||_.paused){v=0;return}const C=t.current;if(C&&!C.paused&&!C.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(y)},[f,b,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const y=n.current;if(y&&!y.paused){p();try{y.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const v=e?.settings,y=n.current;if(!y)return;if(!v||!v.enabled||v.level===0){f();return}const _=Math.min(1,v.level/9);if(c.current!==v.type){const C=Hk(v.type);C&&(c.current=v.type,s(C),f(150,()=>{y.src=C,y.load();const x=t.current;x&&!x.paused&&y.addEventListener("canplay",function k(){y.removeEventListener("canplay",k);const w=t.current;w&&!w.paused&&!w.ended&&g(_)})}))}else{const C=t.current,x=!!C&&!C.paused&&!C.ended;if(x&&y.paused&&y.src)g(_);else if(!y.paused)if(!x)f();else{p();const k=y.volume,w=performance.now(),S=()=>{const j=Math.min(1,(performance.now()-w)/150);try{y.volume=k+(_-k)*j}catch{}j<1?u.current=requestAnimationFrame(S):u.current=null};u.current=requestAnimationFrame(S)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,f,t]),l.useEffect(()=>{const v=n.current;if(v)try{v.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:f}}function Gk({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const v=(C,x=1)=>{try{const k=(C||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(C||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,x)))}catch{return 1200}},y=l.useCallback(C=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const x=window.speechSynthesis;try{try{x.cancel()}catch{}const k=C??e,w=(Array.isArray(k)?k[0]??"":k)||"",S=new SpeechSynthesisUtterance(w);try{S.rate=Math.max(.3,Math.min(3,t))}catch{}try{S.volume=Math.max(0,Math.min(1,a))}catch{}f.current=v(w,S.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const j=m.current;j?.enabled&&(j?.level??0)>0&&d(j.level/9);const A=()=>{try{const T=g.current||performance.now(),F=performance.now()-T,R=f.current||1200,E=Math.min(1,F/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(A))}catch{}};S.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},S.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(A)}catch{}};try{x.speak(S)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),_=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:y,stopTTS:_}}var qk='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';te(qk);async function Yk(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let v=g;v<f;v++){const y=Math.abs(s[v]);y>b&&(b=y)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Sb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Yk(r,t,a)}catch(r){try{const n=Ur(r)}catch{}return null}}const Ab=4;function Uk(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[v,y]=l.useState(!1),[_,C]=l.useState(null),[x,k]=l.useState(2),[w,S]=l.useState(0),[j,A]=l.useState(null),[T,F]=l.useState(!1),R=3,E=3,M=1,D=300,H=l.useRef(0),J=l.useCallback(async(ie,ue)=>{const fe=++H.current,ye=()=>H.current===fe;try{if(y(!1),!ie){ye()&&b(null);return}let pe=ue;if(!pe)try{for(let De=0;De<4&&!(p.current||g.current);De++)await new Promise($e=>requestAnimationFrame($e));await new Promise(De=>requestAnimationFrame(De));const q=p.current,oe=g&&g.current?g.current:q?q.closest(".audio-player__wave"):null,ge=oe?oe.getBoundingClientRect():q?q.getBoundingClientRect():null,de=ge?Math.max(100,ge.width):320,I=ge?ge.height:0;I>0&&S(I),pe=Math.max(M,Math.min(D,Math.floor((de+E)/(R+E))));const Z=pe*R,Q=Math.max(0,pe-1),ve=Q>0?(de-Z)/Q:E;k(Math.max(0,ve))}catch{pe=120}const P=await Sb(ie,pe);if(!ye())return;if(!P){b(null),y(!1);return}b(P),C(pe),y(!0)}catch{if(!ye())return;b(null),y(!1)}},[y,b,S,k,C]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;J(typeof ie=="string"?ie:void 0).catch(()=>{}),F(!1)},[t,a,J]),l.useEffect(()=>{let ie=!1;if(!i||!_){A(null);return}const ue=d>0?d*(c||1):void 0;return Sb(i,_,ue).then(fe=>{ie||A(fe)}).catch(()=>{ie||A(null)}),()=>{ie=!0}},[i,_,d,c]);const ee=Math.max(0,Math.min(1,u)),ae=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),B=_||40,L=l.useMemo(()=>Array.from({length:B}).map((ie,ue)=>{const fe=f&&f[ue]!=null?f[ue]:null,ye=fe==null?null:Math.min(1,fe/ae*ee),pe=ye!=null&&w>0&&ye*w<=Ab,P=ye==null?.15:pe?0:ye,q=B>1?ue/(B-1):0;return o.jsx("div",{className:pe?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":P,"--i":ue,"--mix":q}},ue)}),[B,f,ae,ee,w]),$={"--progress":String(Math.max(0,Math.min(1,r)))},z={"--bar-gap":`${x}px`},V=Math.max(0,Math.min(9,s))/9,X=v&&(i?!!j:!0);l.useEffect(()=>{X&&F(!0)},[X]);const W=T?v:X;l.useEffect(()=>{m?.(W)},[W,m]);const Y=_||40,O=l.useMemo(()=>Array.from({length:Y}).map((ie,ue)=>{const fe=j&&j[ue]!=null?j[ue]:null,ye=fe==null?0:Math.min(1,fe/ae*V),pe=w>0&&ye*w<=Ab,P=pe?0:ye,q=Y>1?ue/(Y-1):0;return o.jsx("div",{className:pe?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":P,"--i":ue,"--mix":q}},ue)}),[Y,j,ae,V,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:z,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${X?"is-ready":""}`,"aria-hidden":"true",children:O}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${W?"is-ready":""}`,ref:p,children:L}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${W?"is-ready":""}`,ref:n,style:$,children:L})]})]})}const Kk={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"};function bc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const u=isFinite(n.duration)&&n.duration||0;s(),a(u)},d=u=>{i||(i=!0,s(),t.rejectOnError?r(new Error(u)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),t.timeoutMs),n.src=e})}const Zk=2e3;function Tb(e,t=Zk){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function Xk({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(d=>{if(r.current=d,!d||!n.current.length)return;const u=n.current;n.current=[];for(const m of u)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);n.current.push(()=>{clearTimeout(u),d()})}),[e,t,a]);return l.useEffect(()=>()=>{const d=n.current;n.current=[];for(const u of d)u()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function Jk(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Qk({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function e7({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function t7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function a7({ended:e,completedByEnd:t}){return!!e||!!t}function o7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function r7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function n7(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function i7({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const u=()=>{try{const m=e.current,h=e7({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(u)};i.current=requestAnimationFrame(u)},[e,t,a,r,n]),d=l.useCallback(u=>{s();try{t.current&&(t.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:d}}function wr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),m=e,h=hc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),v=Jk(),y=l.useRef(null),_=l.useRef(!1),C=l.useRef(0),x=l.useRef(null),{ref:k,rect:w,show:S,hide:j}=Qk();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[A,T]=l.useState(!1),[F,R]=l.useState("idle"),[E,M]=l.useState("stopped"),D=l.useRef("stopped");l.useEffect(()=>{D.current=E},[E]);const[H,J]=l.useState(0),[ee,ae]=l.useState("active"),[B,L]=l.useState(null),[$,z]=l.useState(null),[V,X]=l.useState(0),[W,Y]=l.useState(!1),[O,ie]=l.useState(0),ue=h?.playbackRate??1,fe=h?.mainVolume??1,[ye,pe]=l.useState("idle"),[P,q]=l.useState(""),[oe]=l.useState("top"),ge=l.useRef(null),de=l.useRef(0),I=l.useRef(null),{start:Z,stop:Q,settleTo:ve}=i7({audioRef:g,fillRef:f,waveProgressRef:I,sourcesRef:ge,currentIndexRef:de}),{onReadyChange:De,waitForReady:$e,markNotReady:Le}=Xk({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),je=l.useRef(n),Te=l.useRef(r),Ie=l.useRef(null),He=l.useRef(!1),[be,Ke]=l.useState(!1),Ve=l.useCallback(U=>{He.current=U,Ke(U)},[]),Re=l.useRef(null),{activeNoiseUrl:qe,noiseSettingsRef:vt,fadeInNoise:Ue,fadeOutNoise:Xe}=Vk({noisePlayer:h,audioRef:g,playbackStateRef:D}),{startTTS:ut,stopTTS:ze}=Gk({ttsText:i,playbackRate:ue,mainVolume:fe,fillRef:f,waveProgressRef:I,setProgress:J,setPlaybackState:M,setStateLocal:ae,fadeInNoise:Ue,fadeOutNoise:Xe,noiseSettingsRef:vt,onDoneRef:Te,handleEndRef:Re}),rt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],et=(!rt||rt.length===0)&&!!i,We=Array.isArray(B)&&B.length>0?B:Array.isArray($)&&$.length>0?$:null,Je=Math.max(Array.isArray(We)?We.length:0,rt.length),tt=l.useCallback(async(U,le=3,we=50)=>{for(let Se=0;Se<le;Se++)try{return await U.play(),!0}catch(Ae){if((Ae instanceof Error||typeof Ae=="object"&&Ae&&"name"in Ae?Ae.name:void 0)==="AbortError"){await new Promise(Oe=>setTimeout(Oe,we));continue}try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),xt=l.useCallback(()=>{const U=g.current;if(!U)return;const le=()=>{M("playing"),ae("playMode"),Y(!0),Z();try{Ho(),p.current?.("main",Vo(U))}catch{}const Ae=vt.current;Ae?.enabled&&(Ae?.level??0)>0&&Ue(Ae.level/9)},we=()=>{a7({ended:!!U?.ended,completedByEnd:He.current})||(M("paused"),Q(),Xe())},Se=()=>{try{const Ae=ge.current,Oe=t7(Ae,de.current);if(Oe!==null){de.current=Oe,X(Oe),Y(!0);const nt=Ae?.[Oe]&&Ae[Oe].src;if(nt&&U){U.src=nt,U.load(),tt(U).catch(()=>{});return}}}catch{}M("stopped"),J(1);try{if(U)try{U.currentTime=0}catch{}}catch{}Q(),Y(!1),Xe();try{!je.current&&Re.current&&Re.current()}catch{}};return U.addEventListener("play",le),U.addEventListener("pause",we),U.addEventListener("ended",Se),()=>{try{U.removeEventListener("play",le),U.removeEventListener("pause",we),U.removeEventListener("ended",Se),Q()}catch{}}},[Ue,Xe,tt,vt,Z,Q]);l.useEffect(()=>xt(),[xt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Te.current=r},[r]),l.useEffect(()=>{if(n||ee!=="active")return;const U=x.current;if(!U)return;let le=null;const we=requestAnimationFrame(()=>{try{const Se=U.getTotalLength();if(!Se)return;const Ae=Se*.2;U.style.strokeDasharray=`${Se-Ae} ${Ae}`;const Oe="triFlow_"+Math.random().toString(36).slice(2);le=document.createElement("style"),le.textContent=`@keyframes ${Oe}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Se}}}`,document.head.appendChild(le),U.style.animation=`${Oe} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(we),le?.remove()}},[ee,n]),l.useEffect(()=>{ge.current=B},[B]),l.useEffect(()=>{de.current=V},[V]),l.useEffect(()=>{const U=b.current,le=y.current;if(!U||!le)return;let we=null;const Se=32,Ae=60,Oe=()=>{try{const ct=Array.from(U.querySelectorAll(":scope > .button"));let ce=0;ct.forEach(Zt=>{if(Zt===le)return;const Eo=Zt.getBoundingClientRect();ce+=Eo.width});const Be=U.getBoundingClientRect().width,at=Math.max(0,Math.floor(Be-ce-8)),Ct=Je;if(!Ct||at<=0){Array.from(le.children).forEach(Zt=>{try{Zt.style.width=""}catch{}});return}let _t=Math.floor(at/Ct);_t>Ae&&(_t=Ae),_t<Se&&(_t=Math.max(Se,Math.floor(at/Ct))),Array.from(le.querySelectorAll(".button")).forEach(Zt=>{try{Zt.style.width=`${_t}px`}catch{}})}catch{}},nt=requestAnimationFrame(Oe);try{we=new ResizeObserver(()=>{requestAnimationFrame(Oe)}),we.observe(U),we.observe(le),window.addEventListener("resize",Oe)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{we&&(we.disconnect(),we=null)}catch{}try{window.removeEventListener("resize",Oe)}catch{}}},[B,$,Je]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Ie.current&&(clearTimeout(Ie.current),Ie.current=null)}catch{}},[]);const Et=(U,le)=>{L(U),ie(le),Le(),z(o7(U)),ge.current=U},it=async(U,le)=>{Ve(!1),_.current=!1,U.src=le,U.load(),await Tb(U),await $e(),T(!1),await tt(U),ae("playMode"),X(0),Y(!0)},Ht=async(U,le=!1)=>{const we=g.current;T(!0),R("measuring_duration");try{const Se=await bc(U,{timeoutMs:1e4,rejectOnError:!0});Et([{src:U,objectUrl:null,duration:Se}],Se),R("ready"),le&&we&&await it(we,U)}finally{_.current=!1,T(!1)}},mt=async(U,le=!1)=>{const we=g.current;T(!0),R("measuring_duration");try{const Se=await Promise.all(U.map(Oe=>bc(Oe,{timeoutMs:1e4}))),Ae=U.map((Oe,nt)=>({src:Oe,objectUrl:null,duration:Se[nt]||0}));Et(Ae,r7(Ae)),R("ready"),le&&we&&Ae.length>0&&await it(we,Ae[0].src)}finally{_.current=!1,T(!1)}},Vt=async(U=!1,le=!0)=>{const we=g.current,Se=t?Array.isArray(t)?t:[t]:[];if(!(!Se||Se.length===0||!Se.some(Boolean))&&!_.current){_.current=!0,le&&T(!0),R("resolving");try{const Ae=n7(t,a,Er),Oe=[];let nt=0;for(const ct of Ae){let ce=ct.src??null,Be=null;if(!ce&&ct.resolvedPath){try{R("getting_signed_url"),ce=await Oo(ct.resolvedPath)}catch{ce=null}if(!ce)try{R("downloading");const Ct=await jr(ct.resolvedPath);if(Ct){const _t=Ct instanceof Blob?Ct:new Blob([Ct]);Be=v.track(URL.createObjectURL(_t)),ce=Be}}catch{R("error");try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ae("active")}catch{}}}if(!ce)continue;let at=0;try{R("measuring_duration"),at=await bc(ce,{timeoutMs:3e3})}catch{at=0}nt+=at||0,Oe.push({...ct,src:ce,objectUrl:Be,duration:at})}if(Et(Oe,nt),Oe.length>0&&U&&we){const ct=Oe[0];Ve(!1);try{v.keepOnly(Oe.map(ce=>ce.objectUrl))}catch{}if(R("ready"),_.current=!1,ct.src&&we)try{we.src=ct.src,we.load(),await Tb(we),await $e(),le&&T(!1),we&&await tt(we)}catch{le&&T(!1)}else le&&T(!1);ae("playMode"),X(0),Y(!0)}}finally{_.current=!1,le&&T(!1),R(Ae=>Ae==="ready"?"ready":"idle")}}},ia=async()=>{const U=g.current;if(!(!U&&!et)){if(et){const le=window.speechSynthesis;if(ee==="active"){const we=Fo(),Se=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(we&&Se.length>0){ae("load"),T(!0),R("resolving"),_.current=!0;try{const Ae=await Promise.all(Se.map(Oe=>Promise.resolve(we(Oe))));Ae.length>1?await mt(Ae,!0):await Ht(Ae[0],!0)}catch{_.current=!1,T(!1),ae("active"),ut(Se[0]||void 0)}return}ut(Se[0]||void 0);return}if(ee==="playMode"){if(U){if(U.paused){if(He.current){await Gt();return}await tt(U),M("playing")}else U.pause(),M("paused");return}try{if(le&&le.paused)try{le.resume(),M("playing")}catch{}else try{le.pause(),M("paused")}catch{}}catch{}}return}if(ee==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const le=ge.current[0];try{if(le.src&&U)try{U.src=le.src,U.load(),U&&await tt(U)}catch{}ae("playMode"),X(0),Y(!0);return}catch{}}ae("load"),await Vt(!0);return}if(ee!=="load"&&(ee==="playMode"||ee==="active"))try{if(U&&U.paused){if(He.current){await Gt();return}U&&await tt(U),M("playing")}else U&&(U.pause(),M("paused"))}catch(le){(le instanceof Error||typeof le=="object"&&le&&"name"in le)&&le.name}}},Gt=async()=>{const U=g.current;if(U)try{const le=ge.current;if(Array.isArray(le)&&le.length>1){await $t(0);return}Ve(!1);try{U.currentTime=0}catch{}U&&await tt(U),M("playing"),ae("playMode")}catch{}},Ea=()=>{if(et){ze();return}const U=g.current;try{if(U){try{U.pause()}catch{}try{U.currentTime=0}catch{}}}catch{}Xe(),M("stopped"),ae("active"),J(0),Y(!1)},sa=async(U,{sameSegment:le=!1}={})=>{const we=++C.current,Se=g.current,Ae=ge.current?.[U]?.src;try{if(Ve(!1),X(U),Y(!0),de.current=U,!Ae||!Se||(le||Le(),Se.src=Ae,Se.load(),le||await $e(),we!==C.current)||(await tt(Se),we!==C.current))return;M("playing"),ae("playMode")}catch{}},Kt=async()=>{const U=ge.current,le=de.current||0;if(!U||le<=0){await Gt();return}await sa(le-1)},ja=async()=>{const U=ge.current,le=de.current||0;if(!U||le>=U.length-1){Ea();return}await sa(le+1)},jt=()=>{if(He.current)return;const U=200,le=340;Ve(!0);try{J(1)}catch{}ve(1);try{pe("hold")}catch{}try{const we=g.current,Se=et&&!!we?.src;if(!et||Se){if(we){we.pause();try{we.currentTime=0}catch{}}}else ze();Xe()}catch{}try{M("stopped")}catch{}if(Y(!1),!je.current)try{Ie.current&&(clearTimeout(Ie.current),Ie.current=null),Ie.current=setTimeout(()=>{try{pe("out")}catch{}Ie.current=setTimeout(()=>{try{typeof Te.current=="function"&&Te.current(!0)}catch{}try{pe("idle")}catch{}Ie.current=null},le)},U)}catch{}};l.useEffect(()=>{Re.current=jt});const Ga=l.useCallback(()=>q(""),[]),$t=async U=>{(ge.current||[])[U]&&await sa(U,{sameSegment:U===de.current})},ya=E==="playing",qa=l.useMemo(()=>{if(!$||$.length<=1)return $;const U=$[V];return U?[U]:$},[$,V]),Qe=n===!0;l.useEffect(()=>{try{const U=g.current;U&&typeof U.playbackRate=="number"&&(U.playbackRate=ue||1)}catch{}},[ue]),l.useEffect(()=>{try{const U=g.current;U&&(U.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const It=ye==="hold",kt=ye==="out",xa=ee==="playMode"&&!A&&!be||It||kt,la=E!=="stopped"||It||kt,ne=E==="paused",xe=Math.max(0,Math.min(100,(H||0)*100)),Ce=_e("audio-player__fill",xa?"is-visible":"",la?"is-expanded":"",ne?"is-paused":"",kt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Qe?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${ya?"is-playing":""} ${A?"is-loading":""} ${ee!=="default"?"is-revealed":""}`,children:[A?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:Kk[F]})]}):null,ee==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{j(),ia()},"aria-label":typeof m=="string"?m:u("training.listen","\uB4E3\uAE30"),onMouseEnter:S,onMouseLeave:j,onFocus:S,onBlur:j,children:o.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:x,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,w&&o.jsx(aa,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${ee==="playMode"||ya?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Kt,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:ya?"pause":"play",onClick:ia,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:ee!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:ee!=="playMode"}),Je>1?o.jsx("div",{ref:y,className:"audio-player__source-buttons",children:Array.from({length:Je}).map((U,le)=>o.jsx(re,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(le+1),onClick:()=>{try{$t(le)}catch{}},ariaLabel:u("training.sourcePlay",{n:le+1}),variant:"transparent-white",selected:W&&V===le,disabled:ee!=="playMode"||!(Array.isArray(B)&&B[le]),showTooltipInfo:!0},le))}):null,!Array.isArray(B)||B.length<=1?o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:ee!=="playMode"}):null,o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ja,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:ee!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:ee!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:Ce,ref:f,style:{left:`${xe}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(Uk,{segments:qa,progress:H,totalDuration:O,onSegmentClick:$t,waveProgressRef:I,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&(h?.settings.level??0)>0?qe:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:fe,onReadyChange:De})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Fe,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(ro,{message:P,position:oe,onClose:Ga})]})}var s7=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";te(s7);function No(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=sn({storageKey:"tooltip-fontScale"}),v=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),y=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),_=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],C={fontSize:`${f}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},x=o.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:C,children:_.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[_.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(re,{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:d==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:v,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:y,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Sa,{anchorRect:n,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:x}):o.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:x})}var l7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);gap:var(--spacing-m);min-width:0;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}@media (max-width:640px){.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";te(l7);var c7='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';te(c7);function gc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Fe,{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})}),o.jsx("div",{className:"ts-bullet__line"})]})}var d7=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";te(d7);function fc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=oa("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[v,y]=l.useState(!1),[_,C]=l.useState(null),[x,k]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.current=i});const S=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(T=>typeof T=="string"||typeof T=="number")?s.join(""):"",[s]),j=l.useCallback(()=>{y(!1),C(null),k(null)},[]);l.useEffect(()=>{if(!v)return;let T;try{typeof w.current=="function"&&(T=w.current())}catch{}if(T===!1){j();return}k(typeof T<"u"&&T!==null?T:null)},[S]);const A=l.useCallback(()=>{let T;try{typeof i=="function"&&(T=i())}catch{}if(T!==!1){if(k(typeof T<"u"&&T!==null?T:s),!b.current){y(F=>!F);return}if(v)y(!1),C(null),k(null);else{const F=b.current.getBoundingClientRect();C(F),y(!0)}}},[i,s,v]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(re,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(re,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:v,onClick:A,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),v&&o.jsx(No,{text:x??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:_,onClose:j,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function vc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Va({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[m,h]=l.useState(()=>vc(e,t));l.useEffect(()=>{const k=vc(e,t);if(k!==m){const w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[e,t,m]);const p=l.useCallback((...k)=>{vc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,v]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),y=l.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const A=w.currentTarget??w.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(k instanceof DOMRect)return k;const S=k;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect();const j=k?.current;return j&&typeof j.getBoundingClientRect=="function"?j.getBoundingClientRect():null}catch{return null}},[]),_=l.useCallback((k,{text:w="",label:S="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:j=!1,alignX:A="center",alignY:T="top"}={})=>{const F=y(k);v({text:w,label:S,anchorRect:F,backdrop:j,alignX:A,alignY:T}),f(!0)},[y]),C=l.useCallback(()=>{f(!1),v(k=>({...k,anchorRect:null}))},[]),x=l.Children.map(i,k=>{if(l.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const S=w.props??{},j=typeof S.onDone=="function"?S.onDone:p,A=typeof S.disabled=="boolean";let T=m==="disabled";return A&&(T=!!S.disabled),l.cloneElement(w,{onDone:j,disabled:T,showTooltip:_,hideTooltip:C})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(gc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(fc,{state:m,title:r,...n,useFaded:d}),x]}),g?o.jsx(Sa,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:C,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(No,{text:b.text,onClose:C})}):null]})}var u7='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';te(u7);function yc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(A=>A==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=sn({storageKey:"textbox_fontScale"}),[b,v]=l.useState(""),y=l.useCallback(()=>i("active"),[]),_=l.useCallback(()=>v(""),[]),C=A=>{try{v(A)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const A=setTimeout(()=>i(t),0);return()=>clearTimeout(A)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const A=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(A)},[k]);const w=t==="disabled"?n:t,S=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="done"?"training-text-box--done":"",j=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return o.jsxs("div",{className:`training-text-box ${S} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(re,{size:48,type:"bar",onClick:y,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:j,children:k})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(re,{size:32,type:"dot",onClick:m,onDisabledClick:()=>C(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:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),o.jsx(re,{size:32,type:"dot",onClick:u,onDisabledClick:()=>C(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:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(ro,{message:b,position:"top",onClose:_})]})}function Ln({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=me.useTranslation(),v=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),y=typeof e=="number"?e:-1,_=typeof t!="number"?"disabled":y<t?"done":y===t?"active":"disabled",C=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,x=d?d.join("||"):"",k=u?u.join("||"):"",[w,S]=l.useState(()=>Array.isArray(C)?f?Ge(C):C.slice():void 0);l.useEffect(()=>{Array.isArray(C)&&C.length?S(f?Ge(C):C.slice()):S(void 0)},[c,x,k,f]);const[j,A]=l.useState(null),[T,F]=l.useState(()=>new Set);l.useEffect(()=>{A(null),F(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const D=R.current;typeof D=="number"&&typeof t=="number"&&typeof e=="number"&&D>=e&&t<e&&(A(null),F(new Set)),R.current=t},[t,e]);const E=l.useCallback(D=>{if(_!=="active")return;const H=w?.[D];if(H==null)return;const J=H,ee=_==="active"||_==="done";if(m){const ae=new Set(T),B=ae.has(J);B?ae.delete(J):ae.add(J),F(ae),typeof s=="function"&&s({selectedValues:[...ae],__ts:Date.now()}),ee&&(typeof h=="number"&&h>0?ae.size>=h:!B)&&typeof i=="function"&&_==="active"&&i({selectedValues:[...ae],__ts:Date.now()})}else A(J),typeof s=="function"&&s({selectedIndex:D,selectedValue:J,__ts:Date.now()}),ee&&typeof i=="function"&&_==="active"&&i({selectedIndex:D,selectedValue:J,__ts:Date.now()})},[w,_,m,s,i,h,T]),M=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:v,useTitleFaded:n,children:o.jsx("div",{className:M,children:Array.isArray(w)&&w.length>0?w.map((D,H)=>o.jsx(re,{size:56,type:"bar",onClick:()=>E(H),ariaLabel:String(D),label:D,useLabel:!0,icon:g?g[String(D)]:void 0,variant:"default",disabled:_==="disabled",selected:m?T.has(D):j===D,useDisabledCovered:p,minWidth:0},String(D))):null})})}function Mn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("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,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[f,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&f!==null){const C=setTimeout(()=>b(null),0);return()=>clearTimeout(C)}},[p,c,f]);const v=l.useCallback(C=>{const x=typeof C=="object"&&C!==null?Object.assign({},C,{__ts:Date.now()}):{value:C,__ts:Date.now()};typeof i=="function"&&i(x),h==="active"&&typeof n=="function"&&n(x)},[i,h,n]),y=l.useCallback(()=>{h==="active"&&(b(!1),v(!1))},[v,h]),_=l.useCallback(()=>{h==="active"&&(b(!0),v(!0))},[v,h]);return o.jsxs(Va,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(yc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((C,x)=>o.jsx(re,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(x),v&&v(x))},disabled:h==="disabled",ariaLabel:String(C),label:C,variant:h,selected:f===x},x)):o.jsxs(o.Fragment,{children:[o.jsx(re,{size:56,type:"bar",onClick:y,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(re,{size:56,type:"bar",onClick:_,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=me.useTranslation(),v=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),y=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:v,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(wr,{soundSrc:s,ttsText:s?null:u??v,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:y,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var p7=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";te(p7);var h7=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";te(h7);function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=L=>typeof L=="string"?L:L&&(L.context||L.sentence||L.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((L,$)=>({id:$,text:u(L)}))),f=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const L=Array.isArray(s)?s:[];h(L);const $=(z=>{const V=(z||[]).map((O,ie)=>({id:ie,text:u(O)}));if(V.length<=1)return V;const X=(O,ie)=>{if(O.length!==ie.length)return!1;for(let ue=0;ue<O.length;ue++)if(O[ue].text!==ie[ue].text)return!1;return!0};let W=Ge(V),Y=0;for(;X(W,V)&&Y<20;)W=Ge(V),Y+=1;return W})(L);g($);try{if(typeof i=="function"){const z=$.filter((V,X)=>V.text===u(L[X])).length;i({shuffled:$,score:z,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const z=$.filter((V,X)=>V.text===u(L[X])).length;n({shuffled:$,score:z,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,$)=>{const z=[...p],V=L+$;if(V<0||V>=z.length)return;const X=z[V];z[V]=z[L],z[L]=X,M(z);try{if(typeof n=="function"&&f==="active"){const W=z.filter((Y,O)=>Y.text===u(m[O])).length;n({shuffled:z,score:W,total:(m||[]).length,__ts:Date.now()})}}catch{}},[v,y]=l.useState(null),_=l.useRef(null),C=l.useRef(null),x=l.useRef(null),k=l.useRef(null),w=l.useRef(null),S=l.useRef({x:0,y:0}),j=l.useRef(null),A=l.useRef({dx:0,dy:0}),T=()=>{if(j.current!==null)return;const L=()=>{j.current=requestAnimationFrame(L);const $=S.current,z=A.current||{dx:0,dy:0};_.current&&(_.current.style.transform=`translate3d(${$.x-z.dx}px, ${$.y-z.dy}px, 0)`)};j.current=requestAnimationFrame(L)},F=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return F.current.forEach(($,z)=>{$&&$.getBoundingClientRect&&L.set(z,$.getBoundingClientRect())}),L},M=L=>{const $=E();g(L);try{if(typeof i=="function"){const z=L.filter((V,X)=>V.text===u(m[X])).length;i({shuffled:L,score:z,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const z=E();L.forEach(V=>{const X=$.get(V.id),W=z.get(V.id),Y=F.current.get(V.id);if(!Y||!X||!W)return;const O=X.top-W.top;O&&(Y.style.transition="none",Y.style.transform=`translateY(${O}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const ie=()=>{Y.style.transition="",Y.removeEventListener("transitionend",ie)};Y.addEventListener("transitionend",ie)}))})})},D=(L,$)=>{try{try{$.dataTransfer?.setData("text/plain",String(L))}catch{}try{$.dataTransfer&&($.dataTransfer.effectAllowed="move")}catch{}try{const z=document.createElement("div");z.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(z),$.dataTransfer?.setDragImage(z,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(z)}catch{}})}catch{}}catch{}y(L);try{const z=p[L],V=document.createElement("div");V.className="order-list__dragging-object order-list__dragging-object--visible",V.textContent=z&&z.text?z.text:"",document.body.appendChild(V),_.current=V;const X=F.current.get(z.id);let W=$.clientX||0,Y=$.clientY||0;try{if(X&&X.getBoundingClientRect){const pe=X.getBoundingClientRect();W=pe.left+pe.width/2,Y=pe.top+pe.height/2}}catch{}const O=V.getBoundingClientRect(),ie=O.width/2,ue=O.height/2;A.current={dx:ie,dy:ue},V.style.transition="none",S.current={x:W,y:Y},V.style.transform=`translate3d(${W-ie}px, ${Y-ue}px, 0)`,requestAnimationFrame(()=>{try{V.style.transition=""}catch{}T()});const fe=pe=>{const P=pe;S.current={x:P.clientX,y:P.clientY},T()};x.current=fe,document.addEventListener("mousemove",fe);const ye=pe=>{const P=pe;S.current={x:P.clientX,y:P.clientY},T()};C.current=ye,document.addEventListener("dragover",ye);try{$.dataTransfer?.setData("text/plain",String(L));try{$.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},H=(L,$)=>{$.preventDefault();try{$.dataTransfer&&($.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const z=$.currentTarget&&$.currentTarget.closest?$.currentTarget.closest(".order-list__item"):null;if(z&&k.current!==z){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{z.classList.add("drag-over")}catch{}k.current=z}}catch{}},J=(L,$)=>{$.preventDefault();const z=$.dataTransfer?.getData("text/plain")||"",V=z?parseInt(z,10):v,X=L;if(typeof V!="number"||isNaN(V)||V===X){y(null),B(),ee();return}const W=Oi(p,V,X);M(W),y(null),ee();try{if(typeof n=="function"&&f==="active"){const Y=W.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:W,score:Y,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[X];if(!Y)return;const O=Y.querySelector(".order-list__slot")||Y;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}B()},ee=()=>{if(_.current){try{document.body.removeChild(_.current)}catch{}_.current=null}C.current&&(document.removeEventListener("dragover",C.current),C.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),j.current!==null&&(cancelAnimationFrame(j.current),j.current=null)},ae=()=>{y(null),B(),ee()};l.useEffect(()=>()=>ee(),[]);const B=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.current=null),k.current){try{k.current.classList.remove("drag-over")}catch{}k.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(L=>L.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const L=Math.max(1,(p||[]).length);p.forEach(($,z)=>{const V=R.current.get($.id);if(!V)return;let X=50;L>1&&(X=Math.round(z/(L-1)*100));try{V.style.setProperty("--marker-pos",X+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{ee(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,$)=>{const z=Math.max(1,(p||[]).length),V=z>1?Math.round($/(z-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":V+"%"},ref:X=>{const W=R.current;X?W.set(L.id,X):W.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:$+1})}):null,o.jsxs("div",{ref:X=>{const W=F.current;X?W.set(L.id,X):W.delete(L.id)},className:`order-list__draggable ${v===$?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?X=>D($,X):void 0,onDragEnter:f==="active"?X=>H($,X):void 0,onDragOver:f==="active"?X=>H($,X):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const X=document.querySelectorAll(".order-list .order-list__item");X&&X[$]&&(X[$].classList.remove("drag-over"),k.current===X[$]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?X=>J($,X):void 0,onDragEnd:f==="active"?ae:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:L.text}),f==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(re,{size:32,type:"dot",onClick:()=>b($,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:$===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(re,{size:32,type:"dot",onClick:()=>b($,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:$===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},L.id)})})})}var m7="";te(m7);const b7=8e3;function g7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function xc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const v=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",[_,C]=l.useState(null),x=l.useRef([]),[k,w]=l.useState(!1),S=l.useMemo(()=>g.map(F=>F?.id??F?.word??"").join("|"),[g]);l.useEffect(()=>{C(null),x.current=[]},[S]);const j=l.useCallback((F,R)=>{if(c)return;const E={item:F,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(y==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,y,n]),A=l.useCallback(async()=>{if(!(k||y==="disabled")){w(!0);try{for(const F of x.current)F&&await g7(F.play(),b7)}finally{w(!1)}}},[k,y]),T=l.useCallback((F,R)=>{if(y!=="active")return;C(R);const E={selectedValue:F.word||F.title||"",selectedIndex:R,item:F,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(y==="active"&&typeof n=="function")try{n(E)}catch{}},[i,y,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:A,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((F,R)=>o.jsx(Sn,{ref:E=>{x.current[R]=E},item:F,disabled:y==="disabled",onPlayDone:()=>j(F,R),selectable:c,selected:c&&_===R,onSelect:c?()=>T(F,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},F&&F.id||R))})})}const f7=160;var v7=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";te(v7);const Bb=()=>{};function Na(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:v,onClick:y,children:_,align:C="horizontal",icon:x}=e,k=w=>{y&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),y())};return o.jsxs("div",{className:_e("panel-row",C==="vertical"?"panel-row--vertical":"",y?"panel-row--clickable":""),onClick:y,onKeyDown:y?k:void 0,role:y?"button":void 0,tabIndex:y?0:void 0,children:[x!=null&&o.jsx("div",{className:"panel-row__icon",children:x}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),v&&o.jsx("div",{className:"panel-row__sub caption-1",children:v})]}),o.jsx("div",{className:"panel-row__right",children:_})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(Ao,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:d="horizontal",useFullWidth:u=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Vl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Ha,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,v=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((y,_)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:y.options,value:y.value,onChange:y.onChange,placeholder:y.placeholder,block:u,error:!!c,ariaLabel:y.ariaLabel??([r,y.placeholder].filter(Boolean).join(" ")||void 0)})},_))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Bb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[v,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):v}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((v,y)=>o.jsx(re,{size:v.btnSize??40,variant:v.btnVariant??"default",disabled:v.disabled,onClick:v.onClick,children:v.label},y))}):h=o.jsx(re,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Wa,{value:b.value,onChange:b.onChange??Bb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:u,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:_e("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?f:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function Nb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Db({devices:e,onRelease:t}){const{t:a}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const n=e[r],i=r==="\uC88C"?a("device.direction.left","\uC88C"):a("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:i}),n&&t&&o.jsx(re,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(r)})]}),n?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[n.device&&o.jsx(ht,{size:"small",variant:xm(n.device),fill:"soft",label:n.device}),Nb(n)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Nb(n)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:n.productName||n.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${n.wornYear}.${n.wornMonth}.${n.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}function kr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:v}){const y=_e("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),_={};return i!==void 0&&(_.minHeight=i),s!==void 0&&(_.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(_["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:y,style:Object.keys(_).length?_:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:_e("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Fe,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),f?o.jsx(Na,{variant:"loading"}):b!=null&&(v==null||Array.isArray(v)&&v.length===0)?o.jsx(Na,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:v}):v]})}function Eb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function y7(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 jb(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"}]}y7(Ca.t.bind(Ca)),jb(Ca.t.bind(Ca));var x7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';te(x7);const Cc="none",C7=.5,_7=1.5,w7=.25;function _c({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Na,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Kl,{value:a,onChange:d,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function wc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=oa("(max-width: 767px)")?40:24,n=hc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=Fk(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(v=>{try{n?.setMainVolume(Math.max(0,Math.min(1,v/100)))}catch{}},[n]),g=l.useCallback(v=>{try{n?.setPlaybackRate(v)}catch{}},[n]),f=l.useCallback(v=>{const y=Wk(v);try{n?.setSettings({level:y})}catch{}},[n]),b=l.useCallback(v=>{try{v===Cc?n?.setSettings({enabled:!1}):n?.setSettings({type:v,enabled:!0})}catch{}},[n]);return o.jsx(Sa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(kr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(_c,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(_c,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:C7,max:_7,step:w7,size:r,onChange:g}),o.jsx(_c,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),o.jsx(Na,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Ha,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Cc,label:a("training.noise.type.none","\uC5C6\uC74C")},...jb(a).map(v=>({key:v.value,label:v.label}))],value:c?s:Cc,onChange:b})})]})})}var k7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";te(k7);function kc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),v=l.useRef(null),y=hc(),_=s<c-1,C=s===c-1,x=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),w=l.useCallback(()=>{if(u){m(!1),p(null);return}const A=b?.current?.getBoundingClientRect();A&&p(A),t?.(),m(!0)},[u,t]),S=l.useCallback(()=>{if(u){m(!1),p(null);return}const A=v?.current?.getBoundingClientRect();A&&p(A),t?.(),m(!0)},[u,t]),j=l.useCallback(()=>f(A=>!A),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(re,{size:56,type:"bar",icon:"settings",onClick:w,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:v,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(re,{size:56,type:"dot",icon:"settings",onClick:S,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(re,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:j,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(Cn,{analyser:y?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(Cn,{analyser:y?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[C&&o.jsx(re,{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}),_&&o.jsx(re,{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&&u&&o.jsx(wc,{anchorRect:h,onClose:k})]})}var S7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";te(S7);function Sc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:d,progressMax:u,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),f=oa("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,v=Number.isInteger(u)?u:d||0,y=h||p,_=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,C=typeof e=="string"?e.trim():e,x=typeof t=="string"?t.trim():t,k=!!(C||x),w=k?C||x:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),S=_||t,j=f&&typeof S=="string"&&(S.includes(" \xB7 ")||S.includes(" / "))?S.split(/\s[·/]\s/).pop():S,A=l.useMemo(()=>{const T=i&&typeof i=="object"?{...i}:{};return!("width"in T)&&!("height"in T)&&(T.width="40px",T.height="40px"),T},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[y?o.jsx(re,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:y,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Sm,{icon:n,label:e,tooltip:s,wrapperStyle:A}):null}),o.jsxs("div",{className:"pp-title__text",children:[j?o.jsx("span",{className:"pp-title__depth caption-1",children:j}):null,o.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Jl,{max:Math.max(0,v??0),index:Math.max(0,b??0)})]})}function Lb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Mb(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)]}function Ac(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Qr().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function $n(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Pb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Rb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Ac(t,a,r),u=typeof c=="function"?c(d)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...d,...u},pages:n,emptyMessage:i,buildResults:s}}function $b(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Ib(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 zb(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 Tc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Ob(e,t,a,r){return Tc(e,t*a+r)}function Fb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Wb(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 Hb=l.createContext(null);function A7(){const e=l.useContext(Hb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function T7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const v=[...b];if(v[f]!==null){const _=v[f];return v.map(C=>C!==null&&C>=_?null:C)}v[f]=p;const y={selectedOrder:v,words:n,__ts:Date.now()};try{typeof s=="function"&&s(y)}catch{}if(v.every(_=>_!==null))try{typeof i=="function"&&i(y)}catch{}return v})},[d,p,s,i,n]);return o.jsx(Va,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((f,b)=>o.jsx(Sn,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[b]!==null,orderRank:u[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${f}-${b}`))})})}function Sr(e){return null}Sr.__isTrainingPage=!0;function Do(e,t){const a=A7();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 Bc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=Do(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Nc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Ln,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Mn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function jc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(xc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function B7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(T7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var N7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
|
|
986
|
+
`).map((s,c,d)=>o.jsxs(l.Fragment,{children:[s,c<d.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.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")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.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")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.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"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Il,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.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")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var zk='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';te(zk);function xb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,f)=>c?c(g,{onClick:f}):o.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var Ok=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";te(Ok);function Cb({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,...wm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const pc=9,Fk=e=>Math.round(Math.min(pc,Math.max(0,e))/pc*100),Wk=e=>e/100*pc,_b={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},wb=l.createContext(null);function hc(){return l.useContext(wb)}const mc=e=>`${oi()}/${e}`,kb=e=>Array.from({length:10},(t,a)=>mc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),jn={get defaultNoise(){return mc("noise1.mp3")},get street(){return kb("noise2")},get restaurant(){return kb("noise3")},get buzz(){return mc("noise4.mp3")}};function Hk(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return jn.defaultNoise;case"street":return jn.street[t];case"restaurant":return jn.restaurant[t];case"buzz":return jn.buzz;default:return null}}function Vk({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),d=l.useRef(null),u=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((v,y=250)=>{const _=n.current;if(!_||!_.src)return;m.current+=1,p();try{Ho(),r.current?.("noise",Vo(_))}catch{}const C=_.paused?0:_.volume;_.paused&&(_.volume=0),_.play().catch(()=>{});const x=performance.now(),k=()=>{const w=Math.min(1,(performance.now()-x)/y);try{_.volume=Math.max(0,Math.min(1,C+(v-C)*w))}catch{}w<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((v=250,y)=>{const _=n.current;if(!_||_.paused){y?.();return}const C=++m.current;p();const x=performance.now(),k=_.volume,w=()=>{const S=Math.min(1,(performance.now()-x)/v);try{_.volume=Math.max(0,k*(1-S))}catch{}if(S<1)u.current=requestAnimationFrame(w);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{_.pause()}catch{}y?.()}};u.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===C){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{_.paused||(_.volume=0,_.pause(),y?.())}catch{}}},v+150)},[p]);l.useEffect(()=>{const v=document.createElement("audio");return v.loop=!0,v.crossOrigin="anonymous",n.current=v,()=>{p();try{v.pause(),v.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let v=0;const y=setInterval(()=>{const _=n.current;if(!_||_.paused){v=0;return}const C=t.current;if(C&&!C.paused&&!C.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(y)},[f,b,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const y=n.current;if(y&&!y.paused){p();try{y.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const v=e?.settings,y=n.current;if(!y)return;if(!v||!v.enabled||v.level===0){f();return}const _=Math.min(1,v.level/9);if(c.current!==v.type){const C=Hk(v.type);C&&(c.current=v.type,s(C),f(150,()=>{y.src=C,y.load();const x=t.current;x&&!x.paused&&y.addEventListener("canplay",function k(){y.removeEventListener("canplay",k);const w=t.current;w&&!w.paused&&!w.ended&&g(_)})}))}else{const C=t.current,x=!!C&&!C.paused&&!C.ended;if(x&&y.paused&&y.src)g(_);else if(!y.paused)if(!x)f();else{p();const k=y.volume,w=performance.now(),S=()=>{const j=Math.min(1,(performance.now()-w)/150);try{y.volume=k+(_-k)*j}catch{}j<1?u.current=requestAnimationFrame(S):u.current=null};u.current=requestAnimationFrame(S)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,f,t]),l.useEffect(()=>{const v=n.current;if(v)try{v.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:f}}function Gk({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const v=(C,x=1)=>{try{const k=(C||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(C||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,x)))}catch{return 1200}},y=l.useCallback(C=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const x=window.speechSynthesis;try{try{x.cancel()}catch{}const k=C??e,w=(Array.isArray(k)?k[0]??"":k)||"",S=new SpeechSynthesisUtterance(w);try{S.rate=Math.max(.3,Math.min(3,t))}catch{}try{S.volume=Math.max(0,Math.min(1,a))}catch{}f.current=v(w,S.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const j=m.current;j?.enabled&&(j?.level??0)>0&&d(j.level/9);const A=()=>{try{const B=g.current||performance.now(),F=performance.now()-B,R=f.current||1200,E=Math.min(1,F/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(A))}catch{}};S.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},S.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(A)}catch{}};try{x.speak(S)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),_=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:y,stopTTS:_}}var qk='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';te(qk);async function Yk(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let v=g;v<f;v++){const y=Math.abs(s[v]);y>b&&(b=y)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Sb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Yk(r,t,a)}catch(r){try{const n=Ur(r)}catch{}return null}}const Ab=4;function Uk(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[v,y]=l.useState(!1),[_,C]=l.useState(null),[x,k]=l.useState(2),[w,S]=l.useState(0),[j,A]=l.useState(null),[B,F]=l.useState(!1),R=3,E=3,M=1,D=300,H=l.useRef(0),ee=l.useCallback(async(ie,ue)=>{const fe=++H.current,ye=()=>H.current===fe;try{if(y(!1),!ie){ye()&&b(null);return}let pe=ue;if(!pe)try{for(let De=0;De<4&&!(p.current||g.current);De++)await new Promise($e=>requestAnimationFrame($e));await new Promise(De=>requestAnimationFrame(De));const q=p.current,oe=g&&g.current?g.current:q?q.closest(".audio-player__wave"):null,ge=oe?oe.getBoundingClientRect():q?q.getBoundingClientRect():null,de=ge?Math.max(100,ge.width):320,I=ge?ge.height:0;I>0&&S(I),pe=Math.max(M,Math.min(D,Math.floor((de+E)/(R+E))));const Z=pe*R,Q=Math.max(0,pe-1),ve=Q>0?(de-Z)/Q:E;k(Math.max(0,ve))}catch{pe=120}const P=await Sb(ie,pe);if(!ye())return;if(!P){b(null),y(!1);return}b(P),C(pe),y(!0)}catch{if(!ye())return;b(null),y(!1)}},[y,b,S,k,C]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;ee(typeof ie=="string"?ie:void 0).catch(()=>{}),F(!1)},[t,a,ee]),l.useEffect(()=>{let ie=!1;if(!i||!_){A(null);return}const ue=d>0?d*(c||1):void 0;return Sb(i,_,ue).then(fe=>{ie||A(fe)}).catch(()=>{ie||A(null)}),()=>{ie=!0}},[i,_,d,c]);const J=Math.max(0,Math.min(1,u)),ae=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),T=_||40,L=l.useMemo(()=>Array.from({length:T}).map((ie,ue)=>{const fe=f&&f[ue]!=null?f[ue]:null,ye=fe==null?null:Math.min(1,fe/ae*J),pe=ye!=null&&w>0&&ye*w<=Ab,P=ye==null?.15:pe?0:ye,q=T>1?ue/(T-1):0;return o.jsx("div",{className:pe?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":P,"--i":ue,"--mix":q}},ue)}),[T,f,ae,J,w]),$={"--progress":String(Math.max(0,Math.min(1,r)))},z={"--bar-gap":`${x}px`},V=Math.max(0,Math.min(9,s))/9,X=v&&(i?!!j:!0);l.useEffect(()=>{X&&F(!0)},[X]);const W=B?v:X;l.useEffect(()=>{m?.(W)},[W,m]);const Y=_||40,O=l.useMemo(()=>Array.from({length:Y}).map((ie,ue)=>{const fe=j&&j[ue]!=null?j[ue]:null,ye=fe==null?0:Math.min(1,fe/ae*V),pe=w>0&&ye*w<=Ab,P=pe?0:ye,q=Y>1?ue/(Y-1):0;return o.jsx("div",{className:pe?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":P,"--i":ue,"--mix":q}},ue)}),[Y,j,ae,V,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:z,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${X?"is-ready":""}`,"aria-hidden":"true",children:O}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${W?"is-ready":""}`,ref:p,children:L}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${W?"is-ready":""}`,ref:n,style:$,children:L})]})]})}const Kk={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"};function bc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const u=isFinite(n.duration)&&n.duration||0;s(),a(u)},d=u=>{i||(i=!0,s(),t.rejectOnError?r(new Error(u)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),t.timeoutMs),n.src=e})}const Zk=2e3;function Tb(e,t=Zk){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function Xk({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(d=>{if(r.current=d,!d||!n.current.length)return;const u=n.current;n.current=[];for(const m of u)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);n.current.push(()=>{clearTimeout(u),d()})}),[e,t,a]);return l.useEffect(()=>()=>{const d=n.current;n.current=[];for(const u of d)u()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function Jk(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Qk({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function e7({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function t7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function a7({ended:e,completedByEnd:t}){return!!e||!!t}function o7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function r7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function n7(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function i7({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const u=()=>{try{const m=e.current,h=e7({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(u)};i.current=requestAnimationFrame(u)},[e,t,a,r,n]),d=l.useCallback(u=>{s();try{t.current&&(t.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:d}}function wr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),m=e,h=hc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),v=Jk(),y=l.useRef(null),_=l.useRef(!1),C=l.useRef(0),x=l.useRef(null),{ref:k,rect:w,show:S,hide:j}=Qk();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[A,B]=l.useState(!1),[F,R]=l.useState("idle"),[E,M]=l.useState("stopped"),D=l.useRef("stopped");l.useEffect(()=>{D.current=E},[E]);const[H,ee]=l.useState(0),[J,ae]=l.useState("active"),[T,L]=l.useState(null),[$,z]=l.useState(null),[V,X]=l.useState(0),[W,Y]=l.useState(!1),[O,ie]=l.useState(0),ue=h?.playbackRate??1,fe=h?.mainVolume??1,[ye,pe]=l.useState("idle"),[P,q]=l.useState(""),[oe]=l.useState("top"),ge=l.useRef(null),de=l.useRef(0),I=l.useRef(null),{start:Z,stop:Q,settleTo:ve}=i7({audioRef:g,fillRef:f,waveProgressRef:I,sourcesRef:ge,currentIndexRef:de}),{onReadyChange:De,waitForReady:$e,markNotReady:Le}=Xk({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),je=l.useRef(n),Te=l.useRef(r),Ie=l.useRef(null),He=l.useRef(!1),[be,Ke]=l.useState(!1),Ve=l.useCallback(U=>{He.current=U,Ke(U)},[]),Re=l.useRef(null),{activeNoiseUrl:qe,noiseSettingsRef:vt,fadeInNoise:Ue,fadeOutNoise:Xe}=Vk({noisePlayer:h,audioRef:g,playbackStateRef:D}),{startTTS:ut,stopTTS:ze}=Gk({ttsText:i,playbackRate:ue,mainVolume:fe,fillRef:f,waveProgressRef:I,setProgress:ee,setPlaybackState:M,setStateLocal:ae,fadeInNoise:Ue,fadeOutNoise:Xe,noiseSettingsRef:vt,onDoneRef:Te,handleEndRef:Re}),rt=Array.isArray(t)?t.filter(Boolean):t?[t]:[],et=(!rt||rt.length===0)&&!!i,We=Array.isArray(T)&&T.length>0?T:Array.isArray($)&&$.length>0?$:null,Je=Math.max(Array.isArray(We)?We.length:0,rt.length),tt=l.useCallback(async(U,le=3,we=50)=>{for(let Se=0;Se<le;Se++)try{return await U.play(),!0}catch(Ae){if((Ae instanceof Error||typeof Ae=="object"&&Ae&&"name"in Ae?Ae.name:void 0)==="AbortError"){await new Promise(Oe=>setTimeout(Oe,we));continue}try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),xt=l.useCallback(()=>{const U=g.current;if(!U)return;const le=()=>{M("playing"),ae("playMode"),Y(!0),Z();try{Ho(),p.current?.("main",Vo(U))}catch{}const Ae=vt.current;Ae?.enabled&&(Ae?.level??0)>0&&Ue(Ae.level/9)},we=()=>{a7({ended:!!U?.ended,completedByEnd:He.current})||(M("paused"),Q(),Xe())},Se=()=>{try{const Ae=ge.current,Oe=t7(Ae,de.current);if(Oe!==null){de.current=Oe,X(Oe),Y(!0);const nt=Ae?.[Oe]&&Ae[Oe].src;if(nt&&U){U.src=nt,U.load(),tt(U).catch(()=>{});return}}}catch{}M("stopped"),ee(1);try{if(U)try{U.currentTime=0}catch{}}catch{}Q(),Y(!1),Xe();try{!je.current&&Re.current&&Re.current()}catch{}};return U.addEventListener("play",le),U.addEventListener("pause",we),U.addEventListener("ended",Se),()=>{try{U.removeEventListener("play",le),U.removeEventListener("pause",we),U.removeEventListener("ended",Se),Q()}catch{}}},[Ue,Xe,tt,vt,Z,Q]);l.useEffect(()=>xt(),[xt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Te.current=r},[r]),l.useEffect(()=>{if(n||J!=="active")return;const U=x.current;if(!U)return;let le=null;const we=requestAnimationFrame(()=>{try{const Se=U.getTotalLength();if(!Se)return;const Ae=Se*.2;U.style.strokeDasharray=`${Se-Ae} ${Ae}`;const Oe="triFlow_"+Math.random().toString(36).slice(2);le=document.createElement("style"),le.textContent=`@keyframes ${Oe}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Se}}}`,document.head.appendChild(le),U.style.animation=`${Oe} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(we),le?.remove()}},[J,n]),l.useEffect(()=>{ge.current=T},[T]),l.useEffect(()=>{de.current=V},[V]),l.useEffect(()=>{const U=b.current,le=y.current;if(!U||!le)return;let we=null;const Se=32,Ae=60,Oe=()=>{try{const ct=Array.from(U.querySelectorAll(":scope > .button"));let ce=0;ct.forEach(Zt=>{if(Zt===le)return;const Eo=Zt.getBoundingClientRect();ce+=Eo.width});const Be=U.getBoundingClientRect().width,at=Math.max(0,Math.floor(Be-ce-8)),Ct=Je;if(!Ct||at<=0){Array.from(le.children).forEach(Zt=>{try{Zt.style.width=""}catch{}});return}let _t=Math.floor(at/Ct);_t>Ae&&(_t=Ae),_t<Se&&(_t=Math.max(Se,Math.floor(at/Ct))),Array.from(le.querySelectorAll(".button")).forEach(Zt=>{try{Zt.style.width=`${_t}px`}catch{}})}catch{}},nt=requestAnimationFrame(Oe);try{we=new ResizeObserver(()=>{requestAnimationFrame(Oe)}),we.observe(U),we.observe(le),window.addEventListener("resize",Oe)}catch{}return()=>{try{cancelAnimationFrame(nt)}catch{}try{we&&(we.disconnect(),we=null)}catch{}try{window.removeEventListener("resize",Oe)}catch{}}},[T,$,Je]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Ie.current&&(clearTimeout(Ie.current),Ie.current=null)}catch{}},[]);const Et=(U,le)=>{L(U),ie(le),Le(),z(o7(U)),ge.current=U},it=async(U,le)=>{Ve(!1),_.current=!1,U.src=le,U.load(),await Tb(U),await $e(),B(!1),await tt(U),ae("playMode"),X(0),Y(!0)},Ht=async(U,le=!1)=>{const we=g.current;B(!0),R("measuring_duration");try{const Se=await bc(U,{timeoutMs:1e4,rejectOnError:!0});Et([{src:U,objectUrl:null,duration:Se}],Se),R("ready"),le&&we&&await it(we,U)}finally{_.current=!1,B(!1)}},mt=async(U,le=!1)=>{const we=g.current;B(!0),R("measuring_duration");try{const Se=await Promise.all(U.map(Oe=>bc(Oe,{timeoutMs:1e4}))),Ae=U.map((Oe,nt)=>({src:Oe,objectUrl:null,duration:Se[nt]||0}));Et(Ae,r7(Ae)),R("ready"),le&&we&&Ae.length>0&&await it(we,Ae[0].src)}finally{_.current=!1,B(!1)}},Vt=async(U=!1,le=!0)=>{const we=g.current,Se=t?Array.isArray(t)?t:[t]:[];if(!(!Se||Se.length===0||!Se.some(Boolean))&&!_.current){_.current=!0,le&&B(!0),R("resolving");try{const Ae=n7(t,a,Er),Oe=[];let nt=0;for(const ct of Ae){let ce=ct.src??null,Be=null;if(!ce&&ct.resolvedPath){try{R("getting_signed_url"),ce=await Oo(ct.resolvedPath)}catch{ce=null}if(!ce)try{R("downloading");const Ct=await jr(ct.resolvedPath);if(Ct){const _t=Ct instanceof Blob?Ct:new Blob([Ct]);Be=v.track(URL.createObjectURL(_t)),ce=Be}}catch{R("error");try{q(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ae("active")}catch{}}}if(!ce)continue;let at=0;try{R("measuring_duration"),at=await bc(ce,{timeoutMs:3e3})}catch{at=0}nt+=at||0,Oe.push({...ct,src:ce,objectUrl:Be,duration:at})}if(Et(Oe,nt),Oe.length>0&&U&&we){const ct=Oe[0];Ve(!1);try{v.keepOnly(Oe.map(ce=>ce.objectUrl))}catch{}if(R("ready"),_.current=!1,ct.src&&we)try{we.src=ct.src,we.load(),await Tb(we),await $e(),le&&B(!1),we&&await tt(we)}catch{le&&B(!1)}else le&&B(!1);ae("playMode"),X(0),Y(!0)}}finally{_.current=!1,le&&B(!1),R(Ae=>Ae==="ready"?"ready":"idle")}}},na=async()=>{const U=g.current;if(!(!U&&!et)){if(et){const le=window.speechSynthesis;if(J==="active"){const we=Fo(),Se=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(we&&Se.length>0){ae("load"),B(!0),R("resolving"),_.current=!0;try{const Ae=await Promise.all(Se.map(Oe=>Promise.resolve(we(Oe))));Ae.length>1?await mt(Ae,!0):await Ht(Ae[0],!0)}catch{_.current=!1,B(!1),ae("active"),ut(Se[0]||void 0)}return}ut(Se[0]||void 0);return}if(J==="playMode"){if(U){if(U.paused){if(He.current){await Gt();return}await tt(U),M("playing")}else U.pause(),M("paused");return}try{if(le&&le.paused)try{le.resume(),M("playing")}catch{}else try{le.pause(),M("paused")}catch{}}catch{}}return}if(J==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const le=ge.current[0];try{if(le.src&&U)try{U.src=le.src,U.load(),U&&await tt(U)}catch{}ae("playMode"),X(0),Y(!0);return}catch{}}ae("load"),await Vt(!0);return}if(J!=="load"&&(J==="playMode"||J==="active"))try{if(U&&U.paused){if(He.current){await Gt();return}U&&await tt(U),M("playing")}else U&&(U.pause(),M("paused"))}catch(le){(le instanceof Error||typeof le=="object"&&le&&"name"in le)&&le.name}}},Gt=async()=>{const U=g.current;if(U)try{const le=ge.current;if(Array.isArray(le)&&le.length>1){await $t(0);return}Ve(!1);try{U.currentTime=0}catch{}U&&await tt(U),M("playing"),ae("playMode")}catch{}},Ea=()=>{if(et){ze();return}const U=g.current;try{if(U){try{U.pause()}catch{}try{U.currentTime=0}catch{}}}catch{}Xe(),M("stopped"),ae("active"),ee(0),Y(!1)},ia=async(U,{sameSegment:le=!1}={})=>{const we=++C.current,Se=g.current,Ae=ge.current?.[U]?.src;try{if(Ve(!1),X(U),Y(!0),de.current=U,!Ae||!Se||(le||Le(),Se.src=Ae,Se.load(),le||await $e(),we!==C.current)||(await tt(Se),we!==C.current))return;M("playing"),ae("playMode")}catch{}},Kt=async()=>{const U=ge.current,le=de.current||0;if(!U||le<=0){await Gt();return}await ia(le-1)},ja=async()=>{const U=ge.current,le=de.current||0;if(!U||le>=U.length-1){Ea();return}await ia(le+1)},jt=()=>{if(He.current)return;const U=200,le=340;Ve(!0);try{ee(1)}catch{}ve(1);try{pe("hold")}catch{}try{const we=g.current,Se=et&&!!we?.src;if(!et||Se){if(we){we.pause();try{we.currentTime=0}catch{}}}else ze();Xe()}catch{}try{M("stopped")}catch{}if(Y(!1),!je.current)try{Ie.current&&(clearTimeout(Ie.current),Ie.current=null),Ie.current=setTimeout(()=>{try{pe("out")}catch{}Ie.current=setTimeout(()=>{try{typeof Te.current=="function"&&Te.current(!0)}catch{}try{pe("idle")}catch{}Ie.current=null},le)},U)}catch{}};l.useEffect(()=>{Re.current=jt});const qa=l.useCallback(()=>q(""),[]),$t=async U=>{(ge.current||[])[U]&&await ia(U,{sameSegment:U===de.current})},ya=E==="playing",Ya=l.useMemo(()=>{if(!$||$.length<=1)return $;const U=$[V];return U?[U]:$},[$,V]),Qe=n===!0;l.useEffect(()=>{try{const U=g.current;U&&typeof U.playbackRate=="number"&&(U.playbackRate=ue||1)}catch{}},[ue]),l.useEffect(()=>{try{const U=g.current;U&&(U.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const It=ye==="hold",kt=ye==="out",xa=J==="playMode"&&!A&&!be||It||kt,sa=E!=="stopped"||It||kt,ne=E==="paused",xe=Math.max(0,Math.min(100,(H||0)*100)),Ce=_e("audio-player__fill",xa?"is-visible":"",sa?"is-expanded":"",ne?"is-paused":"",kt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Qe?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${ya?"is-playing":""} ${A?"is-loading":""} ${J!=="default"?"is-revealed":""}`,children:[A?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:Kk[F]})]}):null,J==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{j(),na()},"aria-label":typeof m=="string"?m:u("training.listen","\uB4E3\uAE30"),onMouseEnter:S,onMouseLeave:j,onFocus:S,onBlur:j,children:o.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:x,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,w&&o.jsx(ma,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${J==="playMode"||ya?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:Kt,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:ya?"pause":"play",onClick:na,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:J!=="playMode"}),Je>1?o.jsx("div",{ref:y,className:"audio-player__source-buttons",children:Array.from({length:Je}).map((U,le)=>o.jsx(re,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(le+1),onClick:()=>{try{$t(le)}catch{}},ariaLabel:u("training.sourcePlay",{n:le+1}),variant:"transparent-white",selected:W&&V===le,disabled:J!=="playMode"||!(Array.isArray(T)&&T[le]),showTooltipInfo:!0},le))}):null,!Array.isArray(T)||T.length<=1?o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"}):null,o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:ja,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:J!=="playMode"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:J!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:Ce,ref:f,style:{left:`${xe}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(Uk,{segments:Ya,progress:H,totalDuration:O,onSegmentClick:$t,waveProgressRef:I,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&(h?.settings.level??0)>0?qe:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:fe,onReadyChange:De})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Fe,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(ro,{message:P,position:oe,onClose:qa})]})}var s7=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";te(s7);function No(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=sn({storageKey:"tooltip-fontScale"}),v=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),y=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),_=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],C={fontSize:`${f}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},x=o.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:C,children:_.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[_.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(re,{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:d==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:v,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:y,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Sa,{anchorRect:n,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:x}):o.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:x})}var l7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);gap:var(--spacing-m);min-width:0;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}@media (max-width:640px){.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";te(l7);var c7='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';te(c7);function gc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Fe,{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})}),o.jsx("div",{className:"ts-bullet__line"})]})}var d7=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";te(d7);function fc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=aa("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[v,y]=l.useState(!1),[_,C]=l.useState(null),[x,k]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.current=i});const S=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(B=>typeof B=="string"||typeof B=="number")?s.join(""):"",[s]),j=l.useCallback(()=>{y(!1),C(null),k(null)},[]);l.useEffect(()=>{if(!v)return;let B;try{typeof w.current=="function"&&(B=w.current())}catch{}if(B===!1){j();return}k(typeof B<"u"&&B!==null?B:null)},[S]);const A=l.useCallback(()=>{let B;try{typeof i=="function"&&(B=i())}catch{}if(B!==!1){if(k(typeof B<"u"&&B!==null?B:s),!b.current){y(F=>!F);return}if(v)y(!1),C(null),k(null);else{const F=b.current.getBoundingClientRect();C(F),y(!0)}}},[i,s,v]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(re,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(re,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:v,onClick:A,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),v&&o.jsx(No,{text:x??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:_,onClose:j,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function vc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Ga({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[m,h]=l.useState(()=>vc(e,t));l.useEffect(()=>{const k=vc(e,t);if(k!==m){const w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[e,t,m]);const p=l.useCallback((...k)=>{vc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,v]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),y=l.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const A=w.currentTarget??w.target;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect()}if(k instanceof DOMRect)return k;const S=k;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect();const j=k?.current;return j&&typeof j.getBoundingClientRect=="function"?j.getBoundingClientRect():null}catch{return null}},[]),_=l.useCallback((k,{text:w="",label:S="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:j=!1,alignX:A="center",alignY:B="top"}={})=>{const F=y(k);v({text:w,label:S,anchorRect:F,backdrop:j,alignX:A,alignY:B}),f(!0)},[y]),C=l.useCallback(()=>{f(!1),v(k=>({...k,anchorRect:null}))},[]),x=l.Children.map(i,k=>{if(l.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const S=w.props??{},j=typeof S.onDone=="function"?S.onDone:p,A=typeof S.disabled=="boolean";let B=m==="disabled";return A&&(B=!!S.disabled),l.cloneElement(w,{onDone:j,disabled:B,showTooltip:_,hideTooltip:C})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(gc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(fc,{state:m,title:r,...n,useFaded:d}),x]}),g?o.jsx(Sa,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:C,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(No,{text:b.text,onClose:C})}):null]})}var u7='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';te(u7);function yc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(A=>A==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=sn({storageKey:"textbox_fontScale"}),[b,v]=l.useState(""),y=l.useCallback(()=>i("active"),[]),_=l.useCallback(()=>v(""),[]),C=A=>{try{v(A)}catch{}},x=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const A=setTimeout(()=>i(t),0);return()=>clearTimeout(A)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const A=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(A)},[k]);const w=t==="disabled"?n:t,S=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="done"?"training-text-box--done":"",j=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return o.jsxs("div",{className:`training-text-box ${S} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(re,{size:48,type:"bar",onClick:y,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:j,children:k})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(re,{size:32,type:"dot",onClick:m,onDisabledClick:()=>C(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:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),o.jsx(re,{size:32,type:"dot",onClick:u,onDisabledClick:()=>C(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:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!x&&{width:"60px"}}),o.jsx(re,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(ro,{message:b,position:"top",onClose:_})]})}function Ln({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=me.useTranslation(),v=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),y=typeof e=="number"?e:-1,_=typeof t!="number"?"disabled":y<t?"done":y===t?"active":"disabled",C=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,x=d?d.join("||"):"",k=u?u.join("||"):"",[w,S]=l.useState(()=>Array.isArray(C)?f?Ge(C):C.slice():void 0);l.useEffect(()=>{Array.isArray(C)&&C.length?S(f?Ge(C):C.slice()):S(void 0)},[c,x,k,f]);const[j,A]=l.useState(null),[B,F]=l.useState(()=>new Set);l.useEffect(()=>{A(null),F(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const D=R.current;typeof D=="number"&&typeof t=="number"&&typeof e=="number"&&D>=e&&t<e&&(A(null),F(new Set)),R.current=t},[t,e]);const E=l.useCallback(D=>{if(_!=="active")return;const H=w?.[D];if(H==null)return;const ee=H,J=_==="active"||_==="done";if(m){const ae=new Set(B),T=ae.has(ee);T?ae.delete(ee):ae.add(ee),F(ae),typeof s=="function"&&s({selectedValues:[...ae],__ts:Date.now()}),J&&(typeof h=="number"&&h>0?ae.size>=h:!T)&&typeof i=="function"&&_==="active"&&i({selectedValues:[...ae],__ts:Date.now()})}else A(ee),typeof s=="function"&&s({selectedIndex:D,selectedValue:ee,__ts:Date.now()}),J&&typeof i=="function"&&_==="active"&&i({selectedIndex:D,selectedValue:ee,__ts:Date.now()})},[w,_,m,s,i,h,B]),M=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,useTitleFaded:n,children:o.jsx("div",{className:M,children:Array.isArray(w)&&w.length>0?w.map((D,H)=>o.jsx(re,{size:56,type:"bar",onClick:()=>E(H),ariaLabel:String(D),label:D,useLabel:!0,icon:g?g[String(D)]:void 0,variant:"default",disabled:_==="disabled",selected:m?B.has(D):j===D,useDisabledCovered:p,minWidth:0},String(D))):null})})}function Mn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("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,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[f,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&f!==null){const C=setTimeout(()=>b(null),0);return()=>clearTimeout(C)}},[p,c,f]);const v=l.useCallback(C=>{const x=typeof C=="object"&&C!==null?Object.assign({},C,{__ts:Date.now()}):{value:C,__ts:Date.now()};typeof i=="function"&&i(x),h==="active"&&typeof n=="function"&&n(x)},[i,h,n]),y=l.useCallback(()=>{h==="active"&&(b(!1),v(!1))},[v,h]),_=l.useCallback(()=>{h==="active"&&(b(!0),v(!0))},[v,h]);return o.jsxs(Ga,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(yc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((C,x)=>o.jsx(re,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(x),v&&v(x))},disabled:h==="disabled",ariaLabel:String(C),label:C,variant:h,selected:f===x},x)):o.jsxs(o.Fragment,{children:[o.jsx(re,{size:56,type:"bar",onClick:y,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(re,{size:56,type:"bar",onClick:_,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=me.useTranslation(),v=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),y=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(wr,{soundSrc:s,ttsText:s?null:u??v,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:y,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var p7=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";te(p7);var h7=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";te(h7);function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=L=>typeof L=="string"?L:L&&(L.context||L.sentence||L.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((L,$)=>({id:$,text:u(L)}))),f=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const L=Array.isArray(s)?s:[];h(L);const $=(z=>{const V=(z||[]).map((O,ie)=>({id:ie,text:u(O)}));if(V.length<=1)return V;const X=(O,ie)=>{if(O.length!==ie.length)return!1;for(let ue=0;ue<O.length;ue++)if(O[ue].text!==ie[ue].text)return!1;return!0};let W=Ge(V),Y=0;for(;X(W,V)&&Y<20;)W=Ge(V),Y+=1;return W})(L);g($);try{if(typeof i=="function"){const z=$.filter((V,X)=>V.text===u(L[X])).length;i({shuffled:$,score:z,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const z=$.filter((V,X)=>V.text===u(L[X])).length;n({shuffled:$,score:z,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,$)=>{const z=[...p],V=L+$;if(V<0||V>=z.length)return;const X=z[V];z[V]=z[L],z[L]=X,M(z);try{if(typeof n=="function"&&f==="active"){const W=z.filter((Y,O)=>Y.text===u(m[O])).length;n({shuffled:z,score:W,total:(m||[]).length,__ts:Date.now()})}}catch{}},[v,y]=l.useState(null),_=l.useRef(null),C=l.useRef(null),x=l.useRef(null),k=l.useRef(null),w=l.useRef(null),S=l.useRef({x:0,y:0}),j=l.useRef(null),A=l.useRef({dx:0,dy:0}),B=()=>{if(j.current!==null)return;const L=()=>{j.current=requestAnimationFrame(L);const $=S.current,z=A.current||{dx:0,dy:0};_.current&&(_.current.style.transform=`translate3d(${$.x-z.dx}px, ${$.y-z.dy}px, 0)`)};j.current=requestAnimationFrame(L)},F=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return F.current.forEach(($,z)=>{$&&$.getBoundingClientRect&&L.set(z,$.getBoundingClientRect())}),L},M=L=>{const $=E();g(L);try{if(typeof i=="function"){const z=L.filter((V,X)=>V.text===u(m[X])).length;i({shuffled:L,score:z,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const z=E();L.forEach(V=>{const X=$.get(V.id),W=z.get(V.id),Y=F.current.get(V.id);if(!Y||!X||!W)return;const O=X.top-W.top;O&&(Y.style.transition="none",Y.style.transform=`translateY(${O}px)`,requestAnimationFrame(()=>{Y.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",Y.style.transform="";const ie=()=>{Y.style.transition="",Y.removeEventListener("transitionend",ie)};Y.addEventListener("transitionend",ie)}))})})},D=(L,$)=>{try{try{$.dataTransfer?.setData("text/plain",String(L))}catch{}try{$.dataTransfer&&($.dataTransfer.effectAllowed="move")}catch{}try{const z=document.createElement("div");z.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(z),$.dataTransfer?.setDragImage(z,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(z)}catch{}})}catch{}}catch{}y(L);try{const z=p[L],V=document.createElement("div");V.className="order-list__dragging-object order-list__dragging-object--visible",V.textContent=z&&z.text?z.text:"",document.body.appendChild(V),_.current=V;const X=F.current.get(z.id);let W=$.clientX||0,Y=$.clientY||0;try{if(X&&X.getBoundingClientRect){const pe=X.getBoundingClientRect();W=pe.left+pe.width/2,Y=pe.top+pe.height/2}}catch{}const O=V.getBoundingClientRect(),ie=O.width/2,ue=O.height/2;A.current={dx:ie,dy:ue},V.style.transition="none",S.current={x:W,y:Y},V.style.transform=`translate3d(${W-ie}px, ${Y-ue}px, 0)`,requestAnimationFrame(()=>{try{V.style.transition=""}catch{}B()});const fe=pe=>{const P=pe;S.current={x:P.clientX,y:P.clientY},B()};x.current=fe,document.addEventListener("mousemove",fe);const ye=pe=>{const P=pe;S.current={x:P.clientX,y:P.clientY},B()};C.current=ye,document.addEventListener("dragover",ye);try{$.dataTransfer?.setData("text/plain",String(L));try{$.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},H=(L,$)=>{$.preventDefault();try{$.dataTransfer&&($.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const z=$.currentTarget&&$.currentTarget.closest?$.currentTarget.closest(".order-list__item"):null;if(z&&k.current!==z){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{z.classList.add("drag-over")}catch{}k.current=z}}catch{}},ee=(L,$)=>{$.preventDefault();const z=$.dataTransfer?.getData("text/plain")||"",V=z?parseInt(z,10):v,X=L;if(typeof V!="number"||isNaN(V)||V===X){y(null),T(),J();return}const W=Oi(p,V,X);M(W),y(null),J();try{if(typeof n=="function"&&f==="active"){const Y=W.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:W,score:Y,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const Y=document.querySelectorAll(".order-list .order-list__item")[X];if(!Y)return;const O=Y.querySelector(".order-list__slot")||Y;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}T()},J=()=>{if(_.current){try{document.body.removeChild(_.current)}catch{}_.current=null}C.current&&(document.removeEventListener("dragover",C.current),C.current=null),x.current&&(document.removeEventListener("mousemove",x.current),x.current=null),j.current!==null&&(cancelAnimationFrame(j.current),j.current=null)},ae=()=>{y(null),T(),J()};l.useEffect(()=>()=>J(),[]);const T=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.current=null),k.current){try{k.current.classList.remove("drag-over")}catch{}k.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(L=>L.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const L=Math.max(1,(p||[]).length);p.forEach(($,z)=>{const V=R.current.get($.id);if(!V)return;let X=50;L>1&&(X=Math.round(z/(L-1)*100));try{V.style.setProperty("--marker-pos",X+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{J(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,$)=>{const z=Math.max(1,(p||[]).length),V=z>1?Math.round($/(z-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":V+"%"},ref:X=>{const W=R.current;X?W.set(L.id,X):W.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:$+1})}):null,o.jsxs("div",{ref:X=>{const W=F.current;X?W.set(L.id,X):W.delete(L.id)},className:`order-list__draggable ${v===$?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?X=>D($,X):void 0,onDragEnter:f==="active"?X=>H($,X):void 0,onDragOver:f==="active"?X=>H($,X):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const X=document.querySelectorAll(".order-list .order-list__item");X&&X[$]&&(X[$].classList.remove("drag-over"),k.current===X[$]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?X=>ee($,X):void 0,onDragEnd:f==="active"?ae:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:L.text}),f==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(re,{size:32,type:"dot",onClick:()=>b($,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:$===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(re,{size:32,type:"dot",onClick:()=>b($,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:$===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},L.id)})})})}var m7="";te(m7);const b7=8e3;function g7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function xc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const v=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",[_,C]=l.useState(null),x=l.useRef([]),[k,w]=l.useState(!1),S=l.useMemo(()=>g.map(F=>F?.id??F?.word??"").join("|"),[g]);l.useEffect(()=>{C(null),x.current=[]},[S]);const j=l.useCallback((F,R)=>{if(c)return;const E={item:F,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(y==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,y,n]),A=l.useCallback(async()=>{if(!(k||y==="disabled")){w(!0);try{for(const F of x.current)F&&await g7(F.play(),b7)}finally{w(!1)}}},[k,y]),B=l.useCallback((F,R)=>{if(y!=="active")return;C(R);const E={selectedValue:F.word||F.title||"",selectedIndex:R,item:F,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(y==="active"&&typeof n=="function")try{n(E)}catch{}},[i,y,n]);return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:A,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((F,R)=>o.jsx(Sn,{ref:E=>{x.current[R]=E},item:F,disabled:y==="disabled",onPlayDone:()=>j(F,R),selectable:c,selected:c&&_===R,onSelect:c?()=>B(F,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},F&&F.id||R))})})}const f7=160;var v7=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";te(v7);const Bb=()=>{};function Na(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:v,onClick:y,children:_,align:C="horizontal",icon:x}=e,k=w=>{y&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),y())};return o.jsxs("div",{className:_e("panel-row",C==="vertical"?"panel-row--vertical":"",y?"panel-row--clickable":""),onClick:y,onKeyDown:y?k:void 0,role:y?"button":void 0,tabIndex:y?0:void 0,children:[x!=null&&o.jsx("div",{className:"panel-row__icon",children:x}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),v&&o.jsx("div",{className:"panel-row__sub caption-1",children:v})]}),o.jsx("div",{className:"panel-row__right",children:_})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(Ao,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:d="horizontal",useFullWidth:u=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Vl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Va,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,v=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((y,_)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:y.options,value:y.value,onChange:y.onChange,placeholder:y.placeholder,block:u,error:!!c,ariaLabel:y.ariaLabel??([r,y.placeholder].filter(Boolean).join(" ")||void 0)})},_))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Bb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[v,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):v}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((v,y)=>o.jsx(re,{size:v.btnSize??40,variant:v.btnVariant??"default",disabled:v.disabled,onClick:v.onClick,children:v.label},y))}):h=o.jsx(re,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Ha,{value:b.value,onChange:b.onChange??Bb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:u,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:_e("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?f:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function Nb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Db({devices:e,onRelease:t}){const{t:a}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const n=e[r],i=r==="\uC88C"?a("device.direction.left","\uC88C"):a("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:i}),n&&t&&o.jsx(re,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(r)})]}),n?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[n.device&&o.jsx(ht,{size:"small",variant:xm(n.device),fill:"soft",label:n.device}),Nb(n)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Nb(n)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:n.productName||n.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${n.wornYear}.${n.wornMonth}.${n.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}function kr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:v}){const y=_e("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),_={};return i!==void 0&&(_.minHeight=i),s!==void 0&&(_.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(_["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:y,style:Object.keys(_).length?_:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:_e("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Fe,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),f?o.jsx(Na,{variant:"loading"}):b!=null&&(v==null||Array.isArray(v)&&v.length===0)?o.jsx(Na,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:v}):v]})}function Eb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function y7(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 jb(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"}]}y7(Ca.t.bind(Ca)),jb(Ca.t.bind(Ca));var x7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';te(x7);const Cc="none",C7=.5,_7=1.5,w7=.25;function _c({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Na,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Kl,{value:a,onChange:d,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function wc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=aa("(max-width: 767px)")?40:24,n=hc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=Fk(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(v=>{try{n?.setMainVolume(Math.max(0,Math.min(1,v/100)))}catch{}},[n]),g=l.useCallback(v=>{try{n?.setPlaybackRate(v)}catch{}},[n]),f=l.useCallback(v=>{const y=Wk(v);try{n?.setSettings({level:y})}catch{}},[n]),b=l.useCallback(v=>{try{v===Cc?n?.setSettings({enabled:!1}):n?.setSettings({type:v,enabled:!0})}catch{}},[n]);return o.jsx(Sa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(re,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(kr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(_c,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(_c,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:C7,max:_7,step:w7,size:r,onChange:g}),o.jsx(_c,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),o.jsx(Na,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Va,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Cc,label:a("training.noise.type.none","\uC5C6\uC74C")},...jb(a).map(v=>({key:v.value,label:v.label}))],value:c?s:Cc,onChange:b})})]})})}var k7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";te(k7);function kc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),v=l.useRef(null),y=hc(),_=s<c-1,C=s===c-1,x=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),w=l.useCallback(()=>{if(u){m(!1),p(null);return}const A=b?.current?.getBoundingClientRect();A&&p(A),t?.(),m(!0)},[u,t]),S=l.useCallback(()=>{if(u){m(!1),p(null);return}const A=v?.current?.getBoundingClientRect();A&&p(A),t?.(),m(!0)},[u,t]),j=l.useCallback(()=>f(A=>!A),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(re,{size:56,type:"bar",icon:"settings",onClick:w,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:v,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(re,{size:56,type:"dot",icon:"settings",onClick:S,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(re,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:j,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(Cn,{analyser:y?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(Cn,{analyser:y?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[C&&o.jsx(re,{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}),_&&o.jsx(re,{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&&u&&o.jsx(wc,{anchorRect:h,onClose:k})]})}var S7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";te(S7);function Sc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:d,progressMax:u,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),f=aa("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,v=Number.isInteger(u)?u:d||0,y=h||p,_=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,C=typeof e=="string"?e.trim():e,x=typeof t=="string"?t.trim():t,k=!!(C||x),w=k?C||x:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),S=_||t,j=f&&typeof S=="string"&&(S.includes(" \xB7 ")||S.includes(" / "))?S.split(/\s[·/]\s/).pop():S,A=l.useMemo(()=>{const B=i&&typeof i=="object"?{...i}:{};return!("width"in B)&&!("height"in B)&&(B.width="40px",B.height="40px"),B},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[y?o.jsx(re,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:y,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Sm,{icon:n,label:e,tooltip:s,wrapperStyle:A}):null}),o.jsxs("div",{className:"pp-title__text",children:[j?o.jsx("span",{className:"pp-title__depth caption-1",children:j}):null,o.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Jl,{max:Math.max(0,v??0),index:Math.max(0,b??0)})]})}function Lb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Mb(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)]}function Ac(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Qr().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function $n(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Pb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Rb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Ac(t,a,r),u=typeof c=="function"?c(d)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...d,...u},pages:n,emptyMessage:i,buildResults:s}}function $b(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Ib(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 zb(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 Tc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Ob(e,t,a,r){return Tc(e,t*a+r)}function Fb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Wb(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 Hb=l.createContext(null);function A7(){const e=l.useContext(Hb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function T7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const v=[...b];if(v[f]!==null){const _=v[f];return v.map(C=>C!==null&&C>=_?null:C)}v[f]=p;const y={selectedOrder:v,words:n,__ts:Date.now()};try{typeof s=="function"&&s(y)}catch{}if(v.every(_=>_!==null))try{typeof i=="function"&&i(y)}catch{}return v})},[d,p,s,i,n]);return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((f,b)=>o.jsx(Sn,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[b]!==null,orderRank:u[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${f}-${b}`))})})}function Sr(e){return null}Sr.__isTrainingPage=!0;function Do(e,t){const a=A7();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 Bc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=Do(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Nc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Ln,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Mn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function jc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(xc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function B7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=Do(e,t);return o.jsx(T7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var N7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
|
|
987
987
|
/* !important \uD544\uC694 \u2014 TrainingResultPopup.tsx\uAC00 Badge\uC5D0 minWidth={80}\uC744 \uC778\uB77C\uC778\uC73C\uB85C
|
|
988
|
-
\uC804\uB2EC\uD558\uBBC0\uB85C(\uCF54\uB4DC \uD655\uC778\uB428) \uBAA8\uBC14\uC77C\uC5D0\uC11C \uC790\uC5F0 \uD3ED\uC73C\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uD2B9\uC774\uB3C4\uB85C\uB294 \uBD80\uC871. */.ihabdevteam-core-scope .trp-row__judge .badge{min-width:0!important;min-width:auto!important}.ihabdevteam-core-scope .result-table--answer .trp-row__judge .badge{height:26px;padding:0 12px}}`;te(N7);function Lc(...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 n of r){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function D7(e){return Lc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Vb(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=Lc(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 Mc(e){const{score:t,contextsLength:a,results:r=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1}=e||{},{t:d}=me.useTranslation();l.useEffect(()=>{const b=a??0;t!=null&&b>0&&t/b>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[t,a]);const u=l.useCallback(b=>{const v=Vb(b),y=Lc(b?.wording,b?.label);return v===!0?{variant:"main",label:y??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:v===!1?{variant:"danger",label:y??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:y??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),m=a??0,h=t??0,p=l.useMemo(()=>Array.isArray(r)?r:[],[r]),g=l.useMemo(()=>p.map(b=>{const v=b??{},y=D7(v)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:_,label:C}=u(v),x=Array.isArray(v.corrects)?v.corrects:[],k=x.length?x.join(", "):v.answer!=null&&v.answer!==""?String(v.answer):null,w=typeof v.selectedText=="string"?v.selectedText:null,S=Vb(v)===!0;return{problem:y,variant:_,label:C,answer:k,selectedText:w,isCorrect:S}}),[p,u]),f=l.useMemo(()=>g.some(b=>b.answer!==null||b.selectedText!==null),[g]);return o.jsx(Ta,{onClose:s,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:b,closeWithAnimation:v})=>o.jsxs("div",{className:"trp-actions",children:[o.jsx(re,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>b(i)}),o.jsx(re,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:v})]}),children:()=>o.jsxs("div",{className:"trp-result is-on",children:[o.jsxs("header",{className:"trp-result__head",children:[o.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),o.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&o.jsx("p",{className:"trp-result__subtitle body-3",children:n}),o.jsx("div",{className:"trp-score",children:o.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:h,total:m}),children:[o.jsx("span",{className:"trp-score__big",children:h}),o.jsx("span",{className:"trp-score__sep",children:"/"}),o.jsx("span",{className:"trp-score__total",children:m})]})})]}),g.length>0&&o.jsx("section",{className:"trp-result__body",children:o.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[o.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[o.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&o.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),o.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((b,v)=>o.jsxs("div",{className:"result-table__row",role:"row",children:[o.jsxs("div",{className:"trp-row__problem",children:[o.jsx("span",{className:"trp-row__no caption-1",children:String(v+1).padStart(2,"0")}),o.jsx("div",{className:"trp-row__q body-2",children:b.problem})]}),f&&o.jsxs("div",{className:"trp-row__answers",children:[b.answer!==null&&o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),o.jsx("span",{className:"trp-row__answer-value body-2",children:b.answer})]}),o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${b.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),o.jsx("span",{className:`trp-row__answer-value body-2 ${b.isCorrect?"is-correct":"is-wrong"}`,children:b.selectedText??"\u2014"})]})]}),o.jsx("div",{className:"trp-row__judge",children:o.jsx(ht,{variant:b.variant,label:b.label,fill:"soft",minWidth:80})})]},v))]})})]})})}function E7(e){l.useEffect(()=>{if(!e)return;const t=new Date;return()=>{const a=new Date;a.getTime()-t.getTime()<5e3||ts({trainingType:e,startedAt:t.toISOString(),endedAt:a.toISOString()})}},[e])}function Pc(e,t){return e&&e.id||`page-${t??0}`}function Rc(e,t){return e&&e.key||`step-${t??0}`}function In(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function j7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const Gb=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),L7=e=>o.jsx(Mc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function M7(e){const{scenario:t,title:a,subTitle:r,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:m,stepCount:h,onBack:p,onComplete:g,onNext:f,onSettings:b,useNoiseSetting:v=!0,children:y,ariaLabel:_,label:C,buildResults:x,onResult:k,typeKey:w,entryPoint:S,dailyTotal:j,itemRef:A,renderResultPopup:T}=e;E7(w&&!Gb.has(w)?w:"");const F=l.useRef(0);l.useEffect(()=>{F.current=Date.now()},[]);const{t:R}=me.useTranslation(),E=k,M=!!t,D=t?.id||null,H=t?.meta||{},J=Array.isArray(t?.pages)?t.pages:[],ee=Array.isArray(y)||l.isValidElement(y)&&typeof y!="function"?l.Children.toArray(y).filter(l.isValidElement):[],ae=ee.length>0,B=ne=>ne===Sr||ne?.__isTrainingPage===!0,L=ae&&ee.some(ne=>B(ne.type)),$=L?ee.filter(ne=>B(ne.type)).map((ne,xe)=>{const Ce=ne.props||{};return{id:`children-page-${xe}`,steps:l.Children.toArray(Ce.children).filter(l.isValidElement),pageTop:Ce.pageTop||Ce.top||null,pageBottom:Ce.pageBottom||Ce.bottom||null}}):[{id:"children-page-0",steps:ee}],z=ae&&!M&&typeof y!="function",V=z?Math.max(1,$.length):0;l.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")}},[]),l.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const xe=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;xe>0?ne.dataset.ihabTrainingPopupCount=String(xe):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return hk()},[]);const[X,W]=l.useState({..._b,enabled:!1}),Y=l.useRef(X);l.useEffect(()=>{Y.current=X},[X]),l.useEffect(()=>{let ne=!1;return is().then(xe=>{if(ne)return;const Ce=xe?{...Y.current,...xe}:{..._b};Y.current=Ce,W(Ce)}),()=>{ne=!0}},[]);const[O,ie]=l.useState(null),[ue,fe]=l.useState(null),ye=l.useCallback((ne,xe)=>{ne==="main"?ie(xe):fe(xe)},[]),pe=l.useCallback(ne=>{const xe={...Y.current,...ne};Y.current=xe,W(xe),ss(xe)},[]),P=X.mainSpeed,q=X.mainVolume,oe=l.useCallback(ne=>pe({mainSpeed:ne}),[pe]),ge=l.useCallback(ne=>pe({mainVolume:ne}),[pe]),de=l.useMemo(()=>({settings:X,setSettings:pe,registerAnalyser:ye,mainAnalyser:O,noiseAnalyser:ue,playbackRate:P,setPlaybackRate:oe,mainVolume:q,setMainVolume:ge}),[X,pe,ye,O,ue,P,oe,q,ge]),I=l.useRef(null),[Z,Q]=l.useState("center"),[ve,De]=l.useState(!1),$e=l.useRef(!1),Le=l.useRef(null),Ee=l.useCallback(ne=>{$e.current||($e.current=!0,De(!0),Le.current=setTimeout(ne,f7))},[]);l.useEffect(()=>()=>{Le.current&&clearTimeout(Le.current)},[]),l.useEffect(()=>{const ne=I.current;if(!ne)return;const xe=Array.from(ne.querySelectorAll(dr)).filter(U=>!U.closest('[aria-hidden="true"]'))[0];if(xe)try{xe.focus()}catch{}const Ce=U=>{if(U.key==="Escape"){U.preventDefault(),Ee(()=>{typeof p=="function"&&p()});return}};return ne.addEventListener("keydown",Ce),()=>ne.removeEventListener("keydown",Ce)},[p,Ee]),ks(I,!0);const[je,Te]=l.useState(!1),Ie=l.useRef(!1),[He,be]=l.useState(null),[Ke,Ve]=l.useState(""),[Re,qe]=l.useState(()=>In()),vt=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!M&&!z||(qe(In()),be(null))},[M,D,z]),l.useEffect(()=>{z&&qe(ne=>{const xe=Math.max(0,Math.min(ne.pageIndex,Math.max(0,V-1)));return xe!==ne.pageIndex?{...ne,pageIndex:xe,stepIndex:0}:ne})},[z,V]);const Ue=z?Math.max(0,Math.min(Re.pageIndex,V-1)):0,Xe=z?$[Ue]:null,ut=z&&Xe&&Array.isArray(Xe.steps)?Xe.steps:[],ze=M?Re.pageIndex:z?Ue:typeof d=="number"?d:0,rt=M?J[Math.max(0,Math.min(Re.pageIndex,Math.max(0,J.length-1)))]:null,et=M&&rt&&Array.isArray(rt.steps)?rt.steps:[],We=M?et.length:z?ut.length:typeof h=="number"?h:0,Je=M||z?Math.max(0,Math.min(Re.stepIndex,Math.max(0,We))):typeof m=="number"?m:0,tt=M?J.length:z?V:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const ne=vt.current;if(typeof ze=="number"&&ne!==null&&ze!==ne&&ze>ne)try{Ve(R("training.problemNotice",{n:ze+1}))}catch{}vt.current=typeof ze=="number"?ze:vt.current},[ze,d,R]),l.useLayoutEffect(()=>{const ne=I.current;if(!ne)return;const xe=()=>ne.querySelector(".page-popup__scroll");let Ce=null,U=null,le=null;const we=ct=>{const ce=xe();if(!ce)return;const Be=ce.scrollHeight<=ce.clientHeight;if(Q(Be?"center":"top"),ct&&!Ie.current){Ie.current=!0;try{Te(!0)}catch{}try{Oe.disconnect()}catch{}}},Se=()=>{Ce!==null&&cancelAnimationFrame(Ce),Ce=requestAnimationFrame(()=>{U!==null&&clearTimeout(U),U=setTimeout(()=>we(!0),60)})},Ae=()=>{le!==null&&cancelAnimationFrame(le),le=requestAnimationFrame(()=>we(!1))};Se(),window.addEventListener("resize",Ae);const Oe=new MutationObserver(Se);Oe.observe(ne,{childList:!0,subtree:!0,attributes:!0});const nt=setTimeout(()=>{Ie.current||we(!0)},400);return()=>{window.removeEventListener("resize",Ae),Ce!==null&&cancelAnimationFrame(Ce),U!==null&&clearTimeout(U),le!==null&&cancelAnimationFrame(le),clearTimeout(nt);try{Oe.disconnect()}catch{}}},[I]);const xt=l.useCallback(ne=>{I.current&&(I.current._childOnNext=ne)},[]),Et=l.useCallback(ne=>{I.current&&(I.current._childOnResult=ne)},[]),it=l.useCallback((ne,xe,Ce)=>{qe(U=>{const le=U.answersByPage[ne]||{},we=le[xe],Se=$n(Ce),Ae=$n(we);return we&&Ae>Se?U:{...U,answersByPage:{...U.answersByPage,[ne]:{...le,[xe]:Ce}}}})},[qe]),Ht=l.useCallback((ne,xe,Ce)=>{const U=Pc(rt,ze),le=Rc(ne,xe);it(U,le,Ce)},[rt,ze,it]),mt=l.useCallback((ne,xe,Ce)=>{const U=Pc(rt,ze),le=Rc(ne,xe);it(U,le,Ce),!Ce?.allowChange&&ne?.autoAdvance!==!1&&qe(we=>({...we,stepIndex:Math.max(we.stepIndex,xe+1)}))},[rt,ze,it,qe]),Vt=l.useCallback((ne,xe)=>{const Ce=Xe?.id||`children-page-${ze??0}`,U=typeof xe=="number"?xe:Je??0,le=`step-${U}`;it(Ce,le,ne),ne?.allowChange||qe(we=>({...we,stepIndex:Math.max(we.stepIndex,U+1)}))},[Xe,ze,Je,it,qe]),ia=l.useCallback((ne,xe)=>{const Ce=Xe?.id||`children-page-${ze??0}`,U=`step-${typeof xe=="number"?xe:Je??0}`;it(Ce,U,ne)},[Xe,ze,Je,it]),Gt=z?{currentPageIndex:ze??0,currentStepIndex:Je??0,totalStepsInPage:ut.length,handleStepDone:Vt,handleStepChange:ia}:null,Ea=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:J,flowState:Re,answersByPage:Re.answersByPage})):null;return typeof E=="function"&&await Promise.resolve(E(ne))||ne},sa=async()=>{const ne=Xe?.id||`children-page-${Re.pageIndex}`,xe=Re.answersByPage[ne]||{},Ce=L?(()=>{const we={};let Se=0;return $.forEach(Ae=>{const Oe=Re.answersByPage[Ae.id]||{},nt=Array.isArray(Ae.steps)?Ae.steps.length:0;for(let ct=0;ct<nt;ct+=1){const ce=Oe[`step-${ct}`];typeof ce<"u"&&(we[`step-${Se+ct}`]=ce)}Se+=nt}),we})():xe;if(typeof x=="function"){const we=await Promise.resolve(x(Ce,{pageAnswers:xe,answersByPage:Re.answersByPage,pages:$,currentPageId:ne}));return typeof E=="function"&&await Promise.resolve(E(we))||we}const U=Object.entries(xe).map(([we,Se],Ae)=>({index:Ae,key:we,payload:Se})),le={results:U,answers:U,score:0};return typeof E=="function"&&await Promise.resolve(E(le))||le},Kt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(M){const Ce=Ea();be({});const U=Ce;Promise.resolve(U).then(le=>{be(le||{isEmpty:!0})}).catch(le=>{be({isEmpty:!0})});return}if(z){const Ce=sa();be({});const U=Ce;Promise.resolve(U).then(le=>{be(le||{isEmpty:!0})}).catch(le=>{be({isEmpty:!0})});return}const ne=I.current&&I.current._childOnResult,xe=Ce=>{try{return Ce?Ce():void 0}catch{return}};if(typeof ne=="function"){const Ce=xe(ne);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ce&&typeof Ce.then!="function"?be(Ce):be(Ce&&typeof Ce.then=="function"?{}:{}),Promise.resolve(Ce).then(U=>{U&&be(U)}).catch(U=>{});return}if(typeof E=="function"){const Ce=xe(E);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ce&&typeof Ce.then!="function"?be(Ce):be(Ce&&typeof Ce.then=="function"?{}:{}),Promise.resolve(Ce).then(U=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}U&&be(U)}).catch(U=>{console.error("viewResults external handler failed",U)});return}},ja=()=>{if(M){if(typeof ze=="number"&&typeof tt=="number"&&ze<tt-1){qe(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return Kt()}if(z){const xe=ut.length;if(typeof Je=="number"&&Je<xe-1){qe(Ce=>({...Ce,stepIndex:Ce.stepIndex+1}));return}if(typeof ze=="number"&&typeof tt=="number"&&ze<tt-1){qe(Ce=>({...Ce,pageIndex:Ce.pageIndex+1,stepIndex:0}));return}return Kt()}if(typeof f=="function"){try{f()}catch{}return}const ne=I.current&&I.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},jt=M?H.title||H.label||_||R("common.popup","\uD31D\uC5C5"):a||C||(Array.isArray(n)?n[n.length-1]:void 0)||_||R("common.popup","\uD31D\uC5C5"),Ga=M?H.title??H.label??jt:a??C??jt,$t=(ne,xe)=>{const Ce=Pc(rt,ze),U=Rc(ne,xe),le=Re.answersByPage[Ce]?.[U],we=j7(ne,{page:rt,pageIndex:ze,step:ne,stepIndex:xe,storedPayload:le,answersByPage:Re.answersByPage,flowState:Re}),Se={key:U,index:xe,stepIndex:Je,isLast:xe===et.length-1};switch(ne?.type){case"listen":return o.jsx(Pn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae)});case"confirm":return o.jsx(Ln,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});case"confirmWithText":return o.jsx(Mn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});case"orderList":return o.jsx(Rn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});default:return null}},ya=M?J.length>0?o.jsx("div",{className:"training-steps",children:et.map((ne,xe)=>$t(ne,xe))}):o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"pp-empty",children:t?.emptyMessage||R("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,qa=z?o.jsxs(Hb.Provider,{value:Gt,children:[Xe?.pageTop?o.jsx("div",{className:"training-page-top",children:Xe.pageTop}):null,o.jsx("div",{className:"training-steps",children:ut.map((ne,xe)=>{const Ce=ne;return l.cloneElement(Ce,{...Ce.props,_stepIndex:xe,_totalSteps:ut.length,_stepKey:`step-${xe}`,_pageIndex:ze})})}),Xe?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Xe.pageBottom}):null]}):null,Qe=l.useCallback(()=>{let ne;if(w){const xe=He,Ce=xe?.results||xe?.answers||[],U=Array.isArray(Ce)&&Ce.length>0?Ce.length:null,le=Array.isArray(Ce)?Ce.filter(Se=>Se?.correct===!0||Se?.isCorrect===!0||Se?.score===1||Se?.heard===!0||Se?.judgement===!0).length:null,we=U!=null?le:null;as({items:rs(Ce),category:Gb.has(w)?"sentence":"word",trainingType:w,entryPoint:S??"sentence",itemRef:A??null,correct:we,total:U,score:typeof xe?.score=="number"?xe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-F.current)/1e3)),dailyTotal:j??null}),ne={correct:we,total:U}}be(null),Ee(()=>{typeof g=="function"&&g(ne),typeof p=="function"&&p()})},[g,p,w,S,j,A,He,be,Ee]),It=l.useCallback(()=>Ve(""),[Ve]),kt=l.useCallback(()=>{Ee(()=>{typeof p=="function"&&p()})},[p,Ee]),xa=o.jsxs("div",{className:`page-popup${ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":jt,children:[o.jsxs("div",{ref:I,className:`page-popup__panel ${je?"":"page-popup__panel--measuring"} ${Z==="center"?"page-popup__panel--center":Z==="top"?"page-popup__panel--top":""}`,children:[o.jsx(Sc,{title:Ga,subtitle:M?H.subtitle||H.label:Array.isArray(n)?n.join(" / "):void 0,desc:M?void 0:r,depth:M?H.depth:n,icon:M?H.icon:i,wrapperStyle:M?H.wrapperStyle:s,iconTooltip:M?H.iconTooltip:c,progressMax:tt,progressIndex:ze,pageIndex:ze,pageCount:tt,onBack:kt,onClose:kt}),o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:`page-popup__content ${Z==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:z?qa:M?ya:typeof y=="function"?y({registerOnNext:xt,registerOnResult:Et,panelRef:I,setResultOverlay:be}):y})}),o.jsx(kc,{onSettings:b,onNext:ja,onResult:Kt,useNoiseSettingBtn:!!(M?H.useNoiseSetting??!0:v),stepIndex:Je,stepCount:We,pageIndex:ze,pageCount:tt})]}),He&&!He.isEmpty&&(T??L7)({score:He.score,results:He.results||He.answers||[],contextsLength:He.results?He.results.length:He.answers?He.answers.length:0,onReplay:()=>{if(be(null),M){if(qe(In()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(z){qe(In());return}try{const ne=I.current&&I.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:Qe}),He?.isEmpty&&o.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:o.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"page-popup__empty",children:R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),o.jsx("div",{className:"page-popup__bottom",children:o.jsx(re,{variant:"main",size:48,onClick:Qe,label:R("training.result.done","\uC644\uB8CC")})})]})}),o.jsx(ro,{message:Ke,position:"top",onClose:It})]}),la=o.jsx(wb.Provider,{value:de,children:xa});return typeof document<"u"&&document.body?qt.createPortal(la,document.body):la}const Da=M7;Da.Page=Sr,Da.ListenStep=Bc,Da.ConfirmStep=Nc,Da.ConfirmWithTextStep=Dc,Da.OrderListStep=Ec,Da.CardStep=jc,Da.CardOrderStep=B7;var P7=".ihabdevteam-core-scope .word-search-result-block__actions{display:flex;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-end}.ihabdevteam-core-scope .word-search-result-block__inner{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);padding:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__inner:has(+.word-search-result-block__actions:not(:empty)){margin-bottom:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__items{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,200px);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__items .button__label-text,.ihabdevteam-core-scope .word-search-result-block__items .button__sub-label-text{white-space:nowrap;word-break:keep-all}.ihabdevteam-core-scope .word-search-result-block__items .button__label:has(.button__label-text:nth-child(4)){gap:4px 10px;grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.ihabdevteam-core-scope .word-search-result-block__items .button-word:has(.button__label-text:nth-child(4)){height:auto;min-height:72px;padding-bottom:8px;padding-top:8px}@media (max-width:767px){.ihabdevteam-core-scope .word-search-result-block__items{grid-template-columns:repeat(2,1fr);justify-content:normal}.ihabdevteam-core-scope .word-search-result-block__items .button{min-width:0!important;width:100%}}.ihabdevteam-core-scope .word-search-result-block__empty{color:var(--color-gray);margin:0;padding:24px 0;text-align:center}.ihabdevteam-core-scope .word-search-result-block__group{display:flex;flex-direction:column;gap:10px}.ihabdevteam-core-scope .word-search-result-block__group+.word-search-result-block__group{border-top:1px solid var(--color-darkWhite);margin-top:var(--spacing-l);padding-top:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__pagination-bottom{display:flex;justify-content:center;margin-top:16px}.ihabdevteam-core-scope .word-search-result-block__empty-wrap{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .word-search-result-block__empty-hint{color:var(--color-sub);line-height:1.6;max-width:34em;text-align:center}.ihabdevteam-core-scope .word-search-result-block__disc,.ihabdevteam-core-scope .word-search-result-block__notice{display:block}.ihabdevteam-core-scope .word-search-result-block__notice{color:var(--color-text-primary)}";te(P7);var R7='.ihabdevteam-core-scope .tooltip-word-image{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);padding:var(--spacing-s);position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-word-image__cells{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tooltip-word-image__cell{background:#f5f5f5;background:var(--color-white,#f5f5f5);border-radius:var(--radius-card);flex-shrink:0;height:120px;overflow:hidden;position:relative;width:120px}.ihabdevteam-core-scope .tooltip-word-image__cell img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .tooltip-word-image__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .tooltip-word-image__spinner:after{animation:tooltip-spin .7s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top:3px solid var(--color-white,#e0e0e0);border:3px solid var(--color-white,#e0e0e0);border-top-color:var(--color-main,#4f6ef7);content:"";height:24px;width:24px}@keyframes tooltip-spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .tooltip-word-image__cell--text{align-items:center;color:var(--color-black);display:flex;font-weight:700;justify-content:center}';te(R7);function $7({label:e,homonum:t}){const a=Ma()?.(e,t)??"",{imgRef:r,loading:n,hasImage:i,onLoad:s,onError:c}=ec(a);return i?o.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&o.jsx("div",{className:"tooltip-word-image__spinner"}),o.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):o.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:o.jsx("span",{children:e})})}function $c({words:e,anchorRect:t}){const a=l.useRef(null),[r,n]=l.useState(null);return l.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:s}=a.current,c=window.innerWidth;let d=t.left+t.width/2-i/2,u=t.top-s-8;u<8&&(u=t.bottom+8),d=Math.max(8,Math.min(d,c-i-8)),n({left:d,top:u})},[t]),!t||e.length===0?null:qt.createPortal(o.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:o.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>o.jsx($7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function qb({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:m,onPrintEmpty:h,className:p,emptyHint:g,sectionType:f="page",disc:b,notice:v}){const{t:y,i18n:_}=me.useTranslation(),C=_.language?.startsWith("ko")??!1,{anchorRect:x,openAt:k,close:w}=ko(),[S,j]=l.useState(null),A=l.useCallback(()=>{w(),j(null)},[w]);kl(A,!!S);const T=(r??"").trim(),F=/^[^,[\]\s]+$/.test(T)?T:"",R=F.length>0,[E,M]=l.useState("ganada"),[D,H]=l.useState("50"),[J,ee]=l.useState(1),[ae,B]=l.useState(R);ae!==R&&(B(R),M(R?"match":"ganada"));const L=E==="match"&&!R?"ganada":E,$=l.useMemo(()=>[...R?[{value:"match",label:y("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:y("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:y("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:y("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:y("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:y("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:y("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[y,R]),z=l.useMemo(()=>["10","25","50","100"].map(I=>({value:I,label:y("wordSearch.pageSize",{count:Number(I),defaultValue:`${I}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),V=I=>I.words[0],X=l.useCallback((I,Z)=>{const Q=$e=>V($e)?.label??"",ve=$e=>V($e)?.syllables??[...Q($e)].length,De=$e=>{const Le=parseInt(V($e)?.grade??"",10);return Number.isFinite(Le)?Le:999};switch(L){case"match":{const $e=[...F].length,Le=Ee=>ho(Q(Ee).slice(0,$e),F)?0:1;return Le(I)-Le(Z)||Q(I).localeCompare(Q(Z),"ko")}case"ganada":return Q(I).localeCompare(Q(Z),"ko");case"ganada_desc":return Q(Z).localeCompare(Q(I),"ko");case"syllable":return ve(I)-ve(Z)||Q(I).localeCompare(Q(Z),"ko");case"syllable_desc":return ve(Z)-ve(I)||Q(I).localeCompare(Q(Z),"ko");case"grade":return De(I)-De(Z)||Q(I).localeCompare(Q(Z),"ko");case"grade_desc":return De(Z)-De(I)||Q(I).localeCompare(Q(Z),"ko");default:return 0}},[L,F]),W=l.useMemo(()=>n.slice().sort(X),[n,X]),Y=Number(D)||10,O=l.useMemo(()=>(i??[]).flatMap(I=>I.items.slice().sort(X).map(Z=>({item:Z,label:I.label}))),[i,X]),ie=i?O.length:W.length,ue=Math.max(1,Math.ceil(ie/Y)),fe=Math.min(J,ue),ye=l.useMemo(()=>W.slice((fe-1)*Y,fe*Y),[W,fe,Y]),pe=l.useMemo(()=>{if(!i)return null;const I=O.slice((fe-1)*Y,fe*Y),Z=new Map;for(const{item:Q,label:ve}of I)Z.has(ve)||Z.set(ve,[]),Z.get(ve).push(Q);return[...Z.entries()].map(([Q,ve])=>({label:Q,items:ve}))},[i,O,fe,Y]);l.useEffect(()=>{ee(1)},[E,D,ie]);const P=ie>0?o.jsxs("div",{className:"word-search-result-block__toolbar",children:[o.jsx(Ut,{size:40,options:$,value:L,onChange:M,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:z,value:D,onChange:H,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(vr,{page:fe,totalPages:ue,onChange:ee})]}):void 0,q=I=>{c&&c(I)},oe=t!==void 0&&a?o.jsxs(o.Fragment,{children:[y("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),y("wordSearch.resultTitleSuffix",{unit:C?Mi(a):a})]}):void 0,ge=t!==void 0&&t>0&&d!==void 0&&a?y("wordSearch.resultDisc",{unit:C?Ri(a):a,max:d,selected:s.length}):void 0,de=b??(v?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:v}),ge?o.jsx("span",{className:"word-search-result-block__disc",children:ge}):null]}):ge);return o.jsxs(no,{type:f,icon:e,title:oe,action:P,disc:de,className:_e("word-search-result-block",p),children:[o.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&o.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[o.jsx("p",{className:"word-search-result-block__empty body-3",children:y("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&o.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(pe??[]).map(I=>o.jsx("div",{className:"word-search-result-block__group",children:o.jsx("div",{className:"word-search-result-block__items",children:I.items.map(Z=>{const Q=s.includes(Z.id);return o.jsx("div",{onMouseEnter:ve=>{k(ve.currentTarget),j(Z.words)},onMouseLeave:A,children:o.jsx(re,{size:"word",align:"grid",label:Z.words.map(ve=>ve.label),subLabel:Z.words.map(ve=>ve.subLabel).filter(Boolean).length>0?Z.words.map(ve=>ve.subLabel):void 0,selected:Q,onClick:()=>q(Z.id),minWidth:200})},Z.id)})})},I.label)):o.jsx("div",{className:"word-search-result-block__items",children:ye.map(I=>{const Z=s.includes(I.id);return o.jsx("div",{onMouseEnter:Q=>{k(Q.currentTarget),j(I.words)},onMouseLeave:A,children:o.jsx(re,{size:"word",align:"grid",label:I.words.map(Q=>Q.label),subLabel:I.words.map(Q=>Q.subLabel).filter(Boolean).length>0?I.words.map(Q=>Q.subLabel):void 0,selected:Z,onClick:()=>q(I.id),minWidth:200})},I.id)})}),S&&x&&o.jsx($c,{words:S,anchorRect:x})]}),ue>1&&o.jsx("div",{className:"word-search-result-block__pagination-bottom",children:o.jsx(vr,{page:fe,totalPages:ue,onChange:ee})}),(u||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[u&&o.jsx(re,{size:"56",type:"bar",label:y("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),m&&o.jsx("div",{onClick:s.length===0?h:void 0,children:o.jsx(re,{size:"56",type:"bar",variant:"main",label:y("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var I7='.ihabdevteam-core-scope .phoneme-select-block{align-items:flex-start;flex:1 1 auto;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell{align-items:center;display:flex;flex-direction:column;gap:12px}.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs);justify-content:center;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;flex-direction:column}}.ihabdevteam-core-scope .phoneme-select-block__count-control{align-self:center}.ihabdevteam-core-scope .phoneme-select-block__cell-group{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;color:var(--color-lightGray);margin-bottom:22px;padding:0 16px}.ihabdevteam-core-scope .phoneme-select-block__pair-panels{display:flex;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .phoneme-select-block__panel-group{display:flex;flex:1;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .phoneme-select-block__cells{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-m) 0;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{align-items:center;background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;height:80px;justify-content:center;position:relative;width:240px}.ihabdevteam-core-scope .phoneme-select-block__cell-index{color:var(--color-gray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo{align-items:stretch;display:flex;flex-direction:row;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{align-items:center;color:var(--color-black);display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;padding-top:3px;position:relative}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--no-label{padding-top:0}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char.h1{line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char--excluded{color:var(--color-whiteLine);transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-char{transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-label{color:var(--color-lightGray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-label{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part+.phoneme-select-block__cell-jamo-part:before{background:var(--color-whiteLine);content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1px}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__panels{align-items:stretch;align-self:stretch;display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.ihabdevteam-core-scope .phoneme-select-block__detail{align-items:flex-start;display:flex;flex-direction:row;gap:var(--spacing-s);justify-content:center}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{flex:1}.ihabdevteam-core-scope .phoneme-select-block>.filter-panel{align-self:stretch;width:100%}.ihabdevteam-core-scope .phoneme-select-block__controls .button38--bar{min-width:96px}.ihabdevteam-core-scope .phoneme-select-block__required{color:var(--color-main);line-height:1;margin-left:2px}.ihabdevteam-core-scope .phoneme-select-block__before-search{display:flex;justify-content:center;text-align:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__search-row{display:flex;gap:var(--spacing-xs);justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__checking{align-items:center;background:transparent;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);color:var(--color-disabled);cursor:default;display:flex;gap:10px;height:60px;min-width:198px;padding:0 28px}.ihabdevteam-core-scope .phoneme-select-block__checking-label{white-space:nowrap}.ihabdevteam-core-scope .phoneme-select-block__spinner{animation:phonemeSpinner .7s linear infinite;border:2px solid var(--color-whiteLine);border-radius:50%;border-top-color:var(--color-disabled);flex-shrink:0;height:18px;width:18px}@keyframes phonemeSpinner{to{transform:rotate(1turn)}}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__detail,.ihabdevteam-core-scope .phoneme-select-block__pair-panels{flex-direction:column}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;margin-bottom:0;padding:4px 0}.ihabdevteam-core-scope .phoneme-select-block__cells{flex-wrap:wrap}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';te(I7);function z7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:n}})}function Yb({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:m,title:h,titleIcon:p,disc:g,showInfoButton:f=!1,onClearPhoneme:b,onSearch:v,onSearchEmpty:y,searchDisabled:_=!1,searchLabel:C,searchChecking:x=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:S,beforeContent:j,afterContent:A,hideCountControl:T=!1,ordinal:F=!1}){const{t:R}=me.useTranslation(),E=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),M=l.useMemo(()=>Array.from({length:n-i+1},(W,Y)=>{const O=i+Y;return{key:String(O),label:R("wordPairs.count",{n:O})}}),[R,n,i]),D=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),H=l.useCallback(W=>F?R("wordPairs.phonemeOrdinalLabel",{ordinal:D[W-1]??W}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:W}),[F,D,a,R]),J=l.useCallback(W=>F?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:D[W-1]??W}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:W}),[F,D,a,R]),ee=l.useCallback((W,Y)=>Y?o.jsxs(o.Fragment,{children:[W,o.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):W,[]),{anchorRect:ae,toggleAt:B,close:L}=ko(),$=l.useCallback(W=>r(Number(W)),[r]),z=oa("(max-width: 767px)"),V=l.useCallback(W=>z7(W,e).map(({label:Y,value:O,displayLabel:ie})=>{const ue=!!O&&O!=="\uC5C6\uC74C";return o.jsxs("span",{className:_e("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",ue?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[o.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||u}),ue&&o.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:ie??Y})]},Y)}),[e,u]),X=o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-tooltip-ignore":!0,children:o.jsx(re,{size:40,type:z?"dot":void 0,icon:"info",label:z?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!ae,onClick:W=>B(W.currentTarget)})}),ae&&o.jsx(to,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:E,anchorRect:ae,onClose:L})]});return o.jsxs(no,{type:w,title:h,icon:p,disc:g,action:X,className:_e("phoneme-select-block",m),children:[j,(!T||f&&!(h||g))&&o.jsxs("div",{className:"phoneme-select-block__controls",children:[!T&&o.jsx(Ha,{options:M,value:String(a),onChange:$,size:40,className:"phoneme-select-block__count-control"}),f&&!(h||g)&&X]}),o.jsx("div",{className:"phoneme-select-block__cells",children:k?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:H(Y+1)})]},Y)})}),o.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2+1]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:J(Y+1)})]},Y)})})]}):t.map((W,Y)=>o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(W)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:H(Y+1)})]},Y))}),(s||c)&&o.jsx("div",{className:"phoneme-select-block__panels",children:o.jsx("div",{className:"phoneme-select-block__detail",children:k?o.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2]??{};return o.jsx(va,{title:ee(H(Y+1),Y===0),sections:c?c(O,Y*2):s,selected:O,onSelect:d?.(Y*2),align:"newline"},Y)})}),o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2+1]??{};return o.jsx(va,{title:J(Y+1),sections:c?c(O,Y*2+1):s,selected:O,onSelect:d?.(Y*2+1),align:"newline"},Y)})})]}):t.map((W,Y)=>o.jsx(va,{title:ee(H(Y+1),Y===0),sections:c?c(W,Y):s,selected:W,onSelect:d?.(Y),align:"newline"},Y))})}),S&&o.jsx("div",{className:"phoneme-select-block__before-search",children:S}),(b||v||x)&&(()=>{const W=t.every(Y=>Object.entries(Y).every(([O,ie])=>!ie||O==="\uC885\uC131"&&ie==="\uC5C6\uC74C"));return o.jsxs("div",{className:"phoneme-select-block__search-row",onClick:W?y:void 0,children:[b&&o.jsx(re,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:W,onClick:W?void 0:b}),x?o.jsxs("div",{className:"phoneme-select-block__checking",children:[o.jsx("div",{className:"phoneme-select-block__spinner"}),o.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):v&&o.jsx(re,{size:"56",type:"bar",variant:"main",label:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:W||_,onClick:W||_?void 0:v})]})})(),A]})}function Ub({title:e,sections:t,selected:a,onSelect:r,className:n}){const{t:i}=me.useTranslation();return o.jsx(va,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function Kb({title:e,headerAction:t,sections:a,selected:r,onSelect:n,className:i}){const{t:s}=me.useTranslation();return a.length===0?null:o.jsx(va,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:n,align:"newline"})}function Zb({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:m}=me.useTranslation(),h={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")},p=v=>m("wordPairs.count",{n:v}),g=[{label:h.searchMode,items:[h.include,h.pick,h.explicit],display:"segmented",labelAction:o.jsx(So,{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:h.phonemeOrder,items:[h.orderAny,h.orderMatch],display:"segmented",labelAction:o.jsx(So,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:h.count,items:[p(1),p(2)],display:"segmented"},{label:h.inputMode,items:[h.charInput,h.pronInput],display:"segmented",labelAction:o.jsx(So,{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.")]})}],f={[h.searchMode]:t==="explicit"?h.explicit:t==="pick"?h.pick:h.include,[h.phonemeOrder]:r==="ordered"?h.orderMatch:h.orderAny,[h.count]:p(i),[h.inputMode]:c==="phoneme"?h.pronInput:h.charInput},b=(v,y)=>{y===h.searchMode?a(v===h.explicit?"explicit":v===h.pick?"pick":"include"):y===h.phonemeOrder?n(v===h.orderMatch?"ordered":"unordered"):y===h.count?s(v===p(2)?2:1):y===h.inputMode&&d(v===h.pronInput?"phoneme":"word")};return o.jsx(va,{className:u,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:b,align:"inline"})}var O7=".ihabdevteam-core-scope .popup-list .popup-panel{max-height:calc(100% - 60px);max-width:880px;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-list .popup-content{display:flex;flex-direction:column;gap:var(--spacing-m);min-height:0;overflow:hidden}.ihabdevteam-core-scope .popup-list .table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .popup-list .table-fields,.ihabdevteam-core-scope .popup-list .table-row{min-width:520px}.ihabdevteam-core-scope .popup-list__row--selected{background:var(--color-deepWhite);color:var(--color-main);font-weight:600}";te(O7);function Xb(e){const{title:t,items:a,columns:r,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:m,onSelect:h,onClose:p,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:b,countLabel:v,topContent:y,className:_=""}=e,{t:C}=me.useTranslation(),x=i??C("common.search","\uAC80\uC0C9"),k=b??C("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,S]=l.useState(""),[j,A]=l.useState(c??r[0]?.key??""),[T,F]=l.useState(d),[R,E]=l.useState(String(f??g[0]??10)),[M,D]=l.useState(1);l.useEffect(()=>{D(1)},[w,R]);const H=s!==null,J=l.useCallback((W,Y)=>{if(!Y)return!0;const O=Y.toLowerCase();return r.some(ie=>{const ue=W[ie.key];return ue==null?!1:String(ue).toLowerCase().includes(O)})},[r]),ee=s??J,ae=l.useMemo(()=>{const W=H?a.filter(Y=>ee(Y,w)):a;return j?[...W].sort((Y,O)=>{const ie=Y[j]??"",ue=O[j]??"";if(ie===ue)return 0;const fe=Mk(ie,ue);return T?fe:-fe}):W},[a,w,j,T,H,ee]),B=Math.max(1,Math.ceil(ae.length/Number(R))),L=ae.slice((M-1)*Number(R),M*Number(R)),$=l.useCallback(W=>{j===W?F(Y=>!Y):(A(W),F(!0))},[j]),z=l.useMemo(()=>{if(typeof v=="string"&&v.includes("{n}")){const[W,Y]=v.split("{n}");return{prefix:W,suffix:Y}}return{prefix:C("common.totalCountPrefix","\uCD1D "),suffix:C("common.totalCountSuffix","\uAC1C")}},[v,C]),V=l.useMemo(()=>r.map(W=>({label:W.label,onClick:W.sortable!==!1?()=>$(W.key):void 0,className:W.className,sortDir:W.sortable!==!1&&j===W.key?T?"asc":"desc":null})),[r,j,T,$]),X=l.useMemo(()=>g.map(W=>({value:String(W),label:C("common.pageSizeLabel",{n:W})})),[g,C]);return o.jsxs(Ta,{className:`popup-list ${_}`,title:t,onClose:p,children:[y,o.jsx(vn,{count:{value:ae.length,prefix:z.prefix,suffix:z.suffix},search:H?{value:w,onChange:S,placeholder:x}:void 0,pageSize:{options:X,value:R,onChange:E},pagination:{page:M,total:B,onChange:D}}),o.jsx(_n,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:V,items:L,onRowClick:h,renderRow:W=>{const Y=m!=null?W.id!=null&&m.has(W.id):u!=null&&W.id===u;return r.map(O=>({content:O.render?O.render(W):W[O.key]??"",className:Y?"popup-list__row--selected":O.className}))},empty:k})]})}function Jb(e){const{title:t,message:a,topContent:r,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:m="main",confirmDisabled:h=!1,onConfirm:p,closeOnConfirm:g=!0,onClose:f,inline:b,size:v="small",className:y}=e,{t:_}=me.useTranslation(),C=l.useRef(!1),[x,k]=l.useState(!1);return o.jsxs(Ta,{title:t,onClose:f,closeDisabled:x,inline:b,size:v,className:_e("confirm-popup",y),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||x,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await u.onClick(w),(u.closeOnClick??!0)&&w()}finally{C.current=!1,k(!1)}}}}]:[],...d?[]:[{label:c??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:w})=>w()}],{label:s??_("common.confirm","\uD655\uC778"),variant:m,disabled:h||x,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await p(w),g&&w()}finally{C.current=!1,k(!1)}}}}],children:[r!=null&&o.jsx("div",{className:"confirm-popup__top",children:r}),n&&n.length>0&&o.jsx(kr,{children:n.map((w,S)=>o.jsx(Na,{label:w.label,children:o.jsx("span",{className:"panel-row__text body-2",children:w.value})},S))}),o.jsx("p",{className:"body-2 confirm-popup__message",children:a}),i]})}var F7=".ihabdevteam-core-scope .coupon-input-popup__input{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);font-family:inherit;height:48px;letter-spacing:.06em;padding:0 14px;text-transform:uppercase;transition:border-color .15s;width:100%}.ihabdevteam-core-scope .coupon-input-popup__input:focus{border-color:var(--color-main);outline:none}.ihabdevteam-core-scope .coupon-input-popup__input::-moz-placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__input::placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__error{color:#e84040;color:var(--color-red,#e84040);margin:var(--spacing-xs) 0 0}";te(F7);function Qb({onApply:e,onCancel:t}){const{t:a}=me.useTranslation(),[r,n]=l.useState(""),[i,s]=l.useState(!1),[c,d]=l.useState(null),u=l.useRef(null);l.useEffect(()=>{u.current?.focus()},[]);const m=l.useCallback(async g=>{const f=r.trim();if(f){s(!0),d(null);try{await e(f),g()}catch(b){d(Ur(b)),s(!1)}}},[r,e]),h=l.useCallback((g,f)=>{g.key==="Enter"&&m(f)},[m]),p=g=>{n(g.target.value),d(null)};return o.jsx(Ta,{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:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{m(g)}}],children:({closeWithAnimation:g})=>o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:u,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:p,onKeyDown:f=>h(f,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&o.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var W7=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";te(W7);const eg=200;function H7(e){return e.itemId?(fs()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function tg({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:n}=me.useTranslation(),i=l.useMemo(()=>en.map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items]);if(i.length===0)return null;const s=o.jsx("div",{className:"tooltip-training__box",children:o.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?o.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,o.jsxs("div",{className:"tooltip-training__section",children:[o.jsx("div",{className:"tooltip-training__section-header",children:o.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),o.jsx("div",{className:"tooltip-training__items",children:d.map((m,h)=>{const p=H7(m);return p?o.jsx(wn,{index:h,type:c,trainingData:p,size:"compact",hideCheckBadge:!0},m.itemId??h):null})})]},c.key)])})});return t?o.jsx(Sa,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var V7=".ihabdevteam-core-scope .party-container{inset:0;overflow:visible;pointer-events:none;position:fixed}.ihabdevteam-core-scope .confetti{display:none;left:0;opacity:0;position:fixed;top:0;transform:translateZ(0);will-change:transform,opacity}.ihabdevteam-core-scope .confetti--left{transform-origin:left bottom}.ihabdevteam-core-scope .confetti--right{transform-origin:right bottom}.ihabdevteam-core-scope .confetti.show{display:block;opacity:1;transition:opacity .2s linear}";te(V7);const ag=["var(--color-main)","var(--color-sub)"];function Ic({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const b=Math.floor(t/2),v=t-b,y=(_,C)=>Array.from({length:_}).map((x,k)=>{const w=6+Math.random()*12,S=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),j=ag[Math.floor(Math.random()*ag.length)],A=Math.random()*300,T=(360+Math.random()*260)*r*1.2,F=(C==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(F)*T,E=Math.sin(F)*T*1.35,M=Math.random()*720-360,D=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),H=Math.random()>.7?"50%":"3px";return{id:`${C}-${k}`,side:C,size:S,color:j,delay:A,vx:R,vy:E,angularVel:M,life:D,borderRadius:H}});return[...y(b,"left"),...y(v,"right")]},[t,r]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),m=l.useRef(n);l.useEffect(()=>{m.current=n},[n]);const h=l.useRef(null),p=l.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&p.current==null&&(p.current=g()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){m.current?.();return}const b=1200,v=performance.now(),y=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,_=Math.max(60,(window.innerHeight||800)*.05),C=B=>Math.max(40,(B||window.innerWidth)*.02),x=y?.width||window.innerWidth||375,k=y?.height||window.innerHeight||812,w=B=>{const L=[...B].sort(($,z)=>$-z);return L[Math.floor(L.length/2)]||1},S=w(s.map(B=>Math.abs(B.vy))),j=w(s.map(B=>Math.abs(B.vx))),A=Math.sqrt(2*b*(k*.72+_))/S,T=S*A/b,F=x*.5/(j*T),R=(B,L,$)=>Math.min($,Math.max(L,B)),E=R(A,.8,2.4),M=R(F,.7,2.2),D=s.map(B=>({...B,vx:B.vx*M,vy:B.vy*E,startTime:v+B.delay,ended:!1})),H=y?{x:y.left-C(y.width),y:y.top+y.height+_}:{x:-C(window.innerWidth),y:window.innerHeight+_},J=y?{x:y.left+y.width+C(y.width),y:y.top+y.height+_}:{x:window.innerWidth+C(window.innerWidth),y:window.innerHeight+_},ee=B=>{let L=!1;for(const $ of D){const z=d.current[$.id];if(!z||!z)continue;if(B<$.startTime){z.style.display="none";continue}if(!$._inited){const pe=$.side==="left"?H.x:J.x,P=$.side==="left"?H.y:J.y;z.style.left=`${pe}px`,z.style.top=`${P}px`,z.style.transform="translate3d(0px, 0px, 0)",z.style.display="block",z.style.zIndex="100000";try{if(typeof window<"u"&&typeof $.color=="string"&&$.color.startsWith("var(")){const q=$.color.slice(4,-1).trim(),oe=getComputedStyle(document.documentElement).getPropertyValue(q).trim();oe?z.style.background=oe:z.style.background="#FF0060"}}catch{}$._inited=!0}const V=(B-$.startTime)/1e3;if(V<0)continue;const X=$.life/1e3;if(V>=X){z.style.opacity="0",z.style.display="none",$.ended=!0;continue}L=!0;const W=$.side==="left"?H.x:J.x,Y=$.side==="left"?H.y:J.y,O=W+$.vx*V,ie=Y+$.vy*V+.5*b*V*V,ue=($.angularVel||0)*V,fe=O-W,ye=ie-Y;z.style.transform=`translate3d(${fe}px, ${ye}px, 0) rotate(${ue}deg)`,z.style.opacity=`${Math.max(0,1-V/X)}`}L?u.current=requestAnimationFrame(ee):m.current?.()};u.current=requestAnimationFrame(ee);const ae=setTimeout(()=>{try{if((p.current?p.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const B=document.createElement("div");B.className="party-container",B.style.position="fixed",B.style.inset="0",B.style.pointerEvents="none",B.style.overflow="visible",B.style.zIndex="2147483647";for(const L of s){const $=document.createElement("span");$.className=`confetti confetti--${L.side}`,$.setAttribute("aria-hidden","true"),$.style.display="none",$.style.position="fixed",$.style.left="0px",$.style.top="0px",$.style.width=`${L.size}px`,$.style.height=`${Math.max(4,L.size*.6)}px`;let z=L.color;try{if(typeof z=="string"&&z.startsWith("var(")){const V=z.slice(4,-1).trim(),X=getComputedStyle(document.documentElement).getPropertyValue(V).trim();X&&(z=X)}}catch{}$.style.background=z,$.style.borderRadius=L.borderRadius,$.style.transform="translate3d(0,0,0)",$.style.opacity="0",B.appendChild($),d.current[L.id]=$}(document.body||p.current).appendChild(B),h.current=B}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout(ae),h.current){try{h.current.remove()}catch{}h.current=null}}},[e,a,i,s]),!e)return null;const f=o.jsx("div",{className:"party-container",ref:c,children:s.map(b=>o.jsx("span",{"aria-hidden":!0,ref:v=>{d.current[b.id]=v},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?qt.createPortal(f,p.current||document.body):f}function og({trigger:e=0,active:t=!1}){const a=l.useRef(0);return l.useEffect(()=>{a.current=e},[e]),o.jsx(Ic,{active:t,trigger:e})}var G7=".ihabdevteam-core-scope .page-title{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .page-title__main{align-items:flex-start;display:flex;flex:1;flex-direction:column;min-width:0;text-align:left}.ihabdevteam-core-scope .page-title__title-row{align-items:center;display:flex;gap:12px}.ihabdevteam-core-scope .page-title__title{margin:0}.ihabdevteam-core-scope .page-title__title-action{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .page-title__badge{align-items:center;display:flex}.ihabdevteam-core-scope .page-title__sub{color:var(--color-gray);margin:6px 0 0}.ihabdevteam-core-scope .page-title__action{flex-shrink:0;margin-left:var(--spacing-s)}@media (max-width:767px){.ihabdevteam-core-scope .page-title{align-items:flex-start;flex-direction:column;gap:10px}.ihabdevteam-core-scope .page-title__action{align-self:flex-start;margin-left:0}}.ihabdevteam-core-scope .page-title__back{flex-shrink:0;margin-left:-8px;margin-right:-4px}";te(G7);function rg({title:e,sub:t,rightAction:a,titleAction:r,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d}){const{t:u}=me.useTranslation();nl(typeof e=="string"?e:s??null);const m=d??u("common.back","\uB4A4\uB85C");return o.jsxs("div",{className:"page-title",children:[o.jsxs("div",{className:"page-title__main",children:[o.jsxs("div",{className:"page-title__title-row",children:[c&&o.jsx(re,{className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:c}),o.jsx("h1",{className:"page-title__title h1",children:e}),n&&o.jsx("div",{className:"page-title__badge",children:o.jsx(ht,{label:n,size:"small",variant:i,fill:"outline"})}),r?o.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&o.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?o.jsx("div",{className:"page-title__action",children:a}):null]})}function ng(e){return e??""}const ig=l.createContext({words:[],loading:!1});function sg(){return l.useContext(ig)}function lg({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return o.jsx(ig.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var q7=".ihabdevteam-core-scope .summary-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-m) var(--spacing-l);width:100%}.ihabdevteam-core-scope .summary-strip--flat{box-shadow:none}.ihabdevteam-core-scope .summary-strip__row{align-items:center;display:flex;gap:var(--spacing-l)}.ihabdevteam-core-scope .summary-strip__items{grid-gap:var(--spacing-s) var(--spacing-l);display:grid;flex:1;gap:var(--spacing-s) var(--spacing-l);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}@media (min-width:640px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--summary-strip-cols,4),minmax(0,1fr))}}.ihabdevteam-core-scope .summary-strip__item{min-width:0}.ihabdevteam-core-scope .summary-strip__label{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .summary-strip__value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .summary-strip__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}";te(q7);function cg({items:e,actions:t,columns:a,flat:r=!1,className:n,style:i}){const s=a??e.length;return o.jsx("section",{className:_e("summary-strip",r&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(s),...i},children:o.jsxs("div",{className:"summary-strip__row",children:[o.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>o.jsxs("div",{className:"summary-strip__item",children:[o.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),o.jsx("p",{className:"summary-strip__value body-3b",children:c.value})]},d))}),t&&o.jsx("div",{className:"summary-strip__actions",children:t})]})})}var Y7='.ihabdevteam-core-scope .report-doc{--report-page-w:210mm;--report-page-h:297mm;--report-margin:14mm;display:flex;justify-content:safe center;max-width:100%;min-width:0;overflow-x:auto;padding-block:var(--spacing-s);position:relative;width:100%}.ihabdevteam-core-scope .report-doc__pages{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .report-doc__page{background:#fff;box-shadow:var(--shadow-card);color:#000;display:flex;flex-direction:column;flex-shrink:0;min-height:var(--report-page-h);padding:var(--report-margin);width:var(--report-page-w)}.ihabdevteam-core-scope .report-doc__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__title{margin:0}.ihabdevteam-core-scope .report-doc__footer{align-items:center;color:var(--color-gray);display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__footer-left{align-items:center;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__page-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .report-doc__logo{height:28px;width:auto}.ihabdevteam-core-scope .report-doc__measure{display:flex;flex-direction:column;opacity:0;pointer-events:none;position:absolute;width:calc(var(--report-page-w) - var(--report-margin)*2);z-index:-10}.ihabdevteam-core-scope .report-doc__measure-blocks{display:flex;flex-direction:column}.ihabdevteam-core-scope .report-doc__ruler{height:calc(var(--report-page-h) - var(--report-margin)*2)}@media print{.ihabdevteam-core-scope .report-doc{display:block;overflow:visible;padding-block:0}.ihabdevteam-core-scope .report-doc__pages{display:block}.ihabdevteam-core-scope .report-doc__page{-moz-column-break-after:page;box-shadow:none;break-after:page;page-break-after:always}.ihabdevteam-core-scope .report-doc__page:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}';te(Y7);const U7=(e,t)=>`${e} / ${t}`;function dg({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=U7,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:m}=me.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),f=l.useRef(null),[b,v]=l.useState(null),[y,_]=l.useState(!1);l.useEffect(()=>{const T=h.current;if(!T)return;const F=()=>_(T.scrollWidth>T.clientWidth+1);if(F(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(F);return R.observe(T),()=>R.disconnect()},[b]);const C=e.map(T=>`${T.id}\0${T.section??""}\0${T.group??""}`).join("");l.useLayoutEffect(()=>{const T=p.current,F=f.current;if(!T||!F)return;const R=g.current?.offsetHeight??0,E=F.offsetHeight-R,M=Array.from(T.children).map(B=>B.offsetHeight),D=[];e.forEach((B,L)=>{const $=D[D.length-1],z=$?e[$[0]]:void 0;z&&B.group!=null&&z.group===B.group?$.push(L):D.push([L])});const H=[];let J=[],ee=0;const ae=()=>{J.length&&H.push(J),J=[],ee=0};D.forEach(B=>{const L=B.reduce(($,z)=>$+M[z],0);J.length&&e[J[0]].section!==e[B[0]].section&&ae(),J.length&&ee+L>E&&ae(),L>E?B.forEach($=>{J.length&&ee+M[$]>E&&ae(),J.push($),ee+=M[$]}):(B.forEach($=>J.push($)),ee+=L)}),ae(),v(H)},[C]);const x=Il,k=x,w=r??o.jsxs(o.Fragment,{children:[o.jsx("img",{src:k,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),S=(T,F,R)=>({header:o.jsxs("div",{className:"report-doc__header",children:[o.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&t?.[R]||null}),a]}),footer:o.jsxs("div",{className:"report-doc__footer caption-1",children:[o.jsx("span",{className:"report-doc__footer-left",children:w}),o.jsx("span",{className:"report-doc__page-no",children:n(T,F)})]})}),j=S(1,1,e[0]?.section),A={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return o.jsxs("div",{ref:h,className:_e("report-doc",d),style:A,tabIndex:y?0:void 0,role:y?"group":void 0,"aria-label":y?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[o.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[o.jsx("div",{ref:f,className:"report-doc__ruler"}),o.jsxs("div",{ref:g,children:[j.header,j.footer]}),o.jsx("div",{ref:p,className:"report-doc__measure-blocks",children:e.map(T=>o.jsx("div",{children:T.content},T.id))})]}),b&&o.jsx("div",{className:"report-doc__pages",children:b.map((T,F)=>{const{header:R,footer:E}=S(F+1,b.length,e[T[0]].section);return o.jsxs("section",{className:"report-doc__page",children:[R,T.map(M=>o.jsx("div",{children:e[M].content},e[M].id)),E]},F)})})]})}var K7=".ihabdevteam-core-scope .report-info{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--spacing-l);padding:var(--spacing-s) var(--spacing-m)}.ihabdevteam-core-scope .report-info__title{color:var(--color-darkGray);margin:0 0 var(--spacing-s)}.ihabdevteam-core-scope .report-info__grid{grid-gap:var(--spacing-xs) var(--spacing-l);display:grid;gap:var(--spacing-xs) var(--spacing-l);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--report-info-cols,4),minmax(0,1fr))}@media (max-width:640px){.ihabdevteam-core-scope .report-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ihabdevteam-core-scope .report-info__field{align-items:baseline;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-info__label{color:var(--color-gray);flex-shrink:0;width:3.5rem}.ihabdevteam-core-scope .report-info__value{color:var(--color-darkGray);white-space:nowrap}";te(K7);function ug({title:e,fields:t,columns:a=4,className:r,style:n}){return o.jsxs("div",{className:_e("report-info",r),style:{"--report-info-cols":String(a),...n},children:[e&&o.jsx("p",{className:"report-info__title h5b",children:e}),o.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>o.jsxs("div",{className:"report-info__field body-2",children:[o.jsx("span",{className:"report-info__label body-3",children:i.label}),o.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}var Z7=".ihabdevteam-core-scope .update-alert{animation:update-alert-slide-in .32s cubic-bezier(.34,1.56,.64,1) both;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:hsla(0,0%,97%,.92);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:0 4px 24px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08),inset 0 0 0 .5px rgba(0,0,0,.1);padding:var(--spacing-l);width:380px}.ihabdevteam-core-scope .update-alert,.ihabdevteam-core-scope .update-alert-stack{display:flex;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);position:fixed;right:16px;top:16px;z-index:var(--z-alert)}.ihabdevteam-core-scope .update-alert-stack{align-items:flex-end}.ihabdevteam-core-scope .update-alert-stack .update-alert{position:relative;z-index:auto}.ihabdevteam-core-scope .update-alert:has(.update-alert__close) .update-alert__title{padding-right:24px}.ihabdevteam-core-scope .update-alert__close{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-s,6px);color:#888;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;width:24px}.ihabdevteam-core-scope .update-alert__close:hover{background:rgba(0,0,0,.06);color:#333}.ihabdevteam-core-scope .update-alert__top{align-items:center;display:flex;gap:10px}@keyframes update-alert-slide-in{0%{opacity:0;transform:translateX(calc(100% + 24px))}to{opacity:1;transform:translateX(0)}}.ihabdevteam-core-scope .update-alert__icon{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .update-alert__body{flex:1;min-width:0}.ihabdevteam-core-scope .update-alert__title{color:#1a1a1a;text-align:left}.ihabdevteam-core-scope .update-alert__message{color:#555;margin-top:2px;text-align:left}.ihabdevteam-core-scope .update-alert__action{width:100%}";te(Z7);function pg({title:e,message:t,actionLabel:a,onAction:r,icon:n,onClose:i,className:s=""}){const{t:c}=me.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return o.jsxs("div",{className:_e("update-alert",s),role:"alert",children:[i&&o.jsx("button",{type:"button",className:"update-alert__close",onClick:i,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),o.jsxs("div",{className:"update-alert__top",children:[o.jsx("div",{className:"update-alert__icon",children:n??o.jsx(nd,{size:20,strokeWidth:2})}),o.jsxs("div",{className:"update-alert__body",children:[o.jsx("div",{className:"update-alert__title h4",children:e}),o.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&o.jsx(re,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}var X7=".ihabdevteam-core-scope .training-card{background:var(--color-white);border:1px solid transparent;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:10px;max-width:100%;padding:18px;position:relative;transition:border-color .15s,box-shadow .15s;width:360px}.ihabdevteam-core-scope .training-card:hover{border-color:var(--color-main);box-shadow:0 4px 16px var(--color-main-a10)}.ihabdevteam-core-scope .training-card--dragging{opacity:.5}.ihabdevteam-core-scope .training-card--clickable{cursor:pointer}.ihabdevteam-core-scope .training-card__header{grid-column-gap:8px;grid-row-gap:4px;align-items:start;-moz-column-gap:8px;column-gap:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:4px}.ihabdevteam-core-scope .training-card__title-row{display:contents}.ihabdevteam-core-scope .training-card__title-row>:first-child{grid-area:1/1;min-width:0}.ihabdevteam-core-scope .training-card__header>:last-child{grid-area:2/1}.ihabdevteam-core-scope .training-card__title{color:var(--color-darkGray);margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__top-actions{align-items:center;align-self:start;display:flex;flex-shrink:0;gap:2px;grid-column:2;grid-row:1/3;margin-right:-8px}.ihabdevteam-core-scope .training-card__publisher{background:none;border:none;color:var(--color-gray);cursor:pointer;font-size:11px;font-weight:400;max-width:120px;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .training-card__publisher:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .training-card__description{color:var(--color-gray);margin:0;min-height:1.55em;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__body{display:flex;flex:1;flex-direction:column;gap:8px;justify-content:flex-end}.ihabdevteam-core-scope .training-card__empty{color:var(--color-lightGray)}.ihabdevteam-core-scope .training-card__types{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ihabdevteam-core-scope .training-card__types .button{min-width:0;padding-inline:12px}.ihabdevteam-core-scope .training-card__words{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px}.ihabdevteam-core-scope .training-card__footer{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin-top:auto;padding-top:8px}.ihabdevteam-core-scope .training-card__footer-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .training-card__date{color:var(--color-gray);font-size:11px;white-space:nowrap}.ihabdevteam-core-scope .training-card__meta{align-items:center;display:flex;gap:4px}";te(X7);function hg({title:e,description:t,topActions:a,children:r,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:d,onDragEnd:u,className:m}){const h=n!=null||i!=null,p=r!=null&&r!==!1,g=l.useCallback(f=>{s&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s())},[s]);return o.jsxs("div",{className:_e("training-card",s?"training-card--clickable":"",m),onClick:s,onKeyDown:s?g:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[o.jsxs("div",{className:"training-card__header",children:[o.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?o.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&o.jsx("div",{className:"training-card__top-actions",onClick:f=>f.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?o.jsx("p",{className:"training-card__description body-3",children:t}):t:o.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),p&&o.jsx("div",{className:"training-card__body",children:r}),h&&o.jsxs("div",{className:"training-card__footer",children:[n!=null&&o.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&o.jsx("div",{className:"training-card__meta",children:i})]})]})}var J7=".ihabdevteam-core-scope .training-card-group{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s,box-shadow .15s}.ihabdevteam-core-scope .training-card-group--dragover{border-color:var(--color-main);box-shadow:0 0 0 2px var(--color-main-a10)}.ihabdevteam-core-scope .training-card-group__header{align-items:center;display:flex;gap:8px;height:60px;padding:0 12px}.ihabdevteam-core-scope .training-card-group--collapsible .training-card-group__header{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-card-group__chevron{flex-shrink:0}.ihabdevteam-core-scope .training-card-group__title{color:var(--color-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card-group__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .training-card-group__actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.ihabdevteam-core-scope .training-card-group__empty{color:var(--color-lightGray);padding:24px 16px;text-align:center}.ihabdevteam-core-scope .training-card-group__grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;padding:0 12px 12px}.ihabdevteam-core-scope .training-card-group__grid>*{min-width:0}";te(J7);function mg({title:e,count:t,collapsed:a=!1,onToggle:r,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:m,onDrop:h,children:p,className:g}){const{t:f}=me.useTranslation(),b=r!=null,v=_e("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return o.jsxs("div",{className:v,onDragOver:u,onDragLeave:m,onDrop:h,children:[o.jsxs("header",{className:"training-card-group__header",children:[b&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?o.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&o.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&o.jsxs("span",{className:"training-card-group__actions",onClick:y=>y.stopPropagation(),children:[n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?o.jsx("div",{className:"training-card-group__empty body-3",children:c}):o.jsx("div",{className:"training-card-group__grid",children:p}))]})}var Q7=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:flex;gap:var(--spacing-xs)}@media (max-width:767px){.ihabdevteam-core-scope .word-table-block__actions{align-items:stretch;flex-direction:column}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-panel{max-width:none;width:min(1400px,94vw)}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-body{overflow:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .word-table-block__pages{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-content,24px)}@media print{.ihabdevteam-core-scope .word-table-block>.filter-panel,.ihabdevteam-core-scope .word-table-block>.section__header,.ihabdevteam-core-scope .word-table-block__actions{display:none}.ihabdevteam-core-scope .word-table-block__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-block__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}";te(Q7);const e6="speechear:saved_word_tables";function t6(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 a6(){try{const e=localStorage.getItem(e6);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(t6):[]}catch{return[]}}function bg({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:m,onReorder:h,showCellCount:p,onAddItem:g,className:f,renderSavePopup:b,renderWordSearch:v,hideControls:y,saveOnly:_,tableName:C,nameValue:x,onNameChange:k,descriptionValue:w,onDescriptionChange:S,namePlaceholder:j,descriptionPlaceholder:A,existingNames:T,editingName:F,onCancel:R}){const{t:E}=me.useTranslation(),M=d??E("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),D=r===void 0,H=!!k,[J,ee]=l.useState([]),ae=(x??"").trim(),B=ae||(j??"").trim(),L=(w??"").trim()||(A??"").trim(),$=(T??[]).map(ce=>ce.trim().toLowerCase()),z=[F?.trim().toLowerCase(),...J].filter(ce=>!!ce),V=[...$];for(const ce of z){const Be=V.indexOf(ce);Be!==-1&&V.splice(Be,1)}const X=ae!==""&&V.includes(ae.toLowerCase()),[W,Y]=l.useState(Array(4).fill(null)),[O,ie]=l.useState(4),[ue,fe]=l.useState(null),[ye,pe]=l.useState("landscape"),[P,q]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[oe,ge]=l.useState("\uD45C\uC2DC"),[de,I]=l.useState(!0),[Z,Q]=l.useState(!0),ve=l.useRef(null),De=l.useRef([]),[$e,Le]=l.useState(8),[Ee,je]=l.useState("right"),[Te,Ie]=l.useState(!1),[He,be]=l.useState(!1),{toastMessage:Ke,toastType:Ve,showWarning:Re,clearToast:qe}=bn("warning"),vt=l.useCallback(()=>fe(null),[fe]),[Ue,Xe]=l.useState(()=>Math.max(r?.length??1,1));l.useEffect(()=>{D||Xe(ce=>Math.max(ce,r?.length??1))},[r?.length,D]);const ut=D?O:p?Math.max(Ue,r?.length??1):Math.max(r?.length??0,1),{width:ze,height:rt}=io[ye],et=!D&&!p,We=r?.length??0,Je=Math.min($e,Math.max(We,1)),tt=et?Je:ut,xt=et?Lm(r??[],tt):null,Et=!!xt&&xt.length>1,it=D?W.some(ce=>ce!==null&&ce.length>1):(r??[]).some(ce=>ce.words.length>1),Ht=C?.trim()||`${Xr(Kr())} ${it?E("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):E("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,mt=l.useCallback(()=>Et?De.current.filter(ce=>ce!==null):ve.current?[ve.current]:[],[Et]),{print:Vt,openNewWindow:ia,downloadHtml:Gt}=Nn({getElements:mt,paperW:ze,paperH:rt,fileName:Ht,onPopupBlocked:()=>{Re(E("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."))}}),Ea=ce=>{ie(ce),Y(Be=>{const at=Array(ce).fill(null);return Be.slice(0,ce).forEach((Ct,_t)=>{at[_t]=Ct}),at}),fe(null)},sa=ce=>{Y(Be=>{const at=[...Be];return at[ce]=null,at}),ue===ce&&fe(null)},Kt=ce=>{if(ue===null)return;const Be=ue;Y(Ct=>{const _t=[...Ct];return _t[Be]=ce,_t});const at=W.findIndex((Ct,_t)=>_t>Be&&Ct===null);fe(at!==-1?at:null)},ja=D?W.some(ce=>ce?.some(Be=>!!Be.colloquialPronunciation)):(r??[]).some(ce=>ce.words.some(Be=>!!Be.colloquialLabel)),jt=l.useMemo(()=>Ma()?D?W.flatMap(ce=>(ce??[]).map(Be=>[Be.word,Be.homonum])):(r??[]).flatMap(ce=>ce.words.map(Be=>[Be.label,Be.homonum])):[],[D,W,r]),[Ga,$t]=l.useState(!1);l.useEffect(()=>{if(jt.length===0)return;let ce=!1;return Promise.all(jt.map(([Be,at])=>Yo(Be,at))).then(Be=>{ce||$t(Be.some(Boolean))}),()=>{ce=!0}},[jt]);const ya=jt.length>0&&Ga,qa=l.useMemo(()=>[...D||p?[{label:E("wordTable.filter.columns","\uCE78 \uC218"),items:Tk.map(ce=>({value:`${ce}\uCE78`,displayLabel:E("wordTable.filter.column",{count:ce})})),display:"segmented"}]:[],...et&&(r?.length??0)>0?[Fm(E,{hasPairs:it,itemCount:We})]:[],...Et?[Wm(E)]:[]],[E,D,p,et,r?.length,it,We,Et]),Qe={...D||p?{[E("wordTable.filter.columns","\uCE78 \uC218")]:`${D?O:Ue}\uCE78`}:{},...et&&(r?.length??0)>0?{[E(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Je}\uAC1C`}:{},...Et?{[E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hm[Ee]}:{}},It=(ce,Be)=>{Be===E("wordTable.filter.columns","\uCE78 \uC218")?D?Ea(parseInt(ce)):Xe(parseInt(ce)):Be===E(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Le(parseInt(ce)):Be===E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&je(Vm(ce))},kt=D?W.filter(ce=>ce!==null).map(ce=>({id:ce[0].word,words:ce.map(Be=>({label:Be.word,subLabel:Be.pronunciation,homonum:Be.homonum}))})):r??[],xa=(ce=!1)=>{if(be(ce),H&&n){const Be=B.trim().toLowerCase();Be&&ee(at=>at.includes(Be)?at:[...at,Be]),n(B,kt,L||void 0,ce);return}if(_&&n){n("",kt,void 0,ce);return}if(n){Ie(!0);return}Gt()},[la,ne]=l.useState(!1),[xe,Ce]=l.useState(""),U=xe.trim(),le=U!==""&&$.includes(U.toLowerCase()),we=()=>{Ce(B?`${B} (\uBCF5\uC0AC)`:""),ne(!0)},Se=()=>{!U||le||!n||(n(U,kt,L||void 0,!0),ne(!1))},Ae=kt.length===0,Oe=Ae||H&&(B===""||X),nt=()=>{if(Ae){Re(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(H&&B===""){Re(E("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}H&&X&&Re(E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},ct=o.jsx(so,{items:kt,orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:ut});return o.jsxs(o.Fragment,{children:[o.jsxs(no,{type:"page",icon:t,title:e,disc:a,className:_e("word-table-block",f),children:[la&&o.jsx(Ta,{size:"small",title:m??E("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ne(!1),footer:({closeWithAnimation:ce})=>o.jsxs(o.Fragment,{children:[o.jsx(re,{size:48,type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:ce}),o.jsx(re,{size:48,type:"bar",variant:"main",label:E("common.save","\uC800\uC7A5"),disabled:!U||le,onClick:Se})]}),children:o.jsx(Wa,{label:E("wordTable.save.nameLabel","\uC774\uB984"),value:xe,onChange:Ce,placeholder:E("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:Se,error:le?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Te&&n&&b?.({defaultName:typeof e=="string"?e:E("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:ct,previewW:ze,previewH:rt,items:kt,existingNames:a6().map(ce=>ce.name),saveAsNew:He,onSave:(ce,Be)=>{n(ce,kt,Be,He),Ie(!1)},onCancel:()=>Ie(!1)}),(D||g)&&ue!==null&&v?.({cellIndex:ue,onConfirm:D?Kt:ce=>{if(g){const Be=ce[0];Be&&g({id:Be.word,words:[{label:Be.word,subLabel:Be.pronunciation,homonum:Be.homonum}]})}fe(null)},onClose:vt}),!y&&o.jsx(Bn,{hasImage:ya,hasColloquial:ja,contentTypes:P,orientation:ye,showOutline:de,cutLine:oe,showDivLine:Z,setters:{setContentTypes:q,setOrientation:pe,setShowOutline:I,setCutLine:ge,setShowDivLine:Q},showCutLine:(et?tt:ut)>1,showDivLine2:it,middleSections:qa,extraSelected:Qe,onExtraSelect:It}),Et&&xt?o.jsx("div",{className:"word-table-block__pages",children:xt.map((ce,Be)=>o.jsx(so,{orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:tt,items:ce,onRemoveItem:s,contentRef:at=>{De.current[Be]=at},pageNumber:{current:Be+1,total:xt.length},pageNumberPosition:Ee},Be))}):o.jsx(so,{orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:ut,items:D?void 0:r??[],editCells:D?W:void 0,activeCell:ue,onActivateCell:D||g?fe:void 0,onRemoveCell:D?sa:void 0,onRemoveItem:D?void 0:s,onReorder:D?void 0:h,showFillerAdd:!!g,contentRef:ve}),H&&!y&&o.jsxs(kr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[o.jsx(Na,{variant:"custom",label:E("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{required:!0,value:x??"",onChange:k,placeholder:j?j+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:X?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(x??"").trim()&&(j??"").trim()&&(ce.preventDefault(),k?.(j??""))}})}),o.jsx(Na,{variant:"custom",label:E("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{value:w??"",onChange:S,placeholder:A?A+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(w??"").trim()&&(A??"").trim()&&(ce.preventDefault(),S?.(A??""))}})})]})]}),!y&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!_&&c&&o.jsx(re,{size:40,type:"bar",label:M,onClick:c}),!_&&i&&o.jsx(re,{size:40,type:"bar",label:E("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!_&&o.jsx(re,{size:40,type:"bar",label:E("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:ia})]}),o.jsxs("div",{className:"word-table-block__actions-right",children:[R&&o.jsx(re,{size:"56",type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:R}),!_&&o.jsx(re,{size:"56",type:"bar",label:E("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:Vt}),m&&o.jsx(re,{size:"56",type:"bar",label:m,onClick:()=>H?we():xa(!0),disabled:Ae,onDisabledClick:()=>{Re(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),o.jsx(re,{size:"56",type:"bar",variant:"main",label:u??E("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>xa(!1),disabled:Oe,onDisabledClick:nt})]})]}),o.jsx(ro,{message:Ke,type:Ve,onClose:qe})]})}var o6=".ihabdevteam-core-scope .word-table-thumb{grid-gap:1px;background:var(--color-darkWhite);border-bottom:1px solid var(--color-darkWhite);display:grid;gap:1px;grid-auto-rows:minmax(min-content,1fr);height:140px;overflow:hidden}.ihabdevteam-core-scope .word-table-thumb__cell{align-items:center;background:var(--color-white);display:flex;flex-direction:column;gap:1px;justify-content:center;min-height:0;overflow:hidden;padding:4px}.ihabdevteam-core-scope .word-table-thumb__word{color:var(--color-black)}.ihabdevteam-core-scope .word-table-thumb .word-table-thumb__word{line-height:1.2}.ihabdevteam-core-scope .word-table-thumb__divider{background:var(--color-darkWhite);display:block;height:1px;margin:1px 0;width:30%}";te(o6);function zc({items:e,className:t}){const a=e.length,r=a<=3?1:2,n=Math.ceil(a/r)||1,i=r*n;return o.jsx("div",{className:_e("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(s,c)=>{const d=e[c];return d?o.jsx("div",{className:"word-table-thumb__cell",children:(d.words.length?d.words:[{label:d.id}]).map((u,m)=>o.jsxs(l.Fragment,{children:[m>0&&o.jsx("span",{className:"word-table-thumb__divider"}),o.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},m))},c):o.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var r6=".ihabdevteam-core-scope .word-table-button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-s,8px);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;width:240px}.ihabdevteam-core-scope .word-table-button:hover{border-color:var(--color-main);box-shadow:0 2px 10px rgba(0,0,0,.06)}.ihabdevteam-core-scope .word-table-button:focus-visible{outline:2px solid var(--color-main);outline-offset:1px}.ihabdevteam-core-scope .word-table-button--selected{border-color:var(--color-main);box-shadow:0 0 0 1px var(--color-main) inset}.ihabdevteam-core-scope .word-table-button__thumb{flex:0 0 auto;height:290px}.ihabdevteam-core-scope .word-table-button__info{align-items:flex-start;display:flex;flex-direction:row;gap:8px;min-width:0;padding:12px 14px 0;position:relative}.ihabdevteam-core-scope .word-table-button__more{position:absolute;right:10px;top:8px}.ihabdevteam-core-scope .word-table-button__title{padding-right:34px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info{flex:1 1 auto;min-height:0}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info-text{align-self:stretch}.ihabdevteam-core-scope .word-table-button__info-text{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0;text-align:left}.ihabdevteam-core-scope .word-table-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-black);display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}.ihabdevteam-core-scope .word-table-button__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__badges{align-items:center;display:flex;flex:0 0 auto;gap:4px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__meta-row{margin-top:auto}.ihabdevteam-core-scope .word-table-button__footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__store-by{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow:hidden}.ihabdevteam-core-scope .word-table-button__store-by .training-card__date{white-space:nowrap}.ihabdevteam-core-scope .word-table-button__store-stats{align-items:center;align-self:flex-end;display:inline-flex;gap:4px}.ihabdevteam-core-scope .word-table-button__more{flex:0 0 auto}.ihabdevteam-core-scope .word-table-button__badge{pointer-events:none}.ihabdevteam-core-scope .word-table-button__new-dot{background:var(--color-main);border-radius:50%;box-shadow:0 0 0 2px var(--color-white);height:10px;pointer-events:none;position:absolute;right:8px;top:8px;width:10px;z-index:3}";te(r6);function gg({items:e,name:t,description:a,createdAt:r,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:m,likeCount:h,downloadCount:p,onPublisherClick:g,selected:f,onClick:b,onMore:v,titleNode:y,className:_}){const{t:C}=me.useTranslation(),x=y!=null,k=u!=null||m!=null||h!=null||p!=null,w=S=>{!x&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),b?.())};return o.jsxs("div",{className:_e("word-table-button",f?"word-table-button--selected":"",k?"":"word-table-button--no-footer",_),role:"button",tabIndex:0,"aria-label":t,onClick:x?void 0:b,onKeyDown:w,children:[d&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":C("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),o.jsx(zc,{items:e,className:"word-table-button__thumb"}),o.jsxs("div",{className:"word-table-button__info",children:[o.jsxs("div",{className:"word-table-button__info-text",children:[y??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),v&&!x&&o.jsx(re,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:C("common.moreFor",{name:t}),onClick:S=>{S.stopPropagation(),v(S)}})]}),(r||n||s)&&o.jsxs("div",{className:"word-table-button__meta-row",children:[o.jsx("span",{className:"word-table-button__meta caption-1",children:r?Zr(r,C):""}),o.jsxs("span",{className:"word-table-button__badges",children:[n&&o.jsx(ht,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??"\uBC1C\uD589\uB428"}),s&&o.jsx(ht,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),k&&o.jsxs("div",{className:"word-table-button__footer",children:[o.jsxs("span",{className:"word-table-button__store-by",children:[u&&o.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:S=>{S.stopPropagation(),g?.()},children:u}),m&&o.jsx("span",{className:"training-card__date body-4",children:Zr(m,C)})]}),o.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h)}),p!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(p)})]})]})]})}/**
|
|
988
|
+
\uC804\uB2EC\uD558\uBBC0\uB85C(\uCF54\uB4DC \uD655\uC778\uB428) \uBAA8\uBC14\uC77C\uC5D0\uC11C \uC790\uC5F0 \uD3ED\uC73C\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uD2B9\uC774\uB3C4\uB85C\uB294 \uBD80\uC871. */.ihabdevteam-core-scope .trp-row__judge .badge{min-width:0!important;min-width:auto!important}.ihabdevteam-core-scope .result-table--answer .trp-row__judge .badge{height:26px;padding:0 12px}}`;te(N7);function Lc(...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 n of r){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function D7(e){return Lc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Vb(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=Lc(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 Mc(e){const{score:t,contextsLength:a,results:r=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1}=e||{},{t:d}=me.useTranslation();l.useEffect(()=>{const b=a??0;t!=null&&b>0&&t/b>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[t,a]);const u=l.useCallback(b=>{const v=Vb(b),y=Lc(b?.wording,b?.label);return v===!0?{variant:"main",label:y??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:v===!1?{variant:"danger",label:y??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:y??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),m=a??0,h=t??0,p=l.useMemo(()=>Array.isArray(r)?r:[],[r]),g=l.useMemo(()=>p.map(b=>{const v=b??{},y=D7(v)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:_,label:C}=u(v),x=Array.isArray(v.corrects)?v.corrects:[],k=x.length?x.join(", "):v.answer!=null&&v.answer!==""?String(v.answer):null,w=typeof v.selectedText=="string"?v.selectedText:null,S=Vb(v)===!0;return{problem:y,variant:_,label:C,answer:k,selectedText:w,isCorrect:S}}),[p,u]),f=l.useMemo(()=>g.some(b=>b.answer!==null||b.selectedText!==null),[g]);return o.jsx(Ta,{onClose:s,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:b,closeWithAnimation:v})=>o.jsxs("div",{className:"trp-actions",children:[o.jsx(re,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>b(i)}),o.jsx(re,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:v})]}),children:()=>o.jsxs("div",{className:"trp-result is-on",children:[o.jsxs("header",{className:"trp-result__head",children:[o.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),o.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&o.jsx("p",{className:"trp-result__subtitle body-3",children:n}),o.jsx("div",{className:"trp-score",children:o.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:h,total:m}),children:[o.jsx("span",{className:"trp-score__big",children:h}),o.jsx("span",{className:"trp-score__sep",children:"/"}),o.jsx("span",{className:"trp-score__total",children:m})]})})]}),g.length>0&&o.jsx("section",{className:"trp-result__body",children:o.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[o.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[o.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&o.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),o.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((b,v)=>o.jsxs("div",{className:"result-table__row",role:"row",children:[o.jsxs("div",{className:"trp-row__problem",children:[o.jsx("span",{className:"trp-row__no caption-1",children:String(v+1).padStart(2,"0")}),o.jsx("div",{className:"trp-row__q body-2",children:b.problem})]}),f&&o.jsxs("div",{className:"trp-row__answers",children:[b.answer!==null&&o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),o.jsx("span",{className:"trp-row__answer-value body-2",children:b.answer})]}),o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${b.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),o.jsx("span",{className:`trp-row__answer-value body-2 ${b.isCorrect?"is-correct":"is-wrong"}`,children:b.selectedText??"\u2014"})]})]}),o.jsx("div",{className:"trp-row__judge",children:o.jsx(ht,{variant:b.variant,label:b.label,fill:"soft",minWidth:80})})]},v))]})})]})})}function E7(e){l.useEffect(()=>{if(!e)return;const t=new Date;return()=>{const a=new Date;a.getTime()-t.getTime()<5e3||ts({trainingType:e,startedAt:t.toISOString(),endedAt:a.toISOString()})}},[e])}function Pc(e,t){return e&&e.id||`page-${t??0}`}function Rc(e,t){return e&&e.key||`step-${t??0}`}function In(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function j7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const Gb=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),L7=e=>o.jsx(Mc,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function M7(e){const{scenario:t,title:a,subTitle:r,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:m,stepCount:h,onBack:p,onComplete:g,onNext:f,onSettings:b,useNoiseSetting:v=!0,children:y,ariaLabel:_,label:C,buildResults:x,onResult:k,typeKey:w,entryPoint:S,dailyTotal:j,itemRef:A,renderResultPopup:B}=e;E7(w&&!Gb.has(w)?w:"");const F=l.useRef(0);l.useEffect(()=>{F.current=Date.now()},[]);const{t:R}=me.useTranslation(),E=k,M=!!t,D=t?.id||null,H=t?.meta||{},ee=Array.isArray(t?.pages)?t.pages:[],J=Array.isArray(y)||l.isValidElement(y)&&typeof y!="function"?l.Children.toArray(y).filter(l.isValidElement):[],ae=J.length>0,T=ne=>ne===Sr||ne?.__isTrainingPage===!0,L=ae&&J.some(ne=>T(ne.type)),$=L?J.filter(ne=>T(ne.type)).map((ne,xe)=>{const Ce=ne.props||{};return{id:`children-page-${xe}`,steps:l.Children.toArray(Ce.children).filter(l.isValidElement),pageTop:Ce.pageTop||Ce.top||null,pageBottom:Ce.pageBottom||Ce.bottom||null}}):[{id:"children-page-0",steps:J}],z=ae&&!M&&typeof y!="function",V=z?Math.max(1,$.length):0;l.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")}},[]),l.useEffect(()=>{if(typeof document>"u"||!document.body)return;const ne=document.body;return ne.dataset.ihabTrainingPopupCount=String(Number(ne.dataset.ihabTrainingPopupCount||"0")+1),ne.classList.add("ihab-training-popup-open"),()=>{const xe=Number(ne.dataset.ihabTrainingPopupCount||"1")-1;xe>0?ne.dataset.ihabTrainingPopupCount=String(xe):(delete ne.dataset.ihabTrainingPopupCount,ne.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return hk()},[]);const[X,W]=l.useState({..._b,enabled:!1}),Y=l.useRef(X);l.useEffect(()=>{Y.current=X},[X]),l.useEffect(()=>{let ne=!1;return is().then(xe=>{if(ne)return;const Ce=xe?{...Y.current,...xe}:{..._b};Y.current=Ce,W(Ce)}),()=>{ne=!0}},[]);const[O,ie]=l.useState(null),[ue,fe]=l.useState(null),ye=l.useCallback((ne,xe)=>{ne==="main"?ie(xe):fe(xe)},[]),pe=l.useCallback(ne=>{const xe={...Y.current,...ne};Y.current=xe,W(xe),ss(xe)},[]),P=X.mainSpeed,q=X.mainVolume,oe=l.useCallback(ne=>pe({mainSpeed:ne}),[pe]),ge=l.useCallback(ne=>pe({mainVolume:ne}),[pe]),de=l.useMemo(()=>({settings:X,setSettings:pe,registerAnalyser:ye,mainAnalyser:O,noiseAnalyser:ue,playbackRate:P,setPlaybackRate:oe,mainVolume:q,setMainVolume:ge}),[X,pe,ye,O,ue,P,oe,q,ge]),I=l.useRef(null),[Z,Q]=l.useState("center"),[ve,De]=l.useState(!1),$e=l.useRef(!1),Le=l.useRef(null),Ee=l.useCallback(ne=>{$e.current||($e.current=!0,De(!0),Le.current=setTimeout(ne,f7))},[]);l.useEffect(()=>()=>{Le.current&&clearTimeout(Le.current)},[]),l.useEffect(()=>{const ne=I.current;if(!ne)return;const xe=Array.from(ne.querySelectorAll(dr)).filter(U=>!U.closest('[aria-hidden="true"]'))[0];if(xe)try{xe.focus()}catch{}const Ce=U=>{if(U.key==="Escape"){U.preventDefault(),Ee(()=>{typeof p=="function"&&p()});return}};return ne.addEventListener("keydown",Ce),()=>ne.removeEventListener("keydown",Ce)},[p,Ee]),ks(I,!0);const[je,Te]=l.useState(!1),Ie=l.useRef(!1),[He,be]=l.useState(null),[Ke,Ve]=l.useState(""),[Re,qe]=l.useState(()=>In()),vt=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!M&&!z||(qe(In()),be(null))},[M,D,z]),l.useEffect(()=>{z&&qe(ne=>{const xe=Math.max(0,Math.min(ne.pageIndex,Math.max(0,V-1)));return xe!==ne.pageIndex?{...ne,pageIndex:xe,stepIndex:0}:ne})},[z,V]);const Ue=z?Math.max(0,Math.min(Re.pageIndex,V-1)):0,Xe=z?$[Ue]:null,ut=z&&Xe&&Array.isArray(Xe.steps)?Xe.steps:[],ze=M?Re.pageIndex:z?Ue:typeof d=="number"?d:0,rt=M?ee[Math.max(0,Math.min(Re.pageIndex,Math.max(0,ee.length-1)))]:null,et=M&&rt&&Array.isArray(rt.steps)?rt.steps:[],We=M?et.length:z?ut.length:typeof h=="number"?h:0,Je=M||z?Math.max(0,Math.min(Re.stepIndex,Math.max(0,We))):typeof m=="number"?m:0,tt=M?ee.length:z?V:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const ne=vt.current;if(typeof ze=="number"&&ne!==null&&ze!==ne&&ze>ne)try{Ve(R("training.problemNotice",{n:ze+1}))}catch{}vt.current=typeof ze=="number"?ze:vt.current},[ze,d,R]),l.useLayoutEffect(()=>{const ne=I.current;if(!ne)return;const xe=()=>ne.querySelector(".page-popup__scroll");let Ce=null,U=null,le=null;const we=ct=>{const ce=xe();if(!ce)return;const Be=ce.scrollHeight<=ce.clientHeight;if(Q(Be?"center":"top"),ct&&!Ie.current){Ie.current=!0;try{Te(!0)}catch{}try{Oe.disconnect()}catch{}}},Se=()=>{Ce!==null&&cancelAnimationFrame(Ce),Ce=requestAnimationFrame(()=>{U!==null&&clearTimeout(U),U=setTimeout(()=>we(!0),60)})},Ae=()=>{le!==null&&cancelAnimationFrame(le),le=requestAnimationFrame(()=>we(!1))};Se(),window.addEventListener("resize",Ae);const Oe=new MutationObserver(Se);Oe.observe(ne,{childList:!0,subtree:!0,attributes:!0});const nt=setTimeout(()=>{Ie.current||we(!0)},400);return()=>{window.removeEventListener("resize",Ae),Ce!==null&&cancelAnimationFrame(Ce),U!==null&&clearTimeout(U),le!==null&&cancelAnimationFrame(le),clearTimeout(nt);try{Oe.disconnect()}catch{}}},[I]);const xt=l.useCallback(ne=>{I.current&&(I.current._childOnNext=ne)},[]),Et=l.useCallback(ne=>{I.current&&(I.current._childOnResult=ne)},[]),it=l.useCallback((ne,xe,Ce)=>{qe(U=>{const le=U.answersByPage[ne]||{},we=le[xe],Se=$n(Ce),Ae=$n(we);return we&&Ae>Se?U:{...U,answersByPage:{...U.answersByPage,[ne]:{...le,[xe]:Ce}}}})},[qe]),Ht=l.useCallback((ne,xe,Ce)=>{const U=Pc(rt,ze),le=Rc(ne,xe);it(U,le,Ce)},[rt,ze,it]),mt=l.useCallback((ne,xe,Ce)=>{const U=Pc(rt,ze),le=Rc(ne,xe);it(U,le,Ce),!Ce?.allowChange&&ne?.autoAdvance!==!1&&qe(we=>({...we,stepIndex:Math.max(we.stepIndex,xe+1)}))},[rt,ze,it,qe]),Vt=l.useCallback((ne,xe)=>{const Ce=Xe?.id||`children-page-${ze??0}`,U=typeof xe=="number"?xe:Je??0,le=`step-${U}`;it(Ce,le,ne),ne?.allowChange||qe(we=>({...we,stepIndex:Math.max(we.stepIndex,U+1)}))},[Xe,ze,Je,it,qe]),na=l.useCallback((ne,xe)=>{const Ce=Xe?.id||`children-page-${ze??0}`,U=`step-${typeof xe=="number"?xe:Je??0}`;it(Ce,U,ne)},[Xe,ze,Je,it]),Gt=z?{currentPageIndex:ze??0,currentStepIndex:Je??0,totalStepsInPage:ut.length,handleStepDone:Vt,handleStepChange:na}:null,Ea=async()=>{const ne=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:ee,flowState:Re,answersByPage:Re.answersByPage})):null;return typeof E=="function"&&await Promise.resolve(E(ne))||ne},ia=async()=>{const ne=Xe?.id||`children-page-${Re.pageIndex}`,xe=Re.answersByPage[ne]||{},Ce=L?(()=>{const we={};let Se=0;return $.forEach(Ae=>{const Oe=Re.answersByPage[Ae.id]||{},nt=Array.isArray(Ae.steps)?Ae.steps.length:0;for(let ct=0;ct<nt;ct+=1){const ce=Oe[`step-${ct}`];typeof ce<"u"&&(we[`step-${Se+ct}`]=ce)}Se+=nt}),we})():xe;if(typeof x=="function"){const we=await Promise.resolve(x(Ce,{pageAnswers:xe,answersByPage:Re.answersByPage,pages:$,currentPageId:ne}));return typeof E=="function"&&await Promise.resolve(E(we))||we}const U=Object.entries(xe).map(([we,Se],Ae)=>({index:Ae,key:we,payload:Se})),le={results:U,answers:U,score:0};return typeof E=="function"&&await Promise.resolve(E(le))||le},Kt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(M){const Ce=Ea();be({});const U=Ce;Promise.resolve(U).then(le=>{be(le||{isEmpty:!0})}).catch(le=>{be({isEmpty:!0})});return}if(z){const Ce=ia();be({});const U=Ce;Promise.resolve(U).then(le=>{be(le||{isEmpty:!0})}).catch(le=>{be({isEmpty:!0})});return}const ne=I.current&&I.current._childOnResult,xe=Ce=>{try{return Ce?Ce():void 0}catch{return}};if(typeof ne=="function"){const Ce=xe(ne);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ce&&typeof Ce.then!="function"?be(Ce):be(Ce&&typeof Ce.then=="function"?{}:{}),Promise.resolve(Ce).then(U=>{U&&be(U)}).catch(U=>{});return}if(typeof E=="function"){const Ce=xe(E);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ce&&typeof Ce.then!="function"?be(Ce):be(Ce&&typeof Ce.then=="function"?{}:{}),Promise.resolve(Ce).then(U=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Yt&&Yt.tagName.toUpperCase()==="SCRIPT"&&Yt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}U&&be(U)}).catch(U=>{console.error("viewResults external handler failed",U)});return}},ja=()=>{if(M){if(typeof ze=="number"&&typeof tt=="number"&&ze<tt-1){qe(xe=>({...xe,pageIndex:xe.pageIndex+1,stepIndex:0}));return}return Kt()}if(z){const xe=ut.length;if(typeof Je=="number"&&Je<xe-1){qe(Ce=>({...Ce,stepIndex:Ce.stepIndex+1}));return}if(typeof ze=="number"&&typeof tt=="number"&&ze<tt-1){qe(Ce=>({...Ce,pageIndex:Ce.pageIndex+1,stepIndex:0}));return}return Kt()}if(typeof f=="function"){try{f()}catch{}return}const ne=I.current&&I.current._childOnNext;if(typeof ne=="function"){try{ne()}catch{}return}},jt=M?H.title||H.label||_||R("common.popup","\uD31D\uC5C5"):a||C||(Array.isArray(n)?n[n.length-1]:void 0)||_||R("common.popup","\uD31D\uC5C5"),qa=M?H.title??H.label??jt:a??C??jt,$t=(ne,xe)=>{const Ce=Pc(rt,ze),U=Rc(ne,xe),le=Re.answersByPage[Ce]?.[U],we=j7(ne,{page:rt,pageIndex:ze,step:ne,stepIndex:xe,storedPayload:le,answersByPage:Re.answersByPage,flowState:Re}),Se={key:U,index:xe,stepIndex:Je,isLast:xe===et.length-1};switch(ne?.type){case"listen":return o.jsx(Pn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae)});case"confirm":return o.jsx(Ln,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});case"confirmWithText":return o.jsx(Mn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});case"orderList":return o.jsx(Rn,{...Se,...we,onDone:Ae=>mt(ne,xe,Ae),onChange:Ae=>Ht(ne,xe,Ae)});default:return null}},ya=M?ee.length>0?o.jsx("div",{className:"training-steps",children:et.map((ne,xe)=>$t(ne,xe))}):o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"pp-empty",children:t?.emptyMessage||R("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Ya=z?o.jsxs(Hb.Provider,{value:Gt,children:[Xe?.pageTop?o.jsx("div",{className:"training-page-top",children:Xe.pageTop}):null,o.jsx("div",{className:"training-steps",children:ut.map((ne,xe)=>{const Ce=ne;return l.cloneElement(Ce,{...Ce.props,_stepIndex:xe,_totalSteps:ut.length,_stepKey:`step-${xe}`,_pageIndex:ze})})}),Xe?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Xe.pageBottom}):null]}):null,Qe=l.useCallback(()=>{let ne;if(w){const xe=He,Ce=xe?.results||xe?.answers||[],U=Array.isArray(Ce)&&Ce.length>0?Ce.length:null,le=Array.isArray(Ce)?Ce.filter(Se=>Se?.correct===!0||Se?.isCorrect===!0||Se?.score===1||Se?.heard===!0||Se?.judgement===!0).length:null,we=U!=null?le:null;as({items:rs(Ce),category:Gb.has(w)?"sentence":"word",trainingType:w,entryPoint:S??"sentence",itemRef:A??null,correct:we,total:U,score:typeof xe?.score=="number"?xe.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-F.current)/1e3)),dailyTotal:j??null}),ne={correct:we,total:U}}be(null),Ee(()=>{typeof g=="function"&&g(ne),typeof p=="function"&&p()})},[g,p,w,S,j,A,He,be,Ee]),It=l.useCallback(()=>Ve(""),[Ve]),kt=l.useCallback(()=>{Ee(()=>{typeof p=="function"&&p()})},[p,Ee]),xa=o.jsxs("div",{className:`page-popup${ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":jt,children:[o.jsxs("div",{ref:I,className:`page-popup__panel ${je?"":"page-popup__panel--measuring"} ${Z==="center"?"page-popup__panel--center":Z==="top"?"page-popup__panel--top":""}`,children:[o.jsx(Sc,{title:qa,subtitle:M?H.subtitle||H.label:Array.isArray(n)?n.join(" / "):void 0,desc:M?void 0:r,depth:M?H.depth:n,icon:M?H.icon:i,wrapperStyle:M?H.wrapperStyle:s,iconTooltip:M?H.iconTooltip:c,progressMax:tt,progressIndex:ze,pageIndex:ze,pageCount:tt,onBack:kt,onClose:kt}),o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:`page-popup__content ${Z==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:z?Ya:M?ya:typeof y=="function"?y({registerOnNext:xt,registerOnResult:Et,panelRef:I,setResultOverlay:be}):y})}),o.jsx(kc,{onSettings:b,onNext:ja,onResult:Kt,useNoiseSettingBtn:!!(M?H.useNoiseSetting??!0:v),stepIndex:Je,stepCount:We,pageIndex:ze,pageCount:tt})]}),He&&!He.isEmpty&&(B??L7)({score:He.score,results:He.results||He.answers||[],contextsLength:He.results?He.results.length:He.answers?He.answers.length:0,onReplay:()=>{if(be(null),M){if(qe(In()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(z){qe(In());return}try{const ne=I.current&&I.current._childOnResult;typeof ne=="function"&&ne({replay:!0})}catch{}},onClose:Qe}),He?.isEmpty&&o.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:o.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"page-popup__empty",children:R("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),o.jsx("div",{className:"page-popup__bottom",children:o.jsx(re,{variant:"main",size:48,onClick:Qe,label:R("training.result.done","\uC644\uB8CC")})})]})}),o.jsx(ro,{message:Ke,position:"top",onClose:It})]}),sa=o.jsx(wb.Provider,{value:de,children:xa});return typeof document<"u"&&document.body?qt.createPortal(sa,document.body):sa}const Da=M7;Da.Page=Sr,Da.ListenStep=Bc,Da.ConfirmStep=Nc,Da.ConfirmWithTextStep=Dc,Da.OrderListStep=Ec,Da.CardStep=jc,Da.CardOrderStep=B7;var P7=".ihabdevteam-core-scope .word-search-result-block__actions{display:flex;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-end}.ihabdevteam-core-scope .word-search-result-block__inner{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);padding:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__inner:has(+.word-search-result-block__actions:not(:empty)){margin-bottom:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__items{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,200px);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__items .button__label-text,.ihabdevteam-core-scope .word-search-result-block__items .button__sub-label-text{white-space:nowrap;word-break:keep-all}.ihabdevteam-core-scope .word-search-result-block__items .button__label:has(.button__label-text:nth-child(4)){gap:4px 10px;grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.ihabdevteam-core-scope .word-search-result-block__items .button-word:has(.button__label-text:nth-child(4)){height:auto;min-height:72px;padding-bottom:8px;padding-top:8px}@media (max-width:767px){.ihabdevteam-core-scope .word-search-result-block__items{grid-template-columns:repeat(2,1fr);justify-content:normal}.ihabdevteam-core-scope .word-search-result-block__items .button{min-width:0!important;width:100%}}.ihabdevteam-core-scope .word-search-result-block__empty{color:var(--color-gray);margin:0;padding:24px 0;text-align:center}.ihabdevteam-core-scope .word-search-result-block__group{display:flex;flex-direction:column;gap:10px}.ihabdevteam-core-scope .word-search-result-block__group+.word-search-result-block__group{border-top:1px solid var(--color-darkWhite);margin-top:var(--spacing-l);padding-top:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__pagination-bottom{display:flex;justify-content:center;margin-top:16px}.ihabdevteam-core-scope .word-search-result-block__empty-wrap{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .word-search-result-block__empty-hint{color:var(--color-sub);line-height:1.6;max-width:34em;text-align:center}.ihabdevteam-core-scope .word-search-result-block__disc,.ihabdevteam-core-scope .word-search-result-block__notice{display:block}.ihabdevteam-core-scope .word-search-result-block__notice{color:var(--color-text-primary)}";te(P7);var R7='.ihabdevteam-core-scope .tooltip-word-image{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);padding:var(--spacing-s);position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-word-image__cells{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tooltip-word-image__cell{background:#f5f5f5;background:var(--color-white,#f5f5f5);border-radius:var(--radius-card);flex-shrink:0;height:120px;overflow:hidden;position:relative;width:120px}.ihabdevteam-core-scope .tooltip-word-image__cell img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .tooltip-word-image__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .tooltip-word-image__spinner:after{animation:tooltip-spin .7s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top:3px solid var(--color-white,#e0e0e0);border:3px solid var(--color-white,#e0e0e0);border-top-color:var(--color-main,#4f6ef7);content:"";height:24px;width:24px}@keyframes tooltip-spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .tooltip-word-image__cell--text{align-items:center;color:var(--color-black);display:flex;font-weight:700;justify-content:center}';te(R7);function $7({label:e,homonum:t}){const a=Ma()?.(e,t)??"",{imgRef:r,loading:n,hasImage:i,onLoad:s,onError:c}=ec(a);return i?o.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&o.jsx("div",{className:"tooltip-word-image__spinner"}),o.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):o.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:o.jsx("span",{children:e})})}function $c({words:e,anchorRect:t}){const a=l.useRef(null),[r,n]=l.useState(null);return l.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:s}=a.current,c=window.innerWidth;let d=t.left+t.width/2-i/2,u=t.top-s-8;u<8&&(u=t.bottom+8),d=Math.max(8,Math.min(d,c-i-8)),n({left:d,top:u})},[t]),!t||e.length===0?null:qt.createPortal(o.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:o.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>o.jsx($7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function qb({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:m,onPrintEmpty:h,className:p,emptyHint:g,sectionType:f="page",disc:b,notice:v}){const{t:y,i18n:_}=me.useTranslation(),C=_.language?.startsWith("ko")??!1,{anchorRect:x,openAt:k,close:w}=ko(),[S,j]=l.useState(null),A=l.useCallback(()=>{w(),j(null)},[w]);kl(A,!!S);const B=(r??"").trim(),F=/^[^,[\]\s]+$/.test(B)?B:"",R=F.length>0,[E,M]=l.useState("ganada"),[D,H]=l.useState("50"),[ee,J]=l.useState(1),[ae,T]=l.useState(R);ae!==R&&(T(R),M(R?"match":"ganada"));const L=E==="match"&&!R?"ganada":E,$=l.useMemo(()=>[...R?[{value:"match",label:y("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:y("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:y("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:y("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:y("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:y("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:y("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[y,R]),z=l.useMemo(()=>["10","25","50","100"].map(I=>({value:I,label:y("wordSearch.pageSize",{count:Number(I),defaultValue:`${I}\uAC1C\uC529 \uBCF4\uAE30`})})),[y]),V=I=>I.words[0],X=l.useCallback((I,Z)=>{const Q=$e=>V($e)?.label??"",ve=$e=>V($e)?.syllables??[...Q($e)].length,De=$e=>{const Le=parseInt(V($e)?.grade??"",10);return Number.isFinite(Le)?Le:999};switch(L){case"match":{const $e=[...F].length,Le=Ee=>ho(Q(Ee).slice(0,$e),F)?0:1;return Le(I)-Le(Z)||Q(I).localeCompare(Q(Z),"ko")}case"ganada":return Q(I).localeCompare(Q(Z),"ko");case"ganada_desc":return Q(Z).localeCompare(Q(I),"ko");case"syllable":return ve(I)-ve(Z)||Q(I).localeCompare(Q(Z),"ko");case"syllable_desc":return ve(Z)-ve(I)||Q(I).localeCompare(Q(Z),"ko");case"grade":return De(I)-De(Z)||Q(I).localeCompare(Q(Z),"ko");case"grade_desc":return De(Z)-De(I)||Q(I).localeCompare(Q(Z),"ko");default:return 0}},[L,F]),W=l.useMemo(()=>n.slice().sort(X),[n,X]),Y=Number(D)||10,O=l.useMemo(()=>(i??[]).flatMap(I=>I.items.slice().sort(X).map(Z=>({item:Z,label:I.label}))),[i,X]),ie=i?O.length:W.length,ue=Math.max(1,Math.ceil(ie/Y)),fe=Math.min(ee,ue),ye=l.useMemo(()=>W.slice((fe-1)*Y,fe*Y),[W,fe,Y]),pe=l.useMemo(()=>{if(!i)return null;const I=O.slice((fe-1)*Y,fe*Y),Z=new Map;for(const{item:Q,label:ve}of I)Z.has(ve)||Z.set(ve,[]),Z.get(ve).push(Q);return[...Z.entries()].map(([Q,ve])=>({label:Q,items:ve}))},[i,O,fe,Y]);l.useEffect(()=>{J(1)},[E,D,ie]);const P=ie>0?o.jsxs("div",{className:"word-search-result-block__toolbar",children:[o.jsx(Ut,{size:40,options:$,value:L,onChange:M,ariaLabel:y("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:z,value:D,onChange:H,ariaLabel:y("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(vr,{page:fe,totalPages:ue,onChange:J})]}):void 0,q=I=>{c&&c(I)},oe=t!==void 0&&a?o.jsxs(o.Fragment,{children:[y("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),y("wordSearch.resultTitleSuffix",{unit:C?Mi(a):a})]}):void 0,ge=t!==void 0&&t>0&&d!==void 0&&a?y("wordSearch.resultDisc",{unit:C?Ri(a):a,max:d,selected:s.length}):void 0,de=b??(v?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:v}),ge?o.jsx("span",{className:"word-search-result-block__disc",children:ge}):null]}):ge);return o.jsxs(no,{type:f,icon:e,title:oe,action:P,disc:de,className:_e("word-search-result-block",p),children:[o.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&o.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[o.jsx("p",{className:"word-search-result-block__empty body-3",children:y("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&o.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(pe??[]).map(I=>o.jsx("div",{className:"word-search-result-block__group",children:o.jsx("div",{className:"word-search-result-block__items",children:I.items.map(Z=>{const Q=s.includes(Z.id);return o.jsx("div",{onMouseEnter:ve=>{k(ve.currentTarget),j(Z.words)},onMouseLeave:A,children:o.jsx(re,{size:"word",align:"grid",label:Z.words.map(ve=>ve.label),subLabel:Z.words.map(ve=>ve.subLabel).filter(Boolean).length>0?Z.words.map(ve=>ve.subLabel):void 0,selected:Q,onClick:()=>q(Z.id),minWidth:200})},Z.id)})})},I.label)):o.jsx("div",{className:"word-search-result-block__items",children:ye.map(I=>{const Z=s.includes(I.id);return o.jsx("div",{onMouseEnter:Q=>{k(Q.currentTarget),j(I.words)},onMouseLeave:A,children:o.jsx(re,{size:"word",align:"grid",label:I.words.map(Q=>Q.label),subLabel:I.words.map(Q=>Q.subLabel).filter(Boolean).length>0?I.words.map(Q=>Q.subLabel):void 0,selected:Z,onClick:()=>q(I.id),minWidth:200})},I.id)})}),S&&x&&o.jsx($c,{words:S,anchorRect:x})]}),ue>1&&o.jsx("div",{className:"word-search-result-block__pagination-bottom",children:o.jsx(vr,{page:fe,totalPages:ue,onChange:J})}),(u||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[u&&o.jsx(re,{size:"56",type:"bar",label:y("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),m&&o.jsx("div",{onClick:s.length===0?h:void 0,children:o.jsx(re,{size:"56",type:"bar",variant:"main",label:y("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var I7='.ihabdevteam-core-scope .phoneme-select-block{align-items:flex-start;flex:1 1 auto;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell{align-items:center;display:flex;flex-direction:column;gap:12px}.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs);justify-content:center;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;flex-direction:column}}.ihabdevteam-core-scope .phoneme-select-block__count-control{align-self:center}.ihabdevteam-core-scope .phoneme-select-block__cell-group{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;color:var(--color-lightGray);margin-bottom:22px;padding:0 16px}.ihabdevteam-core-scope .phoneme-select-block__pair-panels{display:flex;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .phoneme-select-block__panel-group{display:flex;flex:1;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .phoneme-select-block__cells{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-m) 0;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{align-items:center;background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;height:80px;justify-content:center;position:relative;width:240px}.ihabdevteam-core-scope .phoneme-select-block__cell-index{color:var(--color-gray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo{align-items:stretch;display:flex;flex-direction:row;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{align-items:center;color:var(--color-black);display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;padding-top:3px;position:relative}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--no-label{padding-top:0}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char.h1{line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char--excluded{color:var(--color-whiteLine);transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-char{transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-label{color:var(--color-lightGray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-label{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part+.phoneme-select-block__cell-jamo-part:before{background:var(--color-whiteLine);content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1px}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__panels{align-items:stretch;align-self:stretch;display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.ihabdevteam-core-scope .phoneme-select-block__detail{align-items:flex-start;display:flex;flex-direction:row;gap:var(--spacing-s);justify-content:center}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{flex:1}.ihabdevteam-core-scope .phoneme-select-block>.filter-panel{align-self:stretch;width:100%}.ihabdevteam-core-scope .phoneme-select-block__controls .button38--bar{min-width:96px}.ihabdevteam-core-scope .phoneme-select-block__required{color:var(--color-main);line-height:1;margin-left:2px}.ihabdevteam-core-scope .phoneme-select-block__before-search{display:flex;justify-content:center;text-align:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__search-row{display:flex;gap:var(--spacing-xs);justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__checking{align-items:center;background:transparent;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);color:var(--color-disabled);cursor:default;display:flex;gap:10px;height:60px;min-width:198px;padding:0 28px}.ihabdevteam-core-scope .phoneme-select-block__checking-label{white-space:nowrap}.ihabdevteam-core-scope .phoneme-select-block__spinner{animation:phonemeSpinner .7s linear infinite;border:2px solid var(--color-whiteLine);border-radius:50%;border-top-color:var(--color-disabled);flex-shrink:0;height:18px;width:18px}@keyframes phonemeSpinner{to{transform:rotate(1turn)}}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__detail,.ihabdevteam-core-scope .phoneme-select-block__pair-panels{flex-direction:column}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;margin-bottom:0;padding:4px 0}.ihabdevteam-core-scope .phoneme-select-block__cells{flex-wrap:wrap}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';te(I7);function z7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:n}})}function Yb({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:m,title:h,titleIcon:p,disc:g,showInfoButton:f=!1,onClearPhoneme:b,onSearch:v,onSearchEmpty:y,searchDisabled:_=!1,searchLabel:C,searchChecking:x=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:S,beforeContent:j,afterContent:A,hideCountControl:B=!1,ordinal:F=!1}){const{t:R}=me.useTranslation(),E=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),M=l.useMemo(()=>Array.from({length:n-i+1},(W,Y)=>{const O=i+Y;return{key:String(O),label:R("wordPairs.count",{n:O})}}),[R,n,i]),D=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),H=l.useCallback(W=>F?R("wordPairs.phonemeOrdinalLabel",{ordinal:D[W-1]??W}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:W}),[F,D,a,R]),ee=l.useCallback(W=>F?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:D[W-1]??W}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:W}),[F,D,a,R]),J=l.useCallback((W,Y)=>Y?o.jsxs(o.Fragment,{children:[W,o.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):W,[]),{anchorRect:ae,toggleAt:T,close:L}=ko(),$=l.useCallback(W=>r(Number(W)),[r]),z=aa("(max-width: 767px)"),V=l.useCallback(W=>z7(W,e).map(({label:Y,value:O,displayLabel:ie})=>{const ue=!!O&&O!=="\uC5C6\uC74C";return o.jsxs("span",{className:_e("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",ue?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[o.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||u}),ue&&o.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:ie??Y})]},Y)}),[e,u]),X=o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-tooltip-ignore":!0,children:o.jsx(re,{size:40,type:z?"dot":void 0,icon:"info",label:z?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!ae,onClick:W=>T(W.currentTarget)})}),ae&&o.jsx(Fa,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:E,anchorRect:ae,onClose:L})]});return o.jsxs(no,{type:w,title:h,icon:p,disc:g,action:X,className:_e("phoneme-select-block",m),children:[j,(!B||f&&!(h||g))&&o.jsxs("div",{className:"phoneme-select-block__controls",children:[!B&&o.jsx(Va,{options:M,value:String(a),onChange:$,size:40,className:"phoneme-select-block__count-control"}),f&&!(h||g)&&X]}),o.jsx("div",{className:"phoneme-select-block__cells",children:k?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:H(Y+1)})]},Y)})}),o.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2+1]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:ee(Y+1)})]},Y)})})]}):t.map((W,Y)=>o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(W)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:H(Y+1)})]},Y))}),(s||c)&&o.jsx("div",{className:"phoneme-select-block__panels",children:o.jsx("div",{className:"phoneme-select-block__detail",children:k?o.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2]??{};return o.jsx(va,{title:J(H(Y+1),Y===0),sections:c?c(O,Y*2):s,selected:O,onSelect:d?.(Y*2),align:"newline"},Y)})}),o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((W,Y)=>{const O=t[Y*2+1]??{};return o.jsx(va,{title:ee(Y+1),sections:c?c(O,Y*2+1):s,selected:O,onSelect:d?.(Y*2+1),align:"newline"},Y)})})]}):t.map((W,Y)=>o.jsx(va,{title:J(H(Y+1),Y===0),sections:c?c(W,Y):s,selected:W,onSelect:d?.(Y),align:"newline"},Y))})}),S&&o.jsx("div",{className:"phoneme-select-block__before-search",children:S}),(b||v||x)&&(()=>{const W=t.every(Y=>Object.entries(Y).every(([O,ie])=>!ie||O==="\uC885\uC131"&&ie==="\uC5C6\uC74C"));return o.jsxs("div",{className:"phoneme-select-block__search-row",onClick:W?y:void 0,children:[b&&o.jsx(re,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:W,onClick:W?void 0:b}),x?o.jsxs("div",{className:"phoneme-select-block__checking",children:[o.jsx("div",{className:"phoneme-select-block__spinner"}),o.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):v&&o.jsx(re,{size:"56",type:"bar",variant:"main",label:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:W||_,onClick:W||_?void 0:v})]})})(),A]})}function Ub({title:e,sections:t,selected:a,onSelect:r,className:n}){const{t:i}=me.useTranslation();return o.jsx(va,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function Kb({title:e,headerAction:t,sections:a,selected:r,onSelect:n,className:i}){const{t:s}=me.useTranslation();return a.length===0?null:o.jsx(va,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:n,align:"newline"})}function Zb({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:m}=me.useTranslation(),h={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")},p=v=>m("wordPairs.count",{n:v}),g=[{label:h.searchMode,items:[h.include,h.pick,h.explicit],display:"segmented",labelAction:o.jsx(So,{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:h.phonemeOrder,items:[h.orderAny,h.orderMatch],display:"segmented",labelAction:o.jsx(So,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:h.count,items:[p(1),p(2)],display:"segmented"},{label:h.inputMode,items:[h.charInput,h.pronInput],display:"segmented",labelAction:o.jsx(So,{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.")]})}],f={[h.searchMode]:t==="explicit"?h.explicit:t==="pick"?h.pick:h.include,[h.phonemeOrder]:r==="ordered"?h.orderMatch:h.orderAny,[h.count]:p(i),[h.inputMode]:c==="phoneme"?h.pronInput:h.charInput},b=(v,y)=>{y===h.searchMode?a(v===h.explicit?"explicit":v===h.pick?"pick":"include"):y===h.phonemeOrder?n(v===h.orderMatch?"ordered":"unordered"):y===h.count?s(v===p(2)?2:1):y===h.inputMode&&d(v===h.pronInput?"phoneme":"word")};return o.jsx(va,{className:u,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:b,align:"inline"})}var O7=".ihabdevteam-core-scope .popup-list .popup-panel{max-height:calc(100% - 60px);max-width:880px;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-list .popup-content{display:flex;flex-direction:column;gap:var(--spacing-m);min-height:0;overflow:hidden}.ihabdevteam-core-scope .popup-list .table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .popup-list .table-fields,.ihabdevteam-core-scope .popup-list .table-row{min-width:520px}.ihabdevteam-core-scope .popup-list__row--selected{background:var(--color-deepWhite);color:var(--color-main);font-weight:600}";te(O7);function Xb(e){const{title:t,items:a,columns:r,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:m,onSelect:h,onClose:p,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:b,countLabel:v,topContent:y,className:_=""}=e,{t:C}=me.useTranslation(),x=i??C("common.search","\uAC80\uC0C9"),k=b??C("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,S]=l.useState(""),[j,A]=l.useState(c??r[0]?.key??""),[B,F]=l.useState(d),[R,E]=l.useState(String(f??g[0]??10)),[M,D]=l.useState(1);l.useEffect(()=>{D(1)},[w,R]);const H=s!==null,ee=l.useCallback((W,Y)=>{if(!Y)return!0;const O=Y.toLowerCase();return r.some(ie=>{const ue=W[ie.key];return ue==null?!1:String(ue).toLowerCase().includes(O)})},[r]),J=s??ee,ae=l.useMemo(()=>{const W=H?a.filter(Y=>J(Y,w)):a;return j?[...W].sort((Y,O)=>{const ie=Y[j]??"",ue=O[j]??"";if(ie===ue)return 0;const fe=Mk(ie,ue);return B?fe:-fe}):W},[a,w,j,B,H,J]),T=Math.max(1,Math.ceil(ae.length/Number(R))),L=ae.slice((M-1)*Number(R),M*Number(R)),$=l.useCallback(W=>{j===W?F(Y=>!Y):(A(W),F(!0))},[j]),z=l.useMemo(()=>{if(typeof v=="string"&&v.includes("{n}")){const[W,Y]=v.split("{n}");return{prefix:W,suffix:Y}}return{prefix:C("common.totalCountPrefix","\uCD1D "),suffix:C("common.totalCountSuffix","\uAC1C")}},[v,C]),V=l.useMemo(()=>r.map(W=>({label:W.label,onClick:W.sortable!==!1?()=>$(W.key):void 0,className:W.className,sortDir:W.sortable!==!1&&j===W.key?B?"asc":"desc":null})),[r,j,B,$]),X=l.useMemo(()=>g.map(W=>({value:String(W),label:C("common.pageSizeLabel",{n:W})})),[g,C]);return o.jsxs(Ta,{className:`popup-list ${_}`,title:t,onClose:p,children:[y,o.jsx(vn,{count:{value:ae.length,prefix:z.prefix,suffix:z.suffix},search:H?{value:w,onChange:S,placeholder:x}:void 0,pageSize:{options:X,value:R,onChange:E},pagination:{page:M,total:T,onChange:D}}),o.jsx(_n,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:V,items:L,onRowClick:h,renderRow:W=>{const Y=m!=null?W.id!=null&&m.has(W.id):u!=null&&W.id===u;return r.map(O=>({content:O.render?O.render(W):W[O.key]??"",className:Y?"popup-list__row--selected":O.className}))},empty:k})]})}function Jb(e){const{title:t,message:a,topContent:r,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:m="main",confirmDisabled:h=!1,onConfirm:p,closeOnConfirm:g=!0,onClose:f,inline:b,size:v="small",className:y}=e,{t:_}=me.useTranslation(),C=l.useRef(!1),[x,k]=l.useState(!1);return o.jsxs(Ta,{title:t,onClose:f,closeDisabled:x,inline:b,size:v,className:_e("confirm-popup",y),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||x,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await u.onClick(w),(u.closeOnClick??!0)&&w()}finally{C.current=!1,k(!1)}}}}]:[],...d?[]:[{label:c??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:x,onClick:({closeWithAnimation:w})=>w()}],{label:s??_("common.confirm","\uD655\uC778"),variant:m,disabled:h||x,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await p(w),g&&w()}finally{C.current=!1,k(!1)}}}}],children:[r!=null&&o.jsx("div",{className:"confirm-popup__top",children:r}),n&&n.length>0&&o.jsx(kr,{children:n.map((w,S)=>o.jsx(Na,{label:w.label,children:o.jsx("span",{className:"panel-row__text body-2",children:w.value})},S))}),o.jsx("p",{className:"body-2 confirm-popup__message",children:a}),i]})}var F7=".ihabdevteam-core-scope .coupon-input-popup__input{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);font-family:inherit;height:48px;letter-spacing:.06em;padding:0 14px;text-transform:uppercase;transition:border-color .15s;width:100%}.ihabdevteam-core-scope .coupon-input-popup__input:focus{border-color:var(--color-main);outline:none}.ihabdevteam-core-scope .coupon-input-popup__input::-moz-placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__input::placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__error{color:#e84040;color:var(--color-red,#e84040);margin:var(--spacing-xs) 0 0}";te(F7);function Qb({onApply:e,onCancel:t}){const{t:a}=me.useTranslation(),[r,n]=l.useState(""),[i,s]=l.useState(!1),[c,d]=l.useState(null),u=l.useRef(null);l.useEffect(()=>{u.current?.focus()},[]);const m=l.useCallback(async g=>{const f=r.trim();if(f){s(!0),d(null);try{await e(f),g()}catch(b){d(Ur(b)),s(!1)}}},[r,e]),h=l.useCallback((g,f)=>{g.key==="Enter"&&m(f)},[m]),p=g=>{n(g.target.value),d(null)};return o.jsx(Ta,{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:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{m(g)}}],children:({closeWithAnimation:g})=>o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:u,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:p,onKeyDown:f=>h(f,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&o.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var W7=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";te(W7);const eg=200;function H7(e){return e.itemId?(fs()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function tg({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:n}=me.useTranslation(),i=l.useMemo(()=>en.map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items]);if(i.length===0)return null;const s=o.jsx("div",{className:"tooltip-training__box",children:o.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?o.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,o.jsxs("div",{className:"tooltip-training__section",children:[o.jsx("div",{className:"tooltip-training__section-header",children:o.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),o.jsx("div",{className:"tooltip-training__items",children:d.map((m,h)=>{const p=H7(m);return p?o.jsx(wn,{index:h,type:c,trainingData:p,size:"compact",hideCheckBadge:!0},m.itemId??h):null})})]},c.key)])})});return t?o.jsx(Sa,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var V7=".ihabdevteam-core-scope .party-container{inset:0;overflow:visible;pointer-events:none;position:fixed}.ihabdevteam-core-scope .confetti{display:none;left:0;opacity:0;position:fixed;top:0;transform:translateZ(0);will-change:transform,opacity}.ihabdevteam-core-scope .confetti--left{transform-origin:left bottom}.ihabdevteam-core-scope .confetti--right{transform-origin:right bottom}.ihabdevteam-core-scope .confetti.show{display:block;opacity:1;transition:opacity .2s linear}";te(V7);const ag=["var(--color-main)","var(--color-sub)"];function Ic({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const b=Math.floor(t/2),v=t-b,y=(_,C)=>Array.from({length:_}).map((x,k)=>{const w=6+Math.random()*12,S=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),j=ag[Math.floor(Math.random()*ag.length)],A=Math.random()*300,B=(360+Math.random()*260)*r*1.2,F=(C==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(F)*B,E=Math.sin(F)*B*1.35,M=Math.random()*720-360,D=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),H=Math.random()>.7?"50%":"3px";return{id:`${C}-${k}`,side:C,size:S,color:j,delay:A,vx:R,vy:E,angularVel:M,life:D,borderRadius:H}});return[...y(b,"left"),...y(v,"right")]},[t,r]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),m=l.useRef(n);l.useEffect(()=>{m.current=n},[n]);const h=l.useRef(null),p=l.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&p.current==null&&(p.current=g()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){m.current?.();return}const b=1200,v=performance.now(),y=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,_=Math.max(60,(window.innerHeight||800)*.05),C=T=>Math.max(40,(T||window.innerWidth)*.02),x=y?.width||window.innerWidth||375,k=y?.height||window.innerHeight||812,w=T=>{const L=[...T].sort(($,z)=>$-z);return L[Math.floor(L.length/2)]||1},S=w(s.map(T=>Math.abs(T.vy))),j=w(s.map(T=>Math.abs(T.vx))),A=Math.sqrt(2*b*(k*.72+_))/S,B=S*A/b,F=x*.5/(j*B),R=(T,L,$)=>Math.min($,Math.max(L,T)),E=R(A,.8,2.4),M=R(F,.7,2.2),D=s.map(T=>({...T,vx:T.vx*M,vy:T.vy*E,startTime:v+T.delay,ended:!1})),H=y?{x:y.left-C(y.width),y:y.top+y.height+_}:{x:-C(window.innerWidth),y:window.innerHeight+_},ee=y?{x:y.left+y.width+C(y.width),y:y.top+y.height+_}:{x:window.innerWidth+C(window.innerWidth),y:window.innerHeight+_},J=T=>{let L=!1;for(const $ of D){const z=d.current[$.id];if(!z||!z)continue;if(T<$.startTime){z.style.display="none";continue}if(!$._inited){const pe=$.side==="left"?H.x:ee.x,P=$.side==="left"?H.y:ee.y;z.style.left=`${pe}px`,z.style.top=`${P}px`,z.style.transform="translate3d(0px, 0px, 0)",z.style.display="block",z.style.zIndex="100000";try{if(typeof window<"u"&&typeof $.color=="string"&&$.color.startsWith("var(")){const q=$.color.slice(4,-1).trim(),oe=getComputedStyle(document.documentElement).getPropertyValue(q).trim();oe?z.style.background=oe:z.style.background="#FF0060"}}catch{}$._inited=!0}const V=(T-$.startTime)/1e3;if(V<0)continue;const X=$.life/1e3;if(V>=X){z.style.opacity="0",z.style.display="none",$.ended=!0;continue}L=!0;const W=$.side==="left"?H.x:ee.x,Y=$.side==="left"?H.y:ee.y,O=W+$.vx*V,ie=Y+$.vy*V+.5*b*V*V,ue=($.angularVel||0)*V,fe=O-W,ye=ie-Y;z.style.transform=`translate3d(${fe}px, ${ye}px, 0) rotate(${ue}deg)`,z.style.opacity=`${Math.max(0,1-V/X)}`}L?u.current=requestAnimationFrame(J):m.current?.()};u.current=requestAnimationFrame(J);const ae=setTimeout(()=>{try{if((p.current?p.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const T=document.createElement("div");T.className="party-container",T.style.position="fixed",T.style.inset="0",T.style.pointerEvents="none",T.style.overflow="visible",T.style.zIndex="2147483647";for(const L of s){const $=document.createElement("span");$.className=`confetti confetti--${L.side}`,$.setAttribute("aria-hidden","true"),$.style.display="none",$.style.position="fixed",$.style.left="0px",$.style.top="0px",$.style.width=`${L.size}px`,$.style.height=`${Math.max(4,L.size*.6)}px`;let z=L.color;try{if(typeof z=="string"&&z.startsWith("var(")){const V=z.slice(4,-1).trim(),X=getComputedStyle(document.documentElement).getPropertyValue(V).trim();X&&(z=X)}}catch{}$.style.background=z,$.style.borderRadius=L.borderRadius,$.style.transform="translate3d(0,0,0)",$.style.opacity="0",T.appendChild($),d.current[L.id]=$}(document.body||p.current).appendChild(T),h.current=T}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout(ae),h.current){try{h.current.remove()}catch{}h.current=null}}},[e,a,i,s]),!e)return null;const f=o.jsx("div",{className:"party-container",ref:c,children:s.map(b=>o.jsx("span",{"aria-hidden":!0,ref:v=>{d.current[b.id]=v},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?qt.createPortal(f,p.current||document.body):f}function og({trigger:e=0,active:t=!1}){const a=l.useRef(0);return l.useEffect(()=>{a.current=e},[e]),o.jsx(Ic,{active:t,trigger:e})}var G7=".ihabdevteam-core-scope .page-title{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .page-title__main{align-items:flex-start;display:flex;flex:1;flex-direction:column;min-width:0;text-align:left}.ihabdevteam-core-scope .page-title__title-row{align-items:center;display:flex;gap:12px}.ihabdevteam-core-scope .page-title__title{margin:0}.ihabdevteam-core-scope .page-title__title-action{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .page-title__badge{align-items:center;display:flex}.ihabdevteam-core-scope .page-title__sub{color:var(--color-gray);margin:6px 0 0}.ihabdevteam-core-scope .page-title__action{flex-shrink:0;margin-left:var(--spacing-s)}@media (max-width:767px){.ihabdevteam-core-scope .page-title{align-items:flex-start;flex-direction:column;gap:10px}.ihabdevteam-core-scope .page-title__action{align-self:flex-start;margin-left:0}}.ihabdevteam-core-scope .page-title__back{flex-shrink:0;margin-left:-8px;margin-right:-4px}";te(G7);function rg({title:e,sub:t,rightAction:a,titleAction:r,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d}){const{t:u}=me.useTranslation();nl(typeof e=="string"?e:s??null);const m=d??u("common.back","\uB4A4\uB85C");return o.jsxs("div",{className:"page-title",children:[o.jsxs("div",{className:"page-title__main",children:[o.jsxs("div",{className:"page-title__title-row",children:[c&&o.jsx(re,{className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:c}),o.jsx("h1",{className:"page-title__title h1",children:e}),n&&o.jsx("div",{className:"page-title__badge",children:o.jsx(ht,{label:n,size:"small",variant:i,fill:"outline"})}),r?o.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&o.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?o.jsx("div",{className:"page-title__action",children:a}):null]})}function ng(e){return e??""}const ig=l.createContext({words:[],loading:!1});function sg(){return l.useContext(ig)}function lg({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return o.jsx(ig.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var q7=".ihabdevteam-core-scope .summary-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-m) var(--spacing-l);width:100%}.ihabdevteam-core-scope .summary-strip--flat{box-shadow:none}.ihabdevteam-core-scope .summary-strip__row{align-items:center;display:flex;gap:var(--spacing-l)}.ihabdevteam-core-scope .summary-strip__items{grid-gap:var(--spacing-s) var(--spacing-l);display:grid;flex:1;gap:var(--spacing-s) var(--spacing-l);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}@media (min-width:640px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--summary-strip-cols,4),minmax(0,1fr))}}.ihabdevteam-core-scope .summary-strip__item{min-width:0}.ihabdevteam-core-scope .summary-strip__label{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .summary-strip__value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .summary-strip__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}";te(q7);function cg({items:e,actions:t,columns:a,flat:r=!1,className:n,style:i}){const s=a??e.length;return o.jsx("section",{className:_e("summary-strip",r&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(s),...i},children:o.jsxs("div",{className:"summary-strip__row",children:[o.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>o.jsxs("div",{className:"summary-strip__item",children:[o.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),o.jsx("p",{className:"summary-strip__value body-3b",children:c.value})]},d))}),t&&o.jsx("div",{className:"summary-strip__actions",children:t})]})})}var Y7='.ihabdevteam-core-scope .report-doc{--report-page-w:210mm;--report-page-h:297mm;--report-margin:14mm;display:flex;justify-content:safe center;max-width:100%;min-width:0;overflow-x:auto;padding-block:var(--spacing-s);position:relative;width:100%}.ihabdevteam-core-scope .report-doc__pages{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .report-doc__page{background:#fff;box-shadow:var(--shadow-card);color:#000;display:flex;flex-direction:column;flex-shrink:0;min-height:var(--report-page-h);padding:var(--report-margin);width:var(--report-page-w)}.ihabdevteam-core-scope .report-doc__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__title{margin:0}.ihabdevteam-core-scope .report-doc__footer{align-items:center;color:var(--color-gray);display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__footer-left{align-items:center;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__page-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .report-doc__logo{height:28px;width:auto}.ihabdevteam-core-scope .report-doc__measure{display:flex;flex-direction:column;opacity:0;pointer-events:none;position:absolute;width:calc(var(--report-page-w) - var(--report-margin)*2);z-index:-10}.ihabdevteam-core-scope .report-doc__measure-blocks{display:flex;flex-direction:column}.ihabdevteam-core-scope .report-doc__ruler{height:calc(var(--report-page-h) - var(--report-margin)*2)}@media print{.ihabdevteam-core-scope .report-doc{display:block;overflow:visible;padding-block:0}.ihabdevteam-core-scope .report-doc__pages{display:block}.ihabdevteam-core-scope .report-doc__page{-moz-column-break-after:page;box-shadow:none;break-after:page;page-break-after:always}.ihabdevteam-core-scope .report-doc__page:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}';te(Y7);const U7=(e,t)=>`${e} / ${t}`;function dg({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=U7,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:m}=me.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),f=l.useRef(null),[b,v]=l.useState(null),[y,_]=l.useState(!1);l.useEffect(()=>{const B=h.current;if(!B)return;const F=()=>_(B.scrollWidth>B.clientWidth+1);if(F(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(F);return R.observe(B),()=>R.disconnect()},[b]);const C=e.map(B=>`${B.id}\0${B.section??""}\0${B.group??""}`).join("");l.useLayoutEffect(()=>{const B=p.current,F=f.current;if(!B||!F)return;const R=g.current?.offsetHeight??0,E=F.offsetHeight-R,M=Array.from(B.children).map(T=>T.offsetHeight),D=[];e.forEach((T,L)=>{const $=D[D.length-1],z=$?e[$[0]]:void 0;z&&T.group!=null&&z.group===T.group?$.push(L):D.push([L])});const H=[];let ee=[],J=0;const ae=()=>{ee.length&&H.push(ee),ee=[],J=0};D.forEach(T=>{const L=T.reduce(($,z)=>$+M[z],0);ee.length&&e[ee[0]].section!==e[T[0]].section&&ae(),ee.length&&J+L>E&&ae(),L>E?T.forEach($=>{ee.length&&J+M[$]>E&&ae(),ee.push($),J+=M[$]}):(T.forEach($=>ee.push($)),J+=L)}),ae(),v(H)},[C]);const x=Il,k=x,w=r??o.jsxs(o.Fragment,{children:[o.jsx("img",{src:k,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),S=(B,F,R)=>({header:o.jsxs("div",{className:"report-doc__header",children:[o.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&t?.[R]||null}),a]}),footer:o.jsxs("div",{className:"report-doc__footer caption-1",children:[o.jsx("span",{className:"report-doc__footer-left",children:w}),o.jsx("span",{className:"report-doc__page-no",children:n(B,F)})]})}),j=S(1,1,e[0]?.section),A={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return o.jsxs("div",{ref:h,className:_e("report-doc",d),style:A,tabIndex:y?0:void 0,role:y?"group":void 0,"aria-label":y?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[o.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[o.jsx("div",{ref:f,className:"report-doc__ruler"}),o.jsxs("div",{ref:g,children:[j.header,j.footer]}),o.jsx("div",{ref:p,className:"report-doc__measure-blocks",children:e.map(B=>o.jsx("div",{children:B.content},B.id))})]}),b&&o.jsx("div",{className:"report-doc__pages",children:b.map((B,F)=>{const{header:R,footer:E}=S(F+1,b.length,e[B[0]].section);return o.jsxs("section",{className:"report-doc__page",children:[R,B.map(M=>o.jsx("div",{children:e[M].content},e[M].id)),E]},F)})})]})}var K7=".ihabdevteam-core-scope .report-info{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--spacing-l);padding:var(--spacing-s) var(--spacing-m)}.ihabdevteam-core-scope .report-info__title{color:var(--color-darkGray);margin:0 0 var(--spacing-s)}.ihabdevteam-core-scope .report-info__grid{grid-gap:var(--spacing-xs) var(--spacing-l);display:grid;gap:var(--spacing-xs) var(--spacing-l);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--report-info-cols,4),minmax(0,1fr))}@media (max-width:640px){.ihabdevteam-core-scope .report-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ihabdevteam-core-scope .report-info__field{align-items:baseline;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-info__label{color:var(--color-gray);flex-shrink:0;width:3.5rem}.ihabdevteam-core-scope .report-info__value{color:var(--color-darkGray);white-space:nowrap}";te(K7);function ug({title:e,fields:t,columns:a=4,className:r,style:n}){return o.jsxs("div",{className:_e("report-info",r),style:{"--report-info-cols":String(a),...n},children:[e&&o.jsx("p",{className:"report-info__title h5b",children:e}),o.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>o.jsxs("div",{className:"report-info__field body-2",children:[o.jsx("span",{className:"report-info__label body-3",children:i.label}),o.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}var Z7=".ihabdevteam-core-scope .update-alert{animation:update-alert-slide-in .32s cubic-bezier(.34,1.56,.64,1) both;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:hsla(0,0%,97%,.92);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:0 4px 24px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08),inset 0 0 0 .5px rgba(0,0,0,.1);padding:var(--spacing-l);width:380px}.ihabdevteam-core-scope .update-alert,.ihabdevteam-core-scope .update-alert-stack{display:flex;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);position:fixed;right:16px;top:16px;z-index:var(--z-alert)}.ihabdevteam-core-scope .update-alert-stack{align-items:flex-end}.ihabdevteam-core-scope .update-alert-stack .update-alert{position:relative;z-index:auto}.ihabdevteam-core-scope .update-alert:has(.update-alert__close) .update-alert__title{padding-right:24px}.ihabdevteam-core-scope .update-alert__close{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-s,6px);color:#888;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;width:24px}.ihabdevteam-core-scope .update-alert__close:hover{background:rgba(0,0,0,.06);color:#333}.ihabdevteam-core-scope .update-alert__top{align-items:center;display:flex;gap:10px}@keyframes update-alert-slide-in{0%{opacity:0;transform:translateX(calc(100% + 24px))}to{opacity:1;transform:translateX(0)}}.ihabdevteam-core-scope .update-alert__icon{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .update-alert__body{flex:1;min-width:0}.ihabdevteam-core-scope .update-alert__title{color:#1a1a1a;text-align:left}.ihabdevteam-core-scope .update-alert__message{color:#555;margin-top:2px;text-align:left}.ihabdevteam-core-scope .update-alert__action{width:100%}";te(Z7);function pg({title:e,message:t,actionLabel:a,onAction:r,icon:n,onClose:i,className:s=""}){const{t:c}=me.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return o.jsxs("div",{className:_e("update-alert",s),role:"alert",children:[i&&o.jsx("button",{type:"button",className:"update-alert__close",onClick:i,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),o.jsxs("div",{className:"update-alert__top",children:[o.jsx("div",{className:"update-alert__icon",children:n??o.jsx(nd,{size:20,strokeWidth:2})}),o.jsxs("div",{className:"update-alert__body",children:[o.jsx("div",{className:"update-alert__title h4",children:e}),o.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&o.jsx(re,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}var X7=".ihabdevteam-core-scope .training-card{background:var(--color-white);border:1px solid transparent;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:10px;max-width:100%;padding:18px;position:relative;transition:border-color .15s,box-shadow .15s;width:360px}.ihabdevteam-core-scope .training-card:hover{border-color:var(--color-main);box-shadow:0 4px 16px var(--color-main-a10)}.ihabdevteam-core-scope .training-card--dragging{opacity:.5}.ihabdevteam-core-scope .training-card--clickable{cursor:pointer}.ihabdevteam-core-scope .training-card__header{grid-column-gap:8px;grid-row-gap:4px;align-items:start;-moz-column-gap:8px;column-gap:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:4px}.ihabdevteam-core-scope .training-card__title-row{display:contents}.ihabdevteam-core-scope .training-card__title-row>:first-child{grid-area:1/1;min-width:0}.ihabdevteam-core-scope .training-card__header>:last-child{grid-area:2/1}.ihabdevteam-core-scope .training-card__title{color:var(--color-darkGray);margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__top-actions{align-items:center;align-self:start;display:flex;flex-shrink:0;gap:2px;grid-column:2;grid-row:1/3;margin-right:-8px}.ihabdevteam-core-scope .training-card__publisher{background:none;border:none;color:var(--color-gray);cursor:pointer;font-size:11px;font-weight:400;max-width:120px;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .training-card__publisher:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .training-card__description{color:var(--color-gray);margin:0;min-height:1.55em;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__body{display:flex;flex:1;flex-direction:column;gap:8px;justify-content:flex-end}.ihabdevteam-core-scope .training-card__empty{color:var(--color-lightGray)}.ihabdevteam-core-scope .training-card__types{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ihabdevteam-core-scope .training-card__types .button{min-width:0;padding-inline:12px}.ihabdevteam-core-scope .training-card__words{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px}.ihabdevteam-core-scope .training-card__footer{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin-top:auto;padding-top:8px}.ihabdevteam-core-scope .training-card__footer-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .training-card__date{color:var(--color-gray);font-size:11px;white-space:nowrap}.ihabdevteam-core-scope .training-card__meta{align-items:center;display:flex;gap:4px}";te(X7);function hg({title:e,description:t,topActions:a,children:r,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:d,onDragEnd:u,className:m}){const h=n!=null||i!=null,p=r!=null&&r!==!1,g=l.useCallback(f=>{s&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s())},[s]);return o.jsxs("div",{className:_e("training-card",s?"training-card--clickable":"",m),onClick:s,onKeyDown:s?g:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[o.jsxs("div",{className:"training-card__header",children:[o.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?o.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&o.jsx("div",{className:"training-card__top-actions",onClick:f=>f.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?o.jsx("p",{className:"training-card__description body-3",children:t}):t:o.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),p&&o.jsx("div",{className:"training-card__body",children:r}),h&&o.jsxs("div",{className:"training-card__footer",children:[n!=null&&o.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&o.jsx("div",{className:"training-card__meta",children:i})]})]})}var J7=".ihabdevteam-core-scope .training-card-group{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s,box-shadow .15s}.ihabdevteam-core-scope .training-card-group--dragover{border-color:var(--color-main);box-shadow:0 0 0 2px var(--color-main-a10)}.ihabdevteam-core-scope .training-card-group__header{align-items:center;display:flex;gap:8px;height:60px;padding:0 12px}.ihabdevteam-core-scope .training-card-group--collapsible .training-card-group__header{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-card-group__chevron{flex-shrink:0}.ihabdevteam-core-scope .training-card-group__title{color:var(--color-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card-group__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .training-card-group__actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.ihabdevteam-core-scope .training-card-group__empty{color:var(--color-lightGray);padding:24px 16px;text-align:center}.ihabdevteam-core-scope .training-card-group__grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;padding:0 12px 12px}.ihabdevteam-core-scope .training-card-group__grid>*{min-width:0}";te(J7);function mg({title:e,count:t,collapsed:a=!1,onToggle:r,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:m,onDrop:h,children:p,className:g}){const{t:f}=me.useTranslation(),b=r!=null,v=_e("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return o.jsxs("div",{className:v,onDragOver:u,onDragLeave:m,onDrop:h,children:[o.jsxs("header",{className:"training-card-group__header",children:[b&&o.jsx(re,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?o.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&o.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&o.jsxs("span",{className:"training-card-group__actions",onClick:y=>y.stopPropagation(),children:[n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?o.jsx("div",{className:"training-card-group__empty body-3",children:c}):o.jsx("div",{className:"training-card-group__grid",children:p}))]})}var Q7=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:flex;gap:var(--spacing-xs)}@media (max-width:767px){.ihabdevteam-core-scope .word-table-block__actions{align-items:stretch;flex-direction:column}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-panel{max-width:none;width:min(1400px,94vw)}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-body{overflow:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .word-table-block__pages{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-content,24px)}@media print{.ihabdevteam-core-scope .word-table-block>.filter-panel,.ihabdevteam-core-scope .word-table-block>.section__header,.ihabdevteam-core-scope .word-table-block__actions{display:none}.ihabdevteam-core-scope .word-table-block__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-block__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}";te(Q7);const e6="speechear:saved_word_tables";function t6(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 a6(){try{const e=localStorage.getItem(e6);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(t6):[]}catch{return[]}}function bg({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:m,onReorder:h,showCellCount:p,onAddItem:g,className:f,renderSavePopup:b,renderWordSearch:v,hideControls:y,saveOnly:_,tableName:C,nameValue:x,onNameChange:k,descriptionValue:w,onDescriptionChange:S,namePlaceholder:j,descriptionPlaceholder:A,existingNames:B,editingName:F,onCancel:R}){const{t:E}=me.useTranslation(),M=d??E("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),D=r===void 0,H=!!k,[ee,J]=l.useState([]),ae=(x??"").trim(),T=ae||(j??"").trim(),L=(w??"").trim()||(A??"").trim(),$=(B??[]).map(ce=>ce.trim().toLowerCase()),z=[F?.trim().toLowerCase(),...ee].filter(ce=>!!ce),V=[...$];for(const ce of z){const Be=V.indexOf(ce);Be!==-1&&V.splice(Be,1)}const X=ae!==""&&V.includes(ae.toLowerCase()),[W,Y]=l.useState(Array(4).fill(null)),[O,ie]=l.useState(4),[ue,fe]=l.useState(null),[ye,pe]=l.useState("landscape"),[P,q]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[oe,ge]=l.useState("\uD45C\uC2DC"),[de,I]=l.useState(!0),[Z,Q]=l.useState(!0),ve=l.useRef(null),De=l.useRef([]),[$e,Le]=l.useState(8),[Ee,je]=l.useState("right"),[Te,Ie]=l.useState(!1),[He,be]=l.useState(!1),{toastMessage:Ke,toastType:Ve,showWarning:Re,clearToast:qe}=bn("warning"),vt=l.useCallback(()=>fe(null),[fe]),[Ue,Xe]=l.useState(()=>Math.max(r?.length??1,1));l.useEffect(()=>{D||Xe(ce=>Math.max(ce,r?.length??1))},[r?.length,D]);const ut=D?O:p?Math.max(Ue,r?.length??1):Math.max(r?.length??0,1),{width:ze,height:rt}=io[ye],et=!D&&!p,We=r?.length??0,Je=Math.min($e,Math.max(We,1)),tt=et?Je:ut,xt=et?Lm(r??[],tt):null,Et=!!xt&&xt.length>1,it=D?W.some(ce=>ce!==null&&ce.length>1):(r??[]).some(ce=>ce.words.length>1),Ht=C?.trim()||`${Xr(Kr())} ${it?E("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):E("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,mt=l.useCallback(()=>Et?De.current.filter(ce=>ce!==null):ve.current?[ve.current]:[],[Et]),{print:Vt,openNewWindow:na,downloadHtml:Gt}=Nn({getElements:mt,paperW:ze,paperH:rt,fileName:Ht,onPopupBlocked:()=>{Re(E("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."))}}),Ea=ce=>{ie(ce),Y(Be=>{const at=Array(ce).fill(null);return Be.slice(0,ce).forEach((Ct,_t)=>{at[_t]=Ct}),at}),fe(null)},ia=ce=>{Y(Be=>{const at=[...Be];return at[ce]=null,at}),ue===ce&&fe(null)},Kt=ce=>{if(ue===null)return;const Be=ue;Y(Ct=>{const _t=[...Ct];return _t[Be]=ce,_t});const at=W.findIndex((Ct,_t)=>_t>Be&&Ct===null);fe(at!==-1?at:null)},ja=D?W.some(ce=>ce?.some(Be=>!!Be.colloquialPronunciation)):(r??[]).some(ce=>ce.words.some(Be=>!!Be.colloquialLabel)),jt=l.useMemo(()=>Ma()?D?W.flatMap(ce=>(ce??[]).map(Be=>[Be.word,Be.homonum])):(r??[]).flatMap(ce=>ce.words.map(Be=>[Be.label,Be.homonum])):[],[D,W,r]),[qa,$t]=l.useState(!1);l.useEffect(()=>{if(jt.length===0)return;let ce=!1;return Promise.all(jt.map(([Be,at])=>Yo(Be,at))).then(Be=>{ce||$t(Be.some(Boolean))}),()=>{ce=!0}},[jt]);const ya=jt.length>0&&qa,Ya=l.useMemo(()=>[...D||p?[{label:E("wordTable.filter.columns","\uCE78 \uC218"),items:Tk.map(ce=>({value:`${ce}\uCE78`,displayLabel:E("wordTable.filter.column",{count:ce})})),display:"segmented"}]:[],...et&&(r?.length??0)>0?[Fm(E,{hasPairs:it,itemCount:We})]:[],...Et?[Wm(E)]:[]],[E,D,p,et,r?.length,it,We,Et]),Qe={...D||p?{[E("wordTable.filter.columns","\uCE78 \uC218")]:`${D?O:Ue}\uCE78`}:{},...et&&(r?.length??0)>0?{[E(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Je}\uAC1C`}:{},...Et?{[E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Hm[Ee]}:{}},It=(ce,Be)=>{Be===E("wordTable.filter.columns","\uCE78 \uC218")?D?Ea(parseInt(ce)):Xe(parseInt(ce)):Be===E(it?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Le(parseInt(ce)):Be===E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&je(Vm(ce))},kt=D?W.filter(ce=>ce!==null).map(ce=>({id:ce[0].word,words:ce.map(Be=>({label:Be.word,subLabel:Be.pronunciation,homonum:Be.homonum}))})):r??[],xa=(ce=!1)=>{if(be(ce),H&&n){const Be=T.trim().toLowerCase();Be&&J(at=>at.includes(Be)?at:[...at,Be]),n(T,kt,L||void 0,ce);return}if(_&&n){n("",kt,void 0,ce);return}if(n){Ie(!0);return}Gt()},[sa,ne]=l.useState(!1),[xe,Ce]=l.useState(""),U=xe.trim(),le=U!==""&&$.includes(U.toLowerCase()),we=()=>{Ce(T?`${T} (\uBCF5\uC0AC)`:""),ne(!0)},Se=()=>{!U||le||!n||(n(U,kt,L||void 0,!0),ne(!1))},Ae=kt.length===0,Oe=Ae||H&&(T===""||X),nt=()=>{if(Ae){Re(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(H&&T===""){Re(E("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}H&&X&&Re(E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},ct=o.jsx(so,{items:kt,orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:ut});return o.jsxs(o.Fragment,{children:[o.jsxs(no,{type:"page",icon:t,title:e,disc:a,className:_e("word-table-block",f),children:[sa&&o.jsx(Ta,{size:"small",title:m??E("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>ne(!1),footer:({closeWithAnimation:ce})=>o.jsxs(o.Fragment,{children:[o.jsx(re,{size:48,type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:ce}),o.jsx(re,{size:48,type:"bar",variant:"main",label:E("common.save","\uC800\uC7A5"),disabled:!U||le,onClick:Se})]}),children:o.jsx(Ha,{label:E("wordTable.save.nameLabel","\uC774\uB984"),value:xe,onChange:Ce,placeholder:E("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:Se,error:le?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Te&&n&&b?.({defaultName:typeof e=="string"?e:E("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:ct,previewW:ze,previewH:rt,items:kt,existingNames:a6().map(ce=>ce.name),saveAsNew:He,onSave:(ce,Be)=>{n(ce,kt,Be,He),Ie(!1)},onCancel:()=>Ie(!1)}),(D||g)&&ue!==null&&v?.({cellIndex:ue,onConfirm:D?Kt:ce=>{if(g){const Be=ce[0];Be&&g({id:Be.word,words:[{label:Be.word,subLabel:Be.pronunciation,homonum:Be.homonum}]})}fe(null)},onClose:vt}),!y&&o.jsx(Bn,{hasImage:ya,hasColloquial:ja,contentTypes:P,orientation:ye,showOutline:de,cutLine:oe,showDivLine:Z,setters:{setContentTypes:q,setOrientation:pe,setShowOutline:I,setCutLine:ge,setShowDivLine:Q},showCutLine:(et?tt:ut)>1,showDivLine2:it,middleSections:Ya,extraSelected:Qe,onExtraSelect:It}),Et&&xt?o.jsx("div",{className:"word-table-block__pages",children:xt.map((ce,Be)=>o.jsx(so,{orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:tt,items:ce,onRemoveItem:s,contentRef:at=>{De.current[Be]=at},pageNumber:{current:Be+1,total:xt.length},pageNumberPosition:Ee},Be))}):o.jsx(so,{orientation:ye,contentTypes:P,cutLine:oe,showOutline:de,showDivLine:Z,count:ut,items:D?void 0:r??[],editCells:D?W:void 0,activeCell:ue,onActivateCell:D||g?fe:void 0,onRemoveCell:D?ia:void 0,onRemoveItem:D?void 0:s,onReorder:D?void 0:h,showFillerAdd:!!g,contentRef:ve}),H&&!y&&o.jsxs(kr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[o.jsx(Na,{variant:"custom",label:E("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:o.jsx(Ha,{required:!0,value:x??"",onChange:k,placeholder:j?j+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:X?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(x??"").trim()&&(j??"").trim()&&(ce.preventDefault(),k?.(j??""))}})}),o.jsx(Na,{variant:"custom",label:E("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:o.jsx(Ha,{value:w??"",onChange:S,placeholder:A?A+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ce=>{(ce.key==="Tab"&&!ce.shiftKey||ce.key===" ")&&!(w??"").trim()&&(A??"").trim()&&(ce.preventDefault(),S?.(A??""))}})})]})]}),!y&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!_&&c&&o.jsx(re,{size:40,type:"bar",label:M,onClick:c}),!_&&i&&o.jsx(re,{size:40,type:"bar",label:E("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!_&&o.jsx(re,{size:40,type:"bar",label:E("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:na})]}),o.jsxs("div",{className:"word-table-block__actions-right",children:[R&&o.jsx(re,{size:"56",type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:R}),!_&&o.jsx(re,{size:"56",type:"bar",label:E("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:Vt}),m&&o.jsx(re,{size:"56",type:"bar",label:m,onClick:()=>H?we():xa(!0),disabled:Ae,onDisabledClick:()=>{Re(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),o.jsx(re,{size:"56",type:"bar",variant:"main",label:u??E("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>xa(!1),disabled:Oe,onDisabledClick:nt})]})]}),o.jsx(ro,{message:Ke,type:Ve,onClose:qe})]})}var o6=".ihabdevteam-core-scope .word-table-thumb{grid-gap:1px;background:var(--color-darkWhite);border-bottom:1px solid var(--color-darkWhite);display:grid;gap:1px;grid-auto-rows:minmax(min-content,1fr);height:140px;overflow:hidden}.ihabdevteam-core-scope .word-table-thumb__cell{align-items:center;background:var(--color-white);display:flex;flex-direction:column;gap:1px;justify-content:center;min-height:0;overflow:hidden;padding:4px}.ihabdevteam-core-scope .word-table-thumb__word{color:var(--color-black)}.ihabdevteam-core-scope .word-table-thumb .word-table-thumb__word{line-height:1.2}.ihabdevteam-core-scope .word-table-thumb__divider{background:var(--color-darkWhite);display:block;height:1px;margin:1px 0;width:30%}";te(o6);function zc({items:e,className:t}){const a=e.length,r=a<=3?1:2,n=Math.ceil(a/r)||1,i=r*n;return o.jsx("div",{className:_e("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(s,c)=>{const d=e[c];return d?o.jsx("div",{className:"word-table-thumb__cell",children:(d.words.length?d.words:[{label:d.id}]).map((u,m)=>o.jsxs(l.Fragment,{children:[m>0&&o.jsx("span",{className:"word-table-thumb__divider"}),o.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},m))},c):o.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var r6=".ihabdevteam-core-scope .word-table-button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-s,8px);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;width:240px}.ihabdevteam-core-scope .word-table-button:hover{border-color:var(--color-main);box-shadow:0 2px 10px rgba(0,0,0,.06)}.ihabdevteam-core-scope .word-table-button:focus-visible{outline:2px solid var(--color-main);outline-offset:1px}.ihabdevteam-core-scope .word-table-button--selected{border-color:var(--color-main);box-shadow:0 0 0 1px var(--color-main) inset}.ihabdevteam-core-scope .word-table-button__thumb{flex:0 0 auto;height:290px}.ihabdevteam-core-scope .word-table-button__info{align-items:flex-start;display:flex;flex-direction:row;gap:8px;min-width:0;padding:12px 14px 0;position:relative}.ihabdevteam-core-scope .word-table-button__more{position:absolute;right:10px;top:8px}.ihabdevteam-core-scope .word-table-button__title{padding-right:34px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info{flex:1 1 auto;min-height:0}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info-text{align-self:stretch}.ihabdevteam-core-scope .word-table-button__info-text{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0;text-align:left}.ihabdevteam-core-scope .word-table-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-black);display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}.ihabdevteam-core-scope .word-table-button__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__badges{align-items:center;display:flex;flex:0 0 auto;gap:4px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__meta-row{margin-top:auto}.ihabdevteam-core-scope .word-table-button__footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__store-by{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow:hidden}.ihabdevteam-core-scope .word-table-button__store-by .training-card__date{white-space:nowrap}.ihabdevteam-core-scope .word-table-button__store-stats{align-items:center;align-self:flex-end;display:inline-flex;gap:4px}.ihabdevteam-core-scope .word-table-button__more{flex:0 0 auto}.ihabdevteam-core-scope .word-table-button__badge{pointer-events:none}.ihabdevteam-core-scope .word-table-button__new-dot{background:var(--color-main);border-radius:50%;box-shadow:0 0 0 2px var(--color-white);height:10px;pointer-events:none;position:absolute;right:8px;top:8px;width:10px;z-index:3}";te(r6);function gg({items:e,name:t,description:a,createdAt:r,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:m,likeCount:h,downloadCount:p,onPublisherClick:g,selected:f,onClick:b,onMore:v,titleNode:y,className:_}){const{t:C}=me.useTranslation(),x=y!=null,k=u!=null||m!=null||h!=null||p!=null,w=S=>{!x&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),b?.())};return o.jsxs("div",{className:_e("word-table-button",f?"word-table-button--selected":"",k?"":"word-table-button--no-footer",_),role:"button",tabIndex:0,"aria-label":t,onClick:x?void 0:b,onKeyDown:w,children:[d&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":C("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),o.jsx(zc,{items:e,className:"word-table-button__thumb"}),o.jsxs("div",{className:"word-table-button__info",children:[o.jsxs("div",{className:"word-table-button__info-text",children:[y??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),v&&!x&&o.jsx(re,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:C("common.moreFor",{name:t}),onClick:S=>{S.stopPropagation(),v(S)}})]}),(r||n||s)&&o.jsxs("div",{className:"word-table-button__meta-row",children:[o.jsx("span",{className:"word-table-button__meta caption-1",children:r?Zr(r,C):""}),o.jsxs("span",{className:"word-table-button__badges",children:[n&&o.jsx(ht,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??"\uBC1C\uD589\uB428"}),s&&o.jsx(ht,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),k&&o.jsxs("div",{className:"word-table-button__footer",children:[o.jsxs("span",{className:"word-table-button__store-by",children:[u&&o.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:S=>{S.stopPropagation(),g?.()},children:u}),m&&o.jsx("span",{className:"training-card__date body-4",children:Zr(m,C)})]}),o.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h)}),p!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(p)})]})]})]})}/**
|
|
989
989
|
* @license lucide-react v1.38.0 - ISC
|
|
990
990
|
*
|
|
991
991
|
* This source code is licensed under the ISC license.
|
|
@@ -999,4 +999,4 @@ ${C.badge}`:C.badge:void 0;if(k&&d(C.code))return null;if(!C.badge&&!u)return m(
|
|
|
999
999
|
|
|
1000
1000
|
/* !important \uBD88\uD544\uC694 \u2014 WordDataUpdatePopup.tsx\uC758 \uC778\uB77C\uC778 width\uB294 pct/isDone/isError\uC77C \uB54C\uB9CC
|
|
1001
1001
|
\uC124\uC815\uB418\uACE0 \uC774 indeterminate \uD074\uB798\uC2A4\uAC00 \uBD99\uB294 \uC0C1\uD0DC(state==='active' && pct===undefined)\uC5D0\uC11C\uB294
|
|
1002
|
-
\uC778\uB77C\uC778 width\uAC00 \uC544\uC608 \uC124\uC815\uB418\uC9C0 \uC54A\uC544(undefined) \uACBD\uD569 \uC790\uCCB4\uAC00 \uC5C6\uC74C(\uCF54\uB4DC \uD655\uC778\uB428). */.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:wdup-indeterminate 1.4s ease-in-out infinite;width:40%}@keyframes wdup-indeterminate{0%{transform:translateX(-150%)}to{transform:translateX(400%)}}.ihabdevteam-core-scope .wdup-phase-card__sub{color:var(--color-lightGray)}`;te(c6);function d6(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Oc({icon:e,label:t,state:a,pct:r,subText:n}){const{t:i}=me.useTranslation(),s=a==="done",c=a==="pending",d=a==="error",u=s?100:r??0;return o.jsxs("div",{className:"wdup-phase-card",children:[o.jsx("div",{className:`wdup-phase-card__icon${s?" wdup-phase-card__icon--done":d?" wdup-phase-card__icon--error":""}`,children:s?o.jsx(cd,{size:22,color:"white",strokeWidth:2.5}):d?o.jsx(l6,{size:22,color:"white",strokeWidth:2.5}):o.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),o.jsxs("div",{className:"wdup-phase-card__body",children:[o.jsxs("div",{className:"wdup-phase-card__top",children:[o.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),s?o.jsx(ht,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):d?o.jsx(ht,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(n||r!==void 0)&&o.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[n,n&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&o.jsx("div",{className:"wdup-bar",children:o.jsx("div",{className:`wdup-bar__fill${s?" wdup-bar__fill--done":d?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||s||d?`${d?100:u}%`:void 0}})})]})]})}function fg({title:e,progress:t,onDone:a,onRetry:r,inline:n}){const{t:i}=me.useTranslation(),{phase:s,error:c,wordCount:d,imagePage:u,imageDone:m,imageTotal:h,pairPercent:p}=t,g=d6(s),f=s==="done",b=!!c;function v(w){return b&&g===w?"error":g>w?"done":g===w?"active":"pending"}const y=v(1),_=v(2),C=v(3),x=s==="image-match"&&h?Math.round((m??0)/h*100):void 0,k=l.useMemo(()=>{if(_!=="done"){if(s==="image-list")return i("wordData.checkingPage",{page:u??1});if(s==="image-match"&&h)return i("wordData.imageCount",{done:rr(m),total:rr(h)})}},[_,s,u,h,m,i]);return o.jsx(Ta,{inline:n,className:"popup--word-data-update",title:e,footer:b?o.jsx(re,{size:56,variant:"main",onClick:r,children:i("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):o.jsx(re,{size:56,variant:"main",disabled:!f,onClick:a,children:i("common.done","\uC644\uB8CC")}),children:o.jsxs("div",{className:"wdup-cards",children:[o.jsx(Oc,{icon:o.jsx(rd,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:y,subText:y==="active"?i("wordData.downloadingCount",{n:rr(d)}):void 0}),o.jsx(Oc,{icon:o.jsx(i6,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:_,pct:x,subText:k}),o.jsx(Oc,{icon:o.jsx(sd,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:C,pct:C==="active"?p??0:void 0,subText:void 0})]})})}var u6=".ihabdevteam-core-scope .debug-result-launcher{bottom:18px;display:flex;flex-direction:column;gap:var(--spacing-xs);position:fixed;right:18px;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .debug-buttons{background:rgba(11,43,47,.02);border-radius:var(--radius-s);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:6px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .debug-button{background:var(--color-white);border:1px solid rgba(11,43,47,.06);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:8px 12px}.ihabdevteam-core-scope .debug-button:hover{transform:translateY(-1px)}";te(u6);function vg({enabled:e=!1,renderResultPopup:t}={}){const[a,r]=l.useState(null),[n,i]=l.useState(null),s=p=>{let g=null;p==="noise"?g={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:p==="short"?g={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:p==="long"?g={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:p==="order"&&(g={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),i(g),r(p)},c=l.useCallback(()=>{r(null),i(null)},[]),d=l.useCallback(()=>s("noise"),[]),u=l.useCallback(()=>s("short"),[]),m=l.useCallback(()=>s("long"),[]),h=l.useCallback(()=>s("order"),[]);return e?o.jsxs("div",{className:"debug-result-launcher",children:[o.jsxs("div",{className:"debug-buttons",children:[o.jsx("button",{className:"debug-button",onClick:d,children:"Noise \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:u,children:"ShortStory \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:m,children:"LongStory \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:h,children:"Order \uACB0\uACFC\uBCF4\uAE30"})]}),a&&n?t?.({score:n.score,contextsLength:n.contextsLength,results:n.results,onReplay:c,onClose:c}):null]}):null}var p6=Object.freeze({__proto__:null,Accordion:Sh,ActionCard:Fp,Alert:Wh,AppHeader:Bh,AudioMeter:Cn,AudioPlayer:wr,Avatar:Gh,Badge:ht,BarChart:pm,BarChartControls:Ul,Board:Jh,BottomNav:Tl,BrandIdentity:El,Breadcrumb:Yh,BulkBar:sm,Button:re,CORE_VERSION:Nr,Calendar:km,CardStep:jc,ChartLegend:yn,ChartSection:xn,ChartTotal:yr,Checkbox:Gl,ChoiceChips:vb,CircleBadge:zh,CodeBox:im,ColorPicker:Kh,CompanyMeta:rm,ConfirmPopup:Jb,ConfirmStep:Nc,ConfirmWithTextStep:Dc,ContrastFilterPanel:Zb,CoreScope:Wp,CountTile:Zh,CouponInputPopup:Qb,DatePicker:cm,DebugResultLauncher:vg,DescriptionTooltip:to,DeviceSideTable:_m,Dialog:Xh,Divider:Oh,Dropdown:Ut,EffectPartyPopper:Ic,EffectPartyPopperHost:og,EmptyState:zp,ErrorState:Op,FILTER_ALL_VALUE:Dt,FileUpload:qh,FilterPanel:va,FilterSectionInfo:So,Footer:yb,Header:jl,Icon:Fe,IconGridMenu:fb,IconRenderer:Fe,InfoTooltip:aa,LandingBottomSticky:Cb,LandingHeader:xb,ListPopup:Xb,ListenStep:Bc,Loader:Ao,MARKS:tc,MARK_ICON:oc,MARK_VARIANT:rc,MediaQueryOverrideContext:ln,MenuTooltip:br,NoiseSettingsTooltip:wc,NoticeBox:Hp,OrderListStep:Ec,PASS_CARD_BG_VARS:Fa,POS_LABEL:ic,PROMO_BANNER_BG_COMPONENTS:tl,PROMO_BANNER_BG_OPTIONS:Vp,PROMO_BANNER_BG_VARS:Co,Page:Sr,PageTitle:rg,Pagination:vr,Panel:kr,PanelGrid:Eb,PanelRow:Na,PanelRowDevice:Db,PassCard:$l,PassCardBg:Ph,PassCardBgIHAB:Rh,PassCardBgLeftColorGrid:$h,PassCardBgTwoCircle:Rl,PaymentPlan:Mh,PersonCard:Qh,PhonemeFilterPanel:Kb,PhonemeSelectBlock:Yb,Popup:Ta,ProgressBar:ym,ProgressIndicator:Jl,PromoBanner:wh,PromoBannerBgDark:Os,PromoBannerBgDeep:Ms,PromoBannerBgDiagonal:Vs,PromoBannerBgDots:qs,PromoBannerBgInstagram:el,PromoBannerBgMain:Bs,PromoBannerBgNaver:Js,PromoBannerBgOutline:Us,PromoBannerBgRadial:Ws,PromoBannerBgSoft:Ds,PromoBannerBgSoftSub:Rs,PromoBannerBgSub:js,PromoBannerBgSuccess:Zs,PromoBannerBgWarm:Is,PublicationCard:tm,Radio:Wl,RadioGroup:Fh,Rating:Uh,ReportDocument:dg,ReportInfoPanel:ug,RingChart:gm,SENTENCE_TRAINING_TYPES:En,SearchSummary:Hh,Section:no,SectionHeader:om,SegmentedControl:Ha,ShortcutBadge:Fl,SideNav:Bl,Slider:Kl,SoundCompass:Ih,SplashLogo:am,StatChart:fm,SummaryStrip:cg,TRAINING_TOOLTIP_HOVER_DELAY_MS:eg,Table:_n,TableFilterPanel:Bn,Tabs:Vh,TextBoxTooltip:No,TextField:Wa,Timeline:em,Toast:ro,Toggle:Vl,Toolbar:vn,Tooltip:Sa,TooltipInfo:aa,TooltipTextBox:No,TopBanner:kh,TrainingBlock:Am,TrainingBlockButton:wn,TrainingCard:hg,TrainingCardGroup:mg,TrainingPagePopup:Da,TrainingPagePopupBottom:kc,TrainingPagePopupTitle:Sc,TrainingResultPopup:Mc,TrainingStep:Va,TrainingStepAudioPlayer:wr,TrainingStepBullet:gc,TrainingStepCard:xc,TrainingStepConfirm:Ln,TrainingStepConfirmWithText:Mn,TrainingStepListen:Pn,TrainingStepOrderList:Rn,TrainingStepTextBox:yc,TrainingStepTitle:fc,TrainingTooltip:tg,TrainingWordCard:Sn,UpdateAlert:pg,WORD_TABLE_PAPER:io,WORD_TYPE_LABEL:sc,WordDataProvider:lg,WordDataUpdatePopup:fg,WordImageTooltip:$c,WordSearchFilterPanel:Ub,WordSearchResultBlock:qb,WordTable:so,WordTableBlock:bg,WordTableButton:gg,WordTablePopup:Um,WordTableThumbnail:zc,buildMonthChartData:dm,cellLabel:Jm,cellsForLabels:db,clearPassCardBgTheme:fa,clearPromoBannerBgTheme:Nt,closeTrainingPopup:Lb,companyTypeLabel:ng,createTrainingScenario:Rb,cx:_e,deriveNoiseContexts:Wb,derivePassCard:Ll,draftValues:gb,expandSlashLabel:Tn,formatDuration:ub,getControlDateRange:hm,getPayloadTimestamp:$n,getPromoBannerBgTheme:As,getSelectedFromPayload:Ib,getSelectedText:zb,getStepPayload:Tc,getSteppedPayload:Ob,injectPassCardBgTheme:ga,injectPromoBannerBgTheme:Bt,isSelectionCorrect:Fb,labelsForSave:Xm,markAfterClick:ac,marksForSave:An,missesByType:ib,nextFocus:ob,nextMisses:nb,pageStartIndexes:nc,passCardBgIhabTheme:zl,passCardBgLeftColorGridTheme:Ol,passCardBgTwoCircleTheme:Pl,printWordTable:jm,promoBannerBgDarkTheme:zs,promoBannerBgDeepTheme:Ls,promoBannerBgDiagonalTheme:Hs,promoBannerBgDotsTheme:Gs,promoBannerBgInstagramTheme:Qs,promoBannerBgMainTheme:Ts,promoBannerBgNaverTheme:Xs,promoBannerBgOutlineTheme:Ys,promoBannerBgRadialTheme:Fs,promoBannerBgSoftSubTheme:Ps,promoBannerBgSoftTheme:Ns,promoBannerBgSubTheme:Es,promoBannerBgSuccessTheme:Ks,promoBannerBgWarmTheme:$s,recommendTables:lb,regenerateUnpinned:bb,removeItem:mb,resolveTrainingItems:Pb,resolveTrainingPopupMeta:Ac,reviewCells:Km,reviewSetPlan:sb,reviewTableName:Zm,scoreKey:_r,scoreSheetHeader:Qm,shouldConfirmDiscard:Em,splitTrainingVariants:Mb,summarize:Dm,summarizeMisses:rb,tableTrends:ab,toDraft:pb,toTrainingText:$b,togglePin:hb,uncoveredLabels:cb,useAnchoredMenu:ao,useBarChartControl:Yl,useCalendarMonth:ql,useComboboxSuggestions:Hl,useFitScale:lc,useSoundCompassExam:Al,useToastLifecycle:Xl,useWordData:sg,useWordTableDisplaySettings:uc,useWordTablePrint:Nn,weakItems:tb}),h6=Object.freeze({__proto__:null});const m6={...p6,...A5,...M4,...h6};exports.Accordion=Sh,exports.ActionCard=Fp,exports.Alert=Wh,exports.AppHeader=Bh,exports.AudioMeter=Cn,exports.AudioPlayer=wr,exports.Avatar=Gh,exports.Badge=ht,exports.BarChart=pm,exports.BarChartControls=Ul,exports.Board=Jh,exports.BottomNav=Tl,exports.BrandIdentity=El,exports.Breadcrumb=Yh,exports.BulkBar=sm,exports.Button=re,exports.CACHE_GROUPS=il,exports.CAPABILITY=fo,exports.CHOSEONG=Ze,exports.CORE_VERSION=Nr,exports.Calendar=km,exports.CardStep=jc,exports.ChartLegend=yn,exports.ChartSection=xn,exports.ChartTotal=yr,exports.Checkbox=Gl,exports.ChoiceChips=vb,exports.CircleBadge=zh,exports.CodeBox=im,exports.ColorPicker=Kh,exports.CompanyMeta=rm,exports.ConfirmPopup=Jb,exports.ConfirmStep=Nc,exports.ConfirmWithTextStep=Dc,exports.ContrastFilterPanel=Zb,exports.CoreScope=Wp,exports.CountTile=Zh,exports.CouponInputPopup=Qb,exports.DEFAULT_LOCALE=co,exports.DatePicker=cm,exports.DebugResultLauncher=vg,exports.DescriptionTooltip=to,exports.DeviceSideTable=_m,exports.Dialog=Xh,exports.Divider=Oh,exports.DocumentTitleSuppressContext=rl,exports.Dropdown=Ut,exports.EMPTY_COMPOSITION=un,exports.EffectPartyPopper=Ic,exports.EffectPartyPopperHost=og,exports.EmptyState=zp,exports.ErrorState=Op,exports.FILTER_ALL_VALUE=Dt,exports.FileUpload=qh,exports.FilterPanel=va,exports.FilterSectionInfo=So,exports.Footer=yb,exports.Header=jl,exports.I18nProvider=Jf,exports.Icon=Fe,exports.IconGridMenu=fb,exports.IconRenderer=Fe,exports.InfoTooltip=aa,exports.JONGSEONG=gt,exports.JUNGSEONG=dt,exports.LOCALE_STORAGE_KEY=Fn,exports.LONG_STORIES=Ia,exports.LandingBottomSticky=Cb,exports.LandingHeader=xb,exports.ListPopup=Xb,exports.ListenStep=Bc,exports.Loader=Ao,exports.MARKS=tc,exports.MARK_ICON=oc,exports.MARK_VARIANT=rc,exports.MediaQueryOverrideContext=ln,exports.MenuTooltip=br,exports.NETWORK_ERROR_MESSAGE=Ji,exports.NOISE_DATAS=Ra,exports.NO_CODA=ra,exports.NoiseSettingsTooltip=wc,exports.NoticeBox=Hp,exports.ORDER_SETS=za,exports.OrderListStep=Ec,exports.PASS_CARD_BG_VARS=Fa,exports.PLAN_FEATURES=Ep,exports.PLAN_LIMITS=Lp,exports.POS_LABEL=ic,exports.PROMO_BANNER_BG_COMPONENTS=tl,exports.PROMO_BANNER_BG_OPTIONS=Vp,exports.PROMO_BANNER_BG_VARS=Co,exports.Page=Sr,exports.PageTitle=rg,exports.Pagination=vr,exports.Panel=kr,exports.PanelGrid=Eb,exports.PanelRow=Na,exports.PanelRowDevice=Db,exports.PassCard=$l,exports.PassCardBg=Ph,exports.PassCardBgIHAB=Rh,exports.PassCardBgLeftColorGrid=$h,exports.PassCardBgTwoCircle=Rl,exports.PaymentPlan=Mh,exports.PersonCard=Qh,exports.PhonemeFilterPanel=Kb,exports.PhonemeSelectBlock=Yb,exports.Popup=Ta,exports.ProgressBar=ym,exports.ProgressIndicator=Jl,exports.PromoBanner=wh,exports.PromoBannerBgDark=Os,exports.PromoBannerBgDeep=Ms,exports.PromoBannerBgDiagonal=Vs,exports.PromoBannerBgDots=qs,exports.PromoBannerBgInstagram=el,exports.PromoBannerBgMain=Bs,exports.PromoBannerBgNaver=Js,exports.PromoBannerBgOutline=Us,exports.PromoBannerBgRadial=Ws,exports.PromoBannerBgSoft=Ds,exports.PromoBannerBgSoftSub=Rs,exports.PromoBannerBgSub=js,exports.PromoBannerBgSuccess=Zs,exports.PromoBannerBgWarm=Is,exports.PublicationCard=tm,exports.Radio=Wl,exports.RadioGroup=Fh,exports.Rating=Uh,exports.ReportDocument=dg,exports.ReportInfoPanel=ug,exports.RingChart=gm,exports.SENTENCE_TRAINING_TYPES=En,exports.SHORT_STORIES=$a,exports.SUPPORTED_LOCALES=Lo,exports.SYLLABLE_MIN=na,exports.SearchSummary=Hh,exports.Section=no,exports.SectionHeader=om,exports.SegmentedControl=Ha,exports.ShortcutBadge=Fl,exports.SideNav=Bl,exports.Slider=Kl,exports.SoundCompass=Ih,exports.SplashLogo=am,exports.StatChart=fm,exports.SummaryStrip=cg,exports.TIER_RANK=jp,exports.TOPIC_TYPES=vp,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=eg,exports.TRAINING_TYPES=en,exports.TRAINING_TYPE_I18N_KEY=Cs,exports.Table=_n,exports.TableFilterPanel=Bn,exports.Tabs=Vh,exports.TextBoxTooltip=No,exports.TextField=Wa,exports.Timeline=em,exports.Toast=ro,exports.Toggle=Vl,exports.Toolbar=vn,exports.Tooltip=Sa,exports.TooltipInfo=aa,exports.TooltipTextBox=No,exports.TopBanner=kh,exports.TrainingBlock=Am,exports.TrainingBlockButton=wn,exports.TrainingCard=hg,exports.TrainingCardGroup=mg,exports.TrainingPagePopup=Da,exports.TrainingPagePopupBottom=kc,exports.TrainingPagePopupTitle=Sc,exports.TrainingResultPopup=Mc,exports.TrainingStep=Va,exports.TrainingStepAudioPlayer=wr,exports.TrainingStepBullet=gc,exports.TrainingStepCard=xc,exports.TrainingStepConfirm=Ln,exports.TrainingStepConfirmWithText=Mn,exports.TrainingStepListen=Pn,exports.TrainingStepOrderList=Rn,exports.TrainingStepTextBox=yc,exports.TrainingStepTitle=fc,exports.TrainingTooltip=tg,exports.TrainingWordCard=Sn,exports.UpdateAlert=pg,exports.VAP_PAGE_SIZE_OPTIONS=ll,exports.WORD_SUGGESTION_ACCOUNT_LIMIT=Rp,exports.WORD_SUGGESTION_EXISTING_ERROR=Ip,exports.WORD_SUGGESTION_WEEKLY_QUOTA=Pp,exports.WORD_TABLE_PAPER=io,exports.WORD_TYPE_LABEL=sc,exports.WordDataProvider=lg,exports.WordDataUpdatePopup=fg,exports.WordImageTooltip=$c,exports.WordSearchFilterPanel=Ub,exports.WordSearchResultBlock=qb,exports.WordTable=so,exports.WordTableBlock=bg,exports.WordTableButton=gg,exports.WordTablePopup=Um,exports.WordTableThumbnail=zc,exports.applyFontScale=ms,exports.applyTheme=ps,exports.buildChangeWholeSyllableProblem=Xi,exports.buildDropCompoundProblem=qi,exports.buildDropContrast3Problem=Gi,exports.buildDropContrastProblem=Vi,exports.buildDropFinalConsonantProblem=Yi,exports.buildGradeSection=pl,exports.buildMonthChartData=dm,exports.buildMultiPartPosContrast=Si,exports.buildPairIndex=su,exports.buildPartOfSpeechSection=hl,exports.buildPositionSection=nh,exports.buildRemoveConsonantProblem=Ki,exports.buildSelectSection=rh,exports.buildSyllableMaskIndex=Zi,exports.buildSyllableSection=oh,exports.buildWordTypeSection=ml,exports.bulkSetImageExistence=Zd,exports.cardQuestionTitle=Bu,exports.cellLabel=Jm,exports.cellsForLabels=db,exports.charToPronValue=yl,exports.checkImageExists=Yo,exports.classifyPairDifficulty=pi,exports.clearAudioExistsCache=Hd,exports.clearImageExistenceCache=di,exports.clearPairIndexCache=_i,exports.clearPassCardBgTheme=fa,exports.clearPromoBannerBgTheme=Nt,exports.closeTrainingPopup=Lb,exports.companyTypeLabel=ng,exports.composeSyllable=ua,exports.computeDailySelection=gs,exports.configureImageResolver=Ud,exports.configureNoiseSettingsStore=Xu,exports.configurePronunciationResolver=Gd,exports.configureStorage=ti,exports.configureTTS=Wd,exports.configureTrainingCategories=dp,exports.convertComposition=Cl,exports.copyText=ls,exports.createDecompCache=ui,exports.createTTSUrlResolver=ep,exports.createTrainingScenario=Rb,exports.cx=_e,exports.dateToDb=cp,exports.default=m6,exports.deriveNoiseContexts=Wb,exports.derivePassCard=Ll,exports.downloadCsvText=Mu,exports.downloadSound=jr,exports.draftValues=gb,exports.ensureTrainingDataLoaded=xs,exports.escapeCsvField=Lu,exports.expandSlashLabel=Tn,exports.fileExists=ai,exports.filterContrastCandidates=ki,exports.finalToPhoneme=Gr,exports.firstChoseongOf=hi,exports.fmtBytes=Up,exports.formatCount=rr,exports.formatDateKo=tp,exports.formatDateLocale=op,exports.formatDateLongKo=ap,exports.formatDateLongLocale=rp,exports.formatDatetimeKo=np,exports.formatDuration=ub,exports.formatPhone=sp,exports.formatRelativeTime=Zr,exports.formatTimeHM=Jr,exports.formatYmd=Xr,exports.getAssetBaseUrl=Qn,exports.getControlDateRange=hm,exports.getDailySelection=gp,exports.getElementAnalyser=Vo,exports.getErrorMessage=Ur,exports.getImageExistenceStats=Pr,exports.getImageExistsCached=ci,exports.getImageResolver=Ma,exports.getNoiseBaseUrl=oi,exports.getPairIndex=Ka,exports.getPayloadTimestamp=$n,exports.getPlanTier=Mp,exports.getPromoBannerBgTheme=As,exports.getPronunciationResolver=ii,exports.getSavedFontScale=hs,exports.getSavedTheme=us,exports.getSelectedFromPayload=Ib,exports.getSelectedText=zb,exports.getSignedOrPublicUrl=Oo,exports.getStepPayload=Tc,exports.getSteppedPayload=Ob,exports.getTTSFallbackUrlResolver=ni,exports.getTTSUrlResolver=Fo,exports.getTodayKst=Kr,exports.getTopicTypes=Qr,exports.getTrainingPools=fs,exports.getTrainingTypes=ds,exports.getWordPool=vo,exports.hasQuestionWordConstraint=Cu,exports.hasSel=ft,exports.hasStructureContrast=Ko,exports.initFontScale=mp,exports.initTheme=pp,exports.injectPassCardBgTheme=ga,exports.injectPromoBannerBgTheme=Bt,exports.isAllChoseong=bi,exports.isManualOnlyType=wu,exports.isNetworkErrorMessage=Qi,exports.isSelectionCorrect=Fb,exports.isSyllablePattern=vi,exports.isThisWeekPick=$p,exports.isTrainingDataLoaded=fp,exports.isValidQuestionWord=_u,exports.itemCorrectness=os,exports.jamoToNamesForSpeech=Nu,exports.labelsForSave=Xm,exports.loadGameLeaderboard=Zu,exports.loadMyGameRanks=Ku,exports.loadNoiseSettings=is,exports.loadTrainingData=ys,exports.logCrossword=Ou,exports.logTrainingCompletion=as,exports.logTrainingTime=ts,exports.lsBytes=sl,exports.markAfterClick=ac,exports.marksForSave=An,exports.matchSyllables=Ja,exports.matchesChoseongSearch=Xd,exports.matchesSyllablePattern=yi,exports.matchesWordQuery=ho,exports.meaningKey=mn,exports.mergeQuestionText=Wi,exports.minimalPairDistractors=Rr,exports.missesByType=ib,exports.nextFocus=ob,exports.nextMisses=nb,exports.normalizeDate=lp,exports.officialSoundPath=Qu,exports.pageStartIndexes=nc,exports.parseSortValue=ju,exports.parseSyllable=Me,exports.passCardBgIhabTheme=zl,exports.passCardBgLeftColorGridTheme=Ol,exports.passCardBgTwoCircleTheme=Pl,exports.patternToComposition=ou,exports.phonemePartsOf=Tu,exports.pickEuRo=zi,exports.pickEulReul=Pi,exports.pickEunNeun=$i,exports.pickIga=Li,exports.pickWaGwa=Ii,exports.prewarmImageCache=Kd,exports.primarySelPart=tr,exports.printWordTable=jm,exports.promoBannerBgDarkTheme=zs,exports.promoBannerBgDeepTheme=Ls,exports.promoBannerBgDiagonalTheme=Hs,exports.promoBannerBgDotsTheme=Gs,exports.promoBannerBgInstagramTheme=Qs,exports.promoBannerBgMainTheme=Ts,exports.promoBannerBgNaverTheme=Xs,exports.promoBannerBgOutlineTheme=Ys,exports.promoBannerBgRadialTheme=Fs,exports.promoBannerBgSoftSubTheme=Ps,exports.promoBannerBgSoftTheme=Ns,exports.promoBannerBgSubTheme=Es,exports.promoBannerBgSuccessTheme=Ks,exports.promoBannerBgWarmTheme=$s,exports.pronToCharValue=xl,exports.readLevel=si,exports.recommendTables=lb,exports.regenerateUnpinned=bb,exports.removeItem=mb,exports.reorderArray=Oi,exports.resolveAssetUrl=Io,exports.resolveSoundPath=Er,exports.resolveTrainingItems=Pb,exports.resolveTrainingPopupMeta=Ac,exports.resumeAudioMeter=Ho,exports.reviewCells=Km,exports.reviewSetPlan=sb,exports.reviewTableName=Zm,exports.sample=Jt,exports.saveLocale=Zf,exports.saveNoiseSettings=ss,exports.scoreKey=_r,exports.scoreSheetHeader=Qm,exports.searchAndRankWords=nu,exports.setAssetBaseUrl=Od,exports.setCrosswordLogger=zu,exports.setGameLeaderboardLoader=Yu,exports.setGameRanksLoader=qu,exports.setGameScoreSubmitter=Gu,exports.setTrainingCompletionLogger=Iu,exports.setTrainingTimeLogger=$u,exports.setWordPool=Ru,exports.shouldConfirmDiscard=Em,exports.shuffle=Ge,exports.sortToValue=Eu,exports.soundOf=Yr,exports.speak=$d,exports.splitTrainingVariants=Mb,exports.stopSpeaking=Id,exports.submitGameScore=Uu,exports.summarize=Dm,exports.summarizeMisses=rb,exports.syllMatchesComp=Pa,exports.syllableContrasts=Qa,exports.syllableLength=bo,exports.syllablePron=Hi,exports.syllableToFilter=dn,exports.tableTrends=ab,exports.toBase64UrlSafe=Ju,exports.toChoseong=mi,exports.toDraft=pb,exports.toItemResults=rs,exports.toKstHm=ip,exports.toKstYmd=ka,exports.toStandardPronunciation=fu,exports.toStorageName=ar,exports.toTrainingText=$b,exports.toUserErrorMessage=Du,exports.today=_o,exports.toggleAttributeFilter=ih,exports.togglePin=hb,exports.uncoveredLabels=cb,exports.useAnchoredMenu=ao,exports.useBarChartControl=Yl,exports.useCacheManagement=Kp,exports.useCalendarMonth=ql,exports.useComboboxSuggestions=Hl,exports.useDailyTrainingSelection=fh,exports.useDelayedHoverAnchor=xh,exports.useDeviceManagement=ah,exports.useDocumentTitle=nl,exports.useEscToClose=kl,exports.useFitScale=lc,exports.useFontScale=sn,exports.useHoverAnchor=ko,exports.useI18n=Xf,exports.useMediaQuery=oa,exports.usePagedList=Ch,exports.usePasswordChange=Yp,exports.useRelativeDay=qp,exports.useSoundCompassExam=Al,exports.useTablePaging=cl,exports.useTableSort=dl,exports.useToastLifecycle=Xl,exports.useToastState=bn,exports.useTrainingTypeLabels=_h,exports.useVisitAllPanel=th,exports.useVisitHistory=Jp,exports.useVisitSchedule=eh,exports.useWindowEvent=ur,exports.useWordAttributeFilterKeys=ul,exports.useWordData=sg,exports.useWordDataStats=Zp,exports.useWordMeanings=yh,exports.useWordTableDisplaySettings=uc,exports.useWordTablePrint=Nn,exports.useWordTrainingDataGeneration=mh,exports.useWordTrainingFilter=hh,exports.validateSyllableSearchInput=ru,exports.valueToJamos=ba,exports.weakItems=tb,exports.withEuRo=xu,exports.withEulReul=Ri,exports.withEunNeun=vu,exports.withIga=Mi,exports.withWaGwa=yu,exports.wordContainsChoseong=Qd,exports.wordContainsJongseong=tu,exports.wordContainsJungseong=eu,exports.wordHasNoCoda=gi,exports.wordHasSyllableMatching=fi,exports.wrongItems=Fu;
|
|
1002
|
+
\uC778\uB77C\uC778 width\uAC00 \uC544\uC608 \uC124\uC815\uB418\uC9C0 \uC54A\uC544(undefined) \uACBD\uD569 \uC790\uCCB4\uAC00 \uC5C6\uC74C(\uCF54\uB4DC \uD655\uC778\uB428). */.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:wdup-indeterminate 1.4s ease-in-out infinite;width:40%}@keyframes wdup-indeterminate{0%{transform:translateX(-150%)}to{transform:translateX(400%)}}.ihabdevteam-core-scope .wdup-phase-card__sub{color:var(--color-lightGray)}`;te(c6);function d6(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Oc({icon:e,label:t,state:a,pct:r,subText:n}){const{t:i}=me.useTranslation(),s=a==="done",c=a==="pending",d=a==="error",u=s?100:r??0;return o.jsxs("div",{className:"wdup-phase-card",children:[o.jsx("div",{className:`wdup-phase-card__icon${s?" wdup-phase-card__icon--done":d?" wdup-phase-card__icon--error":""}`,children:s?o.jsx(cd,{size:22,color:"white",strokeWidth:2.5}):d?o.jsx(l6,{size:22,color:"white",strokeWidth:2.5}):o.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),o.jsxs("div",{className:"wdup-phase-card__body",children:[o.jsxs("div",{className:"wdup-phase-card__top",children:[o.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),s?o.jsx(ht,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):d?o.jsx(ht,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(n||r!==void 0)&&o.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[n,n&&r!==void 0?` \xB7 ${r}%`:r!==void 0?`${r}%`:""]})]}),!c&&o.jsx("div",{className:"wdup-bar",children:o.jsx("div",{className:`wdup-bar__fill${s?" wdup-bar__fill--done":d?" wdup-bar__fill--error":""}${a==="active"&&r===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:r!==void 0||s||d?`${d?100:u}%`:void 0}})})]})]})}function fg({title:e,progress:t,onDone:a,onRetry:r,inline:n}){const{t:i}=me.useTranslation(),{phase:s,error:c,wordCount:d,imagePage:u,imageDone:m,imageTotal:h,pairPercent:p}=t,g=d6(s),f=s==="done",b=!!c;function v(w){return b&&g===w?"error":g>w?"done":g===w?"active":"pending"}const y=v(1),_=v(2),C=v(3),x=s==="image-match"&&h?Math.round((m??0)/h*100):void 0,k=l.useMemo(()=>{if(_!=="done"){if(s==="image-list")return i("wordData.checkingPage",{page:u??1});if(s==="image-match"&&h)return i("wordData.imageCount",{done:rr(m),total:rr(h)})}},[_,s,u,h,m,i]);return o.jsx(Ta,{inline:n,className:"popup--word-data-update",title:e,footer:b?o.jsx(re,{size:56,variant:"main",onClick:r,children:i("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):o.jsx(re,{size:56,variant:"main",disabled:!f,onClick:a,children:i("common.done","\uC644\uB8CC")}),children:o.jsxs("div",{className:"wdup-cards",children:[o.jsx(Oc,{icon:o.jsx(rd,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:y,subText:y==="active"?i("wordData.downloadingCount",{n:rr(d)}):void 0}),o.jsx(Oc,{icon:o.jsx(i6,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:_,pct:x,subText:k}),o.jsx(Oc,{icon:o.jsx(sd,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:i("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:C,pct:C==="active"?p??0:void 0,subText:void 0})]})})}var u6=".ihabdevteam-core-scope .debug-result-launcher{bottom:18px;display:flex;flex-direction:column;gap:var(--spacing-xs);position:fixed;right:18px;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .debug-buttons{background:rgba(11,43,47,.02);border-radius:var(--radius-s);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:6px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .debug-button{background:var(--color-white);border:1px solid rgba(11,43,47,.06);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:8px 12px}.ihabdevteam-core-scope .debug-button:hover{transform:translateY(-1px)}";te(u6);function vg({enabled:e=!1,renderResultPopup:t}={}){const[a,r]=l.useState(null),[n,i]=l.useState(null),s=p=>{let g=null;p==="noise"?g={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:p==="short"?g={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:p==="long"?g={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:p==="order"&&(g={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),i(g),r(p)},c=l.useCallback(()=>{r(null),i(null)},[]),d=l.useCallback(()=>s("noise"),[]),u=l.useCallback(()=>s("short"),[]),m=l.useCallback(()=>s("long"),[]),h=l.useCallback(()=>s("order"),[]);return e?o.jsxs("div",{className:"debug-result-launcher",children:[o.jsxs("div",{className:"debug-buttons",children:[o.jsx("button",{className:"debug-button",onClick:d,children:"Noise \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:u,children:"ShortStory \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:m,children:"LongStory \uACB0\uACFC\uBCF4\uAE30"}),o.jsx("button",{className:"debug-button",onClick:h,children:"Order \uACB0\uACFC\uBCF4\uAE30"})]}),a&&n?t?.({score:n.score,contextsLength:n.contextsLength,results:n.results,onReplay:c,onClose:c}):null]}):null}var p6=Object.freeze({__proto__:null,Accordion:Sh,ActionCard:Fp,Alert:Wh,AppHeader:Bh,AudioMeter:Cn,AudioPlayer:wr,Avatar:Gh,Badge:ht,BarChart:pm,BarChartControls:Ul,Board:Jh,BottomNav:Tl,BrandIdentity:El,Breadcrumb:Yh,BulkBar:sm,Button:re,CORE_VERSION:Nr,Calendar:km,CardStep:jc,ChartLegend:yn,ChartSection:xn,ChartTotal:yr,Checkbox:Gl,ChoiceChips:vb,CircleBadge:zh,CodeBox:im,ColorPicker:Kh,CompanyMeta:rm,ConfirmPopup:Jb,ConfirmStep:Nc,ConfirmWithTextStep:Dc,ContrastFilterPanel:Zb,CoreScope:Wp,CountTile:Zh,CouponInputPopup:Qb,DatePicker:cm,DebugResultLauncher:vg,DescriptionTooltip:Fa,DeviceSideTable:_m,Dialog:Xh,Divider:Oh,Dropdown:Ut,EffectPartyPopper:Ic,EffectPartyPopperHost:og,EmptyState:zp,ErrorState:Op,FILTER_ALL_VALUE:Dt,FileUpload:qh,FilterPanel:va,FilterSectionInfo:So,Footer:yb,Header:jl,Icon:Fe,IconGridMenu:fb,IconRenderer:Fe,InfoTooltip:ma,LandingBottomSticky:Cb,LandingHeader:xb,ListPopup:Xb,ListenStep:Bc,Loader:Ao,MARKS:tc,MARK_ICON:oc,MARK_VARIANT:rc,MediaQueryOverrideContext:ln,MenuTooltip:br,NoiseSettingsTooltip:wc,NoticeBox:Hp,OrderListStep:Ec,PASS_CARD_BG_VARS:Wa,POS_LABEL:ic,PROMO_BANNER_BG_COMPONENTS:tl,PROMO_BANNER_BG_OPTIONS:Vp,PROMO_BANNER_BG_VARS:Co,Page:Sr,PageTitle:rg,Pagination:vr,Panel:kr,PanelGrid:Eb,PanelRow:Na,PanelRowDevice:Db,PassCard:$l,PassCardBg:Ph,PassCardBgIHAB:Rh,PassCardBgLeftColorGrid:$h,PassCardBgTwoCircle:Rl,PaymentPlan:Mh,PersonCard:Qh,PhonemeFilterPanel:Kb,PhonemeSelectBlock:Yb,Popup:Ta,ProgressBar:ym,ProgressIndicator:Jl,PromoBanner:wh,PromoBannerBgDark:Os,PromoBannerBgDeep:Ms,PromoBannerBgDiagonal:Vs,PromoBannerBgDots:qs,PromoBannerBgInstagram:el,PromoBannerBgMain:Bs,PromoBannerBgNaver:Js,PromoBannerBgOutline:Us,PromoBannerBgRadial:Ws,PromoBannerBgSoft:Ds,PromoBannerBgSoftSub:Rs,PromoBannerBgSub:js,PromoBannerBgSuccess:Zs,PromoBannerBgWarm:Is,PublicationCard:tm,Radio:Wl,RadioGroup:Fh,Rating:Uh,ReportDocument:dg,ReportInfoPanel:ug,RingChart:gm,SENTENCE_TRAINING_TYPES:En,SearchSummary:Hh,Section:no,SectionHeader:om,SegmentedControl:Va,ShortcutBadge:Fl,SideNav:Bl,Slider:Kl,SoundCompass:Ih,SplashLogo:am,StatChart:fm,SummaryStrip:cg,TRAINING_TOOLTIP_HOVER_DELAY_MS:eg,Table:_n,TableFilterPanel:Bn,Tabs:Vh,TextBoxTooltip:No,TextField:Ha,Timeline:em,Toast:ro,Toggle:Vl,Toolbar:vn,Tooltip:Sa,TooltipInfo:ma,TooltipTextBox:No,TopBanner:kh,TrainingBlock:Am,TrainingBlockButton:wn,TrainingCard:hg,TrainingCardGroup:mg,TrainingPagePopup:Da,TrainingPagePopupBottom:kc,TrainingPagePopupTitle:Sc,TrainingResultPopup:Mc,TrainingStep:Ga,TrainingStepAudioPlayer:wr,TrainingStepBullet:gc,TrainingStepCard:xc,TrainingStepConfirm:Ln,TrainingStepConfirmWithText:Mn,TrainingStepListen:Pn,TrainingStepOrderList:Rn,TrainingStepTextBox:yc,TrainingStepTitle:fc,TrainingTooltip:tg,TrainingWordCard:Sn,UpdateAlert:pg,WORD_TABLE_PAPER:io,WORD_TYPE_LABEL:sc,WordDataProvider:lg,WordDataUpdatePopup:fg,WordImageTooltip:$c,WordSearchFilterPanel:Ub,WordSearchResultBlock:qb,WordTable:so,WordTableBlock:bg,WordTableButton:gg,WordTablePopup:Um,WordTableThumbnail:zc,buildMonthChartData:dm,cellLabel:Jm,cellsForLabels:db,clearPassCardBgTheme:fa,clearPromoBannerBgTheme:Nt,closeTrainingPopup:Lb,companyTypeLabel:ng,createTrainingScenario:Rb,cx:_e,deriveNoiseContexts:Wb,derivePassCard:Ll,draftValues:gb,expandSlashLabel:Tn,formatDuration:ub,getControlDateRange:hm,getPayloadTimestamp:$n,getPromoBannerBgTheme:As,getSelectedFromPayload:Ib,getSelectedText:zb,getStepPayload:Tc,getSteppedPayload:Ob,injectPassCardBgTheme:ga,injectPromoBannerBgTheme:Bt,isSelectionCorrect:Fb,labelsForSave:Xm,markAfterClick:ac,marksForSave:An,missesByType:ib,nextFocus:ob,nextMisses:nb,pageStartIndexes:nc,passCardBgIhabTheme:zl,passCardBgLeftColorGridTheme:Ol,passCardBgTwoCircleTheme:Pl,printWordTable:jm,promoBannerBgDarkTheme:zs,promoBannerBgDeepTheme:Ls,promoBannerBgDiagonalTheme:Hs,promoBannerBgDotsTheme:Gs,promoBannerBgInstagramTheme:Qs,promoBannerBgMainTheme:Ts,promoBannerBgNaverTheme:Xs,promoBannerBgOutlineTheme:Ys,promoBannerBgRadialTheme:Fs,promoBannerBgSoftSubTheme:Ps,promoBannerBgSoftTheme:Ns,promoBannerBgSubTheme:Es,promoBannerBgSuccessTheme:Ks,promoBannerBgWarmTheme:$s,recommendTables:lb,regenerateUnpinned:bb,removeItem:mb,resolveTrainingItems:Pb,resolveTrainingPopupMeta:Ac,reviewCells:Km,reviewSetPlan:sb,reviewTableName:Zm,scoreKey:_r,scoreSheetHeader:Qm,shouldConfirmDiscard:Em,splitTrainingVariants:Mb,summarize:Dm,summarizeMisses:rb,tableTrends:ab,toDraft:pb,toTrainingText:$b,togglePin:hb,uncoveredLabels:cb,useAnchoredMenu:ao,useBarChartControl:Yl,useCalendarMonth:ql,useComboboxSuggestions:Hl,useFitScale:lc,useSoundCompassExam:Al,useToastLifecycle:Xl,useWordData:sg,useWordTableDisplaySettings:uc,useWordTablePrint:Nn,weakItems:tb}),h6=Object.freeze({__proto__:null});const m6={...p6,...A5,...M4,...h6};exports.Accordion=Sh,exports.ActionCard=Fp,exports.Alert=Wh,exports.AppHeader=Bh,exports.AudioMeter=Cn,exports.AudioPlayer=wr,exports.Avatar=Gh,exports.Badge=ht,exports.BarChart=pm,exports.BarChartControls=Ul,exports.Board=Jh,exports.BottomNav=Tl,exports.BrandIdentity=El,exports.Breadcrumb=Yh,exports.BulkBar=sm,exports.Button=re,exports.CACHE_GROUPS=il,exports.CAPABILITY=fo,exports.CHOSEONG=Ze,exports.CORE_VERSION=Nr,exports.Calendar=km,exports.CardStep=jc,exports.ChartLegend=yn,exports.ChartSection=xn,exports.ChartTotal=yr,exports.Checkbox=Gl,exports.ChoiceChips=vb,exports.CircleBadge=zh,exports.CodeBox=im,exports.ColorPicker=Kh,exports.CompanyMeta=rm,exports.ConfirmPopup=Jb,exports.ConfirmStep=Nc,exports.ConfirmWithTextStep=Dc,exports.ContrastFilterPanel=Zb,exports.CoreScope=Wp,exports.CountTile=Zh,exports.CouponInputPopup=Qb,exports.DEFAULT_LOCALE=co,exports.DatePicker=cm,exports.DebugResultLauncher=vg,exports.DescriptionTooltip=Fa,exports.DeviceSideTable=_m,exports.Dialog=Xh,exports.Divider=Oh,exports.DocumentTitleSuppressContext=rl,exports.Dropdown=Ut,exports.EMPTY_COMPOSITION=un,exports.EffectPartyPopper=Ic,exports.EffectPartyPopperHost=og,exports.EmptyState=zp,exports.ErrorState=Op,exports.FILTER_ALL_VALUE=Dt,exports.FileUpload=qh,exports.FilterPanel=va,exports.FilterSectionInfo=So,exports.Footer=yb,exports.Header=jl,exports.I18nProvider=Jf,exports.Icon=Fe,exports.IconGridMenu=fb,exports.IconRenderer=Fe,exports.InfoTooltip=ma,exports.JONGSEONG=gt,exports.JUNGSEONG=dt,exports.LOCALE_STORAGE_KEY=Fn,exports.LONG_STORIES=Ia,exports.LandingBottomSticky=Cb,exports.LandingHeader=xb,exports.ListPopup=Xb,exports.ListenStep=Bc,exports.Loader=Ao,exports.MARKS=tc,exports.MARK_ICON=oc,exports.MARK_VARIANT=rc,exports.MediaQueryOverrideContext=ln,exports.MenuTooltip=br,exports.NETWORK_ERROR_MESSAGE=Ji,exports.NOISE_DATAS=Ra,exports.NO_CODA=oa,exports.NoiseSettingsTooltip=wc,exports.NoticeBox=Hp,exports.ORDER_SETS=za,exports.OrderListStep=Ec,exports.PASS_CARD_BG_VARS=Wa,exports.PLAN_FEATURES=Ep,exports.PLAN_LIMITS=Lp,exports.POS_LABEL=ic,exports.PROMO_BANNER_BG_COMPONENTS=tl,exports.PROMO_BANNER_BG_OPTIONS=Vp,exports.PROMO_BANNER_BG_VARS=Co,exports.Page=Sr,exports.PageTitle=rg,exports.Pagination=vr,exports.Panel=kr,exports.PanelGrid=Eb,exports.PanelRow=Na,exports.PanelRowDevice=Db,exports.PassCard=$l,exports.PassCardBg=Ph,exports.PassCardBgIHAB=Rh,exports.PassCardBgLeftColorGrid=$h,exports.PassCardBgTwoCircle=Rl,exports.PaymentPlan=Mh,exports.PersonCard=Qh,exports.PhonemeFilterPanel=Kb,exports.PhonemeSelectBlock=Yb,exports.Popup=Ta,exports.ProgressBar=ym,exports.ProgressIndicator=Jl,exports.PromoBanner=wh,exports.PromoBannerBgDark=Os,exports.PromoBannerBgDeep=Ms,exports.PromoBannerBgDiagonal=Vs,exports.PromoBannerBgDots=qs,exports.PromoBannerBgInstagram=el,exports.PromoBannerBgMain=Bs,exports.PromoBannerBgNaver=Js,exports.PromoBannerBgOutline=Us,exports.PromoBannerBgRadial=Ws,exports.PromoBannerBgSoft=Ds,exports.PromoBannerBgSoftSub=Rs,exports.PromoBannerBgSub=js,exports.PromoBannerBgSuccess=Zs,exports.PromoBannerBgWarm=Is,exports.PublicationCard=tm,exports.Radio=Wl,exports.RadioGroup=Fh,exports.Rating=Uh,exports.ReportDocument=dg,exports.ReportInfoPanel=ug,exports.RingChart=gm,exports.SENTENCE_TRAINING_TYPES=En,exports.SHORT_STORIES=$a,exports.SUPPORTED_LOCALES=Lo,exports.SYLLABLE_MIN=ra,exports.SearchSummary=Hh,exports.Section=no,exports.SectionHeader=om,exports.SegmentedControl=Va,exports.ShortcutBadge=Fl,exports.SideNav=Bl,exports.Slider=Kl,exports.SoundCompass=Ih,exports.SplashLogo=am,exports.StatChart=fm,exports.SummaryStrip=cg,exports.TIER_RANK=jp,exports.TOPIC_TYPES=vp,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=eg,exports.TRAINING_TYPES=en,exports.TRAINING_TYPE_I18N_KEY=Cs,exports.Table=_n,exports.TableFilterPanel=Bn,exports.Tabs=Vh,exports.TextBoxTooltip=No,exports.TextField=Ha,exports.Timeline=em,exports.Toast=ro,exports.Toggle=Vl,exports.Toolbar=vn,exports.Tooltip=Sa,exports.TooltipInfo=ma,exports.TooltipTextBox=No,exports.TopBanner=kh,exports.TrainingBlock=Am,exports.TrainingBlockButton=wn,exports.TrainingCard=hg,exports.TrainingCardGroup=mg,exports.TrainingPagePopup=Da,exports.TrainingPagePopupBottom=kc,exports.TrainingPagePopupTitle=Sc,exports.TrainingResultPopup=Mc,exports.TrainingStep=Ga,exports.TrainingStepAudioPlayer=wr,exports.TrainingStepBullet=gc,exports.TrainingStepCard=xc,exports.TrainingStepConfirm=Ln,exports.TrainingStepConfirmWithText=Mn,exports.TrainingStepListen=Pn,exports.TrainingStepOrderList=Rn,exports.TrainingStepTextBox=yc,exports.TrainingStepTitle=fc,exports.TrainingTooltip=tg,exports.TrainingWordCard=Sn,exports.UpdateAlert=pg,exports.VAP_PAGE_SIZE_OPTIONS=ll,exports.WORD_SUGGESTION_ACCOUNT_LIMIT=Rp,exports.WORD_SUGGESTION_EXISTING_ERROR=Ip,exports.WORD_SUGGESTION_WEEKLY_QUOTA=Pp,exports.WORD_TABLE_PAPER=io,exports.WORD_TYPE_LABEL=sc,exports.WordDataProvider=lg,exports.WordDataUpdatePopup=fg,exports.WordImageTooltip=$c,exports.WordSearchFilterPanel=Ub,exports.WordSearchResultBlock=qb,exports.WordTable=so,exports.WordTableBlock=bg,exports.WordTableButton=gg,exports.WordTablePopup=Um,exports.WordTableThumbnail=zc,exports.applyFontScale=ms,exports.applyTheme=ps,exports.buildChangeWholeSyllableProblem=Xi,exports.buildDropCompoundProblem=qi,exports.buildDropContrast3Problem=Gi,exports.buildDropContrastProblem=Vi,exports.buildDropFinalConsonantProblem=Yi,exports.buildGradeSection=pl,exports.buildMonthChartData=dm,exports.buildMultiPartPosContrast=Si,exports.buildPairIndex=su,exports.buildPartOfSpeechSection=hl,exports.buildPositionSection=nh,exports.buildRemoveConsonantProblem=Ki,exports.buildSelectSection=rh,exports.buildSyllableMaskIndex=Zi,exports.buildSyllableSection=oh,exports.buildWordTypeSection=ml,exports.bulkSetImageExistence=Zd,exports.cardQuestionTitle=Bu,exports.cellLabel=Jm,exports.cellsForLabels=db,exports.charToPronValue=yl,exports.checkImageExists=Yo,exports.classifyPairDifficulty=pi,exports.clearAudioExistsCache=Hd,exports.clearImageExistenceCache=di,exports.clearPairIndexCache=_i,exports.clearPassCardBgTheme=fa,exports.clearPromoBannerBgTheme=Nt,exports.closeTrainingPopup=Lb,exports.companyTypeLabel=ng,exports.composeSyllable=da,exports.computeDailySelection=gs,exports.configureImageResolver=Ud,exports.configureNoiseSettingsStore=Xu,exports.configurePronunciationResolver=Gd,exports.configureStorage=ti,exports.configureTTS=Wd,exports.configureTrainingCategories=dp,exports.convertComposition=Cl,exports.copyText=ls,exports.createDecompCache=ui,exports.createTTSUrlResolver=ep,exports.createTrainingScenario=Rb,exports.cx=_e,exports.dateToDb=cp,exports.default=m6,exports.deriveNoiseContexts=Wb,exports.derivePassCard=Ll,exports.downloadCsvText=Mu,exports.downloadSound=jr,exports.draftValues=gb,exports.ensureTrainingDataLoaded=xs,exports.escapeCsvField=Lu,exports.expandSlashLabel=Tn,exports.fileExists=ai,exports.filterContrastCandidates=ki,exports.finalToPhoneme=Gr,exports.firstChoseongOf=hi,exports.fmtBytes=Up,exports.formatCount=rr,exports.formatDateKo=tp,exports.formatDateLocale=op,exports.formatDateLongKo=ap,exports.formatDateLongLocale=rp,exports.formatDatetimeKo=np,exports.formatDuration=ub,exports.formatPhone=sp,exports.formatRelativeTime=Zr,exports.formatTimeHM=Jr,exports.formatYmd=Xr,exports.getAssetBaseUrl=Qn,exports.getControlDateRange=hm,exports.getDailySelection=gp,exports.getElementAnalyser=Vo,exports.getErrorMessage=Ur,exports.getImageExistenceStats=Pr,exports.getImageExistsCached=ci,exports.getImageResolver=Ma,exports.getNoiseBaseUrl=oi,exports.getPairIndex=Za,exports.getPayloadTimestamp=$n,exports.getPlanTier=Mp,exports.getPromoBannerBgTheme=As,exports.getPronunciationResolver=ii,exports.getSavedFontScale=hs,exports.getSavedTheme=us,exports.getSelectedFromPayload=Ib,exports.getSelectedText=zb,exports.getSignedOrPublicUrl=Oo,exports.getStepPayload=Tc,exports.getSteppedPayload=Ob,exports.getTTSFallbackUrlResolver=ni,exports.getTTSUrlResolver=Fo,exports.getTodayKst=Kr,exports.getTopicTypes=Qr,exports.getTrainingPools=fs,exports.getTrainingTypes=ds,exports.getWordPool=vo,exports.hasQuestionWordConstraint=Cu,exports.hasSel=ft,exports.hasStructureContrast=Ko,exports.initFontScale=mp,exports.initTheme=pp,exports.injectPassCardBgTheme=ga,exports.injectPromoBannerBgTheme=Bt,exports.isAllChoseong=bi,exports.isManualOnlyType=wu,exports.isNetworkErrorMessage=Qi,exports.isSelectionCorrect=Fb,exports.isSyllablePattern=vi,exports.isThisWeekPick=$p,exports.isTrainingDataLoaded=fp,exports.isValidQuestionWord=_u,exports.itemCorrectness=os,exports.jamoToNamesForSpeech=Nu,exports.labelsForSave=Xm,exports.loadGameLeaderboard=Zu,exports.loadMyGameRanks=Ku,exports.loadNoiseSettings=is,exports.loadTrainingData=ys,exports.logCrossword=Ou,exports.logTrainingCompletion=as,exports.logTrainingTime=ts,exports.lsBytes=sl,exports.markAfterClick=ac,exports.marksForSave=An,exports.matchSyllables=Qa,exports.matchesChoseongSearch=Xd,exports.matchesSyllablePattern=yi,exports.matchesWordQuery=ho,exports.meaningKey=mn,exports.mergeQuestionText=Wi,exports.minimalPairDistractors=Rr,exports.missesByType=ib,exports.nextFocus=ob,exports.nextMisses=nb,exports.normalizeDate=lp,exports.officialSoundPath=Qu,exports.pageStartIndexes=nc,exports.parseSortValue=ju,exports.parseSyllable=Me,exports.passCardBgIhabTheme=zl,exports.passCardBgLeftColorGridTheme=Ol,exports.passCardBgTwoCircleTheme=Pl,exports.patternToComposition=ou,exports.phonemePartsOf=Tu,exports.pickEuRo=zi,exports.pickEulReul=Pi,exports.pickEunNeun=$i,exports.pickIga=Li,exports.pickWaGwa=Ii,exports.prewarmImageCache=Kd,exports.primarySelPart=tr,exports.printWordTable=jm,exports.promoBannerBgDarkTheme=zs,exports.promoBannerBgDeepTheme=Ls,exports.promoBannerBgDiagonalTheme=Hs,exports.promoBannerBgDotsTheme=Gs,exports.promoBannerBgInstagramTheme=Qs,exports.promoBannerBgMainTheme=Ts,exports.promoBannerBgNaverTheme=Xs,exports.promoBannerBgOutlineTheme=Ys,exports.promoBannerBgRadialTheme=Fs,exports.promoBannerBgSoftSubTheme=Ps,exports.promoBannerBgSoftTheme=Ns,exports.promoBannerBgSubTheme=Es,exports.promoBannerBgSuccessTheme=Ks,exports.promoBannerBgWarmTheme=$s,exports.pronToCharValue=xl,exports.readLevel=si,exports.recommendTables=lb,exports.regenerateUnpinned=bb,exports.removeItem=mb,exports.reorderArray=Oi,exports.resolveAssetUrl=Io,exports.resolveSoundPath=Er,exports.resolveTrainingItems=Pb,exports.resolveTrainingPopupMeta=Ac,exports.resumeAudioMeter=Ho,exports.reviewCells=Km,exports.reviewSetPlan=sb,exports.reviewTableName=Zm,exports.sample=Jt,exports.saveLocale=Zf,exports.saveNoiseSettings=ss,exports.scoreKey=_r,exports.scoreSheetHeader=Qm,exports.searchAndRankWords=nu,exports.setAssetBaseUrl=Od,exports.setCrosswordLogger=zu,exports.setGameLeaderboardLoader=Yu,exports.setGameRanksLoader=qu,exports.setGameScoreSubmitter=Gu,exports.setTrainingCompletionLogger=Iu,exports.setTrainingTimeLogger=$u,exports.setWordPool=Ru,exports.shouldConfirmDiscard=Em,exports.shuffle=Ge,exports.sortToValue=Eu,exports.soundOf=Yr,exports.speak=$d,exports.splitTrainingVariants=Mb,exports.stopSpeaking=Id,exports.submitGameScore=Uu,exports.summarize=Dm,exports.summarizeMisses=rb,exports.syllMatchesComp=Pa,exports.syllableContrasts=eo,exports.syllableLength=bo,exports.syllablePron=Hi,exports.syllableToFilter=dn,exports.tableTrends=ab,exports.toBase64UrlSafe=Ju,exports.toChoseong=mi,exports.toDraft=pb,exports.toItemResults=rs,exports.toKstHm=ip,exports.toKstYmd=ka,exports.toStandardPronunciation=fu,exports.toStorageName=ar,exports.toTrainingText=$b,exports.toUserErrorMessage=Du,exports.today=_o,exports.toggleAttributeFilter=ih,exports.togglePin=hb,exports.uncoveredLabels=cb,exports.useAnchoredMenu=ao,exports.useBarChartControl=Yl,exports.useCacheManagement=Kp,exports.useCalendarMonth=ql,exports.useComboboxSuggestions=Hl,exports.useDailyTrainingSelection=fh,exports.useDelayedHoverAnchor=xh,exports.useDeviceManagement=ah,exports.useDocumentTitle=nl,exports.useEscToClose=kl,exports.useFitScale=lc,exports.useFontScale=sn,exports.useHoverAnchor=ko,exports.useI18n=Xf,exports.useMediaQuery=aa,exports.usePagedList=Ch,exports.usePasswordChange=Yp,exports.useRelativeDay=qp,exports.useSoundCompassExam=Al,exports.useTablePaging=cl,exports.useTableSort=dl,exports.useToastLifecycle=Xl,exports.useToastState=bn,exports.useTrainingTypeLabels=_h,exports.useVisitAllPanel=th,exports.useVisitHistory=Jp,exports.useVisitSchedule=eh,exports.useWindowEvent=ur,exports.useWordAttributeFilterKeys=ul,exports.useWordData=sg,exports.useWordDataStats=Zp,exports.useWordMeanings=yh,exports.useWordTableDisplaySettings=uc,exports.useWordTablePrint=Nn,exports.useWordTrainingDataGeneration=mh,exports.useWordTrainingFilter=hh,exports.validateSyllableSearchInput=ru,exports.valueToJamos=ba,exports.weakItems=tb,exports.withEuRo=xu,exports.withEulReul=Ri,exports.withEunNeun=vu,exports.withIga=Mi,exports.withWaGwa=yu,exports.wordContainsChoseong=Qd,exports.wordContainsJongseong=tu,exports.wordContainsJungseong=eu,exports.wordHasNoCoda=gi,exports.wordHasSyllableMatching=fi,exports.wrongItems=Fu;
|