@ihabdevteam/core 0.195.1 → 0.196.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 +26 -0
- package/dist/components.cjs.js +1 -1
- 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 +2 -2
- package/dist/ihabdevteam-core.d.ts +16 -4
- package/dist/packages/core/src/components/Popup/Popup.d.ts +15 -3
- package/dist/packages/core/src/components/SideNav.css +9 -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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
\uC2E0\uB8B0\uB97C \uC313\uACE0
|
|
3
3
|
\uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},iv={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},sv={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},lv={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},cv={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},dv={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},uv={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},pv={ariaLabel:"\uC120\uD0DD \uD0ED"},hv={ariaLabel:"\uD0ED"},mv={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},bv={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},gv={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},fv={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},vv={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},xv={manage:{unit:"\uAC74"}},yv={cancelLabel:"\uCDE8\uC18C"},Cv={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},_v={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},wv={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},kv={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},Av={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Bv={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Sv={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},Nv={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},Ev={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},Dv={clearSelection:"\uC120\uD0DD \uD574\uC81C"},Tv={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},jv={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},Lv={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},Mv={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},$v={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},Rv={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},Pv={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},zv={common:w1,calendar:k1,passCard:A1,searchField:B1,rating:S1,colorPicker:N1,dropdown:E1,accordion:D1,header:T1,nav:j1,settings:L1,usage:M1,account:$1,help:R1,training:P1,trainingSettings:z1,customers:I1,payment:O1,coupons:F1,visits:V1,company:H1,trainingType:W1,myWordTraining:G1,myWordTable:U1,keyWords:q1,wordTable:Y1,wordSearch:K1,wordPrint:Z1,topic:X1,accessLinkManager:J1,login:Q1,trainingPlanRun:ev,device:tv,manager:av,wordPairs:ov,game:rv,footer:nv,landing:iv,date:sv,trainingSetPage:lv,wordTrainingPreview:cv,wordData:dv,textField:uv,segmentedControl:pv,tabs:hv,fileUpload:mv,avatar:bv,myHomework:gv,trainingStatus:fv,store:vv,homework:xv,inquiry:yv,progress:Cv,trainingMiss:_v,table:wv,wordScore:kv,topBanner:Av,datePicker:Bv,report:Sv,tooltip:Nv,phonemeProfile:Ev,bulkBar:Dv,debug:Tv,badge:jv,loader:Lv,soundCompass:Mv,breadcrumb:$v,board:Rv,promoBannerBg:Pv},Iv={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},Ov={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount:"{{count}} visit(s)"},Fv={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},Vv={clearAriaLabel:"Clear search"},Hv={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Wv={selected:"selected"},Gv={placeholder:"Select"},Uv={collapse:"Collapse",expand:"Expand"},qv={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},Yv={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}"},Kv={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},Zv={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},Xv={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},Jv={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},Qv={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},ex={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},tx={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},ax={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},ox={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},rx={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},nx={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},ix={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},sx={comingSoon:"Word training is coming soon."},lx={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"},publishedBadge:"Published",sharedBadge:"Shared"},cx={title:"Key Words",empty:"No key words available."},dx={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",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:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse, hover the cell to reveal them.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},ux={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},px={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},hx={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"}},mx={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"}},bx={passwordPlaceholder:"Enter password"},gx={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},fx={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},vx={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},xx={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},yx={lead:`IHAB builds trust
|
|
4
4
|
through sound
|
|
5
|
-
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"},Cx={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_x={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},wx={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},kx={answer:"Answer",distractor:"Distractor"},Ax={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Bx={clearAriaLabel:"Clear input"},Sx={ariaLabel:"Select tab"},Nx={ariaLabel:"Tabs"},Ex={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Dx={ariaLabel:"User avatar"},Tx={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},jx={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},Lx={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},Mx={manage:{unit:"item(s)"}},$x={cancelLabel:"Cancel"},Rx={subtitle:"Select a topic to start listening practice."},Px={steps:"Step {{current}} of {{total}}"},zx={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},Ix={resetColumns:"Reset column widths"},Ox={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},Fx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Vx={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Hx={previewRegion:"Report preview \u2014 scrollable sideways"},Wx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Gx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Ux={clearSelection:"Clear selection"},qx={showResult:"Show {{type}} result"},Yx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Kx={loading:"Loading"},Zx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Xx={ariaLabel:"Breadcrumb"},Jx={empty:"No items yet."},Qx={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},e2={common:Iv,calendar:Ov,passCard:Fv,searchField:Vv,rating:Hv,colorPicker:Wv,dropdown:Gv,accordion:Uv,header:qv,nav:Yv,settings:Kv,usage:Zv,account:Xv,help:Jv,training:Qv,trainingSettings:ex,customers:tx,payment:ax,coupons:ox,visits:rx,company:nx,trainingType:ix,myWordTraining:sx,myWordTable:lx,keyWords:cx,wordTable:dx,wordSearch:ux,wordPrint:px,topic:hx,accessLinkManager:mx,login:bx,device:gx,manager:fx,wordPairs:vx,game:xx,footer:yx,landing:Cx,date:_x,trainingSetPage:wx,wordTrainingPreview:kx,wordData:Ax,textField:Bx,segmentedControl:Sx,tabs:Nx,fileUpload:Ex,avatar:Dx,myHomework:Tx,trainingStatus:jx,store:Lx,homework:Mx,inquiry:$x,trainingPlanRun:Rx,progress:Px,trainingMiss:zx,table:Ix,wordScore:Ox,topBanner:Fx,datePicker:Vx,report:Hx,tooltip:Wx,phonemeProfile:Gx,bulkBar:Ux,debug:qx,badge:Yx,loader:Kx,soundCompass:Zx,breadcrumb:Xx,board:Jx,promoBannerBg:Qx};const An="0.
|
|
5
|
+
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"},Cx={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_x={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},wx={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},kx={answer:"Answer",distractor:"Distractor"},Ax={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Bx={clearAriaLabel:"Clear input"},Sx={ariaLabel:"Select tab"},Nx={ariaLabel:"Tabs"},Ex={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Dx={ariaLabel:"User avatar"},Tx={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},jx={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},Lx={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},Mx={manage:{unit:"item(s)"}},$x={cancelLabel:"Cancel"},Rx={subtitle:"Select a topic to start listening practice."},Px={steps:"Step {{current}} of {{total}}"},zx={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},Ix={resetColumns:"Reset column widths"},Ox={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},Fx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Vx={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Hx={previewRegion:"Report preview \u2014 scrollable sideways"},Wx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Gx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Ux={clearSelection:"Clear selection"},qx={showResult:"Show {{type}} result"},Yx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},Kx={loading:"Loading"},Zx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Xx={ariaLabel:"Breadcrumb"},Jx={empty:"No items yet."},Qx={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},e2={common:Iv,calendar:Ov,passCard:Fv,searchField:Vv,rating:Hv,colorPicker:Wv,dropdown:Gv,accordion:Uv,header:qv,nav:Yv,settings:Kv,usage:Zv,account:Xv,help:Jv,training:Qv,trainingSettings:ex,customers:tx,payment:ax,coupons:ox,visits:rx,company:nx,trainingType:ix,myWordTraining:sx,myWordTable:lx,keyWords:cx,wordTable:dx,wordSearch:ux,wordPrint:px,topic:hx,accessLinkManager:mx,login:bx,device:gx,manager:fx,wordPairs:vx,game:xx,footer:yx,landing:Cx,date:_x,trainingSetPage:wx,wordTrainingPreview:kx,wordData:Ax,textField:Bx,segmentedControl:Sx,tabs:Nx,fileUpload:Ex,avatar:Dx,myHomework:Tx,trainingStatus:jx,store:Lx,homework:Mx,inquiry:$x,trainingPlanRun:Rx,progress:Px,trainingMiss:zx,table:Ix,wordScore:Ox,topBanner:Fx,datePicker:Vx,report:Hx,tooltip:Wx,phonemeProfile:Gx,bulkBar:Ux,debug:qx,badge:Yx,loader:Kx,soundCompass:Zx,breadcrumb:Xx,board:Jx,promoBannerBg:Qx};const An="0.196.0",Br=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Co="ko",ns="ihab_display_language";function Uu(){if(typeof window>"u")return Co;try{const e=localStorage.getItem(ns);if(e&&Br.some(t=>t.code===e))return e}catch{}return Co}function t2(e){try{localStorage.setItem(ns,e)}catch{}}function qu(e){try{document.documentElement.lang=e}catch{}}pt.on("languageChanged",qu),qu(Uu()),pt.use(we.initReactI18next).init({resources:{ko:{translation:zv},en:{translation:e2}},lng:Uu(),fallbackLng:Co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Yu=l.createContext({locale:Co,supportedLocales:Br});function a2(){return l.useContext(Yu)}function o2(e){const t=o=>Br.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:Co}function r2({locale:e=Co,children:t}){const a=o2(e);return l.useEffect(()=>{pt.language!==a&&pt.changeLanguage(a)},[a]),r.jsx(Yu.Provider,{value:{locale:a,supportedLocales:Br},children:t})}function je(...e){return e.filter(Boolean).join(" ")}var n2=".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;margin-block:auto;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .empty-state__message,.ihabdevteam-core-scope .empty-state__title{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__title+.empty-state__message{margin-top:-6px}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}";oe(n2);const Ku=new Set,Zu=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Wa(e,...t){!Zu||Ku.has(e)||(Ku.add(e),console.warn(...t))}/**
|
|
6
6
|
* @license lucide-react v1.38.0 - ISC
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the ISC license.
|
|
@@ -848,7 +848,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
848
848
|
\uC124\uCE58 \uBA85\uB839\uC5B4 (\uC2A4\uD1A0\uB9AC\uC9C0 SDK \uBBF8\uC124\uCE58 \uC2DC):
|
|
849
849
|
npm install @supabase/supabase-js
|
|
850
850
|
pnpm add @supabase/supabase-js
|
|
851
|
-
`),this.name="StorageNotConfiguredError"}};function Cs(e){D5(e)}function Sn(e,t){if(!e)return null;const a=Go();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function _s(e){if(!e)return!1;const t=Go();if(!t)throw new ys("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function jr(e){if(!e)return null;const t=Go();if(!t)throw new ys("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Nn(e){const t=Go();if(!t)throw new ys("downloadSound");return t.download(e)}function ws(){return Go()?.noiseBaseUrl??"/sounds/noise"}function En(){const e=Number(Go()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function T5(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const ks="__ihab_core_tts_config__";function Fp(e){globalThis[ks]=e}function Lr(){return globalThis[ks]?.urlResolver??null}function As(){return globalThis[ks]?.fallbackUrlResolver??null}const j5=new Map;function Vp(){j5.clear()}const Hp="__ihab_core_pronunciation_resolver__";function Wp(e){globalThis[Hp]=e}function Bs(){return globalThis[Hp]??null}let ro=null;const Mr=new WeakMap,Ss=new WeakMap,Ns=new WeakMap;let Gp=!1;const Up=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function L5(){if(Gp||typeof document>"u")return;Gp=!0;const e=()=>{try{ro&&ro.state!=="running"&&ro.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function qp(){if(ro)return ro;try{const e=window.AudioContext||window.webkitAudioContext;return e?(ro=new e,L5(),ro):null}catch{return null}}function $r(){try{ro?.resume()}catch{}}function Es(e,t){const a=Mr.get(t);if(a)return a;try{const o=e.createMediaElementSource(t),n=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,n.gain.value=Up(Ss.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const s={gain:n,analyser:i};return Mr.set(t,s),s}catch{return null}}function Uo(e){if(!e)return Promise.resolve(null);const t=Mr.get(e);if(t)return Promise.resolve(t.analyser);const a=qp();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Es(a,e)?.analyser??null);const o=Ns.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Es(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Ns.delete(e)});return Ns.set(e,n),n}function Ds(e){if(!e)return null;const t=Mr.get(e);if(t)return t.analyser;const a=qp();return a?a.state==="running"?Es(a,e)?.analyser??null:(Uo(e),null):null}function Sa(e,t){const a=Up(t);Ss.set(e,a);const o=Mr.get(e);if(o){try{e.volume!==1&&(e.volume=1)}catch{}const n=o.gain.gain;try{const i=o.gain.context.currentTime;n.cancelScheduledValues(i),n.setTargetAtTime(a,i,.01)}catch{try{n.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function qo(e){return Ss.get(e)??e.volume}function Ts(e,t){e.getFloatTimeDomainData(t);let a=0;for(let o=0;o<t.length;o++){const n=t[o];a+=n*n}return Math.sqrt(a/t.length)}const Yp="__ihab_core_image_config__";function Kp(e){globalThis[Yp]=e}function no(){return globalThis[Yp]??null}const Rr="word_image_existence_map_v1";let Na=null,ko=0,Zp=-1,Pr=null,Xp=-1,Jp=new Set;const Dn=new Map;function Yo(){if(Na)return Na;try{const e=typeof localStorage<"u"?localStorage.getItem(Rr):null,t=e?JSON.parse(e):null;Na=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Na={}}return Na}let js=null;function M5(){js||(js=setTimeout(()=>{js=null;try{typeof localStorage<"u"&&Na&&localStorage.setItem(Rr,JSON.stringify(Na))}catch{}},200))}function Tn(e,t){return`${e}_${t??1}`}async function zr(e,t){const a=Yo(),o=Tn(e,t);if(o in a)return a[o];if(Dn.has(o))return Dn.get(o);const n=no();if(!n)return!1;const i=n(e,t);if(!i)return!1;const s=fetch(i,{method:"HEAD",signal:T5(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Dn.delete(o),c===null?!1:(a[o]=c,ko++,M5(),c)));return Dn.set(o,s),s}function Qp(e,t){const a=Yo(),o=Tn(e,t);return o in a?a[o]:void 0}async function eh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=Yo(),s=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Tn(d)in i));let c=0;if(s.length>0){let d=0;const u=Array.from({length:Math.min(o,s.length)},async()=>{for(;d<s.length;){const p=d++,h=s[p],m=Tn(h);if(!a&&m in i){c++,n?.(c,s.length);continue}try{await zr(h)}catch{}c++,n?.(c,s.length)}});await Promise.all(u)}try{typeof localStorage<"u"&&Na&&localStorage.setItem(Rr,JSON.stringify(Na))}catch{}return{checked:s.length,cached:Object.keys(i).length,total:e.length}}function jn(){const e=Yo();if(Zp===ko)return Pr?{...Pr}:null;const t=Object.values(e);return Pr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},Zp=ko,Pr?{...Pr}:null}function th(){const e=Yo();if(Xp===ko)return Jp;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return Jp=t,Xp=ko,t}function ah(e){const t=Yo();Object.assign(t,e),ko++;try{typeof localStorage<"u"&&localStorage.setItem(Rr,JSON.stringify(t))}catch{}}function Ls(){Na={},ko++;try{typeof localStorage<"u"&&localStorage.removeItem(Rr)}catch{}}const $5={\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"},Ms={\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 R5(e,t){return(Ms[e]?.glide??"")!==(Ms[t]?.glide??"")}function Ao(e){return $5[e]??e}const rt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ht=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Tt=["","\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 Ve(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 $s(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>Ve(o)),e.set(t,a)),a}}function xa(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function Rs(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,o=null;for(let n=0;n<e.length;n++){const i=Ve(e[n]),s=Ve(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?o="multi":c?o="cho":d?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function Ps(e){const t=Ve(e[0]||"");return t?rt[t.cho]:""}function zs(e){return[...e].map(t=>{const a=Ve(t);return a?rt[a.cho]:t}).join("")}function Is(e){return!!e&&[...e].every(t=>rt.includes(t))}function oh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),Is(t)?zs(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function rh(e,t){return Os(t)(e)}function Os(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=s=>rt.includes(s),o=s=>ht.includes(s),n=t.map(s=>a(s)?"cho":o(s)?"jung":Ve(s)?"syl":"other"),i=t.map(s=>Ve(s));if(n.includes("other")){const s=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(s)}return s=>{const c=[...s.normalize("NFC")];for(let d=0;d+t.length<=c.length;d++){let u=!0;for(let p=0;p<t.length;p++){const h=c[d+p],m=n[p];if(m==="cho"){if(Ps(h)!==t[p]){u=!1;break}}else if(m==="jung"){const g=Ve(h);if(!g||ht[g.jung]!==t[p]){u=!1;break}}else{const g=i[p];if(g&&g.jong===0){const f=Ve(h);if(!f||f.cho!==g.cho||f.jung!==g.jung){u=!1;break}}else if(h!==t[p]){u=!1;break}}}if(u)return!0}return!1}}const Ln={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"]},nh=Object.fromEntries(Object.entries(Ln).map(([e,t])=>[t.join(""),Tt[Number(e)]]));function P5(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o){if(rt[o.cho]===t)return!0;if(o.jong>0){if(Tt[o.jong]===t)return!0;const n=Ln[o.jong];if(n&&n.includes(t))return!0}}}return!1}function ih(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o&&rt[o.cho]===t)return!0}return!1}function sh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o&&ht[o.jung]===t)return!0}return!1}function lh(e,t,a){const o=Tt[e];return o===t?!0:a==="phoneme"&&Ao(o)===Ao(t)}function ch(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ve(o);if(!(!n||n.jong<=0)&&lh(n.jong,t,a))return!0}return!1}function Bo(e){if(!e)return 0;let t=0;for(const a of e)Ve(a)&&t++;return t}function Fs(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ve(a);if(o&&(t=!0,o.jong>0))return!1}return t}function z5(e,t,a){return e.jong<=0?!1:t.some(o=>lh(e.jong,o,a))}function Vs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=s=>{const c=Ve(n[s]);if(!c||t.cho&&!t.cho.includes(rt[c.cho])||t.jung&&!t.jung.includes(ht[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!z5(c,t.jong,o))return!1;return!0};if(a==="head")return i(0);if(a==="tail")return i(n.length-1);if(a==="mid"){for(let s=1;s<n.length-1;s++)if(i(s))return!0;return!1}for(let s=0;s<n.length;s++)if(i(s))return!0;return!1}function Hs(e){return e.includes(",")||e.includes("_")}function dh(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",o=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=nh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ve(t)?{kind:"syllable",ch:t}:rt.includes(t)?{kind:"cho",jamo:t}:ht.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function I5(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ve(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ve(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ve(e);return!!a&&rt[a.cho]===t.jamo}case"jung":{const a=Ve(e);return!!a&&ht[a.jung]===t.jamo}case"template":{const a=Ve(e);return!(!a||t.cho!=="_"&&rt[a.cho]!==t.cho||t.jung!=="_"&&ht[a.jung]!==t.jung||t.jong!=="_"&&Tt[a.jong]!==t.jong)}case"invalid":return!1}}function Ws(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>dh(n.trim()));if(a.length===0)return!0;const o=[...e];if(o.length<a.length)return!1;for(let n=0;n+a.length<=o.length;n++)if(a.every((i,s)=>I5(o[n+s],i)))return!0;return!1}function uh(e){const t=e.split(",").flatMap(i=>dh(i.trim())),a=new Set,o=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":o.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&o.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const s=Ve(i.ch);s&&(a.add(rt[s.cho]),o.add(ht[s.jung]),s.jong!==0&&n.add(Tt[s.jong]));break}}return a.size===0&&o.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:o.size?[...o]:null,jong:n.size?[...n]:null}}function O5(e){return!!Ve(e)||rt.includes(e)||ht.includes(e)}function ph(e){const t=e.normalize("NFC").trim();if(!t)return{ok:!0};for(const a of t.split(",")){const o=a.trim();if(o!==""){if(o.includes("_")){const n=[...o];if(n.length>4)return{ok:!1};const i=n[0],s=n[1],c=n.slice(2).join(""),d=i===void 0||i==="_"||rt.includes(i),u=s===void 0||s==="_"||ht.includes(s),p=c===""||c==="_"||Tt.filter(Boolean).includes(c)||!!nh[c];if(d&&u&&p)continue;return{ok:!1}}if(![...o].every(O5))return{ok:!1}}}return{ok:!0}}const F5={cho:rt.length,jung:ht.length,jong:Tt.length};function V5(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(h=>Ve(h));if(i.some(h=>!h))return[];const s=i,c=s.length;if(a>c)return[];const d=F5[t],u=new Set,p=[];(function h(m,g){if(g.length===a){p.push([...g]);return}for(let f=m;f<c;f++)g.push(f),h(f+1,g),g.pop()})(0,[]);for(const h of p)if((function m(g,f){if(u.size>=n)return;if(g===h.length){const b=f.map(v=>xa(v.cho,v.jung,v.jong)).join("");b!==e&&o.has(b)&&u.add(b);return}const x=h[g],C=s[x][t];for(let b=0;b<d;b++){if(b===C)continue;const v=f.slice();if(v[x]={...f[x],[t]:b},m(g+1,v),u.size>=n)return}})(0,s),u.size>=n)break;return[...u]}function H5(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ve(e[o]),i=Ve(t[o]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function hh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(Hs(a))return e.filter(d=>Ws(d.word,a));const o=Os(a),n=[...a].length,i=d=>!!d&&o(d.normalize("NFC").slice(0,n)),s=[],c=[];for(const d of e)(o(d.word)||o(d.pronunciation??""))&&(i(d.word)||i(d.pronunciation??"")?s:c).push(d);return s.concat(c)}const Gs="word_pair_index_v2",Us="word_pair_index_sig_v2";let Ea=null,Ir=null;function mh(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(Gs),t=localStorage.getItem(Us);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function W5(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(Gs,JSON.stringify(e)),localStorage.setItem(Us,t)}catch{}}function G5(e){const t=e.map(o=>`${o.word}|${o.pron??""}`).sort();let a=0;for(const o of t)for(let n=0;n<o.length;n++)a=(a<<5)-a+o.charCodeAt(n)|0;return`${t.length}-${a}`}async function U5(e,t){const a=new Set,o=[];for(const u of e){if(!u.word||a.has(u.word))continue;const p=u.pron||u.word,h=Array.from(p).map(Ve);h.some(m=>m===null)||h.length===Array.from(u.word).length&&(a.add(u.word),o.push({word:u.word,syls:h}))}const n={},i=o.length,s=new Map;for(const u of o){const p=u.syls.length;s.has(p)||s.set(p,[]),s.get(p).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of s.values()){const p=u[0].syls.length;for(let h=0;h<p;h++)for(const m of d){const g=new Map;for(const f of u){let x="";for(let b=0;b<p;b++){b>0&&(x+="~");const v=f.syls[b];b===h?m==="cho"?x+=`*:${v.jung}:${v.jong}`:m==="jung"?x+=`${v.cho}:*:${v.jong}`:x+=`${v.cho}:${v.jung}:*`:x+=`${v.cho}:${v.jung}:${v.jong}`}let C=g.get(x);C||(C=[],g.set(x,C)),C.push(f)}for(const f of g.values())if(!(f.length<2))for(let x=0;x<f.length;x++){const C=f[x];for(let b=x+1;b<f.length;b++){const v=f[b];C.syls[h][m]!==v.syls[h][m]&&(n[C.word]||(n[C.word]={cho:[],jung:[],jong:[]}),n[v.word]||(n[v.word]={cho:[],jung:[],jong:[]}),n[C.word][m].push(v.word),n[v.word][m].push(C.word))}}}c+=u.length,t?.(c,i),await new Promise(h=>setTimeout(h,0))}return i>0&&t?.(i,i),n}let qs=0;async function bh(e,t={}){const a=G5(e);if(!t.force){if(Ea&&Ir===a)return Ea;const i=mh();if(i&&i.sig===a)return Ea=i.index,Ir=a,Ea}const o=++qs,n=await U5(e,t.onProgress);return o===qs&&(Ea=n,Ir=a,W5(n,a)),n}function So(){if(Ea)return Ea;const e=mh();return e?(Ea=e.index,Ir=e.sig,Ea):null}function Ys(){qs+=1,Ea=null,Ir=null;try{typeof localStorage<"u"&&(localStorage.removeItem(Gs),localStorage.removeItem(Us))}catch{}}const Ks={cho:rt,jung:ht,jong:Tt},jt=e=>Array.isArray(e)?e.length>0:!!e;function Or(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const o=e[a],n=t[a];if(!(!o||!n)&&(o.cho!==n.cho&&rt[o.cho]==="\u3147"!=(rt[n.cho]==="\u3147")||o.jung!==n.jung&&R5(ht[o.jung],ht[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function Zs(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,s=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Or(i,n(a.pronOf(c)))||s.push(c)));return s}function Mn(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return Zs(e,n,a)}function Xs(e,t,a,o,n,i,s){const c=["cho","jung","jong"].filter(m=>jt(e[m])),d={};for(const m of c){const g=e[m];d[m]=new Set(Array.isArray(g)?g:[g])}const u=n==="pron",p=new Map;for(const m of t){const g=a(i(m));if(g.some(b=>!b))continue;let f=g;if(!u&&(f=a(m),f.length!==g.length||f.some(b=>!b)))continue;const x=g.length,C=p.get(x);C?C.push({w:m,dPron:g,dPos:f}):p.set(x,[{w:m,dPron:g,dPos:f}])}const h=new Map;for(const[m,g]of p){const f=new Map,x=(C,b)=>{const v=C.dPos[b];return v!=null&&c.every(_=>d[_].has(Ks[_][v[_]]))};for(const C of g){let b;if(s==="head")b=x(C,0)?0:-1;else if(s==="tail")b=x(C,m-1)?m-1:-1;else if(s==="mid"){b=-1;for(let _=1;_<m-1;_++)if(x(C,_)){b=_;break}}else b=C.dPos.findIndex(_=>_!=null&&c.every(y=>d[y].has(Ks[y][_[y]])));if(b<0)continue;const v=f.get(b);v?v.push(C):f.set(b,[C])}for(const[C,b]of f){const v=c.includes("cho"),_=c.includes("jung"),y=c.includes("jong"),k=B=>{let S="";for(let A=0;A<m;A++){const N=B[A];A===C?S+=(v?"*":N.cho)+"."+(_?"*":N.jung)+"."+(y?"*":N.jong)+".":S+=N.cho+"."+N.jung+"."+N.jong+"."}return S},w=new Map;for(const B of g){const S=k(B.dPron),A=w.get(S);A?A.push(B):w.set(S,[B])}for(const B of b){const S=w.get(k(B.dPron))??[],A=[];for(const N of S){if(N.w===B.w)continue;let z=!0;for(const I of c){const D=B.dPron[C][I],W=N.dPron[C][I];if(W===D){z=!1;break}if(u&&d[I].has(Ks[I][W])){z=!1;break}}z&&(o&&Or(B.dPron,N.dPron)||A.push(N.w))}h.set(B.w,A)}}}return h}const $n=0,gh=1,No=2,Js=3,q5=4,Rn=5,Qs=6,Pn=7,Y5=8,el=9,Ko=10,K5=11,Fr=12,Z5=13,Vr=14,zn=15,In=16,Hr=17,X5=18,ya=0,Ga=1,J5=3,io=4,tl=5,Wr=6,Da=7,Pt=8,fh=9,vh=10,On=11,xh=12,al=13,Zo=15,Fn=16,Ua=17,yh=18,ol=21,rl=27,Q5=20,e3={1:$n,2:gh,4:No,7:Js,8:Rn,16:Qs,17:Pn,19:el,20:Ko,22:Fr,23:Vr,24:zn,25:In,26:Hr},t3={[J5]:[Ga,Ko],[tl]:[io,Fr],[fh]:[Pt,$n],[vh]:[Pt,Qs],[On]:[Pt,Pn],[xh]:[Pt,Ko],[al]:[Pt,In],14:[Pt,Hr],[yh]:[Ua,Ko]},a3={[Wr]:No,[Zo]:Rn},nl={2:Ga,24:Ga,3:Ga,9:Ga,5:io,6:io,19:Da,20:Da,22:Da,23:Da,25:Da,27:Da,11:Pt,12:Pt,13:Pt,15:Pt,10:Fn,14:Ua,18:Ua,26:Ua},Ch={[$n]:zn,[Js]:In,[Pn]:Hr,[Fr]:Vr},_h={[$n]:gh,[Js]:q5,[Pn]:Y5,[el]:Ko,[Fr]:Z5},o3=new Set([tl,vh,On,xh,al,Zo,yh]),r3=new Set(["\uBC1F"]);function wh(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ve);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const s=n[i],c=n[i+1],d=s.jong;if(!c){s.jong=nl[s.jong]??s.jong;break}if(s.jong===ya)continue;if(c.cho===K5){if(c.jung===Q5){if(s.jong===Da){s.jong=ya,c.cho=Fr;continue}if(s.jong===25){s.jong=ya,c.cho=Vr;continue}if(s.jong===al){s.jong=Pt,c.cho=Vr;continue}}if(s.jong===rl){s.jong=ya;continue}const p=a3[s.jong];if(p!==void 0){s.jong=ya,c.cho=p;continue}const h=t3[s.jong];if(h){s.jong=h[0],c.cho=h[1];continue}const m=e3[s.jong];m!==void 0&&(s.jong=ya,c.cho=m);continue}if((s.jong===rl||s.jong===Wr||s.jong===Zo)&&Ch[c.cho]!==void 0){c.cho=Ch[c.cho],s.jong=s.jong===Wr?io:s.jong===Zo?Pt:ya;continue}if((s.jong===rl||s.jong===Wr||s.jong===Zo)&&c.cho===el){c.cho=Ko,s.jong=s.jong===Wr?io:s.jong===Zo?Pt:ya;continue}if(c.cho===X5){if(s.jong===tl){s.jong=io,c.cho=Vr;continue}if(s.jong===fh){s.jong=Pt,c.cho=zn;continue}if(s.jong===On){s.jong=Pt,c.cho=Hr;continue}const p=nl[s.jong]??s.jong;if(p===Ga){s.jong=ya,c.cho=zn;continue}if(p===Da){s.jong=ya,c.cho=In;continue}if(p===Ua){s.jong=ya,c.cho=Hr;continue}}let u=nl[s.jong]??s.jong;d===On&&r3.has(a[i])&&(u=Ua),s.jong=u,_h[c.cho]!==void 0&&(u===Ga||u===Da||u===Ua||o3.has(d))&&(c.cho=_h[c.cho]),(c.cho===No||c.cho===Qs)&&(s.jong===Ga?s.jong=ol:s.jong===Da?s.jong=io:s.jong===Ua&&(s.jong=Fn)),c.cho===Rn?s.jong===io?s.jong=Pt:s.jong===Fn||s.jong===ol?c.cho=No:s.jong===Ga?(s.jong=ol,c.cho=No):s.jong===Ua&&(s.jong=Fn,c.cho=No):s.jong===Pt&&c.cho===No&&(c.cho=Rn)}return n.map(i=>xa(i.cho,i.jung,i.jong)).join("")}const Xo=/[ㄱ-ㅎ]/,n3=/[ㅏ-ㅣ]/;function Gr(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],o=a.charCodeAt(0);if(o>=44032&&o<=55203||Xo.test(a)||n3.test(a))return a}return null}function il(e){const t=Gr(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Xo.test(t)?"\uC774":"\uAC00"}function sl(e){return`${e}${il(e)}`}function ll(e){const t=Gr(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Xo.test(t)?"\uC744":"\uB97C"}function cl(e){return`${e}${ll(e)}`}function dl(e){const t=Gr(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":Xo.test(t)?"\uC740":"\uB294"}function kh(e){return`${e}${dl(e)}`}function ul(e){const t=Gr(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":Xo.test(t)?"\uACFC":"\uC640"}function Ah(e){return`${e}${ul(e)}`}function pl(e){const t=Gr(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const o=(a-44032)%28;return o===0||o===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":Xo.test(t)?"\uC73C\uB85C":"\uB85C"}function Bh(e){return`${e}${pl(e)}`}function hl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function Qe(e,t=Math.random){const a=e.slice();for(let o=a.length-1;o>0;o--){const n=Math.floor(t()*(o+1));[a[o],a[n]]=[a[n],a[o]]}return a}function Ca(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?Qe(e,a):Qe(e,a).slice(0,t)}const Jo={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 i3(e){const t=e?Jo[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const ml=rt.indexOf("\u3147"),Qo={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!==ml},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0&&e.cho!==ml},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!Ln[e.jong]&&e.cho!==ml}},s3=new Set([]);function Sh(e){return e in Qo}function Nh(e,t){const a=Qo[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ve(o[0]);return!!n&&a.syllable(n)}function Eh(e){return s3.has(e)}function l3(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Ur(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function bl(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 Dh(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 gl={\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 Th(e){if([...e].length!==1)return[e];const t=Ve(e);if(!t)return[e];const a=[rt[t.cho],ht[t.jung]];return t.jong!==0&&a.push(Tt[t.jong]),a}function fl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>gl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${l3(o(c))}`).join(" "),i=a[a.length-1],s=`"${i}"${Ur(o(i))}`;return`${n} ${s} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function c3(e,t){return fl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const vl=e=>gl[e]??e,d3={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function u3(e,t){const a=(d,u)=>{const p=[...d].length===1?Ve(d):null,h=[...u].length===1?Ve(u):null;if(!p||!h)return null;const m=["cho","jung","jong"].filter(g=>p[g]!==h[g]);return m.length===1?{part:m[0],sx:p,sy:h}:null},o=a(e,t)??a(qr(e),qr(t));if(!o)return null;const n=o.part==="cho"?rt:o.part==="jung"?ht:Tt,i=n[o.sx[o.part]],s=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!s?"remove":"swap";return{part:o.part,from:i,to:s,kind:c}}function p3(e,t){const a=String(t?.word??t?.original??""),o=String(t?.changedFrom??""),n=String(t?.changedTo??"");if(e==="CHANGE_1_PHONEME_IN_1SYLL"||e==="CHANGE_1_PHONEME_IN_2SYLL"){const i=e==="CHANGE_1_PHONEME_IN_1SYLL",s=i?o||a:o,c=u3(s,n);if(c){const d=i?`"${a}"`:`"${a}"\uC758 "${s}"`,u=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",p=`"${c.from}"${Ur(vl(c.from))}`,h=`"${c.to}"${bl(vl(c.to))}`;return c.kind==="add"?`${d}${u} \uBC1B\uCE68 "${c.to}"${Ur(vl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${d}${u} \uBC1B\uCE68 ${p} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${d}${u} ${d3[c.part]} ${p} ${h} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Ur(a)} "${n}"${bl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Ur(o)} "${n}"${bl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function h3(e,t){const a=String(t?.word??t?.original??t?.base??""),o=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}"${Dh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Dh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function jh(e,t,a){switch(i3(e)){case"synthesis":return c3(e,a);case"substitution":return p3(e,t);case"deletion":return h3(e,t);default:return""}}function Lh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=gl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,s=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=s?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=s?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=s?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=s?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const m3=e=>e==null?[]:Array.isArray(e)?e:[e];function qr(e){if([...e].length!==1)return"";const t=Ve(e);if(!t)return"";const a=Ao(Tt[t.jong]),o=a===""?0:Tt.indexOf(a);return xa(t.cho,t.jung,o<0?0:o)}function Vn(e,t){return t.get(e)||qr(e)||e}function er(e){return e?jt(e.cho)?"cho":jt(e.jung)?"jung":jt(e.jong)?"jong":null:null}function qa(e,t){const a=(n,i)=>!jt(n)||m3(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Tt[e.jong]);return a(t.cho,rt[e.cho])&&a(t.jung,ht[e.jung])&&o}function Eo(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ve(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ve(i)):n.map(i=>Ve(i))}function Do(e,t,a,o,n){const i=t==="cho"?rt:t==="jung"?ht:Tt,s=e[t],c=[],d=h=>t==="jung"?g3(Vn(h,n)):Vn(h,n),u=new Map([[d(a),-1]]),p=Qe(i.map((h,m)=>m).filter(h=>h!==s&&(t!=="cho"||i[h]!=="\u3147")&&(t!=="jong"||h!==0)));for(const h of p){if(c.length>=o)break;const m=t==="cho"?xa(h,e.jung,e.jong):t==="jung"?xa(e.cho,h,e.jong):xa(e.cho,e.jung,h),g=d(m),f=u.get(g);if(f!==void 0){t==="jung"&&f>=0&&n.has(m)&&!n.has(c[f])&&(c[f]=m);continue}u.set(g,c.length),c.push(m)}return c}const b3={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function g3(e){if([...e].length!==1)return e;const t=Ve(e);if(!t)return e;const a=b3[ht[t.jung]];return a?xa(t.cho,ht.indexOf(a),t.jong):e}function xl(e,t,a,o,n,i=null){const s=[...e];if(s.length!==2)return null;const c=s.map(h=>Ve(h));if(c.some(h=>!h))return null;const d=Eo(e,a,o);if(d.some(h=>!h))return null;const u=er(t);let p=u&&t?d.map((h,m)=>qa(h,t)?m:-1).filter(h=>h>=0):[0,1];if(i!=null&&(p=p.filter(h=>h!==i)),!p.length)return null;for(const h of Qe(p)){const m=s[h];if(!n.has(m))continue;const g=Do(c[h],u??"cho",m,40,a),f=[];for(const x of g)if(x!==m&&n.has(x)&&!f.includes(x)&&f.push(x),f.length>=2)break;if(!(f.length<2))return{question:e,distractors:[m,...f]}}return null}function yl(e,t,a,o,n,i=null){const s=[...e];if(s.length!==3)return null;const c=s.map(h=>Ve(h));if(c.some(h=>!h))return null;const d=Eo(e,a,o);if(d.some(h=>!h))return null;const u=er(t),p=u&&t?d.map((h,m)=>qa(h,t)?m:-1).filter(h=>h>=0):[0,1,2];if(!p.length)return null;for(const h of Qe(p))for(const m of Qe([0,1,2].filter(g=>g!==h&&(i==null||g===i)))){const g=[0,1,2].filter(v=>v!==m),f=g.map(v=>s[v]).join("");if(!n.has(f))continue;const x=g.indexOf(h),C=Do(c[h],u??"cho",s[h],40,a),b=[];for(const v of C){const _=g.map(k=>s[k]);_[x]=v;const y=_.join("");if(y!==f&&n.has(y)&&!b.includes(y)&&b.push(y),b.length>=2)break}if(!(b.length<2))return{question:e,distractors:[f,...b]}}return null}function Cl(e,t,a,o,n,i=null){const s=[...e],c=s.length;if(c<2)return null;const d=[];for(let p=1;p<=c-1;p++)d.push({remain:s.slice(0,p).join(""),dropped:s.slice(p).join(""),droppedEnd:1}),d.push({remain:s.slice(c-p).join(""),dropped:s.slice(0,c-p).join(""),droppedEnd:0});const u=er(t);for(const{remain:p,dropped:h,droppedEnd:m}of Qe(d)){if(i!=null&&m!==i||[...p].length===1&&[...h].length===1||p===e||!n.has(p)||!n.has(h))continue;const g=[...p],f=g.map(b=>Ve(b));if(f.some(b=>!b))continue;const x=Eo(p,a,o);if(x.some(b=>!b))continue;const C=u&&t?x.map((b,v)=>qa(b,t)?v:-1).filter(b=>b>=0):g.map((b,v)=>v);if(C.length)for(const b of Qe(C)){const v=Do(f[b],u??"cho",g[b],40,a),_=[];for(const y of v){const k=[...g];k[b]=y;const w=k.join("");if(w!==p&&n.has(w)&&!_.includes(w)&&_.push(w),_.length>=2)break}if(_.length>=2)return{question:e,distractors:[p,..._],dropped:h}}}return null}function _l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const s=Ve(a.get(e)||e);if(!s||s.jong===0)return null;const c=xa(s.cho,s.jung,0),d=Do({cho:s.cho,jung:s.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const wl=rt.indexOf("\u3147");function kl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const s=Ve(a.get(e)||e);if(!s||s.jong!==0||s.cho===wl)return null;const c=xa(wl,s.jung,0),d=Do({cho:wl,jung:s.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Al(e){const t=new Map;for(const a of e){const o=[...a],n=o.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?"*":o[d];const c=t.get(s);c?c.push(a):t.set(s,[a])}}return t}function Bl(e,t,a,o,n,i=null,s=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const p=d.map(v=>Ve(v));if(p.some(v=>!v))return null;const h=Eo(e,a,o);if(h.some(v=>!v))return null;const m=v=>a.get(v)??v,g=m(e),f=!!t&&(jt(t.cho)||jt(t.jung)||jt(t.jong)),x=!!s&&(jt(s.cho)||jt(s.jung)||jt(s.jong)),C=v=>{let _=u+"|"+v+"|";for(let y=0;y<u;y++)_+=y===v?"*":d[y];return _};let b;if(i!=null){if(i>=u||f&&!qa(h[i],t))return null;b=[i]}else f?b=h.map((v,_)=>qa(v,t)?_:-1).filter(v=>v>=0):b=Array.from({length:u},(v,_)=>_);for(const v of Qe(b)){const _=n.get(C(v))??[],y=[],k=[];for(const N of _){if(N===e)continue;const z=[...N].map(E=>Ve(E)),I=p[v],D=z[v];if(!I||!D)continue;let W=0;if(I.cho!==D.cho&&W++,I.jung!==D.jung&&W++,I.jong!==D.jong&&W++,!(W<c||m(N)===g))if(x){const E=Eo(N,a,o)[v];E&&qa(E,s)?y.push(N):k.push(N)}else y.push(N)}if(!y.length)continue;const w=Qe(y)[0],B=[],S=new Set([g,m(w)]),A=x?k:y.filter(N=>N!==w);for(const N of Qe(A)){const z=m(N);if(!S.has(z)&&(S.add(z),B.push(N),B.length>=2))break}if(!x&&B.length<2)for(const N of Qe(_)){if(N===e||N===w)continue;const z=m(N);if(!S.has(z)&&(S.add(z),B.push(N),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[w,...B]}}return null}const f3=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof pt?.t=="function"?pt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Yr(e,t){if(t===void 0&&(t=f3()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const o of[a.message,a.error_description,a.error])if(typeof o=="string"&&o)return o}return t}const Hn="\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.",v3=()=>{const e=typeof pt?.t=="function"?pt.t("common.networkError",{defaultValue:Hn}):void 0;return typeof e=="string"&&e?e:Hn};function Sl(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Mh(e){return Sl(e)?v3():e}function $h(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Rh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Ph(e){let t=e==null?"":String(e);return!(typeof e=="number"&&Number.isFinite(e))&&/^[=+\-@\t\r]/.test(t)&&(t="'"+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}const x3=1e3;function zh(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),x3)}const Ih="__ihab_core_word_pool__";function y3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Oh(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const o={entries:e,pairIndex:t??null,byWord:a};globalThis[Ih]=o,y3()}function To(){return globalThis[Ih]??null}const tr=globalThis;function Nl(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Fh(e){tr.__ihabTrainingTimeLogger=e}function El(e){Nl("time",()=>tr.__ihabTrainingTimeLogger?.(e))}function Vh(e){tr.__ihabTrainingCompletionLogger=e}function Dl(e){Nl("completion",()=>tr.__ihabTrainingCompletionLogger?.(e))}function Hh(e){tr.__ihabCrosswordLogger=e}function Wh(e){Nl("crossword",()=>tr.__ihabCrosswordLogger?.(e))}function Jt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Tl(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 jl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:Jt(o.contextCode)??Jt(o.itemId)??Jt(o.itemCode)??Jt(o.id),question:Jt(o.question)??Jt(o.q)??Jt(o.sentence)??Jt(o.text)??Jt(o.prompt)??Jt(o.word)??Jt(o.targetSyllable),answer:Jt(o.answer),selected:Jt(o.selectedText)??Jt(o.selected),correct:Tl(o)}}):[]}function Gh(e){return e.filter(t=>t.correct===!1)}let Uh=null,qh=null,Yh=null;function Kh(e){Uh=e}function Zh(e){qh=e}function Xh(e){Yh=e}async function Jh(e,t){try{return await Uh?.(e,t)??null}catch{return null}}async function Qh(){try{return await qh?.()??null}catch{return null}}async function em(e,t){try{return await Yh?.(e,t)??null}catch{return null}}const Wn=globalThis;function tm(e){Wn.__ihabNoiseSettingsStore=e}async function Ll(){try{return await Wn.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Gn(e){const t=a=>{};try{const a=Wn.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function ar(e){try{Wn.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function Kr(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(o=>{a+=o.toString(16).padStart(2,"0")}),a}const am=Kr;function om(e,t){return`${e}/${Kr(t)}.mp3`}function rm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??Kr;return async function(i){const s=String(i||"").trim();if(!s)return"";const c=`${n(s)}_${a}.mp3`,d=`${t}/${c}`;try{if(await _s(d)){const u=await jr(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(o))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function Ml(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const or="Asia/Seoul",C3=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Un(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=C3.exec(a);t=new Date(o?`${o[1]}T${o[2]}:${o[3]??"00"}${o[4]?`.${o[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const Zr=e=>Un(e);function nm(e){const t=Zr(e);return t?t.toLocaleDateString("ko-KR",{timeZone:or,year:"numeric",month:"short",day:"numeric"}):""}function im(e){const t=Zr(e);return t?t.toLocaleString("ko-KR",{timeZone:or,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function sm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=Zr(e);return o?o.toLocaleDateString(a,{timeZone:or,year:"numeric",month:"short",day:"numeric"}):""}function lm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=Zr(e);return o?o.toLocaleString(a,{timeZone:or,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function cm(e){const t=Zr(e);return t?t.toLocaleString("ko-KR",{timeZone:or,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function dm(e){if(e==null||e==="")return"";const t=Un(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:or,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function ha(){return Ta(new Date)}function $l(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ha()}function so(){return Rl(ha())}const _3=540*60*1e3;function qn(e,t,a){return new Date(Date.UTC(e,t,a)-_3)}function Rl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Ta(e){if(e==null||e==="")return"";const t=Un(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function Yn(e,t){if(!e)return"";const a=Un(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),s=Math.floor(i/60),c=Math.floor(s/24),d=Math.floor(c/7),u=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):s<24?t("store.time.hoursAgo",{n:s}):c<7?t("store.time.daysAgo",{n:c}):d<5?t("store.time.weeksAgo",{n:d}):c<365?t("store.time.monthsAgo",{n:Math.min(u,11)}):t("store.time.yearsAgo",{n:p})}function Kn(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const s=Ta(e instanceof Date?e:String(e));if(!s)return i;const[c,d,u]=s.split("-"),p=o?d:String(Number(d)),h=o?u:String(Number(u));return`${c}${a}${p}${a}${h}${n?".":""}`}function um(e){const t=e.normalize("NFKC").replace(/\D/g,"");if(/^(050\d|0303)/.test(t)){const o=t.slice(0,12);return o.length<=4?o:o.length<=8?`${o.slice(0,4)}-${o.slice(4)}`:`${o.slice(0,4)}-${o.slice(4,o.length-4)}-${o.slice(o.length-4)}`}if(/^1[5-9]\d{2}/.test(t)&&t.length<=8)return t.length<=4?t:`${t.slice(0,4)}-${t.slice(4)}`;const a=t.slice(0,11);return a.startsWith("02")?a.length<=2?a:a.length<=6?`${a.slice(0,2)}-${a.slice(2)}`:`${a.slice(0,2)}-${a.slice(2,a.length-4)}-${a.slice(a.length-4)}`:a.length<=3?a:a.length<=7?`${a.slice(0,3)}-${a.slice(3)}`:`${a.slice(0,3)}-${a.slice(3,a.length-4)}-${a.slice(a.length-4)}`}const Pl=/^(?:(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}|1[5-9]\d{2}-\d{4})$/;function pm(e){return Pl.test(e)}function hm(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=Ta(e);return t?t.replace(/-/g,"."):void 0}}}function mm(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function rr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function Zn(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const o=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:o,hh:i,mm:a[2]}):t("date.timeHM",{h:o,hh:i,m:n,mm:a[2]})}function Xr(e){return(e??0).toLocaleString("ko-KR")}const w3=[{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"}]}],k3=[{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 zl=null;function bm(e){zl=e}function Xn(){return zl?.topicTypes??w3}function Il(){return zl?.trainingTypes??k3}const gm="ihab_theme",fm="light";function Ol(){try{const e=localStorage.getItem(gm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return fm}function Fl(e){const t=e==="light"||e==="dark"||e==="auto"?e:fm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(gm,t)}catch{}}function vm(){Fl(Ol())}const xm="ihab_font_scale",A3="medium",B3=["medium","large1","large2","large3"];function Vl(){try{const e=localStorage.getItem(xm);if(B3.includes(e))return e}catch{}return A3}function Hl(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(xm,e)}catch{}}function ym(){Hl(Vl())}const lo=[],co=[],uo=[],po=[],Jr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},Qr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},S3={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let Wl=null,Cm=null,ho=null;function Gl({counts:e,forceRefresh:t}={}){const a=Object.assign({},S3,e||{}),o=ha(),n=Ta(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&Cm===o&&Wl===i&&ho)return Object.assign(Jr,ho.today),Object.assign(Qr,ho.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:Jr,yesterday:Qr};const s={LISTEN_IN_NOISE:Ca(lo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Ca(co,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Ca(uo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Ca(po,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return ho&&Wl===i&&ho.yesterday&&ho.yesterday.date===n&&(c=ho.yesterday.selection),c||(c={LISTEN_IN_NOISE:Ca(lo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Ca(co,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Ca(uo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Ca(po,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(Jr,s),Object.assign(Qr,c),Cm=o,Wl=i,ho={today:s,yesterday:{date:n,countsKey:i,selection:c}},{today:Jr,yesterday:Qr}}function _m(){return{today:Jr,yesterday:Qr}}function Ul(){return{LISTEN_IN_NOISE:lo,SHORT_STORY:co,LONG_STORY:uo,ORDERING_SENTENCE:po}}let Jn=!1,en=null;async function N3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:pa&&pa.tagName.toUpperCase()==="SCRIPT"&&pa.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 ql(){if(!Jn)return en||(en=(async()=>{const e=await N3();if(!e){en=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}const t={noise:[],short:[],long:[],order:[]};try{for(const a of Object.keys(e||{})){const o=e[a]||[];for(const n of o){if(!n||typeof n!="object")continue;const i=n,s=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),d=String(i.category_sub_code||i.category_sub||i.category_1||""),u=Object.assign({},i,{training_type:s,category_0:c,category_1:d});s==="LISTEN_IN_NOISE"?t.noise.push(u):s==="SHORT_STORY"?t.short.push(u):s==="LONG_STORY"?t.long.push(u):s==="ORDERING_SENTENCE"&&t.order.push(u)}}}catch{en=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}lo.push(...t.noise),co.push(...t.short),uo.push(...t.long),po.push(...t.order),Jn=!0;try{Gl()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),en)}function wm(){return Jn}async function Yl(e=3e3){const t=ql();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return Jn}const Kl=[{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."}],km=[{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"}]}],Qn={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function Am(e){return Kl.map(t=>{const a=Qn[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let ei=null,Bm=null,Sm=null;function E3(){const e=To();if(e&&e.entries.length>0){const t=So();if(ei&&Bm===e&&Sm===t)return ei;const a=new Set,o=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),o.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 ei=o,Bm=e,Sm=t,ei}return[]}const Ya=new Proxy([],{get(e,t){const a=E3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function Zl(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function _a(e,t){if(t>=e.length)return Qe(e);if(t===0)return[];const a=e.slice();for(let o=0;o<t;o++){const n=o+Math.floor(Math.random()*(a.length-o)),i=a[o];a[o]=a[n],a[n]=i}return a.slice(0,t)}let Xl=null,Nm=null;function mo(){const e=To();if(Xl&&Nm===e)return Xl;const t=new Map;for(const a of Ya)a.w&&t.set(a.w,a.pron);return Xl=t,Nm=e,t}function zt(e){return mo().get(e)||e}function ti(e,t,a=new Set){const o=[];for(const n of Qe(e)){if(o.length>=t)break;const i=zt(n);a.has(i)||(a.add(i),o.push(n))}return o}let D3=0;function Vt(e){return`${e}-rt-${++D3}`}function nr(e){const t=jn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=th(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ai=new Map;let Em=null,Dm=null;function tn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function Jl(e){const t=tn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${tn(a.cho)}/${tn(a.jung)}/${tn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=tn(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??""}`}const Ql=new Map;function T3(e){return Jl({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function sa(e){const t=To(),a=So();(t!==Em||a!==Dm)&&(ai.clear(),Ql.clear(),Em=t,Dm=a);const o=Jl(e);return ai.has(o)||ai.set(o,j3(e)),ai.get(o)}function Tm(e){if(!e)return null;const t=s=>s==null?null:Array.isArray(s)?s.length?s:null:[s],a=t(e.cho),o=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||o||i||n?n&&!a&&!o&&!i?s=>Fs(s):s=>Vs(s,{cho:a,jung:o,jong:i,jongNone:n}):null}function jm(e){const t=e.grade&&e.grade.length>0?new Set(e.grade):null,a=e.composition??null,o=a?.syllable!=null?new Set(Array.isArray(a.syllable)?a.syllable:[a.syllable]):null,n=a?[Tm(a),o?s=>o.has(Bo(s)):null].filter(s=>s!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return s=>{if(t&&(!s.grade||!t.has(s.grade)))return!1;if(n.length===0)return!0;const c=i?zt(s.w):s.w;return n.every(d=>d(c))}}async function j3(e){const{difficulty:t=null,choseong:a=null,composition:o=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),p=t==="cho"||t==="jung"||t==="jong",h=p&&u>=2,m=t==="count",g=a?new Set(Array.isArray(a)?a:[a]):null,f=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,x=o?[Tm(o),f?V=>f.has(Bo(V)):null].filter(V=>V!=null):[],C=t==="random"||t===null,b=C||m,v=C||h||m;let _=Ya.filter(V=>!V.w||s&&(!V.grade||!s.has(V.grade))?!1:v?!0:Array.isArray(V.p)&&V.p.length>0);g&&(_=_.filter(V=>{for(const H of g)if(P5(V.w,H))return!0;return!1})),x.length>0&&(_=_.filter(V=>{const H=d==="pron"?zt(V.w):V.w;return x.every(U=>U(H))})),n&&(_=_.filter(V=>V.w[0]===n));let y;if(i){const V=new Set;for(const H of _)if(V.add(H.w),Array.isArray(H.p))for(const U of H.p)V.add(U);if(b)for(const H of Ya)H.w&&V.add(H.w);y=nr(V)}else{const V=new Set;for(const H of _)if(V.add(H.w),Array.isArray(H.p))for(const U of H.p)V.add(U);if(b)for(const H of Ya)H.w&&V.add(H.w);y=V}let k=null;if(h){const V=new Set;for(const H of Ya)H.w&&V.add(H.w);k=i?nr(V):V}const w=_.filter(V=>y.has(V.w)),B=600,S=Array.from(y),A=S.length>B?_a(S,B):S,N=m&&o!=null&&(jt(o.cho)||jt(o.jung)||jt(o.jong)),z=2500,I=new Map;if(m&&!N&&u>=2){for(const V of S){const H=Bo(V),U=I.get(H);U?U.push(V):I.set(H,[V])}for(const[V,H]of I)H.length>z&&I.set(V,_a(H,z))}const D=$s();let W=null;if(N){const V=T3(e),H=i?th():null,U=Ql.get(V);W=U&&U.\uC774\uBBF8\uC9C0\uC9D1\uD569===H?U.map:Xs(o,S,D,c,d,zt),Ql.set(V,{\uC774\uBBF8\uC9C0\uC9D1\uD569:H,map:W})}const E=500,j=1500,R=e.fullCount?w:t==="random"?w.length>E?_a(w,E):w:w.length>j?_a(w,j):w,G=So(),X=[];for(const V of R){let H;const U=zt(V.w);if(h)H=V5(V.w,t,u,k,24).filter(L=>zt(L)!==U);else if(m)N?H=(W.get(V.w)??[]).filter(L=>zt(L)!==U):u<=1?H=Mn(V.w,G,{okSet:y,pronOf:zt,decompOf:D,sameStructureOnly:!1}):H=(I.get(Bo(V.w))??[]).filter(L=>{if(L===V.w||zt(L)===U)return!1;const T=H5(U,zt(L));return u>=5?T>=5:T===u});else if(C){const L=T=>T!==V.w&&T.length===V.w.length&&zt(T)!==U;if(e.fullCount){const T=Math.max(1,(e.choicesPerItem??3)-1),P=[],O=new Set;for(const F of A){if(!L(F))continue;const $=zt(F);if(!O.has($)&&(O.add($),P.push(F),P.length>=T))break}H=P}else H=A.filter(L)}else{const L=t;H=Mn(V.w,G,{kind:L,okSet:y,pronOf:zt,decompOf:D,sameStructureOnly:!1}),H.length===0&&(H=(A.length>30?_a(A,30):A).filter(T=>T!==V.w&&Rs(V.w,T)===t&&zt(T)!==U))}if(c&&H.length>0&&(p||m&&!N)){const L=D(zt(V.w));H=H.filter(T=>!Or(L,D(zt(T))))}H.length!==0&&X.push({word:V,usable:H})}return X}async function Lm(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await sa(t)).filter(c=>c.usable.length>=n),s=[];for(const c of Qe(i)){if(s.length>=o)break;const d=ti(c.usable,n);if(d.length<n)continue;const u=Qe([c.word.w,...d]);s.push({id:Vt(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 L3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await sa({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,s=[],c=Qe([...n]);for(const d of c){if(s.length>=a)break;const u=d.word.w,p=[...d.word.pron||u],h=i&&er(i)?p.filter(C=>{const b=Ve(C);return!!b&&qa(b,i)}):[],m=Zl(h.length?h:p);if(!m)continue;const g=n.filter(C=>C.word.w!==u&&C.word.s===d.word.s&&!(C.word.pron||C.word.w).includes(m)&&C.word.pron!==d.word.pron);if(g.length<o)continue;const f=ti(g.map(C=>C.word.w),o);if(f.length<o)continue;const x=Qe([u,...f]);s.push({id:Vt("HPI-item"),index:s.length+1,targetSyllable:m,word:u,choices:x,answerIndex:x.indexOf(u)})}return s}async function M3(e){const{count:t=10}=e,a=(await sa(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?_a(a,t):Qe(Array.from({length:t},(i,s)=>a[s%a.length])),n=Qe(Array.from({length:t},(i,s)=>s<Math.ceil(t/2)));return o.map((i,s)=>{const c=n[s];let d;if(c)d=[i.word.w,i.word.w];else{const u=Zl(i.usable);d=Math.random()<.5?[i.word.w,u]:[u,i.word.w]}return{id:Vt("SOD-item"),index:s+1,word:i.word.w,pair:d,same:c}})}async function $3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await sa({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),s=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(s.get(m)||m)[0]??"",d={};for(const m of n){const g=c(m.word.w);g&&(d[g]||(d[g]=[]),d[g].push(m.word.w))}const u=Object.entries(d).filter(([,m])=>m.length>=2).map(([m])=>m);if(u.length===0)return[];const p=[],h=Qe([...u]);for(let m=0;p.length<a&&m<a*4;m++){const g=h[m%h.length],f=d[g];if(f.length<2)continue;const x=Qe([...f]),C=x[0],b=x[1];if(!C||!b||C===b||(s.get(C)||C)===(s.get(b)||b))continue;const v=s.get(b)||b,_=i.filter(w=>c(w)!==g&&w!==C&&w!==b&&w.length===b.length&&(s.get(w)||w)!==v);if(_.length<o)continue;const y=ti(_,o);if(y.length<o)continue;const k=Qe([b,...y]);p.push({id:Vt("SWS-item"),index:p.length+1,sourceWord:C,targetSyllable:g,word:b,choices:k,answerIndex:k.indexOf(b)})}return p}function Mm(e,t,a){const o=mo(),n=d=>o.get(d)||d,i=(d,u)=>{const p=[...d],h=[...u];if(p.length!==h.length)return-1;let m=-1;for(let g=0;g<p.length;g++)if(p[g]!==h[g]){if(m>=0)return-1;m=g}return m},s=e.map(d=>({e:d,swaps:d.usable.filter(u=>!!u&&i(d.word.w,u)>=0&&n(u)!==n(d.word.w))})).filter(d=>d.swaps.length>0),c=[];for(const{e:d,swaps:u}of Qe(s)){if(c.length>=t)break;const p=Zl(u)??"",h=[...d.word.w],m=[...p],g=i(d.word.w,p),f=ti(d.usable.filter(x=>x&&x!==p),2,new Set([n(p),n(d.word.w)]));f.length<2||c.push({id:Vt(a),index:c.length+1,word:d.word.w,original:d.word.w,changed:p,changedFrom:g>=0?h[g]:"",changedTo:g>=0?m[g]:"",distractors:f})}return c}async function $m(e,t,a){const{count:o=10}=t,n=mo(),i=Ya.filter(f=>f.w&&f.s===e),s=t.excludeNoImage?nr(i.map(f=>f.w)):null,c=s?i.filter(f=>s.has(f.w)):i,d=new Set(c.map(f=>f.w)),u=Al(d),p=t.phonemeView??"char",h=t.composition??null,m=jm(t),g=[];for(const f of Qe(c)){if(g.length>=o)break;if(m&&!m(f))continue;const x=Bl(f.w,h,n,p,u,null,null);if(!x)continue;const C=x.distractors[0],b=[...f.w],v=[...C],_=b.findIndex((y,k)=>y!==v[k]);g.push({id:Vt(a),index:g.length+1,word:f.w,original:f.w,changed:C,changedFrom:_>=0?b[_]:"",changedTo:_>=0?v[_]:"",distractors:x.distractors.slice(1)})}return g}async function R3(e){return $m(2,e,"CS2-item")}async function P3(e){return $m(3,e,"CS3-item")}async function z3(e){const t=(await sa({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Mm(t,e.count??10,"CP1-item")}async function I3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await sa({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return Mm(a,e.count??10,"CP2-item")}async function O3(e){const{count:t=10}=e,a=(await sa({...e})).filter(o=>o.word.s===2);return _a(a,t).map((o,n)=>({id:Vt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function F3(e){const{count:t=10}=e,a=(await sa({...e})).filter(o=>o.word.s===3);return _a(a,t).map((o,n)=>({id:Vt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function ec(e){const t=Ya.map(a=>a.w);return e.excludeNoImage?nr(t):new Set(t)}async function V3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s===2),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=xl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=[...c.word.w],m=h[0]===u?h[1]:h[0];s.push({id:Vt("D2-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:p})}return s}async function H3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s===3),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=yl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=[...c.word.w];let m="";for(let g=0;g<h.length;g++)if(h.filter((f,x)=>x!==g).join("")===u){m=h[g];break}s.push({id:Vt("D3-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:p})}return s}async function W3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s>=3),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=Cl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=c.word.w,m=d.dropped??(h.startsWith(u)?h.slice(u.length):h.endsWith(u)?h.slice(0,h.length-u.length):"");s.push({id:Vt("DPC-item"),index:s.length+1,original:h,word:h,dropped:m,missingResult:u,distractors:p})}return s}async function G3(e){const{count:t=10}=e,a=(await sa({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=_a(a,3);return{id:Vt("LRO-item"),index:n+1,sequence:i,choices:Qe(i)}})}function oi(e,t,a){const o=Ya.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?nr(o.map(c=>c.w)):null,i=jm(t),s=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const d=Ve(c.w);if(!d||!a(d))continue}s.push(c)}return s}function U3(e){const t=oi(1,e,Qo.MERGE_2_PHONEMES.syllable);return _a(t,e.count??10).map((a,o)=>{const n=Ve(a.w);return{id:Vt("M2P-item"),index:o+1,parts:[rt[n.cho],ht[n.jung]],answer:a.w,word:a.w}})}function q3(e){const t=oi(1,e,Qo.MERGE_3_PHONEMES.syllable);return _a(t,e.count??10).map((a,o)=>{const n=Ve(a.w);return{id:Vt("M3P-item"),index:o+1,parts:[rt[n.cho],ht[n.jung],Tt[n.jong]],answer:a.w,word:a.w}})}function Y3(e){const t=Qo.DROP_FINAL_CONSONANT_FROM_1SYLL,a=oi(t.syllables,e,t.syllable),o=mo(),n=[];for(const i of Qe(a)){if(n.length>=(e.count??10))break;const s=_l(i.w,null,o);if(!s)continue;const[c,...d]=s.distractors;n.push({id:Vt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function K3(e){const t=Qo.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=oi(t.syllables,e,t.syllable),o=mo(),n=[];for(const i of Qe(a)){if(n.length>=(e.count??10))break;const s=kl(i.w,null,o);if(!s)continue;const c=Ve(o.get(i.w)||i.w);if(!c)continue;const[d,...u]=s.distractors;n.push({id:Vt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:rt[c.cho],remaining:d,distractors:u})}return n}const ri=new Map;let Rm=null,Pm=null;async function zm(e,t={}){const a=To(),o=So();(a!==Rm||o!==Pm)&&(ri.clear(),Rm=a,Pm=o);const n=`${e}:${Jl(t)}`;if(ri.has(n))return ri.get(n);const i=await X3(e,t);return ri.set(n,i),i}const Z3={SAME_SOUND_PICK:e=>Lm("SSP",e),HEAR_AND_PICK_SAME:e=>Lm("HPS",e),HEAR_AND_PICK_INCLUDED:e=>L3(e),SAME_OR_DIFF:e=>M3(e),STARTS_WITH_SAME_SOUND:e=>$3(e),LISTEN_AND_REMEMBER_ORDER:e=>G3(e),MERGE_2_SYLLABLES:e=>O3(e),MERGE_3_SYLLABLES:e=>F3(e),MERGE_2_PHONEMES:e=>U3(e),MERGE_3_PHONEMES:e=>q3(e),DROP_1_FROM_2SYLL:e=>V3(e),DROP_1_FROM_3SYLL:e=>H3(e),DROP_PART_FROM_COMPOUND:e=>W3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>Y3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>K3(e),CHANGE_1_SYLL_IN_2SYLL:e=>R3(e),CHANGE_1_SYLL_IN_3SYLL:e=>P3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>z3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>I3(e)};async function X3(e,t={}){const a=Z3[e];return a?await a(t):[]}async function J3(e){const t=["random","count"],a=Object.keys(Jo);let o=0;for(const n of t)for(const i of a){const s=Jo[i];zm(i,{difficulty:s.difficulty?n:null,contrastCount:1,composition:null,count:5,excludeNoImage:e,sameStructureOnly:!0,phonemeView:"char",grade:null}).catch(()=>{}),++o%6===0&&await new Promise(c=>setTimeout(c,0))}}async function Q3(e){const t=await sa({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>zt(n))).size>=a).length}async function e8(e={}){const t=[];for(const c of Ya)c.w&&t.push(c.w);const a=e.excludeNoImage?nr(t):t,o=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=Ve(d);if(u&&(rt[u.cho]!=="\u3147"&&o.add(rt[u.cho]),n.add(ht[u.jung]),u.jong>0)){i.add(Tt[u.jong]);const p=Ln[u.jong];p&&p.forEach(h=>i.add(h))}}}return{cho:o,jung:n,jong:i,syllable:s}}const Im={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:!0,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:!0,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:!0,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}},Om={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},t8=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function Fm(e){return t8.has(e)}const Vm={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 Hm(e){const t=(e??"").toLowerCase();return t==="speechear_free"||t==="free"?"free":t.startsWith("manager_free")||t.startsWith("mgr_free")?"mgr_free":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 Wm=5,Gm=5;function Um({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const qm={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},Ym="chunk-reload-ts";function Km(){try{return Number(sessionStorage.getItem(Ym)||0)}catch{return 0}}function Zm(e=Date.now()){if(e-Km()<=1e4)return!1;try{sessionStorage.setItem(Ym,String(e))}catch{}return window.location.reload(),!0}function tc(e=Date.now()){const t=Km();return t>0&&e-t<=1e4}function Xm(e,t){return l.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(tc())return new Promise(()=>{});throw new Error(`[lazyPage] ${e}: \uD654\uBA74 \uBAA8\uB4C8\uC744 \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4(default \uB0B4\uBCF4\uB0B4\uAE30 \uC5C6\uC74C). \uBC30\uD3EC \uC9C1\uD6C4\uB77C\uBA74 \uC0C8\uB85C\uACE0\uCE68\uC73C\uB85C \uD480\uB9BD\uB2C8\uB2E4.`)})}function Jm(...e){let t=!1;const a=()=>{if(!t)for(const i of e)i().catch(()=>{})},o=globalThis.requestIdleCallback;if(o){const i=o(a,{timeout:2e3});return()=>{t=!0;const s=globalThis.cancelIdleCallback;s?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}var a8=Object.freeze({__proto__:null,CAPABILITY:Jo,CHOSEONG:rt,CORE_VERSION:An,JONGSEONG:Tt,JUNGSEONG:ht,LONG_STORIES:uo,NETWORK_ERROR_MESSAGE:Hn,NOISE_DATAS:lo,ORDER_SETS:po,PHONE_REGEX:Pl,PLAN_FEATURES:Im,PLAN_LIMITS:Vm,SHORT_STORIES:co,TIER_RANK:Om,TOPIC_TYPES:km,TRAINING_TYPES:Kl,TRAINING_TYPE_I18N_KEY:Qn,WORD_SUGGESTION_ACCOUNT_LIMIT:Gm,WORD_SUGGESTION_EXISTING_ERROR:qm,WORD_SUGGESTION_WEEKLY_QUOTA:Wm,applyFontScale:Hl,applyTheme:Fl,buildChangeWholeSyllableProblem:Bl,buildDropCompoundProblem:Cl,buildDropContrast3Problem:yl,buildDropContrastProblem:xl,buildDropFinalConsonantProblem:_l,buildMultiPartPosContrast:Xs,buildPairIndex:bh,buildRemoveConsonantProblem:kl,buildSyllableMaskIndex:Al,bulkSetImageExistence:ah,cardQuestionTitle:jh,checkImageExists:zr,classifyPairDifficulty:Rs,clearAudioExistsCache:Vp,clearImageExistenceCache:Ls,clearPairIndexCache:Ys,composeSyllable:xa,computeDailySelection:Gl,configureImageResolver:Kp,configureNoiseSettingsStore:tm,configurePronunciationResolver:Wp,configureStorage:Cs,configureTTS:Fp,configureTrainingCategories:bm,copyText:Ml,createDecompCache:$s,createTTSUrlResolver:rm,dateToDb:mm,downloadCsvText:zh,downloadSound:Nn,ensureTrainingDataLoaded:Yl,escapeCsvField:Ph,fileExists:_s,filterContrastCandidates:Zs,finalToPhoneme:Ao,firstChoseongOf:Ps,formatCount:Xr,formatDateKo:nm,formatDateLocale:sm,formatDateLongKo:im,formatDateLongLocale:lm,formatDatetimeKo:cm,formatPhone:um,formatRelativeTime:Yn,formatTimeHM:Zn,formatYmd:Kn,getAssetBaseUrl:xs,getDailySelection:_m,getElementAnalyser:Ds,getElementVolume:qo,getErrorMessage:Yr,getImageExistenceStats:jn,getImageExistsCached:Qp,getImageResolver:no,getNoiseBaseUrl:ws,getNoiseFileGain:En,getPairIndex:So,getPlanTier:Hm,getPronunciationResolver:Bs,getSavedFontScale:Vl,getSavedTheme:Ol,getSignedOrPublicUrl:jr,getTTSFallbackUrlResolver:As,getTTSUrlResolver:Lr,getTodayKst:ha,getTodayKstDate:so,getTopicTypes:Xn,getTrainingPools:Ul,getTrainingTypes:Il,getWordPool:To,hasQuestionWordConstraint:Sh,hasSel:jt,hasStructureContrast:Or,initFontScale:ym,initTheme:vm,isAllChoseong:Is,isManagerTier:Fm,isManualOnlyType:Eh,isNetworkErrorMessage:Sl,isSyllablePattern:Hs,isThisWeekPick:Um,isTrainingDataLoaded:wm,isValidPhone:pm,isValidQuestionWord:Nh,itemCorrectness:Tl,jamoToNamesForSpeech:Lh,kstStartOfDay:qn,lazyPage:Xm,loadGameLeaderboard:em,loadMyGameRanks:Qh,loadNoiseSettings:Ll,loadTrainingData:ql,logCrossword:Wh,logTrainingCompletion:Dl,logTrainingTime:El,matchSyllables:Eo,matchesChoseongSearch:oh,matchesSyllablePattern:Ws,matchesWordQuery:rh,mergeQuestionText:fl,minimalPairDistractors:Mn,normalizeDate:hm,officialSoundPath:om,parseLocalYmd:Rl,parseSortValue:Rh,parseSyllable:Ve,patternToComposition:uh,phonemePartsOf:Th,pickEuRo:pl,pickEulReul:ll,pickEunNeun:dl,pickIga:il,pickWaGwa:ul,prefetchChunk:Jm,prewarmImageCache:eh,primarySelPart:er,readLevel:Ts,recoverFromSkew:Zm,reorderArray:hl,reportAppliedNoiseSettings:ar,resolveAssetUrl:Tr,resolveSoundPath:Sn,resumeAudioMeter:$r,routeElementAudio:Uo,sample:Ca,saveNoiseSettings:Gn,searchAndRankWords:hh,setAssetBaseUrl:Ip,setCrosswordLogger:Hh,setElementVolume:Sa,setGameLeaderboardLoader:Xh,setGameRanksLoader:Zh,setGameScoreSubmitter:Kh,setTrainingCompletionLogger:Vh,setTrainingTimeLogger:Fh,setWordPool:Oh,shuffle:Qe,skewReloadPending:tc,sortToValue:$h,soundOf:Vn,speak:Rp,stopSpeaking:Pp,submitGameScore:Jh,syllMatchesComp:qa,syllableContrasts:Do,syllableLength:Bo,syllablePron:qr,toBase64UrlSafe:am,toChoseong:zs,toItemResults:jl,toKstHm:dm,toKstYmd:Ta,toStandardPronunciation:wh,toStorageName:Kr,toUserErrorMessage:Mh,validateSyllableSearchInput:ph,withEuRo:Bh,withEulReul:cl,withEunNeun:kh,withIga:sl,withWaGwa:Ah,wordContainsChoseong:ih,wordContainsJongseong:ch,wordContainsJungseong:sh,wordHasNoCoda:Fs,wordHasSyllableMatching:Vs,wrongItems:Gh});function o8(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function r8(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&o8(o.attrValue)&&(o.keepAttr=!1)};gs.addHook("uponSanitizeAttribute",t);try{return gs.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{gs.removeHook("uponSanitizeAttribute",t)}}function n8(e){const[t,a]=l.useState(null),[o,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 p=e;u&&(e.startsWith("/")?p=Tr(e):/^(Logo|Symbol)/i.test(u)?p=Tr(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),n(null),s(null),a(p)},[e]),l.useEffect(()=>{if(!t)return;let u=!1;async function p(){try{let h=await fetch(t);h.ok||(h=await fetch(t));const m=h.headers.get("content-type")||"";if(u)return;if(m.includes("svg")){n("mask");return}if(m.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 x=r8(f);if(!x){n("none");return}s(x),n("inline");return}n("none")}catch{u||n("none")}}return p(),()=>{u=!0}},[t]),l.useEffect(()=>{let u=!1,p=null;return o==="mask"&&t&&fetch(t).then(h=>{if(!h.ok)throw new Error("fetch failed");return h.blob()}).then(h=>{u||(p=URL.createObjectURL(h),d(p))}).catch(()=>{u||n("img")}),()=>{u=!0,p&&URL.revokeObjectURL(p),d(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var i8=".ihabdevteam-core-scope .iconRenderer-icon-mask{background-color:currentColor;display:inline-block;height:20px;height:var(--icon-size,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;width:var(--icon-size,20px)}";oe(i8);function Ze(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:s,wrapperStyle:c,size:d}=e||{},u=o??"iconRenderer-icon",p=n??"iconRenderer-icon-image",h=i??"iconRenderer-icon-mask",m=s??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,f=U4(g),{iconToUse:x,mode:C,svgText:b,blobUrl:v}=n8(g),_=(S,A={})=>r.jsx("span",{className:u,style:c,...A,children:S}),y=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,k=(S,A={})=>r.jsx("img",{src:S,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:y?{...A.style,...y}:A.style});if(!t)return null;if(typeof t!="string")return _(t);if(t==="none")return _(r.jsx("span",{className:m,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 _(l.createElement(f,{className:m,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(x&&x.endsWith(".svg")){if(C==="mask"){const S={"--icon-url":v?`url(${v})`:`url(${x})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return _(r.jsx("span",{className:h,style:S}),{"aria-hidden":"true"})}return C==="img"?_(k(x,{onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):C==="inline"?_(r.jsx("span",{className:m,dangerouslySetInnerHTML:b?{__html:b}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Tr(t),{style:c,onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}});const w=typeof d=="number"?d:20,B=`<svg width="${w}" height="${w}" 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 _(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Qm(e){const[t,a]=l.useState(!1),o=l.useRef(!1),n=l.useRef(!0);l.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=l.useCallback(()=>{if(!e||o.current)return;const s=e();if(s&&typeof s.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};s.then(c,c)}},[e]);return{pending:t,press:i}}function eb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:s}=Qm(o?.onClick);return r.jsxs("div",{className:je("empty-state",n),children:[e&&r.jsx(Ze,{icon:e,size:48,className:"empty-state__icon"}),t&&r.jsx("p",{className:"empty-state__title h4",children:t}),a&&r.jsx("p",{className:"empty-state__message body-3",children:a}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:s,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(Ze,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var s8=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";oe(s8);function tb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:s}=we.useTranslation(),{pending:c,press:d}=Qm(o);return r.jsxs("div",{className:je("empty-state","error-state",i),role:"alert",children:[r.jsx(Ze,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.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&&r.jsx("p",{className:"error-state__hint caption-1",children:t}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:c,"aria-busy":c||void 0,children:[r.jsx(Ze,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??s("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var l8=".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)}";oe(l8);function ab({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:s,className:c=""}){const d=l.useId(),u=`${d}-title`,p=`${d}-desc`,h=`${d}-cta`,m=()=>{i||s?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":u,"aria-describedby":`${p} ${h}`,onClick:m,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),m())},className:je("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:r.jsxs("div",{className:"action-card__body",children:[r.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:r.jsx(Ze,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:u,className:"action-card__title",children:t}),r.jsx("p",{id:p,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:h,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(Ze,{icon:"arrow-right",size:18})})]})]})})}function ob({as:e="div",className:t="",children:a,storage:o,...n}){o&&Cs({resolveUrl:o.resolveUrl,download:o.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:o.exists,resolvePath:o.resolvePath,noiseBaseUrl:o.noiseBaseUrl,noiseFileGain:o.noiseFileGain});const i=je("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function ac(e,t=!0){l.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const o=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Ka)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const s=i[0],c=i[i.length-1],d=document.activeElement,u=d===a;n.shiftKey&&(d===s||u)?(n.preventDefault(),c.focus()):!n.shiftKey&&d===c&&(n.preventDefault(),s.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Ka='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',oc=new WeakMap;function rc(e,t){e&&oc.set(e,t)}function nc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!oc.has(o);)o=o.parentElement;if(!o)return t;t=oc.get(o)??null}return t}function rb(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function ni(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(rb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Ka)).filter(d=>!(e&&e.contains(d))&&rb(d));let i=null,s=null;for(const d of n)o.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:s||(s=d);const c=i??s;return c?.focus(),c}var c8=".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)}}";oe(c8);function nb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:s=""}){const{t:c}=we.useTranslation(),[d,u]=l.useState(!1),p=l.useRef(null),h=l.useCallback(()=>{const x=p.current;x&&x.contains(document.activeElement)&&ni(x),u(!0)},[]);if(d)return null;const m=`notice-box notice-box--${n} body-2 ${s}`.trim(),g=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return r.jsxs("div",{className:m,role:"note",children:[a.map((x,C)=>r.jsxs("div",{className:"notice-box__inner",children:[x.title?r.jsx("span",{className:"notice-box__title body-3",children:x.title}):null,r.jsx("div",{className:"notice-box__body",children:x.lines&&x.lines.length?r.jsx("div",{children:x.lines.map((b,v)=>r.jsx("span",{className:"notice-box__line body-3",children:b},v))}):x.children??null})]},C)),g]});const f=e||t.length?r.jsxs("div",{className:"notice-box__inner",children:[e?r.jsx("span",{className:"notice-box__title body-1",children:e}):null,r.jsx("div",{className:"notice-box__body",children:t.length?r.jsx("ul",{children:t.map((x,C)=>r.jsx("li",{className:"notice-box__line",children:x},C))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:p,className:m,role:"note",children:[f,g]})}var d8=".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--nowrap .button__label-text{white-space:nowrap}.ihabdevteam-core-scope .button--align-left .button__label-text--has-sub{align-items:flex-start;text-align:left}.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.button--tooltip-only,.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}}";oe(d8);var u8=".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{animation:tooltip-fade-out .2s ease both;opacity:0}.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}";oe(u8);const ir=[];let ii=!1;function ib(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=ir[ir.length-1];t&&(e.stopPropagation(),t())}function jo(e){return ir.push(e),!ii&&typeof document<"u"&&(document.addEventListener("keydown",ib),ii=!0),()=>{const t=ir.lastIndexOf(e);t>=0&&ir.splice(t,1),ir.length===0&&ii&&typeof document<"u"&&(document.removeEventListener("keydown",ib),ii=!1)}}const si=l.createContext(null);function p8(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const sb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function h8(e){const t=l.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const o=window.matchMedia(e);return o.addEventListener?o.addEventListener("change",a):o.addListener&&o.addListener(a),()=>{o.removeEventListener?o.removeEventListener("change",a):o.removeListener&&o.removeListener(a)}},[e]);return Gu.useSyncExternalStore(t,()=>sb(e),()=>!1)}function m8(e){const[t,a]=l.useState(sb(e));return l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=s=>a(s.matches),i=o;return i.addEventListener?i.addEventListener("change",n):i.addListener&&i.addListener(n),a(o.matches),()=>{i.removeEventListener?i.removeEventListener("change",n):i.removeListener&&i.removeListener(n)}},[e]),t}const b8=typeof Gu.useSyncExternalStore=="function"?h8:m8;function qt(e){const t=l.useContext(si),a=b8(e);return t&&typeof t.mobile=="boolean"&&p8(e)?t.mobile:a}const g8="(prefers-reduced-motion: reduce)";function ic(){return qt(g8)}function ma(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:s=!0,className:c="",role:d="dialog",ariaLabel:u="",children:p,backdrop:h=!1,isMobilePopup:m=!1,useBorder:g=!0,header:f}=e||{},x=l.useRef(null),[C,b]=l.useState({position:"fixed",left:0,top:-9999}),[v,_]=l.useState(!1),[y,k]=l.useState("bottom"),[w,B]=l.useState(!1),[S,A]=l.useState(!1),N=!t&&!a,z=l.useCallback((X=!1)=>{if(S&&m)return;const V=a?a.getBoundingClientRect():t;if(!V||!x.current)return;const H=x.current,{offsetWidth:U,offsetHeight:L}=H,T=window.innerWidth,P=window.innerHeight,O=T-V.right,F=V.left,$=V.top,Q=P-V.bottom;let J=0,Z=0,ie="top";if($>=L+o)ie="top",Z=V.top-o-L,J=V.left+V.width/2-U/2;else if(Q>=L+o)ie="bottom",Z=V.bottom+o,J=V.left+V.width/2-U/2;else if(O>=U+o)ie="right",J=V.right+o,Z=V.top+V.height/2-L/2;else if(F>=U+o)ie="left",J=V.left-o-U,Z=V.top+V.height/2-L/2;else{const q=Math.max($,Q,O,F);q===$?(ie="top",Z=V.top-o-L,J=V.left+V.width/2-U/2):q===Q?(ie="bottom",Z=V.bottom+o,J=V.left+V.width/2-U/2):q===O?(ie="right",J=V.right+o,Z=V.top+V.height/2-L/2):(ie="left",J=V.left-o-U,Z=V.top+V.height/2-L/2)}const se=Number.isFinite(Number(n))?Number(n):8;J=Math.min(Math.max(J,se),T-U-se),Z=Math.min(Math.max(Z,se),P-L-se);const ce=Math.round(J),ue=Math.round(Z);X&&x.current?(x.current.style.left=`${ce}px`,x.current.style.top=`${ue}px`,x.current.dataset.placement=ie):(k(ie||y),b({position:"fixed",left:ce,top:ue}),B(!0))},[S,m,a,t,o,n,y]);l.useLayoutEffect(()=>{if(N)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const X=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(X)},[t,a,o,p,n,N,S,m,z]),l.useEffect(()=>{if(N||S&&m||!x.current||typeof ResizeObserver>"u")return;const X=new ResizeObserver(()=>{t&&z()});return X.observe(x.current),()=>X.disconnect()},[t,p,n,N,S,m,z]),l.useEffect(()=>{if(N||S&&m)return;const X=()=>z(!0),V=H=>{if(!a&&i){const U=H.target;if(U&&x.current&&x.current.contains(U))return;try{if(U&&U.closest&&U.closest("[data-tooltip-ignore]"))return}catch{}j.current(!0);return}X()};return window.addEventListener("resize",X),document.addEventListener("scroll",V,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",X),document.removeEventListener("scroll",V,{capture:!0})}},[t,a,i,o,p,n,N,S,m,z]),l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const X=window.matchMedia("(max-width: 768px)"),V=()=>A(!!X.matches);V();try{X.addEventListener?X.addEventListener("change",V):X.addListener(V)}catch{try{X.addListener(V)}catch{}}return()=>{try{X.removeEventListener?X.removeEventListener("change",V):X.removeListener(V)}catch{}}},[]);const I=l.useRef(!1),D=l.useRef(null),W=ic(),E=l.useCallback((X=!1)=>{if(i&&!(v||I.current)){if(I.current=!0,X){_(!0);try{i&&i()}catch{I.current=!1,_(!1)}return}_(!0),D.current=setTimeout(()=>{D.current=null;try{i&&i()}catch{I.current=!1,_(!1)}},W?0:200)}},[v,i,_,W]);l.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]),l.useEffect(()=>{if(N)return;const X=U=>{const L=x.current;if(!L)return;const T=U.target;if(T&&!L.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},V=U=>{const L=x.current;if(!L)return;const T=U.target;if(T&&!L.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},H=U=>{if(U.key==="Tab"){const L=x.current;if(!L)return;const T=L.querySelectorAll(Ka);if(!T||T.length===0)return;const P=T[0],O=T[T.length-1],F=document.activeElement;U.shiftKey?F===P&&(U.preventDefault(),O.focus()):F===O&&(U.preventDefault(),P.focus())}};return document.addEventListener("pointerdown",X,!0),document.addEventListener("click",V,!0),document.addEventListener("keydown",H),()=>{document.removeEventListener("pointerdown",X,!0),document.removeEventListener("click",V,!0),document.removeEventListener("keydown",H)}},[i,s,E,N]);const j=l.useRef(E);l.useEffect(()=>{j.current=E});const R=!!i;l.useEffect(()=>{if(!(N||!R))return jo(()=>j.current())},[N,R]),l.useEffect(()=>{const X=()=>{E(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",X),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",X)}},[E]);const G=r.jsxs("div",{ref:x,className:`tooltip-content ${N?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${v?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:N?{}:{...C,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":y,"data-left":N?"":C.left,"data-top":N?"":C.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&&r.jsx("div",{className:"tooltip-content__header h5",children:f}),p]});if(N||typeof document>"u")return G;if(h||S&&m){const X=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{s&&E(!0)}}),G]});return ra.createPortal(X,document.body)}return ra.createPortal(G,document.body)}var f8='.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}';oe(f8);function wa(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:s}=e||{};return a?r.jsx(ma,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:s||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var v8=".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)}";oe(v8);function bo(e){const{t}=we.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:s=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!0}=e||{},p=(Array.isArray(n)?n:n?[n]:[]).map(h=>typeof h=="string"?{text:h}:h);return!p.length&&!o?null:r.jsx(ma,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children:p.map((h,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[s&&p.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),h.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:h.color},"aria-hidden":"true"}),r.jsx("span",{children:h.text})]},m))})]})})}function an(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),t}let sc=0,lb=!1;function cb(){lb||typeof document>"u"||(lb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(sc=Date.now())},!0),document.addEventListener("touchstart",()=>{sc=Date.now()},{capture:!0,passive:!0}))}cb();function sr(e){return!!e&&e.pointerType==="touch"}function lr(e=1e3){return cb(),Date.now()-sc<e}function lc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=an(e),s=an(t),c=l.useRef(null),d=l.useRef(0);l.useEffect(()=>{if(!o||typeof document>"u")return;const p=h=>{const m=h,g=h.target,f=a.current,x=!!(g&&f&&f.contains(g));if(m.pointerType!=="touch"){x&&(c.current=null);return}if(x){c.current=i.current;return}c.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&s.current(!1,f)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[o,a,i,s]);const u=l.useCallback(p=>{const h=c.current;return h===null?!1:(c.current=null,d.current=Date.now(),s.current(!h,p??a.current),!0)},[a,s]);return l.useEffect(()=>{if(!o||!n)return;const p=a.current,h=p?.parentElement;if(!p||!h)return;let m=null;const g=C=>{const b=C.changedTouches?.[0];if(!b)return!1;const v=p.getBoundingClientRect();return b.clientX>=v.left&&b.clientX<=v.right&&b.clientY>=v.top&&b.clientY<=v.bottom},f=C=>{m=g(C)?i.current:null},x=C=>{const b=m;m=null,!(b===null||Date.now()-d.current<700||!g(C))&&(c.current=null,d.current=Date.now(),s.current(!b,p))};return h.addEventListener("touchstart",f,{passive:!0}),h.addEventListener("touchend",x),()=>{h.removeEventListener("touchstart",f),h.removeEventListener("touchend",x)}},[o,n,a,i,s]),{touchPress:u}}function x8(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:s,rel:c,icon:d,rightIcon:u,label:p,count:h,subLabel:m,children:g,ariaLabel:f,variant:x="default",align:C="center",nowrap:b=!1,selected:v,toggleable:_=!1,ariaExpanded:y,ariaControls:k,disabled:w=!1,useLabel:B=!0,useBorder:S=!0,useBG:A=!0,useDisabledCovered:N=!1,useDisabledInvisible:z=!1,width:I,minWidth:D,onClick:W,onDisabledClick:E,showTooltipInfo:j=!1,tooltipInfoText:R=null,tooltipDescription:G=null,tooltipOnly:X=!1,iconSize:V="medium",iconColor:H,shape:U="rounded",color:L,className:T,...P}=e,O=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=O.match(/^\d+$/)?`button${O}`:`button-${O}`,$=Number(a),Q=!isNaN($)&&$<40?"button-2":"button-1",J=p??g,Z=w||!!P.disabled,ie=Z?N?"disabled-covered":z?"disabled-invisibled":"disabled":x,se=ie?`button--variant-${ie}`:"",ce=C?`button--align-${C}`:"",ue=b?"button--nowrap":"",q=U?`button--shape-${U}`:"",le=typeof H=="string"&&H.startsWith("--")?`var(${H})`:H,ge={...I?{width:typeof I=="number"?`${I}px`:I}:{},...D?{minWidth:typeof D=="number"?`${D}px`:D}:{},...S?{}:{"--button-border":Z?"0":"1px solid transparent"},...le?{"--button-icon-color":le}:{},...L?{"--color-main":L}:{}},Se=B===!1?"":J,ke=Array.isArray(Se)?Se.length>0:!!Se,Ee=!!u,_e=o??(ke||d||Ee?"bar":"dot"),Be=`${F}--${_e}`,K=l.useRef(null),Ce=l.useRef(t);Ce.current=t;const fe=l.useCallback(Oe=>{K.current=Oe;const lt=Ce.current;typeof lt=="function"?lt(Oe):lt&&(lt.current=Oe)},[]),ae=l.useRef(Z),[me,$e]=l.useState(!!v),[Me,re]=l.useState(!1),[de,xe]=l.useState(null),ye=l.useCallback(()=>re(!1),[]),[Ge,Ue]=l.useState(!1),Xe=l.useId();l.useEffect(()=>{typeof v=="boolean"&&$e(v)},[v]),l.useEffect(()=>{if(ae.current&&!Z&&K.current){const Oe=K.current;let lt=!1;try{lt=Oe.matches(":focus:not(:focus-visible)")}catch{lt=!1}lt&&Oe.blur(),Oe.style.pointerEvents="none";const At=requestAnimationFrame(()=>{requestAnimationFrame(()=>{K.current&&(K.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(At)}ae.current=Z},[Z]);const Je=typeof v=="boolean"?!!v:me,et=typeof y=="boolean"?void 0:_||typeof v=="boolean"?Je?"true":"false":P["aria-pressed"],We=je("button",F,Be,se,ce,ue,q,Je?"is-selected":null,A?null:"button--no-bg",X?"button--tooltip-only":null,T),ze=`button__icon button__icon--${V}`,qe=Array.isArray(m)?m:m!==void 0?[m]:[],ct=()=>{if(Array.isArray(Se))return Se.map((lt,At)=>{const ta=qe[At];return r.jsxs("span",{className:`button__label-text${ta!==void 0?" button__label-text--has-sub":""}`,children:[lt,ta!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:ta})]},At)});const Oe=m!==void 0;return r.jsxs("span",{className:`button__label-text${Oe?" button__label-text--has-sub":""}`,children:[Se,h!=null&&r.jsx("span",{className:"button__count",children:h}),Oe&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},wt=Oe=>{typeof v!="boolean"&&!_&&$e(!1),Oe.currentTarget.blur()},ea=Oe=>{Z||(typeof P.onMouseLeave=="function"&&P.onMouseLeave(Oe),wt(Oe))},kt=Oe=>{if(X&&ot&&mt.touchPress(Oe.currentTarget),Z){ot&&mt.touchPress(Oe.currentTarget),Oe.preventDefault(),E?.(Oe);return}typeof v!="boolean"&&_&&$e(lt=>!lt),W?.(Oe)},it=l.useCallback(()=>{(j||G)&&(re(!0),xe(K.current?.getBoundingClientRect()??null))},[j,G]),tt=l.useCallback(()=>{(j||G)&&(re(!1),xe(null))},[j,G]),ot=!!(j||G),mt=lc(Me,Oe=>{Oe?it():tt()},K,{enabled:ot&&(Z||X),fallbackOnParent:ot&&Z}),Ye={...P};delete Ye.disabled,delete Ye.className,delete Ye.faded,delete Ye.useFaded,delete Ye.loading,delete Ye.onMouseLeave,delete Ye.onPointerEnter,delete Ye.onPointerLeave,delete Ye.onPointerUp,delete Ye.onFocus,delete Ye.onBlur,Z&&(Object.keys(Ye).forEach(Oe=>{/^on[A-Z]/.test(Oe)&&typeof Ye[Oe]=="function"&&delete Ye[Oe]}),Ye["aria-disabled"]="true");const Ct=(typeof j=="string"?j:null)??(typeof R=="string"?R:null)??(typeof f=="string"?f:null)??(typeof J=="string"?J:null)??void 0,Ke=typeof f=="string"?f:typeof J=="string"?J:Ct,xt=G?[G.title,...G.items??[]].filter(Boolean).join(". "):j&&Ct&&Ct!==Ke?Ct:"",Ot=[typeof P["aria-describedby"]=="string"?P["aria-describedby"]:void 0,xt?Xe:null].filter(Boolean).join(" ")||void 0,Lt=(Oe,lt)=>r.jsx(Ze,{icon:Oe,label:lt??Ke,className:ze,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Et=()=>_e==="dot"?r.jsxs(r.Fragment,{children:[Lt(d),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()})]}):C==="center"&&d?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:Lt(d)}),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()})]}),Ee&&r.jsx("span",{className:"button__right",children:Lt(u)})]}):r.jsxs(r.Fragment,{children:[d&&r.jsx("span",{className:"button__left",children:Lt(d,f??J)}),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()}),Ee&&r.jsx("span",{className:"button__right",children:Lt(u)})]}),dt=!!i&&!Z;return r.jsxs(r.Fragment,{children:[r.jsxs(dt?"a":"button",{...Ye,ref:fe,...dt?{href:i,target:s,rel:c??(s==="_blank"?"noreferrer":void 0)}:{type:n,disabled:Z&&!E&&!Ge},className:We,"aria-pressed":et,"aria-expanded":typeof y=="boolean"?y:P["aria-expanded"],"aria-controls":k??P["aria-controls"],"aria-label":Ke,"aria-disabled":Z&&(dt||E||Ge)?!0:void 0,"aria-describedby":Ot,style:ge,onClick:kt,onMouseLeave:ea,onPointerEnter:Oe=>{sr(Oe)||it(),!Z&&typeof P.onPointerEnter=="function"&&P.onPointerEnter(Oe)},onPointerLeave:Oe=>{sr(Oe)||tt(),!Z&&typeof P.onPointerLeave=="function"&&P.onPointerLeave(Oe)},onPointerUp:Oe=>{Z&&ot&&mt.touchPress(Oe.currentTarget),!Z&&typeof P.onPointerUp=="function"&&P.onPointerUp(Oe)},onFocus:Oe=>{Ue(!0),lr()||it(),!Z&&typeof P.onFocus=="function"&&P.onFocus(Oe)},onBlur:Oe=>{Ue(!1),Z||wt(Oe),tt(),!Z&&typeof P.onBlur=="function"&&P.onBlur(Oe)},children:[Et(),xt?r.jsx("span",{id:Xe,hidden:!0,"aria-label":xt}):null]}),Me&&G?r.jsx(bo,{anchorRect:de,title:G.title,items:G.items,onClose:ye}):Me&&Ct?r.jsx(wa,{anchorRect:de,text:Ct,onClose:ye}):null]})}const he=l.forwardRef(x8);he.displayName="Button";function yt(e,t,a){const o=l.useRef(null);return l.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var y8=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";oe(y8);var C8=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";oe(C8);const cr={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},cc=new WeakMap;function li(e){if(e)return cc.get(e)}function Ht(e,t){e&&(e.style.setProperty(cr.title,t.title),e.style.setProperty(cr.description,t.description),cc.set(e,t))}function Wt(e){e&&(e.style.removeProperty(cr.title),e.style.removeProperty(cr.description),cc.delete(e))}const dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function uc(){const e=yt(dc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var _8=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";oe(_8);const pc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function hc(){const e=yt(pc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var w8=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";oe(w8);const mc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function bc(){const e=yt(mc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var k8=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";oe(k8);const gc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function fc(){const e=yt(gc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var A8=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";oe(A8);const vc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function xc(){const e=yt(vc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var B8=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";oe(B8);const yc={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Cc(){const e=yt(yc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var S8=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";oe(S8);const _c={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function wc(){const e=yt(_c,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var N8=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";oe(N8);const kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ac(){const e=yt(kc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var E8=".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)}";oe(E8);const Bc={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Sc(){const e=yt(Bc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var D8=".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}";oe(D8);const Nc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ec(){const e=yt(Nc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var T8=".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}";oe(T8);const Dc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Tc(){const e=yt(Dc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:r.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var j8=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";oe(j8);const jc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Lc(){const e=yt(jc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var L8=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";oe(L8);const Mc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function $c(){const e=yt(Mc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var M8=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";oe(M8);const Rc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Pc(){const e=yt(Rc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Qt=(e,t,a)=>({key:e,get label(){return pt.t(`promoBannerBg.${e}`,t)},textTone:a}),db=[Qt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("soft","\uC18C\uD504\uD2B8","dark"),Qt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Qt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Qt("warm","\uC6DC(\uAC15\uC870)","dark"),Qt("dark","\uB2E4\uD06C","light"),Qt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Qt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Qt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Qt("success","\uC131\uACF5/\uC644\uB8CC","light"),Qt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Qt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],zc={main:uc,soft:hc,sub:bc,deep:fc,softSub:xc,warm:Cc,dark:wc,radial:Ac,diagonal:Sc,dots:Ec,outline:Tc,success:Lc,naver:$c,instagram:Pc};function ci({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const s=_=>Math.max(a,Math.min(o,Number(_))),c=_=>{try{const y=localStorage.getItem(_),k=y?Number(y):1;return Number.isFinite(k)?s(k):s(1)}catch{return s(1)}},[d,u]=l.useState(()=>c(e)),[p,h]=l.useState(e);p!==e&&(h(e),u(c(e))),l.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const m=_=>{u(typeof _=="function"?y=>s(_(y)):s(_))},g=()=>m(_=>+(_+n).toFixed(6)),f=()=>m(_=>+(_-n).toFixed(6)),x=d<o-Number.EPSILON,C=d>a+Number.EPSILON,b=Math.round(t*d),v=Math.round(b*i);return{scale:d,setScale:m,increase:g,decrease:f,canIncrease:x,canDecrease:C,fontSize:b,lineHeight:v}}function on(e,t){const a=an(t);l.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const Ic=" \xB7 ",ub=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Ic)?e.split(Ic).pop()??e:e})(),Oc=l.createContext(!1),Lo=[];let pb=null;function Fc(e){const t=l.useContext(Oc);l.useEffect(()=>{if(t||typeof e!="string"||!e)return;Lo.length===0&&(pb=document.title);const a={text:ub?`${e}${Ic}${ub}`:e};return Lo.push(a),document.title=a.text,()=>{const o=Lo.lastIndexOf(a);o>=0&&Lo.splice(o,1),document.title=Lo.length?Lo[Lo.length-1].text:pb??document.title}},[e,t])}function $8(e,t){const[a,o,n]=e.split("-").map(Number),[i,s,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,s-1,c)-Date.UTC(a,o-1,n))/864e5)}function hb(){const{t:e}=we.useTranslation();return l.useCallback(t=>{if(!t)return"";const a=Ta(t);if(!a)return"";const o=$8(a,ha());return o<=0?e("myHomework.relativeDay.today","\uC624\uB298"):o===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:o})},[e])}function mb(e){const{t}=we.useTranslation(),[a,o]=l.useState({current:"",next:"",confirm:""}),[n,i]=l.useState(null),[s,c]=l.useState(!1),d=l.useRef(null),u=l.useRef(!1);l.useEffect(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);const p=l.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),h=l.useCallback(async()=>{if(u.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),u.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(g){m=Yr(g)}finally{u.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),d.current!==null&&clearTimeout(d.current),d.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:s,handleChangePw:h,reset:p}}const Vc=[{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 Hc(e){return e.reduce((t,a)=>{try{const o=localStorage.getItem(a);return t+(o?new Blob([o]).size:0)}catch{return t}},0)}function bb(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 gb(e){const{t}=we.useTranslation(),[a,o]=l.useState({}),[n,i]=l.useState(null),[s,c]=l.useState(null),[d,u]=l.useState(null),p=l.useCallback(()=>{const m={};Vc.forEach(g=>{m[g.id]=Hc([...g.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(g=>{u({usage:g.usage??0,quota:g.quota??0})}).catch(()=>{})},[]);l.useEffect(()=>{p()},[p]);const h=l.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?Ys():m==="imageCache"&&Ls(),p(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[p,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:s,setConfirmCacheId:c,storageEstimate:d,refreshCacheSizes:p,handleClearCache:h}}function fb(e){const[t,a]=l.useState(null),[o,n]=l.useState(null),i=l.useCallback(()=>{const s=So();if(s){const d=Object.values(s),u=d.filter(p=>p.cho.length+p.jung.length+p.jong.length>0).length;a({matched:u,total:d.length})}else a(null);const c=jn();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:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Mo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function vb(e,t=[]){const[a,o]=l.useState(t),[n,i]=l.useState(null),[s,c]=l.useState(!1),[d,u]=l.useState(e),p=l.useRef(!1),h=l.useRef(null);l.useEffect(()=>{if(s)return;if(p.current){p.current=!1;return}const b=h.current;b!==null&&b.length===t.length&&b.every((v,_)=>v===t[_])||(h.current=t,o(t),i(v=>v==null?v:t.find(_=>Mo(_,v))??v))},[t,s]),l.useEffect(()=>{!s&&n!=null&&u({...n})},[s,n]);const m=l.useCallback(b=>{i(b),c(!1),u({...b})},[]),g=l.useCallback(()=>c(!0),[]),f=l.useCallback(()=>c(!1),[]),x=l.useCallback((b,v)=>{o(b),i(v),c(_=>(_&&(p.current=!0),!1))},[]),C=l.useCallback(b=>{o(v=>v.filter(_=>!Mo(_,b))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:s,setIsEditing:c,editForm:d,setEditForm:u,openDetail:m,startEditing:g,cancelEditing:f,commitEdit:x,remove:C}}const dr=()=>{const[e,t,a]=ha().split("-");return{year:e,month:t,day:a}},R8={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function xb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:s,editForm:c,setEditForm:d,openDetail:u,commitEdit:p}=vb(R8,e),{year:h,month:m,day:g}=dr(),[f,x]=l.useState({year:h,month:m,day:g,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:f,setVisitForm:x,setVisit:C=>b=>x(v=>({...v,[C]:b})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:s,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:C=>{a(y=>[f,...y]);const{year:b,month:v,day:_}=dr();x({year:b,month:v,day:_,hour:"09",minute:"00",memo:""}),C?.()},handleVisitEditSave:()=>{p(C=>C.map(b=>o!=null&&Mo(b,o)?c:b),c)},addVisit:C=>{a(b=>[C,...b])},removeVisit:C=>{a(b=>b.filter(v=>!Mo(v,C)))},revertVisitEdit:(C,b)=>{a(v=>v.map(_=>_===b?C:_)),n(v=>v===b?C:v)}}}const yb=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")}`,rn=e=>[...e].sort((t,a)=>{const o=yb(t),n=yb(a);return o<n?-1:o>n?1:0}),P8={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Cb(e,t=[]){const a=l.useMemo(()=>rn(t),[t]),{list:o,setList:n,selected:i,setSelected:s,isEditing:c,setIsEditing:d,editForm:u,setEditForm:p,openDetail:h,commitEdit:m,remove:g}=vb(P8,a),[f,x]=l.useState([]),{year:C,month:b,day:v}=dr(),[_,y]=l.useState({year:C,month:b,day:v,hour:"09",minute:"00",memo:""}),k=W=>E=>y(j=>({...j,[W]:E})),w=W=>{n(G=>rn([...G,_]));const{year:E,month:j,day:R}=dr();y({year:E,month:j,day:R,hour:"09",minute:"00",memo:""}),W?.()},B=()=>{m(W=>rn(W.map(E=>i!=null&&Mo(E,i)?u:E)),u)},S=l.useCallback(W=>{g(W)},[g]),A=l.useCallback(W=>{e({year:W.year,month:W.month,day:W.day,hour:W.hour,minute:W.minute,memo:W.memo,...W.id!=null?{id:W.id}:{}}),g(W)},[e,g]),N=l.useCallback(W=>{n(E=>E.filter(j=>!Mo(j,W))),x(E=>[W,...E]),s(null)},[n,s]),z=l.useCallback(W=>{n(E=>rn([...E,W]))},[n]),I=l.useCallback(W=>{n(E=>E.filter(j=>!Mo(j,W)))},[n]),D=l.useCallback((W,E)=>{n(j=>rn(j.map(R=>R===E?W:R))),s(j=>j===E?W:j)},[n,s]);return{scheduleList:o,noShowList:f,addSchedule:z,removeSchedule:I,revertScheduleEdit:D,scheduleForm:_,setScheduleForm:y,setSchedule:k,selectedSchedule:i,setSelectedSchedule:s,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:p,openScheduleDetail:h,handleScheduleSave:w,handleScheduleEditSave:B,handleScheduleDelete:S,handleScheduleToVisit:A,handleScheduleNoVisit:N}}const nn=[{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 _b(e){const{t}=we.useTranslation(),[a,o]=l.useState(""),[n,i]=l.useState("25"),[s,c]=l.useState("all"),[d,u]=l.useState(1),p=l.useMemo(()=>e.filter(({item:x,status:C})=>!(a&&!x.memo.includes(a)||s!=="all"&&C!==s)),[e,a,s]),h=Math.max(1,Math.ceil(p.length/Number(n))),m=Math.min(d,h),g=l.useMemo(()=>p.slice((m-1)*Number(n),m*Number(n)),[p,m,n]),f=l.useMemo(()=>nn.map(x=>({...x,label:t("common.pageSizeLabel",{n:x.value,defaultValue:x.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:f,vapStatus:s,setVapStatus:c,vapPage:m,setVapPage:u,vapFiltered:p,vapTotal:h,vapPageItems:g}}const z8=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ur(e,t){return z8().compare(e,t)}const di=new Map;function I8(e){const t=di.get(e);if(t)return t;const a=[],o=/-?\d+(?:\.\d+)?/g;let n=0;for(let i=o.exec(e);i;i=o.exec(e)){let s=i.index,c=i[0];c[0]==="-"&&s>0&&!/\s/.test(e[s-1])&&(s+=1,c=c.slice(1)),s>n&&a.push(e.slice(n,s)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),di.size>5e3&&di.clear(),di.set(e,a),a}function O8(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function F8(e,t){const a=u=>u==null||typeof u=="number"&&Number.isNaN(u)?"":String(u).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(u,p)=>{if(typeof u=="number"&&!Number.isNaN(u))return[u];const h=O8(p);return h!==null?[h]:I8(p)},s=i(e,o),c=i(t,n),d=Math.min(s.length,c.length);for(let u=0;u<d;u++){const p=s[u],h=c[u];if(typeof p=="number"&&typeof h=="number"){if(p!==h)return p-h;continue}if(typeof p=="number")return-1;if(typeof h=="number")return 1;const m=ur(p,h);if(m!==0)return m}return s.length!==c.length?s.length-c.length:ur(o,n)}const wb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Wc(e,t,a){const o=wb(e),n=wb(t);if(o||n)return o===n?0:o?1:-1;const i=F8(e,t);return a?i:-i}function Gc(e,t,a){const{t:o}=we.useTranslation(),[n,i]=l.useState(()=>{const f=a?.initialPageSize;return f&&nn.some(x=>x.value===f)?f:"25"}),[s,c]=l.useState(1),[d,u]=l.useState(t);Object.is(d,t)||(u(t),s!==1&&c(1));const p=l.useMemo(()=>nn.map(f=>({...f,label:o("visits.showN",{n:f.value})})),[o]),h=l.useCallback(f=>{i(f),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(s>m||s<1||!Number.isFinite(s))&&c(Math.min(Math.max(1,Number.isFinite(s)?s:1),m));const g=Math.min(Math.max(1,Number.isFinite(s)?s:1),m);return{pageRows:l.useMemo(()=>e.slice((g-1)*Number(n),g*Number(n)),[e,g,n]),pageSizeProps:{options:p,value:n,onChange:h},paginationProps:{page:g,total:m,onChange:c},setPage:c}}function Uc(e){const[t,a]=l.useState(null),o=l.useRef(t),n=l.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=l.useCallback(d=>{const u=o.current,p=u?.key===d?{key:d,asc:!u.asc}:{key:d,asc:!0};o.current=p,a(p),n.current?.(p)},[]),s=l.useCallback((d,u)=>({label:d,sortDir:t?.key===u?t.asc?"asc":"desc":null,onClick:()=>i(u)}),[t,i]),c=l.useCallback((d,u)=>{if(!t)return d;const{key:p,asc:h}=t;return[...d].sort((m,g)=>Wc(u(m,p),u(g,p),h))},[t]);return{\uC815\uB82C:t,\uCE78:s,sortRows:c}}const kb=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Ab(){const[e,t]=l.useState(!1),[a,o]=l.useState("\uC88C"),[n,i]=l.useState({\uC88C:null,\uC6B0:null}),[s,c]=l.useState({\uC88C:[],\uC6B0:[]}),[d,u]=l.useState(!1),[p,h]=l.useState("\uC88C"),m=l.useCallback(f=>{const x=kb(f.direction);x&&(i(C=>({...C,[x]:f})),c(C=>({...C,[x]:[f,...C[x]]})),t(!1))},[]),g=l.useCallback(f=>{const x=kb(f.direction);x&&(i(C=>({...C,[x]:f})),u(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:s,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:p,setListForSide:h,handleDeviceSubmit:m,handleSelectFromList:g}}const _t="\uC804\uCCB4",sn=["grade","syllables","pos","wordType"],Bb=["1","2","3","4"],V8=["1","2","3","4","5+"],H8=["noun","verb","modifier"],W8=["native","sino","foreign","mixed"],G8={grade:Bb,syllables:V8,pos:H8,wordType:W8},U8={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},q8={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},Y8={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},K8={pos:{noun:["\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)"],verb:["\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)"],modifier:["\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)"]}},qc=new Map;try{pt.store?.on?.("added",()=>qc.clear())}catch{}function ui(e){const t=qc.get(e);if(t)return t;const a=pt.getFixedT(e),o={\uC139\uC158:{grade:a("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:a("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),pos:a("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:a("wordSearch.filter.wordType","\uC720\uD615")},\uAC12:{grade:Object.fromEntries(Bb.map(n=>[n,a("wordSearch.filter.grade",{n:Number(n),defaultValue:`${n}\uB4F1\uAE09`})])),syllables:{...Object.fromEntries(["1","2","3","4"].map(n=>[n,a("wordSearch.filter.syllable",{n:Number(n),defaultValue:`${n}\uC74C\uC808`})])),"5+":a("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1")},pos:{noun:a("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)"),verb:a("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)"),modifier:a("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")},wordType:{native:a("wordSearch.filter.type.native","\uACE0\uC720\uC5B4"),sino:a("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4"),foreign:a("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4"),mixed:a("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")}}};return qc.set(e,o),o}const Yc=()=>Array.from(new Set([pt.language,"ko","en"].filter(e=>!!e)));function ln(e){if(sn.includes(e))return e;for(const t of Yc()){const a=ui(t);for(const o of sn)if(a.\uC139\uC158[o]===e)return o}for(const t of sn)if(Y8[t]?.includes(e))return t;return null}function pr(e,t){if(G8[e].includes(t))return t;for(const a of Yc()){const o=ui(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(K8[e]??{}))if(o.includes(t))return a;if(e==="grade"||e==="syllables"){const a=parseInt(t.replace(/\D/g,""),10);if(Number.isFinite(a)&&a>=1)return e==="grade"?a<=4?String(a):null:a>=5?"5+":String(a)}return null}const Z8=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function pi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=ln(a);if(n)for(const i of Z8(o)){const s=pr(n,i);if(!s)continue;const c=t[n]??(t[n]=[]);c.includes(s)||c.push(s)}}return t}function hi(e,t=pt.language){const a=ui(t||"ko"),o={};for(const n of sn){const i=(e?.[n]??[]).map(s=>a.\uAC12[n][s]).filter(s=>!!s);i.length&&(o[a.\uC139\uC158[n]]=i)}return o}function Sb(e,t=pt.language){const a={};for(const[o,n]of Object.entries(e??{}))ln(o)||(a[o]=n);return{...a,...hi(pi(e),t)}}function X8(e){for(const t of Yc()){const a=ui(t);if(sn.some(o=>a.\uC139\uC158[o]===e))return t}return pt.language||"ko"}function Kc(){const{t:e}=we.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 Zc(e,t,a){return{label:t.difficulty,items:[1,2,3,4].map(o=>e("wordSearch.filter.grade",{n:o})),multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function Xc(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function Jc(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function Nb(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 Eb(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 Db(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:s=!0,headDisabled:c,midDisabled:d,tailDisabled:u,allOptionDisabled:p,groupLabel:h,labelAction:m}=t;return{label:a,...h?{groupLabel:h}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...p?{allOptionDisabled:p}:{},items:[{value:o,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 Tb(e,t,a){const o=ln(a),n=o&&t!==_t?pr(o,t):null;if(o&&(t===_t||n)){const c={},d={};for(const[g,f]of Object.entries(e))(ln(g)===o?d:c)[g]=f;if(t===_t)return c;const u=pi(d)[o]??[],p=u.includes(n)?u.filter(g=>g!==n):[...u,n];if(p.length===0)return c;const h=hi({[o]:p},X8(a)),m=Object.values(h)[0]??[];return{...c,[a]:m}}if(t===_t){const{[a]:c,...d}=e;return d}const i=e[a]??[],s=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(s.length===0){const{[a]:c,...d}=e;return d}return{...e,[a]:s}}Object.fromEntries(Object.entries(Ms).map(([e,{nucleus:t}])=>[e,t]));const J8={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},Q8={"\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"]},e7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:Q8,typeMap:J8},jb=new WeakMap;function t7(e,t){const a=jb.get(e);if(a&&a.keys===t)return a.\uAC12;const o={grades:[],syls:[],poses:[],types:[]},n={grade:o.grades,syllables:o.syls,pos:o.poses,wordType:o.types};for(const[i,s]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":ln(i);if(c)for(const d of Array.isArray(s)?s:typeof s=="string"?[s]:[])n[c].includes(d)||n[c].push(d)}return jb.set(e,{keys:t,\uAC12:o}),o}function a7(e,t,a=e7){const{grades:o,syls:n,poses:i,types:s}=t7(t,a);if(o.length&&!o.some(c=>e.grade===(pr("grade",c)??c.replace(/\D/g,""))))return!1;if(n.length){const c=e.syllables??0;if(!n.some(d=>{const u=d===a.syllable5plus?"5+":pr("syllables",d);return u==="5+"?c>=5:c===parseInt(u??d)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??U8[pr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||s.length&&!s.some(c=>e.wordType===(a.typeMap[c]??q8[pr("wordType",c)??""])))}const o7={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},r7={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},n7={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function Lb(e,t){if("place"in t)return o7[t.place](e);const a=r7[t.vowel](e);return t.glide?`${a} \xB7 ${n7[t.glide](e)}`:a}const i7=(e,{defaultValue:t})=>t,Mb=(e,t)=>({jamos:e,phonetic:t,tooltip:Lb(i7,t)}),Za=(e,t)=>t.map(a=>Mb([a],{place:e})),It=(e,t,a)=>Mb([...e],a?{vowel:t,glide:a}:{vowel:t}),Qc={cho:[Za("labial",["\u3142","\u3143","\u314D","\u3141"]),Za("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Za("alveolar",["\u3145","\u3146"]),Za("palatal",["\u3148","\u3149","\u314A"]),Za("velar",["\u3131","\u3132","\u314B"]),Za("glottal",["\u314E"])],jung:[[It("\u3163","frontHigh"),It("\u315F","frontHigh","w"),It("\u3162","frontHigh","velar")],[It("\u3161","backHighUnrounded")],[It("\u315C","backHighRounded"),It("\u3160","backHighRounded","j")],[It("\u3154\u3150","frontMid"),It("\u3156\u3152","frontMid","j"),It("\u3159\u315A\u315E","frontMid","w")],[It("\u3153","backMidUnrounded"),It("\u3155","backMidUnrounded","j"),It("\u315D","backMidUnrounded","w")],[It("\u3157","backMidRounded"),It("\u315B","backMidRounded","j")],[It("\u314F","low"),It("\u3151","low","j"),It("\u3158","low","w")]],jong:[Za("labial",["\u3142","\u3141"]),Za("alveolar",["\u3137","\u3134","\u3139"]),Za("velar",["\u3131","\u3147"])]},s7=[...rt],l7=[...ht],c7=Tt.filter(e=>e!==""),ja=e=>e===ka?[]:Array.from(e),ka="__NO_CODA__",$b=[1,2,3,4],Aa=5,d7=12,Rb="SYL_",ed=e=>`${Rb}${e}`,u7=e=>Number(e.slice(Rb.length));function mi(e){return e>=Aa?Array.from({length:d7-Aa+1},(t,a)=>Aa+a):[e]}const Pb={cho:s7,jung:l7,jong:c7},td=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),ad={cho:td(Qc.cho),jung:td(Qc.jung),jong:td(Qc.jong)},zb={};ad.jung.flat().forEach(({v:e})=>{for(const t of ja(e))zb[t]=e});const p7=new Set(ad.cho.flat().map(e=>e.v));function od(e,t){return e==="cho"?p7.has(t)?t:null:e==="jung"?zb[t]??t:Ao(t)}function rd(e,t,a){if(e==="jung"){const o=ja(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&Ao(a)===t?a:t}function nd(e,t,a,o){const n=(i,s)=>s?i==="jong"&&s===ka?ka:t==="pron"?od(i,s):rd(i,s,i==="jung"?a:i==="jong"?o:null):null;return{...e,cho:n("cho",e.cho),jung:n("jung",e.jung),jong:n("jong",e.jong)}}const bi={cho:null,jung:null,jong:null,syllable:null},h7="wt_filter",Ib=e=>`wt_filter_${e}`,id=["noun","verb","modifier"],sd=["native","sino","foreign","mixed"];function Ob(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const s of e){if(typeof s!="string")continue;const c=t.includes(s)?s:t.find(d=>n.some(u=>o(u,a(d))===s));c&&!i.includes(c)&&i.push(c)}return i}function Fb(e){try{const t=localStorage.getItem(Ib(e))??localStorage.getItem(h7);if(t)return JSON.parse(t)}catch{}return null}function Vb(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function m7(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?{...bi,cho:t.choseong}:bi}function Hb(e,t,a){const{t:o,i18n:n}=we.useTranslation(),[i]=l.useState(()=>a?.resetOnMount?null:Fb(e)),[s,c]=l.useState(Vb(i)),[d,u]=l.useState(()=>m7(i)),p=l.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:ka,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?ka:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);l.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||u(K=>K.cho||K.jung||K.syllable!=null||K.jong?K:p())},[]);const h=l.useMemo(()=>jt(d.cho)||jt(d.jung)||jt(d.jong)?"count":"random",[d.cho,d.jung,d.jong]),m=l.useRef(s==="char"?d.jung:null),g=l.useRef(s==="char"?d.jong:null);l.useEffect(()=>{s==="char"&&(m.current=d.jung,g.current=d.jong)},[s,d.jung,d.jong]);const[f,x]=l.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[C,b]=l.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[v,_]=l.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),y=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),k=(K,Ce)=>n.getFixedT(K)(Ce),w=K=>Ob(K,id,Ce=>`wordSearch.filter.pos.${Ce}`,k,y),B=K=>Ob(K,sd,Ce=>`wordSearch.filter.type.${Ce}`,k,y),[S,A]=l.useState(()=>w(i?.posFilter)),[N,z]=l.useState(()=>B(i?.wordTypeFilter)),I=l.useRef(a?.resetKey);l.useEffect(()=>{I.current!==a?.resetKey&&(I.current=a?.resetKey,u(p()),x(!!a?.defaultImageOnly),b(!1),_([]),A([]),z([]))},[a?.resetKey]);const D=Kc(),W=l.useMemo(()=>Object.keys(D.posMap),[D]),E=l.useMemo(()=>Object.keys(D.typeMap),[D]),j=l.useMemo(()=>S.map(K=>W[id.indexOf(K)]).filter(Boolean),[S,W]),R=l.useMemo(()=>N.map(K=>E[sd.indexOf(K)]).filter(Boolean),[N,E]),[G,X]=l.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[V,H]=l.useState(!1),[U,L]=l.useState(null),T=1,P=Math.max(1,[d.cho,d.jung,d.jong].filter(Boolean).length),[O,F]=l.useState(e);l.useEffect(()=>{if(O!==e){if(!a?.resetOnMount){const K=Fb(e);u(K?.composition??p()),x(K?.excludeNoImage??!0),b(K?.sameStructureOnly??!0),c(Vb(K)),_(Array.isArray(K?.gradeFilter)?K.gradeFilter:[]),A(w(K?.posFilter)),z(B(K?.wordTypeFilter))}F(e)}},[e,O,a?.resetOnMount]),l.useEffect(()=>{if(!a?.resetOnMount&&O===e)try{localStorage.setItem(Ib(e),JSON.stringify({contrastCount:P,composition:d,excludeNoImage:f,sameStructureOnly:C,phonemeView:s,gradeFilter:v,posFilter:S,wordTypeFilter:N}))}catch{}},[a?.resetOnMount,e,O,P,d,f,C,s,v,S,N]);const[$,Q]=l.useState(0);on("wordpool:update",()=>Q(K=>K+1));const J=l.useRef(n.language);l.useEffect(()=>{J.current!==n.language&&(J.current=n.language,Q(K=>K+1))},[n.language]),l.useEffect(()=>{if(!t.choseong)return;let K=!1;return e8({difficulty:h,excludeNoImage:f}).then(Ce=>{K||(X(Ce),Ce.cho.size+Ce.jung.size+Ce.jong.size>0&&H(!0))}).catch(()=>{K||X({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{K=!0}},[t.choseong,h,f,$]),l.useEffect(()=>{let K=!1;const Ce=d,fe=Ce.cho?ja(Ce.cho):null,ae=Ce.jung?ja(Ce.jung):null,me=Ce.jong===ka,$e=me?null:Ce.jong?ja(Ce.jong):null,Me=Ce.syllable!=null?mi(Ce.syllable):null,re=!!(fe||ae||$e||me||Me);return Q3({difficulty:t.difficulty?h:null,contrastCount:t.difficulty?P:1,composition:t.choseong&&re?{cho:fe,jung:ae,jong:$e,jongNone:me,syllable:Me}:null,excludeNoImage:f,sameStructureOnly:C,phonemeView:s==="pron"?"pron":"char",grade:v.length>0?v:null}).then(de=>{K||L(de)}).catch(()=>{K||L(null)}),()=>{K=!0}},[t.choseong,t.difficulty,h,P,d,s,f,C,$,v]),l.useEffect(()=>{V&&u(K=>{const Ce={...K};let fe=!1;return["cho","jung","jong"].forEach(ae=>{const me=K[ae];!me||me===ka||ja(me).some($e=>G[ae].has($e))||(Ce[ae]=null,fe=!0)}),K.syllable!=null&&t.fixedSyllable==null&&(K.syllable>=Aa?[...G.syllable].some(ae=>ae>=Aa)||(Ce.syllable=null,fe=!0):(!G.syllable.has(K.syllable)||K.syllable<T)&&(Ce.syllable=null,fe=!0)),fe?Ce:K})},[G,V,T,t.fixedSyllable]);const Z=l.useMemo(()=>{const K=Ce=>{const fe=new Set;for(const ae of Pb[Ce])G[Ce].has(ae)&&fe.add(ae);return fe};return{cho:K("cho"),jung:K("jung"),jong:K("jong")}},[G]),ie=l.useMemo(()=>({exact:new Set($b.filter(K=>G.syllable.has(K))),min:[...G.syllable].some(K=>K>=Aa)}),[G]),se=l.useMemo(()=>({composition:o("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:o("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:o("wordPairs.onset","\uCD08\uC131"),vowel:o("wordPairs.vowel","\uBAA8\uC74C"),coda:o("wordPairs.coda","\uC885\uC131"),phonemeGroup:o("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:o("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:o("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:o("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:o("training.filter.random","\uBB34\uC791\uC704"),exclude:o("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:o("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:o("common.none","\uC5C6\uC74C"),noImage:o("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:o("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:o("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:o("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:o("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:o("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[o]),ce=l.useMemo(()=>({[se.trainOnset]:"cho",[se.trainVowel]:"jung",[se.trainCoda]:"jong"}),[se]),ue=l.useCallback((K,Ce)=>({title:Ce,items:K}),[]),q=l.useMemo(()=>[o("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."}),o("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."})],[o]),le=l.useMemo(()=>{const K=[];if(t.choseong){const Ce={value:ka,displayLabel:se.codaExclude},fe=t.fixedNoCoda===!0,ae=(me,$e)=>{const Me=fe&&me==="jong",re={label:$e,groupLabel:se.phonemeGroup,allOption:!t.requireSyllable,allLabel:se.noLimit,allOptionDisabled:Me};if(s==="pron"){const xe=ad[me].map(ye=>ye.map(({v:Ge,phonetic:Ue})=>{const Xe=ja(Ge),Je=Lb(o,Ue),et=Me||!Xe.some(We=>G[me].has(We));return Xe.length>1?{value:Ge,labels:Xe,tooltip:Je,disabled:et}:{value:Ge,tooltip:Je,disabled:et}}));return me==="jong"&&!t.requireCoda&&xe.unshift([Ce]),{...re,groups:xe}}const de=Pb[me].map(xe=>!Me&&Z[me].has(xe)?xe:{value:xe,disabled:!0});return{...re,items:me==="jong"&&!t.requireCoda?[Ce,...de]:de}};K.push(ae("cho",se.trainOnset)),K.push(ae("jung",se.trainVowel)),K.push(ae("jong",se.trainCoda))}if(K.push({...Zc(o,D,{labelInfo:ue([o("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:se.gradeLabel}),t.partOfSpeech&&K.push(Xc(D)),t.wordType&&K.push(Jc(D)),t.choseong||t.fixedSyllable!=null){const Ce=t.fixedSyllable;K.push({label:se.syllableCount,items:[...$b.map(fe=>({value:ed(fe),displayLabel:o("wordPairs.syllableN",{n:fe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:Ce!=null?fe!==Ce:!ie.exact.has(fe)||fe<T})),{value:ed(Aa),displayLabel:o("wordPairs.syllableNPlus",{n:Aa,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:Ce!=null?Aa!==Ce:!ie.min}],allOption:!0,allOptionDisabled:Ce!=null})}return t.choseong?K.push({label:se.exclude,displayLabel:se.selectLabel,multiple:!0,items:[se.excludeImage,se.sameStructure],labelInfo:ue(q)}):K.push({label:se.exclude,displayLabel:se.selectLabel,multiple:!0,items:[se.excludeImage],labelInfo:ue([q[0]])}),K},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,T,Z,G,s,ie,se,o,ue,q,D]),ge={...(t.choseong||t.fixedSyllable!=null)&&d.syllable!=null?{[se.syllableCount]:ed(d.syllable)}:{},...t.choseong&&d.cho?{[se.trainOnset]:d.cho}:{},...t.choseong&&d.jung?{[se.trainVowel]:d.jung}:{},...t.choseong&&d.jong?{[se.trainCoda]:d.jong}:{},[se.exclude]:[...f?[se.excludeImage]:[],...C?[se.sameStructure]:[]],[se.gradeLabel]:v.map(K=>o("wordSearch.filter.grade",{n:Number(K),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[D.partOfSpeech]:j}:{},...t.wordType?{[D.wordType]:R}:{}},Se=l.useCallback((K,Ce)=>{if(Ce===se.exclude)K===se.excludeImage?x(fe=>!fe):K===se.sameStructure&&b(fe=>!fe);else if(Ce===se.syllableCount)u(fe=>{if(!K||K===_t)return{...fe,syllable:null};const ae=u7(K);return{...fe,syllable:fe.syllable===ae?null:ae}});else if(Ce===se.gradeLabel){if(!K||K===_t){_([]);return}const fe=K.replace(/\D/g,"");_(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else if(Ce===D.partOfSpeech){if(!K||K===_t){A([]);return}const fe=id[W.indexOf(K)]??w([K])[0];if(!fe)return;A(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else if(Ce===D.wordType){if(!K||K===_t){z([]);return}const fe=sd[E.indexOf(K)]??B([K])[0];if(!fe)return;z(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else{const fe=ce[Ce];if(!fe)return;u(ae=>t.requireSyllable?K&&K!==_t?{...ae,[fe]:K}:ae:!K||K===_t||ae[fe]===K?{...ae,[fe]:null}:{...ae,[fe]:K})}},[se,ce,D,W,E,t.requireSyllable]),ke=l.useCallback(K=>!t.partOfSpeech&&!t.wordType?!0:a7(K,{...t.partOfSpeech?{[D.partOfSpeech]:j}:{},...t.wordType?{[D.wordType]:R}:{}},D),[t.partOfSpeech,t.wordType,j,R,D]),Ee=l.useCallback(K=>{K!==s&&(K!=="direct"&&s!=="direct"&&u(Ce=>nd(Ce,K,m.current,g.current)),c(K))},[s]),_e=l.useCallback(()=>({composition:d,contrastCount:P,excludeNoImage:f,sameStructureOnly:C,phonemeView:s,gradeFilter:v,posFilter:S,wordTypeFilter:N}),[d,P,f,C,s,v,S,N]),Be=l.useCallback(K=>{u(K.composition),x(K.excludeNoImage),b(K.sameStructureOnly??!0),c(K.phonemeView),_(Array.isArray(K.gradeFilter)?K.gradeFilter:[]),Array.isArray(K.posFilter)&&A(w(K.posFilter)),Array.isArray(K.wordTypeFilter)&&z(B(K.wordTypeFilter))},[]);return{difficulty:h,contrastCount:P,composition:d,choseong:d.cho,excludeNoImage:f,sameStructureOnly:C,gradeFilter:v,posFilter:j,wordTypeFilter:R,matchesWordAttributes:ke,poolVersion:$,filterSections:le,filterSelected:ge,handleFilterSelect:Se,phonemeView:s,setPhonemeView:Ee,phonemeGroupLabel:se.phonemeGroup,wordCount:U,getFilterSnapshot:_e,restoreFilterSnapshot:Be}}function b7(e){const t=c=>c?ja(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===ka,i=n?null:t(e.jong),s=e.syllable!=null?mi(e.syllable):null;return!a&&!o&&!i&&!n&&!s?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:s}}function Wb(e,t,a,o,n,i,s=!0,c="char",d=[]){const[u,p]=l.useState({}),[h,m]=l.useState(!1),{cho:g=null,jung:f=null,jong:x=null,syllable:C=null}=o??{},b=d.length>0?d.slice().sort().join(","):"",v=e.map(y=>y.key).join("|");l.useEffect(()=>{i>0&&J3(n).catch(()=>{})},[i,n]),l.useEffect(()=>{let y=!1;return m(!0),(async()=>{const k=b7({cho:g,jung:f,jong:x,syllable:C}),w=`${g??""}_${f??""}_${x??""}_${C??""}_${b}`,B={};await Promise.all(e.map(async S=>{const A=Jo[S.key];try{const N=await zm(S.key,{difficulty:A.difficulty?t:null,contrastCount:A.difficulty?a:1,composition:A.choseong?k:null,count:5,excludeNoImage:n,sameStructureOnly:s,phonemeView:c,grade:d.length>0?d:null});N&&N.length>0?B[S.key]={id:`wt-${S.key}-${t}-${w}-${Date.now()}`,name:S.label,training_type:S.key,category_main_code:"WORD",iconColor:S.color,subTitle:S.subTitle,items:N,itemCount:N.length}:B[S.key]={id:`wt-${S.key}-empty`,name:S.label,training_type:S.key,category_main_code:"WORD",iconColor:S.color,subTitle:S.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[S.key]=null}})),y||(p(B),m(!1))})(),()=>{y=!0}},[t,a,g,f,x,C,n,s,c,i,b,v]);const _=JSON.stringify(e.map(y=>[y.key,y.label,y.color,y.subTitle]));return{perTypeData:l.useMemo(()=>{const y={};for(const[k,w]of Object.entries(u)){const B=e.find(S=>S.key===k);y[k]=w&&B?{...w,name:B.label,iconColor:B.color,subTitle:B.subTitle}:w}return y},[u,_]),generating:h}}function Gb(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 g7(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 f7=Ca,v7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},x7=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function gi(e,t,a,o,n){if(!e.length||t<=0)return[];const i=g7(Gb(`${a}|${o}|${n}`)),s=v7(o)&1,c=e.filter((u,p)=>(Gb(`${a}|${n}|${x7(u,p)}`)>>>7&1)===s),d=c.length>=t&&e.length-c.length>=t;return f7(d?c:e,t,i)}function ld(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:gi(lo,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:gi(co,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:gi(uo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:gi(po,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function cd(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const y7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function dd(e=!1,t=y7,a){const o=Ta(Date.now()),n=Ta(Date.now()-864e5),i=a??"";return lo.length>0||co.length>0||uo.length>0||po.length>0?{today:ld(t,i,o),yesterday:ld(t,i,n)}:{today:ld(t,i,o),yesterday:null}}function Ub(e){const t=l.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=l.useRef(null),[o,n]=l.useState(!1),[i,s]=l.useState(!1),[c,d]=l.useState(0),[u,p]=l.useState(!1),[h,m]=l.useState(()=>ha());l.useEffect(()=>{const f=()=>{const C=Date.now(),b=new Date(C+9*36e5),v=Date.UTC(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()+1)-9*36e5;return Math.max(1e3,v-C+1e3)};let x=setTimeout(function C(){m(ha()),x=setTimeout(C,f())},f());return()=>clearTimeout(x)},[]),l.useEffect(()=>{let f=!1,x=!1,C=!1,b,v=0,_=null,y=0;const k=40,w=()=>{b!==void 0&&(clearInterval(b),b=void 0)};let B=!1;try{const I=new URLSearchParams(window.location.search),D=I.get("forceRefresh")||I.get("force");B=D==="1"||D==="true"}catch{}const S=I=>{x||(C=!0,t.current=I.today,a.current=I.yesterday,n(!0),p(!0),d(D=>D+1),f=!0,w())},A=async()=>{if(f)return;if(!B){const D=dd(!1,void 0,e);if(cd(D.today)){S(D);return}}if(_){++v>=k&&N();return}if(v>=y){y=v+8,_=Yl(3e3).catch(()=>!1);try{await _}finally{_=null}if(f)return}const I=dd(B,void 0,e);if(cd(I.today)){S(I);return}++v>=k&&N()};function N(){n(!0),p(!1),f=!0,w()}const z=()=>{if(x||C)return;const I=dd(B,void 0,e);cd(I.today)&&S(I)};try{window.addEventListener("speechear.data.updated",z)}catch{}return A(),b=setInterval(A,250),()=>{f=!0,x=!0,w();try{window.removeEventListener("speechear.data.updated",z)}catch{}}},[e,h]);const g=l.useCallback(f=>{const x=i?a.current:t.current,C=i?t.current:a.current;return x?.[f]?.length?x[f]:C?.[f]?.length?C[f]:void 0},[i,c]);return{loaded:o,hasData:u,showYesterday:i,setShowYesterday:s,getTrainingPerType:g}}function ud(e,t=!0){const a=an(e);l.useEffect(()=>{if(t)return jo(()=>{a.current?.()})},[t,a])}const fi=(e,t)=>`${e}:${t??1}`,vi=new Map,qb=new Set,Yb=new Map,C7=6e4;function Kb(e,t){const[a,o]=l.useState(0),n=Array.from(new Set(e.map(i=>fi(i.word,i.homonum)))).sort().join("|");return l.useEffect(()=>{const i=n?n.split("|"):[],s=Date.now(),c=i.filter(p=>!vi.has(p)&&!qb.has(p)&&!(s-(Yb.get(p)??-1/0)<C7));if(c.length===0)return;let d=!1;const u=Array.from(new Set(c.map(p=>p.slice(0,p.lastIndexOf(":")))));return t(u).then(p=>{for(const h of p)h.Meaning&&vi.set(fi(h.Word,h.Homonum??void 0),h.Meaning);if(p.length>0)for(const h of c)vi.has(h)||qb.add(h);else{const h=Date.now();for(const m of c)Yb.set(m,h)}d||p.length===0||o(h=>h+1)}).catch(()=>{}),()=>{d=!0}},[n,t]),l.useMemo(()=>{const i=n?n.split("|"):[],s=new Map;for(const c of i){const d=vi.get(c);d!=null&&s.set(c,d)}return s},[n,a])}function $o(){const[e,t]=l.useState(null),a=l.useCallback(i=>t(i.getBoundingClientRect()),[]),o=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:o,toggleAt:n}}function pd(e){const[t,a]=l.useState(null),[o,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:o,openAfterDelay:s,close:c}}function Zb(e,t,a){const o=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/o)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:l.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function Xb(e,t){const[a,o]=l.useState(e);a!==e&&(o(e),t(1))}function xi(e="warning"){const[t,a]=l.useState(""),[o,n]=l.useState(e),[i,s]=l.useState(0),c=l.useCallback((h,m)=>{n(m),a(h),s(g=>g+1)},[]),d=l.useCallback(h=>c(h,"warning"),[c]),u=l.useCallback(h=>c(h,"normal"),[c]),p=l.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:d,showNormal:u,clearToast:p}}const cn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},dn=cn.blue,yi=cn.green,un=cn.amber,Ci=cn.purple,_7=cn.pink,w7=[{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:dn,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:dn,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:dn,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:dn,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:dn,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:yi,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:yi,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:yi,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:yi,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:un,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:un,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:un,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:un,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:un,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:Ci,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:Ci,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:Ci,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:Ci,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:_7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function Jb(){const{t:e}=we.useTranslation();return l.useMemo(()=>{const t=Object.fromEntries(Am(e).map(o=>[o.key,o.label])),a={...t};return w7.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function pn(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const o=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(o)&&o>t&&(t=o)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function Ro({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=l.useState(!1),[s,c]=l.useState({}),d=l.useRef(null),u=l.useRef(null),p=l.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect(),d.current))},[e]);l.useEffect(()=>{if(!n)return;p();const g=v=>{const _=v.target;o&&_.closest?.(o)||d.current?.contains(_)||u.current?.contains(_)||i(!1)};document.addEventListener("mousedown",g),document.addEventListener("pointerdown",g);const f=v=>{u.current?.contains(v.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",f,!0);const x=()=>{a==="reposition"?p():a==="close"&&i(!1)};let C=null;const b=()=>{x(),C&&clearTimeout(C),C=setTimeout(()=>{C=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",x),window.addEventListener("orientationchange",b)),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("pointerdown",g),t!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&(window.removeEventListener("resize",x),window.removeEventListener("orientationchange",b)),C&&clearTimeout(C)}},[n,p,t,a,o]),l.useEffect(()=>{if(n)return jo(()=>i(!1))},[n]);const h=l.useCallback(()=>i(g=>!g),[]),m=l.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:h,close:m,style:s,triggerRef:d,menuRef:u}}function hd(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:s=1500}={}){const[c,d]=l.useState([]),[u,p]=l.useState(0),[h,m]=l.useState("idle"),[g,f]=l.useState(null),[x,C]=l.useState([]),[b,v]=l.useState(null),[_,y]=l.useState(0),k=l.useRef(0),w=l.useCallback(U=>{k.current=typeof U=="function"?U(k.current):U,y(k.current)},[]),B=l.useRef(o),S=l.useRef(n);l.useEffect(()=>{B.current=o,S.current=n},[o,n]);const A=l.useRef([]),N=()=>{A.current.forEach(clearTimeout),A.current=[]},z=(U,L)=>{A.current.push(setTimeout(L,U))};l.useEffect(()=>()=>N(),[]);const I=c[u]?.id??null,D=l.useRef(null),W=l.useCallback(()=>{N(),m("playing"),C([]),v(null),w(0);let U=0;e.forEach((L,T)=>{z(U,()=>{p(T),f(L.id),B.current?.(L)}),z(U+1e3,()=>{f(null),C(P=>[...P,L.id])}),U+=1300}),z(U,()=>{m("done"),S.current?.({score:0,total:e.length})})},[e,w]),E=l.useCallback((U,L)=>{if(L>=U.length){m("done"),S.current?.({score:k.current,total:U.length});return}D.current=null,p(L),v(null),m("playing"),f(U[L].id),B.current?.(U[L]),z(i,()=>{f(null),m("waiting")})},[i]),j=l.useCallback(()=>{N();const U=Qe(e);d(U),w(0),C([]),E(U,0)},[e,E,w]),R=l.useCallback(()=>{t==="playback"?(d(e),W()):j()},[t,e,W,j]),G=l.useCallback(()=>{N(),m("idle"),f(null),C([]),v(null),p(0),w(0),d([])},[w]),X=e.map(U=>U.id).join("|");l.useEffect(()=>(a?R():G(),()=>N()),[t,X,a]);const V=l.useCallback(U=>{h!=="waiting"||t==="playback"||D.current===u||(D.current=u,v(U),U===c[u]?.id&&w(L=>L+1),t==="exam"?(m("playing"),z(400,()=>E(c,u+1))):(m("feedback"),z(s,()=>E(c,u+1))))},[h,t,c,u,E,s,w]),H=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:x,selectedId:b,answerId:I,showFeedback:h==="feedback",clickable:h==="waiting",onSelectSpeaker:V},index:u,total:H,score:_,phase:h,done:h==="done",start:R,reset:G}}var k7=Object.freeze({__proto__:null,CACHE_GROUPS:Vc,CORE_VERSION:An,DocumentTitleSuppressContext:Oc,EMPTY_COMPOSITION:bi,MediaQueryOverrideContext:si,NO_CODA:ka,SYLLABLE_MIN:Aa,VAP_PAGE_SIZE_OPTIONS:nn,buildGradeSection:Zc,buildPartOfSpeechSection:Xc,buildPositionSection:Db,buildSelectSection:Eb,buildSyllableSection:Nb,buildWordTypeSection:Jc,charToPronValue:od,convertComposition:nd,fmtBytes:bb,lsBytes:Hc,meaningKey:fi,normalizeWordAttributeFilter:Sb,pronToCharValue:rd,syllableToFilter:mi,toWordAttributeFilterCodes:pi,today:dr,toggleAttributeFilter:Tb,useAnchoredMenu:Ro,useCacheManagement:gb,useDailyTrainingSelection:Ub,useDelayedHoverAnchor:pd,useDeviceManagement:Ab,useDocumentTitle:Fc,useEscToClose:ud,useFontScale:ci,useHoverAnchor:$o,useMediaQuery:qt,usePageResetOnChange:Xb,usePagedList:Zb,usePasswordChange:mb,useRelativeDay:hb,useSoundCompassExam:hd,useTablePaging:Gc,useTableSort:Uc,useToastState:xi,useTrainingTypeLabels:Jb,useVisitAllPanel:_b,useVisitHistory:xb,useVisitSchedule:Cb,useWindowEvent:on,useWordAttributeFilterKeys:Kc,useWordDataStats:fb,useWordMeanings:Kb,useWordTrainingDataGeneration:Wb,useWordTrainingFilter:Hb,valueToJamos:ja,wordAttributeFilterFromCodes:hi}),A7=".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}";oe(A7);function Qb({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:s="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:p=""}){const h=n??i??"main",m=l.useRef(null),[g,f]=l.useState("main"),x=qt("(max-width: 767px)"),C=l.useRef({title:!1,description:!1});l.useLayoutEffect(()=>{const _=m.current;if(!_)return;const y=li(_),k=(w,B,S)=>{if(S!==void 0)_.style.setProperty(B,S),C.current[w]=!0;else if(C.current[w]){const A=y?.[w];A?_.style.setProperty(B,A):_.style.removeProperty(B),C.current[w]=!1}};k("title","--promo-banner-bg-title",d),k("description","--promo-banner-bg-description",u)},[d,u,h]),l.useLayoutEffect(()=>{const _=m.current;if(!_)return;const y=li(_);f(y?.actionVariant??"main")},[h]);const b=je("promo-banner",`promo-banner--${s}`,p),v=zc[h];return r.jsxs("div",{ref:m,className:b,role:"note",children:[r.jsx(v,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${s==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(he,{htmlType:"button",size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...x?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var B7='.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)}';oe(B7);function eg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=we.useTranslation(),s=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=l.Children.toArray(e),d=c.length,[u,p]=l.useState(0),[h,m]=l.useState(!1),[g,f]=l.useState(!1),[x,C]=l.useState(!1),b=l.useRef(null),v=l.useRef(null),_=l.useRef(null),y=ic(),k=h||g||x,w=d>0?Math.min(u,d-1):0;l.useEffect(()=>{if(d<2||t<=0||k||y)return;const S=window.setInterval(()=>p(A=>(Math.min(A,d-1)+1)%d),t);return()=>window.clearInterval(S)},[d,t,k,y]);const B=S=>{v.current!=null&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>{v.current=null,C(!1)},S)};return l.useEffect(()=>()=>{v.current!=null&&window.clearTimeout(v.current)},[]),l.useEffect(()=>{if(!x)return;const S=A=>{A.pointerType==="touch"&&(_.current&&_.current.contains(A.target)||(v.current!=null&&(window.clearTimeout(v.current),v.current=null),C(!1)))};return document.addEventListener("pointerdown",S,!0),()=>document.removeEventListener("pointerdown",S,!0)},[x]),d===0?null:r.jsxs("section",{ref:_,className:je("top-banner",o),"aria-label":s,"aria-roledescription":"carousel",onPointerEnter:S=>{b.current=S.pointerType},onPointerDown:S=>{b.current=S.pointerType,S.pointerType==="touch"&&(v.current!=null&&(window.clearTimeout(v.current),v.current=null),C(!0))},onPointerUp:S=>{S.pointerType==="touch"&&B(5e3)},onPointerCancel:S=>{S.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{b.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:S=>{let A=!0;try{A=S.target.matches(":focus-visible")}catch{A=!0}f(A)},onBlur:S=>{S.currentTarget.contains(S.relatedTarget)||f(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${w*100}%)`},children:c.map((S,A)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":A!==w,...A!==w?{inert:!0}:{},children:S},A))})}),d>1&&r.jsx("div",{className:`top-banner__dots${(a?.[w]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((S,A)=>r.jsx("button",{type:"button",className:`top-banner__dot${A===w?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:A+1,defaultValue:`${d}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===w,onClick:()=>p(A)},A))})]})}var S7=".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)}";oe(S7);function N7({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:s="body-2",className:c=""}){const{t:d}=we.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),o?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const p=u.currentTarget.closest('[role="list"]');if(!p)return;const h=Array.from(p.querySelectorAll("[data-accordion-header]")),m=h.indexOf(u.currentTarget);(u.key==="ArrowDown"?h[m+1]:h[m-1])?.focus()}},children:[n&&r.jsx("div",{className:"accordion-item__avatar",children:n}),r.jsx("div",{className:`accordion-item__title ${i}`,children:e}),r.jsx("div",{className:"accordion-item__chevron",children:r.jsx(Ze,{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&&r.jsx("div",{className:`accordion-item__body ${s}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function tg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,s]=l.useState({index:t}),c=(d,u)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&u===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((d,u)=>r.jsx(N7,{title:d.title,body:d.body,avatar:d.avatar,open:c(d,u),onToggle:()=>s(c(d,u)?{index:-1}:{index:u,id:d.id}),bodyClassName:n},d.id??u))})}var E7=".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__slot{display:flex;flex-shrink:0;height:52px;position:relative;width:52px}.ihabdevteam-core-scope .bottom-nav__slot .circle-badge--top-right{right:0;top:0}.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)}}";oe(E7);var D7=".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}";oe(D7);function T7(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("polyline",{points:"2,6 5,9 10,3"})})}function j7(){return r.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[r.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),r.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function L7(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:r.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function vt(e){const{t}=we.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":s}=e;if(a==="dot"){const{icon:k,number:w,position:B="top-right",onClick:S,animate:A=!1}=e,N=k??"check",z=w!==void 0?"number":N,I=typeof o=="number"?o:32,D=je("circle-badge",`circle-badge--${z}`,`circle-badge--${B}`,`circle-badge--${I}`,A?"circle-badge--animate":"",S?"circle-badge--clickable":"",n),W=w!==void 0?t("badge.nthSelected",{n:w,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[N];return r.jsxs("span",{className:D,onClick:S,onKeyDown:S?E=>{E.key!=="Enter"&&E.key!==" "||(E.preventDefault(),E.currentTarget.click())}:void 0,"aria-label":s?void 0:i??W,"aria-hidden":s||void 0,role:S?"button":s?void 0:"img",tabIndex:S?0:void 0,children:[w!==void 0&&w,w===void 0&&N==="check"&&r.jsx(T7,{}),w===void 0&&N==="remove"&&r.jsx(j7,{}),w===void 0&&N==="minus"&&r.jsx(L7,{})]})}const{label:c,children:d,variant:u="default",fill:p="filled",minWidth:h,iconLeft:m,iconRight:g,color:f}=e,x=typeof o=="number"?"medium":o??"medium",C={small:"caption-2b",medium:"body-3b",large:"body-2b"}[x]??"body-2b",b={small:12,medium:14,large:16}[x]??14,v=je("badge",`badge--${u}`,`badge--${x}`,p!=="filled"?`badge--${p}`:"",C,n),_=f?.startsWith("--")?`var(${f})`:f,y=h!==void 0||_?{...h!==void 0?{minWidth:typeof h=="number"?`${h}px`:h}:{},..._?{"--badge-color":_}:{}}:void 0;return r.jsxs("span",{className:v,style:y,"aria-label":s?void 0:i,role:i&&!s?"img":void 0,"aria-hidden":s||void 0,children:[m&&r.jsx(Ze,{icon:m,size:b,className:"badge__icon"}),c??d,g&&r.jsx(Ze,{icon:g,size:b,className:"badge__icon"})]})}var M7=".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__separator{background:var(--color-whiteLine);height:1px;margin:4px 0}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";oe(M7);function hr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=we.useTranslation(),i=o==="small"?40:48,[s,c]=l.useState([]),d=l.useMemo(()=>{const C=[{title:null,columns:e}];let b=e;for(const v of s){const _=b?.[v.ci]?.items?.[v.ii];if(!_||!Array.isArray(_.children)||!_.children.length)break;b=[{title:null,items:_.children}],C.push({title:_.label||null,columns:b})}return C},[e,s]),u=d[d.length-1],p=d.length-1,h=l.useCallback(()=>c(C=>C.slice(0,Math.max(0,Math.min(C.length,p)-1))),[p]),m=l.useRef(null),g=l.useRef(null),f=d.length;l.useEffect(()=>{g.current||(g.current=document.activeElement);let C=0,b=0;const v=()=>{const _=m.current?.querySelector("button:not([disabled])");if(_&&_.offsetParent){_.focus({preventScroll:!0});return}b++<20&&(C=requestAnimationFrame(v))};return C=requestAnimationFrame(v),()=>cancelAnimationFrame(C)},[f]),l.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const x=l.useCallback((C,b,v)=>{if(C){if(Array.isArray(C.children)&&C.children.length){c(_=>[..._.slice(0,p),{ci:b,ii:v}]);return}try{typeof C.onClick=="function"&&C.onClick()}catch{}try{C&&C.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(d.length>1||u.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?r.jsx(he,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:h,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:u.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:u.columns&&u.columns.map((C,b)=>r.jsxs("div",{className:"tooltip-menu__column",children:[C.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:C.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(C.items||[]).map((v,_)=>r.jsxs(l.Fragment,{children:[v.separatorBefore&&_>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(he,{htmlType:"button",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?r.jsx(vt,{type:"dot",position:"inline",number:Math.min(v.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:v.label,ariaLabel:v.label&&v.badgeCount&&v.badgeCount>0?n("nav.badgeLabel",{label:v.label,count:v.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):v.label,onClick:()=>x(v,b,_),selected:v.selected,disabled:v.disabled,showTooltipInfo:v.tooltip||!1,useBorder:!1,align:"left"})]},_))})]},b))})]})}const ag=".content-area";function md(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(ag);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&Wa("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${ag}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const bd=52,_i=10,og=e=>e&&e>0?e:0;function gd({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:s}){const{t:c}=we.useTranslation(),d=o==="manager"?"malgwi":"manager",u=o==="manager"?"arrow-left":"arrow-right",p=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),h=l.useRef(null),[m,g]=l.useState(0),f=e.length;l.useEffect(()=>{const H=h.current;if(!H)return;const U=()=>{const T=typeof getComputedStyle=="function"?getComputedStyle(H):null,P=H.clientWidth-(parseFloat(T?.paddingLeft??"")||0)-(parseFloat(T?.paddingRight??"")||0),O=H.querySelector(".bottom-nav__left"),F=O?.nextElementSibling,$=(O?.offsetWidth??0)+(O&&F?.classList.contains("bottom-nav__divider")?F.offsetWidth:0);g(Math.max(0,P-$))};if(U(),typeof ResizeObserver>"u")return;const L=new ResizeObserver(U);return L.observe(H),()=>L.disconnect()},[]);const x=bd+1,C=H=>Math.max(0,Math.floor((H+_i)/(bd+_i))),b=f*(bd+_i)-_i<=m,v=m<=0||i.length===0&&b?f:Math.min(f,C(m-x)),_=m>0&&v<f,y=_?v:f,k=e.slice(0,y),w=e.slice(y),B=_||i.length>0,S=l.useCallback((H,U)=>({position:"fixed",bottom:window.innerHeight-H.top+8,right:window.innerWidth-H.right,zIndex:pn(U)}),[]),A=l.useId(),{open:N,toggle:z,close:I,style:D,triggerRef:W,menuRef:E}=Ro({computeStyle:S,onScroll:"ignore",onResize:"reposition"}),j=l.useCallback((H,U)=>U>0?c("nav.badgeLabel",{label:H,count:U,defaultValue:"{{label}}, {{count}}\uAC1C"}):H,[c]),R=l.useCallback(()=>n?.(d),[n,d]),G=l.useMemo(()=>w.find(H=>!!H.key&&H.key===t)??i.find(H=>H.selected||H.key&&H.key===t),[w,t,i]),X=l.useMemo(()=>[{items:[...w.map(H=>({label:H.label,icon:H.icon,badgeCount:H.badgeCount,selected:!!H.key&&H.key===t,closeOnSelect:!0,disabled:H.state==="disabled",onClick:()=>{H.state!=="disabled"&&(H.key&&a&&(a(H.key),md(s,"BottomNav")),I())}})),...i.map(H=>({label:H.label,icon:H.icon,badgeCount:H.badgeCount,selected:H.selected??(!!H.key&&H.key===t),closeOnSelect:!0,onClick:()=>{H.onClick?.(),I()}}))]}],[w,i,t,a,I]),V=[...w,...i].reduce((H,U)=>H+og(U.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:h,"aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__left",children:r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:u,ariaLabel:p,className:"bottom-nav-item",onClick:R})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:k.map((H,U)=>{const L=og(H.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:H.icon,ariaLabel:j(H.label,L),selected:!!H.key&&H.key===t,disabled:H.state==="disabled",className:"bottom-nav-item",onClick:()=>{H.key&&(a?.(H.key),md(s,"BottomNav"))}}),L>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(vt,{type:"dot",position:"top-right",number:Math.min(L,99),size:24})})]},H.key??`__slot-${U}`)})}),B&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),r.jsx("div",{className:"bottom-nav__right",children:r.jsxs("div",{ref:W,className:"bottom-nav__slot",children:[r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:G?.icon??"ellipsis",ariaLabel:j(G?.label??c("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!G,className:"bottom-nav-item",onClick:z,"aria-expanded":N,"aria-controls":N?A:void 0}),V>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(vt,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),N&&ra.createPortal(r.jsx("div",{id:A,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:D,ref:E,children:r.jsx(hr,{columns:X,onClose:I})}),document.body)]})})]})]})}var $7=".ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-left:1px solid transparent;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 12px;scrollbar-color:var(--color-darkWhite) transparent;scrollbar-gutter:stable both-edges;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}";oe($7);function rg(e){if(typeof e!="string")return!1;let t="";for(const o of e){const n=o.charCodeAt(0);n<=32||n>=127&&n<=159||(t+=o)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ng(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function R7(e){const{t}=we.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:s,onHelp:c,onFeedback:d,onAccount:u}=e||{},p="default";return n||i||s||c||d||u?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),i&&r.jsxs("span",{className:"side-nav__notification-wrap",children:[r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bell",ariaLabel:ng(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(vt,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),s&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:s,selected:a==="settings"}),c&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),d&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),u&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function ig(e){const{t}=we.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:s,onClick:c,style:d,state:u,labelStyle:p}=e||{},h=a?.key??o??"",m=a?.label??n??"",g=a?.icon??i??"",f=a?.badge??0,x=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(Ze,{icon:g,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),C=u==="disabled",b=`side-nav__item ${s?"active":""} ${u||""} ${C?"disabled":""} ${a?.child?"side-nav__item--child":""}`,v=l.useCallback(_=>{if(C)return;const y=_.detail>0;if(y)try{_.currentTarget.blur()}catch{}c?.(h,_.currentTarget,y)},[C,h,c]);return r.jsxs("button",{type:"button",className:b,onClick:v,"aria-label":typeof m=="string"?ng(t,m,f):void 0,"aria-current":s?"page":void 0,style:d,"aria-disabled":C,children:[x,r.jsx("span",{className:"side-nav__label button-1 f",style:p,children:m}),f>0&&r.jsx(vt,{type:"dot",position:"inline",number:Math.min(f,99),size:24,"aria-hidden":!0}),u==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function fd(e){const{t}=we.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g,scrollContainer:f}=e||{},x=m==="manager",C=l.useCallback(()=>g?.(x?"malgwi":"manager"),[g,x]);return r.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(b=>!b.section&&(b.key||b.label)).map((b,v)=>r.jsxs(l.Fragment,{children:[b.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(ig,{item:b,active:!!b.key&&b.key===o,state:b.disabled?"disabled":void 0,onClick:(_,y,k)=>{if(b.disabled)return;if(b.href){if(rg(b.href)&&window.open(b.href,"_blank","noopener,noreferrer"),k)try{y?.blur()}catch{}return}if(n?.(b.key),md(f,"SideNav"),!k)return;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 w=document.querySelector(".header");if(w){const B=typeof w.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&B&&w.matches(":hover"))){w.classList.add("header--force-collapsed");const S=()=>{w.classList.remove("header--force-collapsed"),w.removeEventListener("mouseenter",S)};w.addEventListener("mouseenter",S)}}}})]},b.key??`side-nav__item-${v}`)),g&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),g&&r.jsx(ig,{item:{key:"__mode-switch__",label:x?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:x?"arrow-left":"arrow-right"},onClick:C})]}),r.jsx(R7,{activeKey:o,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h})]})}var vd='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',xd='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',P7='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',z7='.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;position:relative}.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;scrollbar-gutter:auto;scrollbar-width:none;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__menu::-webkit-scrollbar{display:none}.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}}';oe(z7);function yd({appMode:e}){const{t}=we.useTranslation(),a=e==="manager",o=a?xd:vd,n=P7,i=qt("(min-width: 768px) and (max-width: 1023px)");return r.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):r.jsx("img",{src:o,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function Cd({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g,scrollContainer:f}){const{t:x}=we.useTranslation(),C=qt("(max-width: 767px)"),b=l.useMemo(()=>(a??[]).filter(D=>!D.section&&(D.key||D.label)).map(D=>({key:D.key,label:typeof D.label=="string"?D.label:void 0,icon:D.icon,state:D.disabled?"disabled":void 0,badgeCount:D.badge})),[a]),v=l.useCallback(D=>{const W=a?.find(E=>E.key===D);if(!W?.disabled){if(W?.href){rg(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}t?.(D)}},[a,t]),_=l.useMemo(()=>{const D=[];return s&&D.push({key:"debug",icon:"terminal",label:x("nav.debug","\uB514\uBC84\uADF8"),onClick:s}),c&&D.push({key:"notifications",icon:"bell",label:x("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&D.push({key:"settings",icon:"settings",label:x("nav.settings","\uC124\uC815"),onClick:u}),p&&D.push({key:"help",icon:"message-circle-question-mark",label:x("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),h&&D.push({key:"feedback",icon:"bug",label:x("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:h}),d&&D.push({key:"account",icon:"user-round",label:x("nav.account","\uACC4\uC815"),onClick:d}),D},[x,s,c,u,p,h,d,i]),y=l.useCallback((D,W)=>({position:"fixed",top:D.bottom+8,right:Math.max(8,window.innerWidth-D.right),zIndex:pn(W)}),[]),k=l.useId(),{open:w,toggle:B,close:S,style:A,triggerRef:N,menuRef:z}=Ro({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),I=l.useMemo(()=>[{items:_.map(D=>({label:D.label,icon:D.icon,badgeCount:D.badgeCount,selected:D.selected??(!!D.key&&D.key===e),closeOnSelect:!0,onClick:()=>{D.onClick?.(),S()}}))}],[_,e,S]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(yd,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:N,children:[r.jsx(he,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?x("nav.badgeLabel",{label:x("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):x("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":w,"aria-controls":w?k:void 0}),!!c&&!!i&&i>0&&r.jsx(vt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),w&&ra.createPortal(r.jsx("div",{id:k,role:"group","aria-label":x("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:A,ref:z,children:r.jsx(hr,{columns:I,onClose:S})}),document.body)]})]}),r.jsx(fd,{scrollContainer:f,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g}),C&&r.jsx(gd,{items:b,activeKey:e??void 0,onChange:v,scrollContainer:f,appMode:m,onAppModeChange:g})]})}const sg=Cd;var I7='.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%}}';oe(I7);const O7=()=>pt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function lg(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return rr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return rr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function F7(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function V7(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",o=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(o)return o[1].replace(/\s+/g,"");const n=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return n?n[2].toLowerCase()==="year"?`${n[1]}\uB144`:`${n[1]}\uC77C`:a||O7()}function H7(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 _d(e){return{type:e.type??F7(e),plan:V7(e),label:e.label,price:lg(e.price),originalPrice:lg(e.originalPrice),discountLabel:e.discountLabel}}var W7='.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}';oe(W7);var G7='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',U7='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>',q7='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',Y7='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',K7='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>',Z7='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',X7=".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}.ihabdevteam-core-scope .pass-card-bg__circle{border-radius:50%;opacity:1;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg__circle--1{height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg__circle--2{bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg__circle--3{bottom:-70px;height:140px;left:-40px;width:140px}.ihabdevteam-core-scope .pass-card-bg--default{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--3{background:var(--color-main-a20)}.ihabdevteam-core-scope .pass-card-bg--blue{background:var(--color-deepMain)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--1{background:var(--color-white-a30)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--2,.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--3{background:var(--color-white-a10)}.ihabdevteam-core-scope .pass-card-bg--dark{background:var(--color-softBlack)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--3{background:var(--color-white-a10)}";oe(X7);var J7=".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)}";oe(J7);var cg='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 go={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},wd=new WeakMap;function Q7(e){if(e)return wd.get(e)}function La(e,t){e&&(e.style.setProperty(go.text,t.text),e.style.setProperty(go.sub,t.sub),t.copyrightColor&&e.style.setProperty(go.copyright,t.copyrightColor),wd.set(e,t))}function Ma(e){e&&(e.style.removeProperty(go.text),e.style.removeProperty(go.sub),e.style.removeProperty(go.copyright),wd.delete(e))}const kd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ad(e={}){const t=yt(kd,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-two-circle__c1"}),r.jsx("div",{className:"pass-card-bg-two-circle__c3"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${cg}")`}})]})}const dg="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 ek=".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%}";oe(ek);var hn='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 tk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},ak=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function ug(e={}){const t=yt(tk,La,Ma),a="var(--color-main)",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[r.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:ak.map(({scale:i,opacity:s},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:r.jsx("path",{d:dg,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}var ok=".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%}";oe(ok);const rk={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},nk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function ik(e={}){const t=yt(rk,La,Ma),a="#ffffff",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[r.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:nk.map(({scale:i,opacity:s},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:r.jsx("path",{d:dg,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${cg}")`}})]})}var sk=".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)}";oe(sk);const lk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function ck(e={}){const t=yt(lk,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}const dk={Logo_speechear_kr:{"":vd,_white:G7,_textWhite:U7,_black:q7},Logo_speechearManager_kr:{"":xd,_white:Y7,_textWhite:K7,_black:Z7}};function uk(e,t){if(e)return dk[e]?.[t??""]??void 0}const pk={speechear:vd,manager:xd},hk={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},pg=10;function hg(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 o=Math.floor(e/3600);if(o>0)return t("passCard.remainingHour",{n:o});const n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function mk(e,t,a){if(e==="manager"){const o=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===pt.t("passCard.specialLabel");return o?r.jsx(ck,{}):n?r.jsx(ik,{}):r.jsx(ug,{})}return r.jsx(Ad,{})}function Bd({product:e,showPrice:t=!1,plan:a,type:o,endDate:n,remainingSeconds:i,endInclusive:s=!1,state:c="active",bg:d,bgOnly:u=!1,textColor:p,subColor:h,copyrightColor:m,logoSrc:g,label:f,price:x,originalPrice:C,discountLabel:b,onUse:v,onRefund:_,onDelete:y}){const{t:k}=we.useTranslation(),w=e?_d(e):void 0,B=o??w?.type??"speechear",S=a??w?.plan??k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),A=f??w?.label,N=x??(t?w?.price:void 0),z=C??(t?w?.originalPrice:void 0),I=b??w?.discountLabel,D=l.useMemo(()=>{if(N)return null;const ue=e?.durationDays??H7(e?.code);if(!ue||ue<=0)return i!=null?{percent:null,remainingLabel:hg(i,k)}:null;const q=ue*86400;let le;if(i!=null)le=i;else if((c==="active"||c==="expired")&&n){const Se=new Date(n).getTime();if(Number.isNaN(Se))return null;const ke=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(n)),Ee=/^(\d{4})-(\d{2})-(\d{2})/.exec(ha()),_e=Math.round(ke&&Ee?(Date.UTC(+ke[1],+ke[2]-1,+ke[3])-Date.UTC(+Ee[1],+Ee[2]-1,+Ee[3]))/864e5:(Se-Date.now())/864e5);le=Math.max(0,s?_e+1:_e)*86400}else c==="expired"?le=0:le=q;const ge=Math.max(0,Math.min(100,Math.floor(Math.min(le,q)/q*100)));return c==="pending"&&ge>=100?null:{percent:ge,remainingLabel:hg(le,k)}},[N,c,n,i,s,e?.durationDays,e?.code,k]),W=l.useRef(null),[E,j]=l.useState({}),[R,G]=l.useState(null),X=!!(v||_||y),V=l.useRef(!1),H=l.useRef(void 0),[U,L]=l.useState(g);l.useLayoutEffect(()=>{L(g)},[g]),l.useLayoutEffect(()=>{const ue=W.current;ue&&(p!==void 0&&ue.style.setProperty("--pass-card-text",p),h!==void 0&&ue.style.setProperty("--pass-card-sub",h),m!==void 0&&ue.style.setProperty("--pass-card-copyright",m))},[p,h,m]),l.useLayoutEffect(()=>{const ue=W.current;if(!ue)return;const q=Q7(ue);if(!g){const le=hk[B],ge=c==="expired"?"_black":q?.logoColor??"",Se=uk(le,ge);L(Se)}},[d,g,B,c]);const T=ue=>{const q=W.current;if(!q)return null;const{left:le,top:ge,width:Se,height:ke}=q.getBoundingClientRect(),Ee=(ue.clientX-le)/Se-.5;return{rotateX:-((ue.clientY-ge)/ke-.5)*pg,rotateY:Ee*pg}},P=(ue,q)=>{const le=q*-.7,ge=ue*.7+10,Se=20+(Math.abs(ue)+Math.abs(q))*.4;return`${le}px ${ge}px ${Se}px rgba(0, 0, 0, 0.18)`},O=l.useCallback(ue=>{if(lr())return;V.current=!0,clearTimeout(H.current),H.current=setTimeout(()=>{V.current=!1},200);const q=T(ue);q&&j({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(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)"})},[]),F=l.useCallback(ue=>{if(lr())return;const q=T(ue);if(!q)return;const le=V.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";j({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(q.rotateX,q.rotateY),transition:le})},[]),$=l.useCallback(()=>{clearTimeout(H.current),V.current=!1,j({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=l.useCallback(()=>G(null),[]),J=l.useMemo(()=>{const ue=k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),q=S.replace("\uC774\uC6A9\uAD8C","").replace(ue==="\uC774\uC6A9\uAD8C"?"":ue,"").trim(),le=q.match(/^(.*?)(일|년)$/);return le?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:le[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:le[2]==="\uB144"?k("passCard.unitYear","\uB144"):k("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:q})},[S,k]),Z=l.useMemo(()=>{const ue=rr(N);if(!ue)return null;const q=ue.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return r.jsx("span",{className:"h1",children:ue});const[,le,ge,Se]=q;return r.jsxs(r.Fragment,{children:[le&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:le}),r.jsx("span",{className:"h1 pass-card__price-amount",children:ge}),Se.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Se.trim()})]})},[N]),ie=l.useCallback(()=>{X&&G(ue=>{if(ue)return null;const q=W.current?.getBoundingClientRect();if(!q)return null;const le=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+le,top:q.top+le,bottom:q.bottom+le}})},[X]),se=l.useCallback(ue=>{X&&(ue.key==="Enter"||ue.key===" ")&&(ue.preventDefault(),ie())},[X,ie]),ce=[{items:[...v?[{label:k("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{v(),G(null)},closeOnSelect:!0}]:[],..._?[{label:k("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),G(null)},closeOnSelect:!0}]:[],...y?[{label:k("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{y(),G(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:W,className:`pass-card pass-card--${c}${X?" pass-card--clickable":""}`,style:E,onMouseEnter:O,onMouseMove:F,onMouseLeave:$,onPointerUp:ue=>{ue.pointerType==="touch"&&$()},onPointerCancel:ue=>{ue.pointerType==="touch"&&$()},onClick:ie,onKeyDown:X?se:void 0,role:X?"button":void 0,tabIndex:X?0:void 0,"aria-haspopup":X?"menu":void 0,"aria-expanded":X?!!R:void 0,children:[d??mk(B,S,A),!u&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card__top",children:r.jsxs("div",{className:"pass-card__top-left",children:[r.jsx("img",{src:U??pk[B],className:"pass-card__logo",alt:B==="manager"?k("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):k("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:J}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:A?k("passCard.labeledPlan",{label:A}):k("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?r.jsxs("div",{className:"pass-card__price-area",children:[I&&r.jsx("span",{className:"pass-card__discount body-3",children:I}),r.jsxs("div",{className:"pass-card__price",children:[z&&r.jsx("span",{className:"pass-card__price-original body-3",children:rr(z)}),Z]})]}):D?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:D.remainingLabel}),D.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:D.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),R&&r.jsx(ma,{anchorRect:R,onClose:Q,ariaLabel:k("tooltip.menu","\uBA54\uB274"),children:r.jsx(hr,{columns:ce,onClose:Q,size:"small"})})]})}var bk=".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%}";oe(bk);const gk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function fk(e={}){const t=`passcard-sound-line-grad-${l.useId()}`,a=yt(gk,La,Ma);return r.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[r.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:[r.jsx("defs",{children:r.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[r.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),r.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),r.jsx("g",{transform:"translate(25, 45)",children:r.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"})})]}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}var vk=".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}";oe(vk);const xk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function yk(e={}){const t=yt(xk,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}function Ck(e,t){if(e){if(t==="manager_pro")return r.jsx(yk,{});if(t==="manager_standard")return r.jsx(fk,{});if(t==="manager_lite")return r.jsx(ug,{})}}function _k(e){const t=rr(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,o,n,i]=a;return r.jsxs(r.Fragment,{children:[o&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:o}),n,i.trim()&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function mg(e){const{t}=we.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),o=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:s="monthly",ownedCodes:c}=e||{},d=y=>!!y&&!!c?.includes(y),u=y=>y.onceOnly??/오픈\s*특가/.test(y.label??""),p=(n.tiers||[]).some(y=>u(y)&&d(y.code)),h=y=>{const k=y.prices?y.prices[s]:y.price;return k?(n.tiers||[]).some(w=>!!w.badge&&w.originals?.[s]===k):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",g=t("payment.plan.freePrice","\uBB34\uB8CC"),f=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),x=y=>y.prices?y.prices[s]:y.price,C=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const k=x(y);return k==="\uBB34\uB8CC"||k===g||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),b=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const k=x(y);return k==="\uBB38\uC758"||k===f}),v=n.group==="org",_=v?"manager":"speechear";return r.jsxs("div",{className:"payment-plan__card",style:{borderColor:m,"--plan-color":m},children:[n.cardBadge&&r.jsx("div",{className:"payment-plan__card-badge",children:r.jsx(vt,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),r.jsxs("div",{className:"payment-plan__title",children:[r.jsx("p",{className:"payment-plan__quote body-3b",style:{color:m},children:n.quote||"\xA0"}),r.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),r.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((y,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(Ze,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},k))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((y,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(Ze,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},k))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:C?null:b?r.jsx(he,{htmlType:"button",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})}):r.jsx(r.Fragment,{children:r.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(y=>{const k=y.label||a,w=u(y),B=w||y.openPromo===!0,S=k.replace(/^오픈\s*특가\s*/,"")||a,A=y.prices?y.prices[s]:y.price,N=y.badge?B?`${o}
|
|
851
|
+
`),this.name="StorageNotConfiguredError"}};function Cs(e){D5(e)}function Sn(e,t){if(!e)return null;const a=Go();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function _s(e){if(!e)return!1;const t=Go();if(!t)throw new ys("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function jr(e){if(!e)return null;const t=Go();if(!t)throw new ys("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function Nn(e){const t=Go();if(!t)throw new ys("downloadSound");return t.download(e)}function ws(){return Go()?.noiseBaseUrl??"/sounds/noise"}function En(){const e=Number(Go()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function T5(e){const t=AbortSignal.timeout;if(typeof t=="function")return t.call(AbortSignal,e);const a=new AbortController;return setTimeout(()=>a.abort(),e),a.signal}const ks="__ihab_core_tts_config__";function Fp(e){globalThis[ks]=e}function Lr(){return globalThis[ks]?.urlResolver??null}function As(){return globalThis[ks]?.fallbackUrlResolver??null}const j5=new Map;function Vp(){j5.clear()}const Hp="__ihab_core_pronunciation_resolver__";function Wp(e){globalThis[Hp]=e}function Bs(){return globalThis[Hp]??null}let ro=null;const Mr=new WeakMap,Ss=new WeakMap,Ns=new WeakMap;let Gp=!1;const Up=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function L5(){if(Gp||typeof document>"u")return;Gp=!0;const e=()=>{try{ro&&ro.state!=="running"&&ro.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function qp(){if(ro)return ro;try{const e=window.AudioContext||window.webkitAudioContext;return e?(ro=new e,L5(),ro):null}catch{return null}}function $r(){try{ro?.resume()}catch{}}function Es(e,t){const a=Mr.get(t);if(a)return a;try{const o=e.createMediaElementSource(t),n=e.createGain(),i=e.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.6,n.gain.value=Up(Ss.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const s={gain:n,analyser:i};return Mr.set(t,s),s}catch{return null}}function Uo(e){if(!e)return Promise.resolve(null);const t=Mr.get(e);if(t)return Promise.resolve(t.analyser);const a=qp();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Es(a,e)?.analyser??null);const o=Ns.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Es(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{Ns.delete(e)});return Ns.set(e,n),n}function Ds(e){if(!e)return null;const t=Mr.get(e);if(t)return t.analyser;const a=qp();return a?a.state==="running"?Es(a,e)?.analyser??null:(Uo(e),null):null}function Sa(e,t){const a=Up(t);Ss.set(e,a);const o=Mr.get(e);if(o){try{e.volume!==1&&(e.volume=1)}catch{}const n=o.gain.gain;try{const i=o.gain.context.currentTime;n.cancelScheduledValues(i),n.setTargetAtTime(a,i,.01)}catch{try{n.value=a}catch{}}return"gain"}try{e.volume=a}catch{}return"element"}function qo(e){return Ss.get(e)??e.volume}function Ts(e,t){e.getFloatTimeDomainData(t);let a=0;for(let o=0;o<t.length;o++){const n=t[o];a+=n*n}return Math.sqrt(a/t.length)}const Yp="__ihab_core_image_config__";function Kp(e){globalThis[Yp]=e}function no(){return globalThis[Yp]??null}const Rr="word_image_existence_map_v1";let Na=null,ko=0,Zp=-1,Pr=null,Xp=-1,Jp=new Set;const Dn=new Map;function Yo(){if(Na)return Na;try{const e=typeof localStorage<"u"?localStorage.getItem(Rr):null,t=e?JSON.parse(e):null;Na=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Na={}}return Na}let js=null;function M5(){js||(js=setTimeout(()=>{js=null;try{typeof localStorage<"u"&&Na&&localStorage.setItem(Rr,JSON.stringify(Na))}catch{}},200))}function Tn(e,t){return`${e}_${t??1}`}async function zr(e,t){const a=Yo(),o=Tn(e,t);if(o in a)return a[o];if(Dn.has(o))return Dn.get(o);const n=no();if(!n)return!1;const i=n(e,t);if(!i)return!1;const s=fetch(i,{method:"HEAD",signal:T5(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Dn.delete(o),c===null?!1:(a[o]=c,ko++,M5(),c)));return Dn.set(o,s),s}function Qp(e,t){const a=Yo(),o=Tn(e,t);return o in a?a[o]:void 0}async function eh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=Yo(),s=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Tn(d)in i));let c=0;if(s.length>0){let d=0;const u=Array.from({length:Math.min(o,s.length)},async()=>{for(;d<s.length;){const p=d++,h=s[p],m=Tn(h);if(!a&&m in i){c++,n?.(c,s.length);continue}try{await zr(h)}catch{}c++,n?.(c,s.length)}});await Promise.all(u)}try{typeof localStorage<"u"&&Na&&localStorage.setItem(Rr,JSON.stringify(Na))}catch{}return{checked:s.length,cached:Object.keys(i).length,total:e.length}}function jn(){const e=Yo();if(Zp===ko)return Pr?{...Pr}:null;const t=Object.values(e);return Pr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},Zp=ko,Pr?{...Pr}:null}function th(){const e=Yo();if(Xp===ko)return Jp;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return Jp=t,Xp=ko,t}function ah(e){const t=Yo();Object.assign(t,e),ko++;try{typeof localStorage<"u"&&localStorage.setItem(Rr,JSON.stringify(t))}catch{}}function Ls(){Na={},ko++;try{typeof localStorage<"u"&&localStorage.removeItem(Rr)}catch{}}const $5={\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"},Ms={\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 R5(e,t){return(Ms[e]?.glide??"")!==(Ms[t]?.glide??"")}function Ao(e){return $5[e]??e}const rt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],ht=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Tt=["","\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 Ve(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 $s(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>Ve(o)),e.set(t,a)),a}}function xa(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function Rs(e,t){if(!e||!t||e===t||e.length!==t.length)return"random";let a=0,o=null;for(let n=0;n<e.length;n++){const i=Ve(e[n]),s=Ve(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?o="multi":c?o="cho":d?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function Ps(e){const t=Ve(e[0]||"");return t?rt[t.cho]:""}function zs(e){return[...e].map(t=>{const a=Ve(t);return a?rt[a.cho]:t}).join("")}function Is(e){return!!e&&[...e].every(t=>rt.includes(t))}function oh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),Is(t)?zs(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function rh(e,t){return Os(t)(e)}function Os(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=s=>rt.includes(s),o=s=>ht.includes(s),n=t.map(s=>a(s)?"cho":o(s)?"jung":Ve(s)?"syl":"other"),i=t.map(s=>Ve(s));if(n.includes("other")){const s=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(s)}return s=>{const c=[...s.normalize("NFC")];for(let d=0;d+t.length<=c.length;d++){let u=!0;for(let p=0;p<t.length;p++){const h=c[d+p],m=n[p];if(m==="cho"){if(Ps(h)!==t[p]){u=!1;break}}else if(m==="jung"){const g=Ve(h);if(!g||ht[g.jung]!==t[p]){u=!1;break}}else{const g=i[p];if(g&&g.jong===0){const f=Ve(h);if(!f||f.cho!==g.cho||f.jung!==g.jung){u=!1;break}}else if(h!==t[p]){u=!1;break}}}if(u)return!0}return!1}}const Ln={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"]},nh=Object.fromEntries(Object.entries(Ln).map(([e,t])=>[t.join(""),Tt[Number(e)]]));function P5(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o){if(rt[o.cho]===t)return!0;if(o.jong>0){if(Tt[o.jong]===t)return!0;const n=Ln[o.jong];if(n&&n.includes(t))return!0}}}return!1}function ih(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o&&rt[o.cho]===t)return!0}return!1}function sh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ve(a);if(o&&ht[o.jung]===t)return!0}return!1}function lh(e,t,a){const o=Tt[e];return o===t?!0:a==="phoneme"&&Ao(o)===Ao(t)}function ch(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ve(o);if(!(!n||n.jong<=0)&&lh(n.jong,t,a))return!0}return!1}function Bo(e){if(!e)return 0;let t=0;for(const a of e)Ve(a)&&t++;return t}function Fs(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ve(a);if(o&&(t=!0,o.jong>0))return!1}return t}function z5(e,t,a){return e.jong<=0?!1:t.some(o=>lh(e.jong,o,a))}function Vs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=s=>{const c=Ve(n[s]);if(!c||t.cho&&!t.cho.includes(rt[c.cho])||t.jung&&!t.jung.includes(ht[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!z5(c,t.jong,o))return!1;return!0};if(a==="head")return i(0);if(a==="tail")return i(n.length-1);if(a==="mid"){for(let s=1;s<n.length-1;s++)if(i(s))return!0;return!1}for(let s=0;s<n.length;s++)if(i(s))return!0;return!1}function Hs(e){return e.includes(",")||e.includes("_")}function dh(e){if(e==="")return[{kind:"any"}];if(e.includes("_")){const t=[...e];if(t.length>4)return[{kind:"invalid"}];const a=t[0]??"_",o=t[1]??"_";let n=t.slice(2).join("");if(n.length===2){const i=nh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ve(t)?{kind:"syllable",ch:t}:rt.includes(t)?{kind:"cho",jamo:t}:ht.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function I5(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ve(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ve(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ve(e);return!!a&&rt[a.cho]===t.jamo}case"jung":{const a=Ve(e);return!!a&&ht[a.jung]===t.jamo}case"template":{const a=Ve(e);return!(!a||t.cho!=="_"&&rt[a.cho]!==t.cho||t.jung!=="_"&&ht[a.jung]!==t.jung||t.jong!=="_"&&Tt[a.jong]!==t.jong)}case"invalid":return!1}}function Ws(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>dh(n.trim()));if(a.length===0)return!0;const o=[...e];if(o.length<a.length)return!1;for(let n=0;n+a.length<=o.length;n++)if(a.every((i,s)=>I5(o[n+s],i)))return!0;return!1}function uh(e){const t=e.split(",").flatMap(i=>dh(i.trim())),a=new Set,o=new Set,n=new Set;for(const i of t)switch(i.kind){case"cho":a.add(i.jamo);break;case"jung":o.add(i.jamo);break;case"template":i.cho!=="_"&&a.add(i.cho),i.jung!=="_"&&o.add(i.jung),i.jong!=="_"&&n.add(i.jong);break;case"syllable":{const s=Ve(i.ch);s&&(a.add(rt[s.cho]),o.add(ht[s.jung]),s.jong!==0&&n.add(Tt[s.jong]));break}}return a.size===0&&o.size===0&&n.size===0?null:{cho:a.size?[...a]:null,jung:o.size?[...o]:null,jong:n.size?[...n]:null}}function O5(e){return!!Ve(e)||rt.includes(e)||ht.includes(e)}function ph(e){const t=e.normalize("NFC").trim();if(!t)return{ok:!0};for(const a of t.split(",")){const o=a.trim();if(o!==""){if(o.includes("_")){const n=[...o];if(n.length>4)return{ok:!1};const i=n[0],s=n[1],c=n.slice(2).join(""),d=i===void 0||i==="_"||rt.includes(i),u=s===void 0||s==="_"||ht.includes(s),p=c===""||c==="_"||Tt.filter(Boolean).includes(c)||!!nh[c];if(d&&u&&p)continue;return{ok:!1}}if(![...o].every(O5))return{ok:!1}}}return{ok:!0}}const F5={cho:rt.length,jung:ht.length,jong:Tt.length};function V5(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(h=>Ve(h));if(i.some(h=>!h))return[];const s=i,c=s.length;if(a>c)return[];const d=F5[t],u=new Set,p=[];(function h(m,g){if(g.length===a){p.push([...g]);return}for(let f=m;f<c;f++)g.push(f),h(f+1,g),g.pop()})(0,[]);for(const h of p)if((function m(g,f){if(u.size>=n)return;if(g===h.length){const b=f.map(v=>xa(v.cho,v.jung,v.jong)).join("");b!==e&&o.has(b)&&u.add(b);return}const x=h[g],C=s[x][t];for(let b=0;b<d;b++){if(b===C)continue;const v=f.slice();if(v[x]={...f[x],[t]:b},m(g+1,v),u.size>=n)return}})(0,s),u.size>=n)break;return[...u]}function H5(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ve(e[o]),i=Ve(t[o]);if(!n||!i)return-1;n.cho!==i.cho&&a++,n.jung!==i.jung&&a++,n.jong!==i.jong&&a++}return a}function hh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(Hs(a))return e.filter(d=>Ws(d.word,a));const o=Os(a),n=[...a].length,i=d=>!!d&&o(d.normalize("NFC").slice(0,n)),s=[],c=[];for(const d of e)(o(d.word)||o(d.pronunciation??""))&&(i(d.word)||i(d.pronunciation??"")?s:c).push(d);return s.concat(c)}const Gs="word_pair_index_v2",Us="word_pair_index_sig_v2";let Ea=null,Ir=null;function mh(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(Gs),t=localStorage.getItem(Us);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function W5(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(Gs,JSON.stringify(e)),localStorage.setItem(Us,t)}catch{}}function G5(e){const t=e.map(o=>`${o.word}|${o.pron??""}`).sort();let a=0;for(const o of t)for(let n=0;n<o.length;n++)a=(a<<5)-a+o.charCodeAt(n)|0;return`${t.length}-${a}`}async function U5(e,t){const a=new Set,o=[];for(const u of e){if(!u.word||a.has(u.word))continue;const p=u.pron||u.word,h=Array.from(p).map(Ve);h.some(m=>m===null)||h.length===Array.from(u.word).length&&(a.add(u.word),o.push({word:u.word,syls:h}))}const n={},i=o.length,s=new Map;for(const u of o){const p=u.syls.length;s.has(p)||s.set(p,[]),s.get(p).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of s.values()){const p=u[0].syls.length;for(let h=0;h<p;h++)for(const m of d){const g=new Map;for(const f of u){let x="";for(let b=0;b<p;b++){b>0&&(x+="~");const v=f.syls[b];b===h?m==="cho"?x+=`*:${v.jung}:${v.jong}`:m==="jung"?x+=`${v.cho}:*:${v.jong}`:x+=`${v.cho}:${v.jung}:*`:x+=`${v.cho}:${v.jung}:${v.jong}`}let C=g.get(x);C||(C=[],g.set(x,C)),C.push(f)}for(const f of g.values())if(!(f.length<2))for(let x=0;x<f.length;x++){const C=f[x];for(let b=x+1;b<f.length;b++){const v=f[b];C.syls[h][m]!==v.syls[h][m]&&(n[C.word]||(n[C.word]={cho:[],jung:[],jong:[]}),n[v.word]||(n[v.word]={cho:[],jung:[],jong:[]}),n[C.word][m].push(v.word),n[v.word][m].push(C.word))}}}c+=u.length,t?.(c,i),await new Promise(h=>setTimeout(h,0))}return i>0&&t?.(i,i),n}let qs=0;async function bh(e,t={}){const a=G5(e);if(!t.force){if(Ea&&Ir===a)return Ea;const i=mh();if(i&&i.sig===a)return Ea=i.index,Ir=a,Ea}const o=++qs,n=await U5(e,t.onProgress);return o===qs&&(Ea=n,Ir=a,W5(n,a)),n}function So(){if(Ea)return Ea;const e=mh();return e?(Ea=e.index,Ir=e.sig,Ea):null}function Ys(){qs+=1,Ea=null,Ir=null;try{typeof localStorage<"u"&&(localStorage.removeItem(Gs),localStorage.removeItem(Us))}catch{}}const Ks={cho:rt,jung:ht,jong:Tt},jt=e=>Array.isArray(e)?e.length>0:!!e;function Or(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const o=e[a],n=t[a];if(!(!o||!n)&&(o.cho!==n.cho&&rt[o.cho]==="\u3147"!=(rt[n.cho]==="\u3147")||o.jung!==n.jung&&R5(ht[o.jung],ht[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function Zs(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,s=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Or(i,n(a.pronOf(c)))||s.push(c)));return s}function Mn(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return Zs(e,n,a)}function Xs(e,t,a,o,n,i,s){const c=["cho","jung","jong"].filter(m=>jt(e[m])),d={};for(const m of c){const g=e[m];d[m]=new Set(Array.isArray(g)?g:[g])}const u=n==="pron",p=new Map;for(const m of t){const g=a(i(m));if(g.some(b=>!b))continue;let f=g;if(!u&&(f=a(m),f.length!==g.length||f.some(b=>!b)))continue;const x=g.length,C=p.get(x);C?C.push({w:m,dPron:g,dPos:f}):p.set(x,[{w:m,dPron:g,dPos:f}])}const h=new Map;for(const[m,g]of p){const f=new Map,x=(C,b)=>{const v=C.dPos[b];return v!=null&&c.every(_=>d[_].has(Ks[_][v[_]]))};for(const C of g){let b;if(s==="head")b=x(C,0)?0:-1;else if(s==="tail")b=x(C,m-1)?m-1:-1;else if(s==="mid"){b=-1;for(let _=1;_<m-1;_++)if(x(C,_)){b=_;break}}else b=C.dPos.findIndex(_=>_!=null&&c.every(y=>d[y].has(Ks[y][_[y]])));if(b<0)continue;const v=f.get(b);v?v.push(C):f.set(b,[C])}for(const[C,b]of f){const v=c.includes("cho"),_=c.includes("jung"),y=c.includes("jong"),k=B=>{let S="";for(let A=0;A<m;A++){const N=B[A];A===C?S+=(v?"*":N.cho)+"."+(_?"*":N.jung)+"."+(y?"*":N.jong)+".":S+=N.cho+"."+N.jung+"."+N.jong+"."}return S},w=new Map;for(const B of g){const S=k(B.dPron),A=w.get(S);A?A.push(B):w.set(S,[B])}for(const B of b){const S=w.get(k(B.dPron))??[],A=[];for(const N of S){if(N.w===B.w)continue;let z=!0;for(const I of c){const D=B.dPron[C][I],W=N.dPron[C][I];if(W===D){z=!1;break}if(u&&d[I].has(Ks[I][W])){z=!1;break}}z&&(o&&Or(B.dPron,N.dPron)||A.push(N.w))}h.set(B.w,A)}}}return h}const $n=0,gh=1,No=2,Js=3,q5=4,Rn=5,Qs=6,Pn=7,Y5=8,el=9,Ko=10,K5=11,Fr=12,Z5=13,Vr=14,zn=15,In=16,Hr=17,X5=18,ya=0,Ga=1,J5=3,io=4,tl=5,Wr=6,Da=7,Pt=8,fh=9,vh=10,On=11,xh=12,al=13,Zo=15,Fn=16,Ua=17,yh=18,ol=21,rl=27,Q5=20,e3={1:$n,2:gh,4:No,7:Js,8:Rn,16:Qs,17:Pn,19:el,20:Ko,22:Fr,23:Vr,24:zn,25:In,26:Hr},t3={[J5]:[Ga,Ko],[tl]:[io,Fr],[fh]:[Pt,$n],[vh]:[Pt,Qs],[On]:[Pt,Pn],[xh]:[Pt,Ko],[al]:[Pt,In],14:[Pt,Hr],[yh]:[Ua,Ko]},a3={[Wr]:No,[Zo]:Rn},nl={2:Ga,24:Ga,3:Ga,9:Ga,5:io,6:io,19:Da,20:Da,22:Da,23:Da,25:Da,27:Da,11:Pt,12:Pt,13:Pt,15:Pt,10:Fn,14:Ua,18:Ua,26:Ua},Ch={[$n]:zn,[Js]:In,[Pn]:Hr,[Fr]:Vr},_h={[$n]:gh,[Js]:q5,[Pn]:Y5,[el]:Ko,[Fr]:Z5},o3=new Set([tl,vh,On,xh,al,Zo,yh]),r3=new Set(["\uBC1F"]);function wh(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ve);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const s=n[i],c=n[i+1],d=s.jong;if(!c){s.jong=nl[s.jong]??s.jong;break}if(s.jong===ya)continue;if(c.cho===K5){if(c.jung===Q5){if(s.jong===Da){s.jong=ya,c.cho=Fr;continue}if(s.jong===25){s.jong=ya,c.cho=Vr;continue}if(s.jong===al){s.jong=Pt,c.cho=Vr;continue}}if(s.jong===rl){s.jong=ya;continue}const p=a3[s.jong];if(p!==void 0){s.jong=ya,c.cho=p;continue}const h=t3[s.jong];if(h){s.jong=h[0],c.cho=h[1];continue}const m=e3[s.jong];m!==void 0&&(s.jong=ya,c.cho=m);continue}if((s.jong===rl||s.jong===Wr||s.jong===Zo)&&Ch[c.cho]!==void 0){c.cho=Ch[c.cho],s.jong=s.jong===Wr?io:s.jong===Zo?Pt:ya;continue}if((s.jong===rl||s.jong===Wr||s.jong===Zo)&&c.cho===el){c.cho=Ko,s.jong=s.jong===Wr?io:s.jong===Zo?Pt:ya;continue}if(c.cho===X5){if(s.jong===tl){s.jong=io,c.cho=Vr;continue}if(s.jong===fh){s.jong=Pt,c.cho=zn;continue}if(s.jong===On){s.jong=Pt,c.cho=Hr;continue}const p=nl[s.jong]??s.jong;if(p===Ga){s.jong=ya,c.cho=zn;continue}if(p===Da){s.jong=ya,c.cho=In;continue}if(p===Ua){s.jong=ya,c.cho=Hr;continue}}let u=nl[s.jong]??s.jong;d===On&&r3.has(a[i])&&(u=Ua),s.jong=u,_h[c.cho]!==void 0&&(u===Ga||u===Da||u===Ua||o3.has(d))&&(c.cho=_h[c.cho]),(c.cho===No||c.cho===Qs)&&(s.jong===Ga?s.jong=ol:s.jong===Da?s.jong=io:s.jong===Ua&&(s.jong=Fn)),c.cho===Rn?s.jong===io?s.jong=Pt:s.jong===Fn||s.jong===ol?c.cho=No:s.jong===Ga?(s.jong=ol,c.cho=No):s.jong===Ua&&(s.jong=Fn,c.cho=No):s.jong===Pt&&c.cho===No&&(c.cho=Rn)}return n.map(i=>xa(i.cho,i.jung,i.jong)).join("")}const Xo=/[ㄱ-ㅎ]/,n3=/[ㅏ-ㅣ]/;function Gr(e){e=e.normalize("NFC");for(let t=e.length-1;t>=0;t--){const a=e[t],o=a.charCodeAt(0);if(o>=44032&&o<=55203||Xo.test(a)||n3.test(a))return a}return null}function il(e){const t=Gr(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":Xo.test(t)?"\uC774":"\uAC00"}function sl(e){return`${e}${il(e)}`}function ll(e){const t=Gr(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":Xo.test(t)?"\uC744":"\uB97C"}function cl(e){return`${e}${ll(e)}`}function dl(e){const t=Gr(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":Xo.test(t)?"\uC740":"\uB294"}function kh(e){return`${e}${dl(e)}`}function ul(e){const t=Gr(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":Xo.test(t)?"\uACFC":"\uC640"}function Ah(e){return`${e}${ul(e)}`}function pl(e){const t=Gr(e);if(!t)return"\uB85C";const a=t.charCodeAt(0);if(a>=44032&&a<=55203){const o=(a-44032)%28;return o===0||o===8?"\uB85C":"\uC73C\uB85C"}return t==="\u3139"?"\uB85C":Xo.test(t)?"\uC73C\uB85C":"\uB85C"}function Bh(e){return`${e}${pl(e)}`}function hl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function Qe(e,t=Math.random){const a=e.slice();for(let o=a.length-1;o>0;o--){const n=Math.floor(t()*(o+1));[a[o],a[n]]=[a[n],a[o]]}return a}function Ca(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?Qe(e,a):Qe(e,a).slice(0,t)}const Jo={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 i3(e){const t=e?Jo[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const ml=rt.indexOf("\u3147"),Qo={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!==ml},MERGE_2_SYLLABLES:{syllables:2,syllable:()=>!0},MERGE_3_SYLLABLES:{syllables:3,syllable:()=>!0},MERGE_2_PHONEMES:{syllables:1,syllable:e=>e.jong===0&&e.cho!==ml},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!Ln[e.jong]&&e.cho!==ml}},s3=new Set([]);function Sh(e){return e in Qo}function Nh(e,t){const a=Qo[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ve(o[0]);return!!n&&a.syllable(n)}function Eh(e){return s3.has(e)}function l3(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Ur(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function bl(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 Dh(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 gl={\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 Th(e){if([...e].length!==1)return[e];const t=Ve(e);if(!t)return[e];const a=[rt[t.cho],ht[t.jung]];return t.jong!==0&&a.push(Tt[t.jong]),a}function fl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>gl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${l3(o(c))}`).join(" "),i=a[a.length-1],s=`"${i}"${Ur(o(i))}`;return`${n} ${s} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function c3(e,t){return fl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const vl=e=>gl[e]??e,d3={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function u3(e,t){const a=(d,u)=>{const p=[...d].length===1?Ve(d):null,h=[...u].length===1?Ve(u):null;if(!p||!h)return null;const m=["cho","jung","jong"].filter(g=>p[g]!==h[g]);return m.length===1?{part:m[0],sx:p,sy:h}:null},o=a(e,t)??a(qr(e),qr(t));if(!o)return null;const n=o.part==="cho"?rt:o.part==="jung"?ht:Tt,i=n[o.sx[o.part]],s=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!s?"remove":"swap";return{part:o.part,from:i,to:s,kind:c}}function p3(e,t){const a=String(t?.word??t?.original??""),o=String(t?.changedFrom??""),n=String(t?.changedTo??"");if(e==="CHANGE_1_PHONEME_IN_1SYLL"||e==="CHANGE_1_PHONEME_IN_2SYLL"){const i=e==="CHANGE_1_PHONEME_IN_1SYLL",s=i?o||a:o,c=u3(s,n);if(c){const d=i?`"${a}"`:`"${a}"\uC758 "${s}"`,u=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",p=`"${c.from}"${Ur(vl(c.from))}`,h=`"${c.to}"${bl(vl(c.to))}`;return c.kind==="add"?`${d}${u} \uBC1B\uCE68 "${c.to}"${Ur(vl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${d}${u} \uBC1B\uCE68 ${p} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${d}${u} ${d3[c.part]} ${p} ${h} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Ur(a)} "${n}"${bl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Ur(o)} "${n}"${bl(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function h3(e,t){const a=String(t?.word??t?.original??t?.base??""),o=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}"${Dh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Dh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function jh(e,t,a){switch(i3(e)){case"synthesis":return c3(e,a);case"substitution":return p3(e,t);case"deletion":return h3(e,t);default:return""}}function Lh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=gl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,s=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=s?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=s?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=s?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=s?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const m3=e=>e==null?[]:Array.isArray(e)?e:[e];function qr(e){if([...e].length!==1)return"";const t=Ve(e);if(!t)return"";const a=Ao(Tt[t.jong]),o=a===""?0:Tt.indexOf(a);return xa(t.cho,t.jung,o<0?0:o)}function Vn(e,t){return t.get(e)||qr(e)||e}function er(e){return e?jt(e.cho)?"cho":jt(e.jung)?"jung":jt(e.jong)?"jong":null:null}function qa(e,t){const a=(n,i)=>!jt(n)||m3(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Tt[e.jong]);return a(t.cho,rt[e.cho])&&a(t.jung,ht[e.jung])&&o}function Eo(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ve(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ve(i)):n.map(i=>Ve(i))}function Do(e,t,a,o,n){const i=t==="cho"?rt:t==="jung"?ht:Tt,s=e[t],c=[],d=h=>t==="jung"?g3(Vn(h,n)):Vn(h,n),u=new Map([[d(a),-1]]),p=Qe(i.map((h,m)=>m).filter(h=>h!==s&&(t!=="cho"||i[h]!=="\u3147")&&(t!=="jong"||h!==0)));for(const h of p){if(c.length>=o)break;const m=t==="cho"?xa(h,e.jung,e.jong):t==="jung"?xa(e.cho,h,e.jong):xa(e.cho,e.jung,h),g=d(m),f=u.get(g);if(f!==void 0){t==="jung"&&f>=0&&n.has(m)&&!n.has(c[f])&&(c[f]=m);continue}u.set(g,c.length),c.push(m)}return c}const b3={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function g3(e){if([...e].length!==1)return e;const t=Ve(e);if(!t)return e;const a=b3[ht[t.jung]];return a?xa(t.cho,ht.indexOf(a),t.jong):e}function xl(e,t,a,o,n,i=null){const s=[...e];if(s.length!==2)return null;const c=s.map(h=>Ve(h));if(c.some(h=>!h))return null;const d=Eo(e,a,o);if(d.some(h=>!h))return null;const u=er(t);let p=u&&t?d.map((h,m)=>qa(h,t)?m:-1).filter(h=>h>=0):[0,1];if(i!=null&&(p=p.filter(h=>h!==i)),!p.length)return null;for(const h of Qe(p)){const m=s[h];if(!n.has(m))continue;const g=Do(c[h],u??"cho",m,40,a),f=[];for(const x of g)if(x!==m&&n.has(x)&&!f.includes(x)&&f.push(x),f.length>=2)break;if(!(f.length<2))return{question:e,distractors:[m,...f]}}return null}function yl(e,t,a,o,n,i=null){const s=[...e];if(s.length!==3)return null;const c=s.map(h=>Ve(h));if(c.some(h=>!h))return null;const d=Eo(e,a,o);if(d.some(h=>!h))return null;const u=er(t),p=u&&t?d.map((h,m)=>qa(h,t)?m:-1).filter(h=>h>=0):[0,1,2];if(!p.length)return null;for(const h of Qe(p))for(const m of Qe([0,1,2].filter(g=>g!==h&&(i==null||g===i)))){const g=[0,1,2].filter(v=>v!==m),f=g.map(v=>s[v]).join("");if(!n.has(f))continue;const x=g.indexOf(h),C=Do(c[h],u??"cho",s[h],40,a),b=[];for(const v of C){const _=g.map(k=>s[k]);_[x]=v;const y=_.join("");if(y!==f&&n.has(y)&&!b.includes(y)&&b.push(y),b.length>=2)break}if(!(b.length<2))return{question:e,distractors:[f,...b]}}return null}function Cl(e,t,a,o,n,i=null){const s=[...e],c=s.length;if(c<2)return null;const d=[];for(let p=1;p<=c-1;p++)d.push({remain:s.slice(0,p).join(""),dropped:s.slice(p).join(""),droppedEnd:1}),d.push({remain:s.slice(c-p).join(""),dropped:s.slice(0,c-p).join(""),droppedEnd:0});const u=er(t);for(const{remain:p,dropped:h,droppedEnd:m}of Qe(d)){if(i!=null&&m!==i||[...p].length===1&&[...h].length===1||p===e||!n.has(p)||!n.has(h))continue;const g=[...p],f=g.map(b=>Ve(b));if(f.some(b=>!b))continue;const x=Eo(p,a,o);if(x.some(b=>!b))continue;const C=u&&t?x.map((b,v)=>qa(b,t)?v:-1).filter(b=>b>=0):g.map((b,v)=>v);if(C.length)for(const b of Qe(C)){const v=Do(f[b],u??"cho",g[b],40,a),_=[];for(const y of v){const k=[...g];k[b]=y;const w=k.join("");if(w!==p&&n.has(w)&&!_.includes(w)&&_.push(w),_.length>=2)break}if(_.length>=2)return{question:e,distractors:[p,..._],dropped:h}}}return null}function _l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const s=Ve(a.get(e)||e);if(!s||s.jong===0)return null;const c=xa(s.cho,s.jung,0),d=Do({cho:s.cho,jung:s.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const wl=rt.indexOf("\u3147");function kl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const s=Ve(a.get(e)||e);if(!s||s.jong!==0||s.cho===wl)return null;const c=xa(wl,s.jung,0),d=Do({cho:wl,jung:s.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Al(e){const t=new Map;for(const a of e){const o=[...a],n=o.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?"*":o[d];const c=t.get(s);c?c.push(a):t.set(s,[a])}}return t}function Bl(e,t,a,o,n,i=null,s=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const p=d.map(v=>Ve(v));if(p.some(v=>!v))return null;const h=Eo(e,a,o);if(h.some(v=>!v))return null;const m=v=>a.get(v)??v,g=m(e),f=!!t&&(jt(t.cho)||jt(t.jung)||jt(t.jong)),x=!!s&&(jt(s.cho)||jt(s.jung)||jt(s.jong)),C=v=>{let _=u+"|"+v+"|";for(let y=0;y<u;y++)_+=y===v?"*":d[y];return _};let b;if(i!=null){if(i>=u||f&&!qa(h[i],t))return null;b=[i]}else f?b=h.map((v,_)=>qa(v,t)?_:-1).filter(v=>v>=0):b=Array.from({length:u},(v,_)=>_);for(const v of Qe(b)){const _=n.get(C(v))??[],y=[],k=[];for(const N of _){if(N===e)continue;const z=[...N].map(E=>Ve(E)),I=p[v],D=z[v];if(!I||!D)continue;let W=0;if(I.cho!==D.cho&&W++,I.jung!==D.jung&&W++,I.jong!==D.jong&&W++,!(W<c||m(N)===g))if(x){const E=Eo(N,a,o)[v];E&&qa(E,s)?y.push(N):k.push(N)}else y.push(N)}if(!y.length)continue;const w=Qe(y)[0],B=[],S=new Set([g,m(w)]),A=x?k:y.filter(N=>N!==w);for(const N of Qe(A)){const z=m(N);if(!S.has(z)&&(S.add(z),B.push(N),B.length>=2))break}if(!x&&B.length<2)for(const N of Qe(_)){if(N===e||N===w)continue;const z=m(N);if(!S.has(z)&&(S.add(z),B.push(N),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[w,...B]}}return null}const f3=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof pt?.t=="function"?pt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Yr(e,t){if(t===void 0&&(t=f3()),e instanceof Error)return e.message||t;if(typeof e=="string")return e||t;if(e&&typeof e=="object"){const a=e;for(const o of[a.message,a.error_description,a.error])if(typeof o=="string"&&o)return o}return t}const Hn="\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.",v3=()=>{const e=typeof pt?.t=="function"?pt.t("common.networkError",{defaultValue:Hn}):void 0;return typeof e=="string"&&e?e:Hn};function Sl(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Mh(e){return Sl(e)?v3():e}function $h(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Rh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Ph(e){let t=e==null?"":String(e);return!(typeof e=="number"&&Number.isFinite(e))&&/^[=+\-@\t\r]/.test(t)&&(t="'"+t),/[",\n\r]/.test(t)?`"${t.replaceAll('"','""')}"`:t}const x3=1e3;function zh(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),x3)}const Ih="__ihab_core_word_pool__";function y3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Oh(e,t){const a=new Map;for(const n of e)a.set(n.word,n);const o={entries:e,pairIndex:t??null,byWord:a};globalThis[Ih]=o,y3()}function To(){return globalThis[Ih]??null}const tr=globalThis;function Nl(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Fh(e){tr.__ihabTrainingTimeLogger=e}function El(e){Nl("time",()=>tr.__ihabTrainingTimeLogger?.(e))}function Vh(e){tr.__ihabTrainingCompletionLogger=e}function Dl(e){Nl("completion",()=>tr.__ihabTrainingCompletionLogger?.(e))}function Hh(e){tr.__ihabCrosswordLogger=e}function Wh(e){Nl("crossword",()=>tr.__ihabCrosswordLogger?.(e))}function Jt(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Tl(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 jl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:Jt(o.contextCode)??Jt(o.itemId)??Jt(o.itemCode)??Jt(o.id),question:Jt(o.question)??Jt(o.q)??Jt(o.sentence)??Jt(o.text)??Jt(o.prompt)??Jt(o.word)??Jt(o.targetSyllable),answer:Jt(o.answer),selected:Jt(o.selectedText)??Jt(o.selected),correct:Tl(o)}}):[]}function Gh(e){return e.filter(t=>t.correct===!1)}let Uh=null,qh=null,Yh=null;function Kh(e){Uh=e}function Zh(e){qh=e}function Xh(e){Yh=e}async function Jh(e,t){try{return await Uh?.(e,t)??null}catch{return null}}async function Qh(){try{return await qh?.()??null}catch{return null}}async function em(e,t){try{return await Yh?.(e,t)??null}catch{return null}}const Wn=globalThis;function tm(e){Wn.__ihabNoiseSettingsStore=e}async function Ll(){try{return await Wn.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Gn(e){const t=a=>{};try{const a=Wn.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function ar(e){try{Wn.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function Kr(e){const t=new TextEncoder().encode(String(e).normalize("NFC"));let a="";return t.forEach(o=>{a+=o.toString(16).padStart(2,"0")}),a}const am=Kr;function om(e,t){return`${e}/${Kr(t)}.mp3`}function rm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??Kr;return async function(i){const s=String(i||"").trim();if(!s)return"";const c=`${n(s)}_${a}.mp3`,d=`${t}/${c}`;try{if(await _s(d)){const u=await jr(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(o))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function Ml(e){if(typeof document<"u"){const t=document.activeElement;let a=null;try{if(a=document.createElement("textarea"),a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.opacity="0",a.style.pointerEvents="none",document.body.appendChild(a),a.focus(),a.select(),a.setSelectionRange(0,e.length),document.execCommand("copy"))return!0}catch{}finally{if(a?.parentNode&&a.parentNode.removeChild(a),t&&t!==document.activeElement&&typeof t.focus=="function"&&t.isConnected)try{t.focus({preventScroll:!0})}catch{}}}try{if(typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(e),!0}catch{}return!1}const or="Asia/Seoul",C3=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Un(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=C3.exec(a);t=new Date(o?`${o[1]}T${o[2]}:${o[3]??"00"}${o[4]?`.${o[4].slice(0,3).padEnd(3,"0")}`:""}+09:00`:a)}else t=new Date(e);return Number.isNaN(t.getTime())?null:t}const Zr=e=>Un(e);function nm(e){const t=Zr(e);return t?t.toLocaleDateString("ko-KR",{timeZone:or,year:"numeric",month:"short",day:"numeric"}):""}function im(e){const t=Zr(e);return t?t.toLocaleString("ko-KR",{timeZone:or,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function sm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=Zr(e);return o?o.toLocaleDateString(a,{timeZone:or,year:"numeric",month:"short",day:"numeric"}):""}function lm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=Zr(e);return o?o.toLocaleString(a,{timeZone:or,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function cm(e){const t=Zr(e);return t?t.toLocaleString("ko-KR",{timeZone:or,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function dm(e){if(e==null||e==="")return"";const t=Un(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:or,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function ha(){return Ta(new Date)}function $l(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:ha()}function so(){return Rl(ha())}const _3=540*60*1e3;function qn(e,t,a){return new Date(Date.UTC(e,t,a)-_3)}function Rl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Ta(e){if(e==null||e==="")return"";const t=Un(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function Yn(e,t){if(!e)return"";const a=Un(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),s=Math.floor(i/60),c=Math.floor(s/24),d=Math.floor(c/7),u=Math.floor(c/30),p=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):s<24?t("store.time.hoursAgo",{n:s}):c<7?t("store.time.daysAgo",{n:c}):d<5?t("store.time.weeksAgo",{n:d}):c<365?t("store.time.monthsAgo",{n:Math.min(u,11)}):t("store.time.yearsAgo",{n:p})}function Kn(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const s=Ta(e instanceof Date?e:String(e));if(!s)return i;const[c,d,u]=s.split("-"),p=o?d:String(Number(d)),h=o?u:String(Number(u));return`${c}${a}${p}${a}${h}${n?".":""}`}function um(e){const t=e.normalize("NFKC").replace(/\D/g,"");if(/^(050\d|0303)/.test(t)){const o=t.slice(0,12);return o.length<=4?o:o.length<=8?`${o.slice(0,4)}-${o.slice(4)}`:`${o.slice(0,4)}-${o.slice(4,o.length-4)}-${o.slice(o.length-4)}`}if(/^1[5-9]\d{2}/.test(t)&&t.length<=8)return t.length<=4?t:`${t.slice(0,4)}-${t.slice(4)}`;const a=t.slice(0,11);return a.startsWith("02")?a.length<=2?a:a.length<=6?`${a.slice(0,2)}-${a.slice(2)}`:`${a.slice(0,2)}-${a.slice(2,a.length-4)}-${a.slice(a.length-4)}`:a.length<=3?a:a.length<=7?`${a.slice(0,3)}-${a.slice(3)}`:`${a.slice(0,3)}-${a.slice(3,a.length-4)}-${a.slice(a.length-4)}`}const Pl=/^(?:(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}|1[5-9]\d{2}-\d{4})$/;function pm(e){return Pl.test(e)}function hm(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=Ta(e);return t?t.replace(/-/g,"."):void 0}}}function mm(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function rr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function Zn(e,t){if(!e)return"-";const a=/^(\d{1,2}):(\d{2})$/.exec(e.trim());if(!a)return e;const o=Number(a[1]),n=Number(a[2]),i=a[1].padStart(2,"0");return n===0?t("date.timeH",{h:o,hh:i,mm:a[2]}):t("date.timeHM",{h:o,hh:i,m:n,mm:a[2]})}function Xr(e){return(e??0).toLocaleString("ko-KR")}const w3=[{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"}]}],k3=[{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 zl=null;function bm(e){zl=e}function Xn(){return zl?.topicTypes??w3}function Il(){return zl?.trainingTypes??k3}const gm="ihab_theme",fm="light";function Ol(){try{const e=localStorage.getItem(gm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return fm}function Fl(e){const t=e==="light"||e==="dark"||e==="auto"?e:fm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(gm,t)}catch{}}function vm(){Fl(Ol())}const xm="ihab_font_scale",A3="medium",B3=["medium","large1","large2","large3"];function Vl(){try{const e=localStorage.getItem(xm);if(B3.includes(e))return e}catch{}return A3}function Hl(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(xm,e)}catch{}}function ym(){Hl(Vl())}const lo=[],co=[],uo=[],po=[],Jr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},Qr={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},S3={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let Wl=null,Cm=null,ho=null;function Gl({counts:e,forceRefresh:t}={}){const a=Object.assign({},S3,e||{}),o=ha(),n=Ta(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&Cm===o&&Wl===i&&ho)return Object.assign(Jr,ho.today),Object.assign(Qr,ho.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:Jr,yesterday:Qr};const s={LISTEN_IN_NOISE:Ca(lo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Ca(co,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Ca(uo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Ca(po,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return ho&&Wl===i&&ho.yesterday&&ho.yesterday.date===n&&(c=ho.yesterday.selection),c||(c={LISTEN_IN_NOISE:Ca(lo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Ca(co,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Ca(uo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Ca(po,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(Jr,s),Object.assign(Qr,c),Cm=o,Wl=i,ho={today:s,yesterday:{date:n,countsKey:i,selection:c}},{today:Jr,yesterday:Qr}}function _m(){return{today:Jr,yesterday:Qr}}function Ul(){return{LISTEN_IN_NOISE:lo,SHORT_STORY:co,LONG_STORY:uo,ORDERING_SENTENCE:po}}let Jn=!1,en=null;async function N3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:pa&&pa.tagName.toUpperCase()==="SCRIPT"&&pa.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 ql(){if(!Jn)return en||(en=(async()=>{const e=await N3();if(!e){en=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}const t={noise:[],short:[],long:[],order:[]};try{for(const a of Object.keys(e||{})){const o=e[a]||[];for(const n of o){if(!n||typeof n!="object")continue;const i=n,s=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),d=String(i.category_sub_code||i.category_sub||i.category_1||""),u=Object.assign({},i,{training_type:s,category_0:c,category_1:d});s==="LISTEN_IN_NOISE"?t.noise.push(u):s==="SHORT_STORY"?t.short.push(u):s==="LONG_STORY"?t.long.push(u):s==="ORDERING_SENTENCE"&&t.order.push(u)}}}catch{en=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}lo.push(...t.noise),co.push(...t.short),uo.push(...t.long),po.push(...t.order),Jn=!0;try{Gl()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),en)}function wm(){return Jn}async function Yl(e=3e3){const t=ql();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return Jn}const Kl=[{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."}],km=[{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"}]}],Qn={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function Am(e){return Kl.map(t=>{const a=Qn[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let ei=null,Bm=null,Sm=null;function E3(){const e=To();if(e&&e.entries.length>0){const t=So();if(ei&&Bm===e&&Sm===t)return ei;const a=new Set,o=[];for(const n of e.entries)!n.word||a.has(n.word)||(a.add(n.word),o.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 ei=o,Bm=e,Sm=t,ei}return[]}const Ya=new Proxy([],{get(e,t){const a=E3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function Zl(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function _a(e,t){if(t>=e.length)return Qe(e);if(t===0)return[];const a=e.slice();for(let o=0;o<t;o++){const n=o+Math.floor(Math.random()*(a.length-o)),i=a[o];a[o]=a[n],a[n]=i}return a.slice(0,t)}let Xl=null,Nm=null;function mo(){const e=To();if(Xl&&Nm===e)return Xl;const t=new Map;for(const a of Ya)a.w&&t.set(a.w,a.pron);return Xl=t,Nm=e,t}function zt(e){return mo().get(e)||e}function ti(e,t,a=new Set){const o=[];for(const n of Qe(e)){if(o.length>=t)break;const i=zt(n);a.has(i)||(a.add(i),o.push(n))}return o}let D3=0;function Vt(e){return`${e}-rt-${++D3}`}function nr(e){const t=jn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=th(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ai=new Map;let Em=null,Dm=null;function tn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function Jl(e){const t=tn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${tn(a.cho)}/${tn(a.jung)}/${tn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=tn(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??""}`}const Ql=new Map;function T3(e){return Jl({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function sa(e){const t=To(),a=So();(t!==Em||a!==Dm)&&(ai.clear(),Ql.clear(),Em=t,Dm=a);const o=Jl(e);return ai.has(o)||ai.set(o,j3(e)),ai.get(o)}function Tm(e){if(!e)return null;const t=s=>s==null?null:Array.isArray(s)?s.length?s:null:[s],a=t(e.cho),o=t(e.jung),n=!!e.jongNone,i=n?null:t(e.jong);return a||o||i||n?n&&!a&&!o&&!i?s=>Fs(s):s=>Vs(s,{cho:a,jung:o,jong:i,jongNone:n}):null}function jm(e){const t=e.grade&&e.grade.length>0?new Set(e.grade):null,a=e.composition??null,o=a?.syllable!=null?new Set(Array.isArray(a.syllable)?a.syllable:[a.syllable]):null,n=a?[Tm(a),o?s=>o.has(Bo(s)):null].filter(s=>s!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return s=>{if(t&&(!s.grade||!t.has(s.grade)))return!1;if(n.length===0)return!0;const c=i?zt(s.w):s.w;return n.every(d=>d(c))}}async function j3(e){const{difficulty:t=null,choseong:a=null,composition:o=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),p=t==="cho"||t==="jung"||t==="jong",h=p&&u>=2,m=t==="count",g=a?new Set(Array.isArray(a)?a:[a]):null,f=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,x=o?[Tm(o),f?V=>f.has(Bo(V)):null].filter(V=>V!=null):[],C=t==="random"||t===null,b=C||m,v=C||h||m;let _=Ya.filter(V=>!V.w||s&&(!V.grade||!s.has(V.grade))?!1:v?!0:Array.isArray(V.p)&&V.p.length>0);g&&(_=_.filter(V=>{for(const H of g)if(P5(V.w,H))return!0;return!1})),x.length>0&&(_=_.filter(V=>{const H=d==="pron"?zt(V.w):V.w;return x.every(U=>U(H))})),n&&(_=_.filter(V=>V.w[0]===n));let y;if(i){const V=new Set;for(const H of _)if(V.add(H.w),Array.isArray(H.p))for(const U of H.p)V.add(U);if(b)for(const H of Ya)H.w&&V.add(H.w);y=nr(V)}else{const V=new Set;for(const H of _)if(V.add(H.w),Array.isArray(H.p))for(const U of H.p)V.add(U);if(b)for(const H of Ya)H.w&&V.add(H.w);y=V}let k=null;if(h){const V=new Set;for(const H of Ya)H.w&&V.add(H.w);k=i?nr(V):V}const w=_.filter(V=>y.has(V.w)),B=600,S=Array.from(y),A=S.length>B?_a(S,B):S,N=m&&o!=null&&(jt(o.cho)||jt(o.jung)||jt(o.jong)),z=2500,I=new Map;if(m&&!N&&u>=2){for(const V of S){const H=Bo(V),U=I.get(H);U?U.push(V):I.set(H,[V])}for(const[V,H]of I)H.length>z&&I.set(V,_a(H,z))}const D=$s();let W=null;if(N){const V=T3(e),H=i?th():null,U=Ql.get(V);W=U&&U.\uC774\uBBF8\uC9C0\uC9D1\uD569===H?U.map:Xs(o,S,D,c,d,zt),Ql.set(V,{\uC774\uBBF8\uC9C0\uC9D1\uD569:H,map:W})}const E=500,j=1500,R=e.fullCount?w:t==="random"?w.length>E?_a(w,E):w:w.length>j?_a(w,j):w,G=So(),X=[];for(const V of R){let H;const U=zt(V.w);if(h)H=V5(V.w,t,u,k,24).filter(L=>zt(L)!==U);else if(m)N?H=(W.get(V.w)??[]).filter(L=>zt(L)!==U):u<=1?H=Mn(V.w,G,{okSet:y,pronOf:zt,decompOf:D,sameStructureOnly:!1}):H=(I.get(Bo(V.w))??[]).filter(L=>{if(L===V.w||zt(L)===U)return!1;const T=H5(U,zt(L));return u>=5?T>=5:T===u});else if(C){const L=T=>T!==V.w&&T.length===V.w.length&&zt(T)!==U;if(e.fullCount){const T=Math.max(1,(e.choicesPerItem??3)-1),P=[],O=new Set;for(const F of A){if(!L(F))continue;const $=zt(F);if(!O.has($)&&(O.add($),P.push(F),P.length>=T))break}H=P}else H=A.filter(L)}else{const L=t;H=Mn(V.w,G,{kind:L,okSet:y,pronOf:zt,decompOf:D,sameStructureOnly:!1}),H.length===0&&(H=(A.length>30?_a(A,30):A).filter(T=>T!==V.w&&Rs(V.w,T)===t&&zt(T)!==U))}if(c&&H.length>0&&(p||m&&!N)){const L=D(zt(V.w));H=H.filter(T=>!Or(L,D(zt(T))))}H.length!==0&&X.push({word:V,usable:H})}return X}async function Lm(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await sa(t)).filter(c=>c.usable.length>=n),s=[];for(const c of Qe(i)){if(s.length>=o)break;const d=ti(c.usable,n);if(d.length<n)continue;const u=Qe([c.word.w,...d]);s.push({id:Vt(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 L3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await sa({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,s=[],c=Qe([...n]);for(const d of c){if(s.length>=a)break;const u=d.word.w,p=[...d.word.pron||u],h=i&&er(i)?p.filter(C=>{const b=Ve(C);return!!b&&qa(b,i)}):[],m=Zl(h.length?h:p);if(!m)continue;const g=n.filter(C=>C.word.w!==u&&C.word.s===d.word.s&&!(C.word.pron||C.word.w).includes(m)&&C.word.pron!==d.word.pron);if(g.length<o)continue;const f=ti(g.map(C=>C.word.w),o);if(f.length<o)continue;const x=Qe([u,...f]);s.push({id:Vt("HPI-item"),index:s.length+1,targetSyllable:m,word:u,choices:x,answerIndex:x.indexOf(u)})}return s}async function M3(e){const{count:t=10}=e,a=(await sa(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?_a(a,t):Qe(Array.from({length:t},(i,s)=>a[s%a.length])),n=Qe(Array.from({length:t},(i,s)=>s<Math.ceil(t/2)));return o.map((i,s)=>{const c=n[s];let d;if(c)d=[i.word.w,i.word.w];else{const u=Zl(i.usable);d=Math.random()<.5?[i.word.w,u]:[u,i.word.w]}return{id:Vt("SOD-item"),index:s+1,word:i.word.w,pair:d,same:c}})}async function $3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await sa({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),s=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(s.get(m)||m)[0]??"",d={};for(const m of n){const g=c(m.word.w);g&&(d[g]||(d[g]=[]),d[g].push(m.word.w))}const u=Object.entries(d).filter(([,m])=>m.length>=2).map(([m])=>m);if(u.length===0)return[];const p=[],h=Qe([...u]);for(let m=0;p.length<a&&m<a*4;m++){const g=h[m%h.length],f=d[g];if(f.length<2)continue;const x=Qe([...f]),C=x[0],b=x[1];if(!C||!b||C===b||(s.get(C)||C)===(s.get(b)||b))continue;const v=s.get(b)||b,_=i.filter(w=>c(w)!==g&&w!==C&&w!==b&&w.length===b.length&&(s.get(w)||w)!==v);if(_.length<o)continue;const y=ti(_,o);if(y.length<o)continue;const k=Qe([b,...y]);p.push({id:Vt("SWS-item"),index:p.length+1,sourceWord:C,targetSyllable:g,word:b,choices:k,answerIndex:k.indexOf(b)})}return p}function Mm(e,t,a){const o=mo(),n=d=>o.get(d)||d,i=(d,u)=>{const p=[...d],h=[...u];if(p.length!==h.length)return-1;let m=-1;for(let g=0;g<p.length;g++)if(p[g]!==h[g]){if(m>=0)return-1;m=g}return m},s=e.map(d=>({e:d,swaps:d.usable.filter(u=>!!u&&i(d.word.w,u)>=0&&n(u)!==n(d.word.w))})).filter(d=>d.swaps.length>0),c=[];for(const{e:d,swaps:u}of Qe(s)){if(c.length>=t)break;const p=Zl(u)??"",h=[...d.word.w],m=[...p],g=i(d.word.w,p),f=ti(d.usable.filter(x=>x&&x!==p),2,new Set([n(p),n(d.word.w)]));f.length<2||c.push({id:Vt(a),index:c.length+1,word:d.word.w,original:d.word.w,changed:p,changedFrom:g>=0?h[g]:"",changedTo:g>=0?m[g]:"",distractors:f})}return c}async function $m(e,t,a){const{count:o=10}=t,n=mo(),i=Ya.filter(f=>f.w&&f.s===e),s=t.excludeNoImage?nr(i.map(f=>f.w)):null,c=s?i.filter(f=>s.has(f.w)):i,d=new Set(c.map(f=>f.w)),u=Al(d),p=t.phonemeView??"char",h=t.composition??null,m=jm(t),g=[];for(const f of Qe(c)){if(g.length>=o)break;if(m&&!m(f))continue;const x=Bl(f.w,h,n,p,u,null,null);if(!x)continue;const C=x.distractors[0],b=[...f.w],v=[...C],_=b.findIndex((y,k)=>y!==v[k]);g.push({id:Vt(a),index:g.length+1,word:f.w,original:f.w,changed:C,changedFrom:_>=0?b[_]:"",changedTo:_>=0?v[_]:"",distractors:x.distractors.slice(1)})}return g}async function R3(e){return $m(2,e,"CS2-item")}async function P3(e){return $m(3,e,"CS3-item")}async function z3(e){const t=(await sa({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Mm(t,e.count??10,"CP1-item")}async function I3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await sa({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return Mm(a,e.count??10,"CP2-item")}async function O3(e){const{count:t=10}=e,a=(await sa({...e})).filter(o=>o.word.s===2);return _a(a,t).map((o,n)=>({id:Vt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function F3(e){const{count:t=10}=e,a=(await sa({...e})).filter(o=>o.word.s===3);return _a(a,t).map((o,n)=>({id:Vt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function ec(e){const t=Ya.map(a=>a.w);return e.excludeNoImage?nr(t):new Set(t)}async function V3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s===2),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=xl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=[...c.word.w],m=h[0]===u?h[1]:h[0];s.push({id:Vt("D2-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:p})}return s}async function H3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s===3),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=yl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=[...c.word.w];let m="";for(let g=0;g<h.length;g++)if(h.filter((f,x)=>x!==g).join("")===u){m=h[g];break}s.push({id:Vt("D3-item"),index:s.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:p})}return s}async function W3(e){const{count:t=10}=e,a=(await sa({...e})).filter(c=>c.word.s>=3),o=mo(),n=ec(e),i=e.phonemeView??"char",s=[];for(const c of Qe(a)){if(s.length>=t)break;const d=Cl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...p]=d.distractors,h=c.word.w,m=d.dropped??(h.startsWith(u)?h.slice(u.length):h.endsWith(u)?h.slice(0,h.length-u.length):"");s.push({id:Vt("DPC-item"),index:s.length+1,original:h,word:h,dropped:m,missingResult:u,distractors:p})}return s}async function G3(e){const{count:t=10}=e,a=(await sa({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=_a(a,3);return{id:Vt("LRO-item"),index:n+1,sequence:i,choices:Qe(i)}})}function oi(e,t,a){const o=Ya.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?nr(o.map(c=>c.w)):null,i=jm(t),s=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const d=Ve(c.w);if(!d||!a(d))continue}s.push(c)}return s}function U3(e){const t=oi(1,e,Qo.MERGE_2_PHONEMES.syllable);return _a(t,e.count??10).map((a,o)=>{const n=Ve(a.w);return{id:Vt("M2P-item"),index:o+1,parts:[rt[n.cho],ht[n.jung]],answer:a.w,word:a.w}})}function q3(e){const t=oi(1,e,Qo.MERGE_3_PHONEMES.syllable);return _a(t,e.count??10).map((a,o)=>{const n=Ve(a.w);return{id:Vt("M3P-item"),index:o+1,parts:[rt[n.cho],ht[n.jung],Tt[n.jong]],answer:a.w,word:a.w}})}function Y3(e){const t=Qo.DROP_FINAL_CONSONANT_FROM_1SYLL,a=oi(t.syllables,e,t.syllable),o=mo(),n=[];for(const i of Qe(a)){if(n.length>=(e.count??10))break;const s=_l(i.w,null,o);if(!s)continue;const[c,...d]=s.distractors;n.push({id:Vt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function K3(e){const t=Qo.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=oi(t.syllables,e,t.syllable),o=mo(),n=[];for(const i of Qe(a)){if(n.length>=(e.count??10))break;const s=kl(i.w,null,o);if(!s)continue;const c=Ve(o.get(i.w)||i.w);if(!c)continue;const[d,...u]=s.distractors;n.push({id:Vt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:rt[c.cho],remaining:d,distractors:u})}return n}const ri=new Map;let Rm=null,Pm=null;async function zm(e,t={}){const a=To(),o=So();(a!==Rm||o!==Pm)&&(ri.clear(),Rm=a,Pm=o);const n=`${e}:${Jl(t)}`;if(ri.has(n))return ri.get(n);const i=await X3(e,t);return ri.set(n,i),i}const Z3={SAME_SOUND_PICK:e=>Lm("SSP",e),HEAR_AND_PICK_SAME:e=>Lm("HPS",e),HEAR_AND_PICK_INCLUDED:e=>L3(e),SAME_OR_DIFF:e=>M3(e),STARTS_WITH_SAME_SOUND:e=>$3(e),LISTEN_AND_REMEMBER_ORDER:e=>G3(e),MERGE_2_SYLLABLES:e=>O3(e),MERGE_3_SYLLABLES:e=>F3(e),MERGE_2_PHONEMES:e=>U3(e),MERGE_3_PHONEMES:e=>q3(e),DROP_1_FROM_2SYLL:e=>V3(e),DROP_1_FROM_3SYLL:e=>H3(e),DROP_PART_FROM_COMPOUND:e=>W3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>Y3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>K3(e),CHANGE_1_SYLL_IN_2SYLL:e=>R3(e),CHANGE_1_SYLL_IN_3SYLL:e=>P3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>z3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>I3(e)};async function X3(e,t={}){const a=Z3[e];return a?await a(t):[]}async function J3(e){const t=["random","count"],a=Object.keys(Jo);let o=0;for(const n of t)for(const i of a){const s=Jo[i];zm(i,{difficulty:s.difficulty?n:null,contrastCount:1,composition:null,count:5,excludeNoImage:e,sameStructureOnly:!0,phonemeView:"char",grade:null}).catch(()=>{}),++o%6===0&&await new Promise(c=>setTimeout(c,0))}}async function Q3(e){const t=await sa({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>zt(n))).size>=a).length}async function e8(e={}){const t=[];for(const c of Ya)c.w&&t.push(c.w);const a=e.excludeNoImage?nr(t):t,o=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=Ve(d);if(u&&(rt[u.cho]!=="\u3147"&&o.add(rt[u.cho]),n.add(ht[u.jung]),u.jong>0)){i.add(Tt[u.jong]);const p=Ln[u.jong];p&&p.forEach(h=>i.add(h))}}}return{cho:o,jung:n,jong:i,syllable:s}}const Im={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:!0,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:!0,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:!0,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}},Om={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},t8=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function Fm(e){return t8.has(e)}const Vm={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 Hm(e){const t=(e??"").toLowerCase();return t==="speechear_free"||t==="free"?"free":t.startsWith("manager_free")||t.startsWith("mgr_free")?"mgr_free":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 Wm=5,Gm=5;function Um({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const qm={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},Ym="chunk-reload-ts";function Km(){try{return Number(sessionStorage.getItem(Ym)||0)}catch{return 0}}function Zm(e=Date.now()){if(e-Km()<=1e4)return!1;try{sessionStorage.setItem(Ym,String(e))}catch{}return window.location.reload(),!0}function tc(e=Date.now()){const t=Km();return t>0&&e-t<=1e4}function Xm(e,t){return l.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(tc())return new Promise(()=>{});throw new Error(`[lazyPage] ${e}: \uD654\uBA74 \uBAA8\uB4C8\uC744 \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4(default \uB0B4\uBCF4\uB0B4\uAE30 \uC5C6\uC74C). \uBC30\uD3EC \uC9C1\uD6C4\uB77C\uBA74 \uC0C8\uB85C\uACE0\uCE68\uC73C\uB85C \uD480\uB9BD\uB2C8\uB2E4.`)})}function Jm(...e){let t=!1;const a=()=>{if(!t)for(const i of e)i().catch(()=>{})},o=globalThis.requestIdleCallback;if(o){const i=o(a,{timeout:2e3});return()=>{t=!0;const s=globalThis.cancelIdleCallback;s?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}var a8=Object.freeze({__proto__:null,CAPABILITY:Jo,CHOSEONG:rt,CORE_VERSION:An,JONGSEONG:Tt,JUNGSEONG:ht,LONG_STORIES:uo,NETWORK_ERROR_MESSAGE:Hn,NOISE_DATAS:lo,ORDER_SETS:po,PHONE_REGEX:Pl,PLAN_FEATURES:Im,PLAN_LIMITS:Vm,SHORT_STORIES:co,TIER_RANK:Om,TOPIC_TYPES:km,TRAINING_TYPES:Kl,TRAINING_TYPE_I18N_KEY:Qn,WORD_SUGGESTION_ACCOUNT_LIMIT:Gm,WORD_SUGGESTION_EXISTING_ERROR:qm,WORD_SUGGESTION_WEEKLY_QUOTA:Wm,applyFontScale:Hl,applyTheme:Fl,buildChangeWholeSyllableProblem:Bl,buildDropCompoundProblem:Cl,buildDropContrast3Problem:yl,buildDropContrastProblem:xl,buildDropFinalConsonantProblem:_l,buildMultiPartPosContrast:Xs,buildPairIndex:bh,buildRemoveConsonantProblem:kl,buildSyllableMaskIndex:Al,bulkSetImageExistence:ah,cardQuestionTitle:jh,checkImageExists:zr,classifyPairDifficulty:Rs,clearAudioExistsCache:Vp,clearImageExistenceCache:Ls,clearPairIndexCache:Ys,composeSyllable:xa,computeDailySelection:Gl,configureImageResolver:Kp,configureNoiseSettingsStore:tm,configurePronunciationResolver:Wp,configureStorage:Cs,configureTTS:Fp,configureTrainingCategories:bm,copyText:Ml,createDecompCache:$s,createTTSUrlResolver:rm,dateToDb:mm,downloadCsvText:zh,downloadSound:Nn,ensureTrainingDataLoaded:Yl,escapeCsvField:Ph,fileExists:_s,filterContrastCandidates:Zs,finalToPhoneme:Ao,firstChoseongOf:Ps,formatCount:Xr,formatDateKo:nm,formatDateLocale:sm,formatDateLongKo:im,formatDateLongLocale:lm,formatDatetimeKo:cm,formatPhone:um,formatRelativeTime:Yn,formatTimeHM:Zn,formatYmd:Kn,getAssetBaseUrl:xs,getDailySelection:_m,getElementAnalyser:Ds,getElementVolume:qo,getErrorMessage:Yr,getImageExistenceStats:jn,getImageExistsCached:Qp,getImageResolver:no,getNoiseBaseUrl:ws,getNoiseFileGain:En,getPairIndex:So,getPlanTier:Hm,getPronunciationResolver:Bs,getSavedFontScale:Vl,getSavedTheme:Ol,getSignedOrPublicUrl:jr,getTTSFallbackUrlResolver:As,getTTSUrlResolver:Lr,getTodayKst:ha,getTodayKstDate:so,getTopicTypes:Xn,getTrainingPools:Ul,getTrainingTypes:Il,getWordPool:To,hasQuestionWordConstraint:Sh,hasSel:jt,hasStructureContrast:Or,initFontScale:ym,initTheme:vm,isAllChoseong:Is,isManagerTier:Fm,isManualOnlyType:Eh,isNetworkErrorMessage:Sl,isSyllablePattern:Hs,isThisWeekPick:Um,isTrainingDataLoaded:wm,isValidPhone:pm,isValidQuestionWord:Nh,itemCorrectness:Tl,jamoToNamesForSpeech:Lh,kstStartOfDay:qn,lazyPage:Xm,loadGameLeaderboard:em,loadMyGameRanks:Qh,loadNoiseSettings:Ll,loadTrainingData:ql,logCrossword:Wh,logTrainingCompletion:Dl,logTrainingTime:El,matchSyllables:Eo,matchesChoseongSearch:oh,matchesSyllablePattern:Ws,matchesWordQuery:rh,mergeQuestionText:fl,minimalPairDistractors:Mn,normalizeDate:hm,officialSoundPath:om,parseLocalYmd:Rl,parseSortValue:Rh,parseSyllable:Ve,patternToComposition:uh,phonemePartsOf:Th,pickEuRo:pl,pickEulReul:ll,pickEunNeun:dl,pickIga:il,pickWaGwa:ul,prefetchChunk:Jm,prewarmImageCache:eh,primarySelPart:er,readLevel:Ts,recoverFromSkew:Zm,reorderArray:hl,reportAppliedNoiseSettings:ar,resolveAssetUrl:Tr,resolveSoundPath:Sn,resumeAudioMeter:$r,routeElementAudio:Uo,sample:Ca,saveNoiseSettings:Gn,searchAndRankWords:hh,setAssetBaseUrl:Ip,setCrosswordLogger:Hh,setElementVolume:Sa,setGameLeaderboardLoader:Xh,setGameRanksLoader:Zh,setGameScoreSubmitter:Kh,setTrainingCompletionLogger:Vh,setTrainingTimeLogger:Fh,setWordPool:Oh,shuffle:Qe,skewReloadPending:tc,sortToValue:$h,soundOf:Vn,speak:Rp,stopSpeaking:Pp,submitGameScore:Jh,syllMatchesComp:qa,syllableContrasts:Do,syllableLength:Bo,syllablePron:qr,toBase64UrlSafe:am,toChoseong:zs,toItemResults:jl,toKstHm:dm,toKstYmd:Ta,toStandardPronunciation:wh,toStorageName:Kr,toUserErrorMessage:Mh,validateSyllableSearchInput:ph,withEuRo:Bh,withEulReul:cl,withEunNeun:kh,withIga:sl,withWaGwa:Ah,wordContainsChoseong:ih,wordContainsJongseong:ch,wordContainsJungseong:sh,wordHasNoCoda:Fs,wordHasSyllableMatching:Vs,wrongItems:Gh});function o8(e){if(e.includes("\\")&&e.includes("("))return!0;if(!/url\s*\(/i.test(e))return!1;const t=e.replace(/url\(\s*(['"]?)#[^)'"]*\1\s*\)/gi,"");return/url\s*\(/i.test(t)}function r8(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&o8(o.attrValue)&&(o.keepAttr=!1)};gs.addHook("uponSanitizeAttribute",t);try{return gs.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{gs.removeHook("uponSanitizeAttribute",t)}}function n8(e){const[t,a]=l.useState(null),[o,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 p=e;u&&(e.startsWith("/")?p=Tr(e):/^(Logo|Symbol)/i.test(u)?p=Tr(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),p=e)),n(null),s(null),a(p)},[e]),l.useEffect(()=>{if(!t)return;let u=!1;async function p(){try{let h=await fetch(t);h.ok||(h=await fetch(t));const m=h.headers.get("content-type")||"";if(u)return;if(m.includes("svg")){n("mask");return}if(m.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 x=r8(f);if(!x){n("none");return}s(x),n("inline");return}n("none")}catch{u||n("none")}}return p(),()=>{u=!0}},[t]),l.useEffect(()=>{let u=!1,p=null;return o==="mask"&&t&&fetch(t).then(h=>{if(!h.ok)throw new Error("fetch failed");return h.blob()}).then(h=>{u||(p=URL.createObjectURL(h),d(p))}).catch(()=>{u||n("img")}),()=>{u=!0,p&&URL.revokeObjectURL(p),d(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var i8=".ihabdevteam-core-scope .iconRenderer-icon-mask{background-color:currentColor;display:inline-block;height:20px;height:var(--icon-size,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;width:var(--icon-size,20px)}";oe(i8);function Ze(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:s,wrapperStyle:c,size:d}=e||{},u=o??"iconRenderer-icon",p=n??"iconRenderer-icon-image",h=i??"iconRenderer-icon-mask",m=s??"iconRenderer-icon-svg",g=typeof t=="string"?t:null,f=U4(g),{iconToUse:x,mode:C,svgText:b,blobUrl:v}=n8(g),_=(S,A={})=>r.jsx("span",{className:u,style:c,...A,children:S}),y=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,k=(S,A={})=>r.jsx("img",{src:S,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:p,...A,style:y?{...A.style,...y}:A.style});if(!t)return null;if(typeof t!="string")return _(t);if(t==="none")return _(r.jsx("span",{className:m,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 _(l.createElement(f,{className:m,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(x&&x.endsWith(".svg")){if(C==="mask"){const S={"--icon-url":v?`url(${v})`:`url(${x})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return _(r.jsx("span",{className:h,style:S}),{"aria-hidden":"true"})}return C==="img"?_(k(x,{onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):C==="inline"?_(r.jsx("span",{className:m,dangerouslySetInnerHTML:b?{__html:b}:void 0}),{"aria-hidden":"true"}):_(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Tr(t),{style:c,onError:S=>{S.currentTarget.onerror=null,S.currentTarget.style.display="none"}});const w=typeof d=="number"?d:20,B=`<svg width="${w}" height="${w}" 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 _(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function Qm(e){const[t,a]=l.useState(!1),o=l.useRef(!1),n=l.useRef(!0);l.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=l.useCallback(()=>{if(!e||o.current)return;const s=e();if(s&&typeof s.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};s.then(c,c)}},[e]);return{pending:t,press:i}}function eb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:s}=Qm(o?.onClick);return r.jsxs("div",{className:je("empty-state",n),children:[e&&r.jsx(Ze,{icon:e,size:48,className:"empty-state__icon"}),t&&r.jsx("p",{className:"empty-state__title h4",children:t}),a&&r.jsx("p",{className:"empty-state__message body-3",children:a}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:s,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(Ze,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var s8=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";oe(s8);function tb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:s}=we.useTranslation(),{pending:c,press:d}=Qm(o);return r.jsxs("div",{className:je("empty-state","error-state",i),role:"alert",children:[r.jsx(Ze,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.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&&r.jsx("p",{className:"error-state__hint caption-1",children:t}),o&&r.jsxs("button",{type:"button",className:"empty-state__action button button40 button40--bar button--variant-main button--align-center button--shape-rounded",onClick:d,disabled:c,"aria-busy":c||void 0,children:[r.jsx(Ze,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??s("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var l8=".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)}";oe(l8);function ab({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:s,className:c=""}){const d=l.useId(),u=`${d}-title`,p=`${d}-desc`,h=`${d}-cta`,m=()=>{i||s?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":u,"aria-describedby":`${p} ${h}`,onClick:m,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),m())},className:je("action-card",`action-card--${n}`,i&&"action-card--disabled",c),children:r.jsxs("div",{className:"action-card__body",children:[r.jsx("span",{"aria-hidden":!0,className:"action-card__chip",children:r.jsx(Ze,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:u,className:"action-card__title",children:t}),r.jsx("p",{id:p,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:h,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(Ze,{icon:"arrow-right",size:18})})]})]})})}function ob({as:e="div",className:t="",children:a,storage:o,...n}){o&&Cs({resolveUrl:o.resolveUrl,download:o.download??(()=>Promise.reject(new Error("[ihabdevteam-core] CoreScope: download resolver\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."))),exists:o.exists,resolvePath:o.resolvePath,noiseBaseUrl:o.noiseBaseUrl,noiseFileGain:o.noiseFileGain});const i=je("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function ac(e,t=!0){l.useEffect(()=>{if(!t)return;const a=e.current;if(!a)return;const o=n=>{if(n.key!=="Tab")return;const i=Array.from(a.querySelectorAll(Ka)).filter(p=>!p.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const s=i[0],c=i[i.length-1],d=document.activeElement,u=d===a;n.shiftKey&&(d===s||u)?(n.preventDefault(),c.focus()):!n.shiftKey&&d===c&&(n.preventDefault(),s.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Ka='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',oc=new WeakMap;function rc(e,t){e&&oc.set(e,t)}function nc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!oc.has(o);)o=o.parentElement;if(!o)return t;t=oc.get(o)??null}return t}function rb(e){return!(!e||!e.isConnected||e===document.body||typeof e.focus!="function"||e.disabled||e instanceof HTMLInputElement&&e.type==="hidden"||e.closest('[inert],[aria-hidden="true"],[hidden]'))}function ni(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(rb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Ka)).filter(d=>!(e&&e.contains(d))&&rb(d));let i=null,s=null;for(const d of n)o.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:s||(s=d);const c=i??s;return c?.focus(),c}var c8=".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)}}";oe(c8);function nb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:s=""}){const{t:c}=we.useTranslation(),[d,u]=l.useState(!1),p=l.useRef(null),h=l.useCallback(()=>{const x=p.current;x&&x.contains(document.activeElement)&&ni(x),u(!0)},[]);if(d)return null;const m=`notice-box notice-box--${n} body-2 ${s}`.trim(),g=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:h,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"});if(a&&Array.isArray(a)&&a.length)return r.jsxs("div",{className:m,role:"note",children:[a.map((x,C)=>r.jsxs("div",{className:"notice-box__inner",children:[x.title?r.jsx("span",{className:"notice-box__title body-3",children:x.title}):null,r.jsx("div",{className:"notice-box__body",children:x.lines&&x.lines.length?r.jsx("div",{children:x.lines.map((b,v)=>r.jsx("span",{className:"notice-box__line body-3",children:b},v))}):x.children??null})]},C)),g]});const f=e||t.length?r.jsxs("div",{className:"notice-box__inner",children:[e?r.jsx("span",{className:"notice-box__title body-1",children:e}):null,r.jsx("div",{className:"notice-box__body",children:t.length?r.jsx("ul",{children:t.map((x,C)=>r.jsx("li",{className:"notice-box__line",children:x},C))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:p,className:m,role:"note",children:[f,g]})}var d8=".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--nowrap .button__label-text{white-space:nowrap}.ihabdevteam-core-scope .button--align-left .button__label-text--has-sub{align-items:flex-start;text-align:left}.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.button--tooltip-only,.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}}";oe(d8);var u8=".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{animation:tooltip-fade-out .2s ease both;opacity:0}.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}";oe(u8);const ir=[];let ii=!1;function ib(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=ir[ir.length-1];t&&(e.stopPropagation(),t())}function jo(e){return ir.push(e),!ii&&typeof document<"u"&&(document.addEventListener("keydown",ib),ii=!0),()=>{const t=ir.lastIndexOf(e);t>=0&&ir.splice(t,1),ir.length===0&&ii&&typeof document<"u"&&(document.removeEventListener("keydown",ib),ii=!1)}}const si=l.createContext(null);function p8(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const sb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function h8(e){const t=l.useCallback(a=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const o=window.matchMedia(e);return o.addEventListener?o.addEventListener("change",a):o.addListener&&o.addListener(a),()=>{o.removeEventListener?o.removeEventListener("change",a):o.removeListener&&o.removeListener(a)}},[e]);return Gu.useSyncExternalStore(t,()=>sb(e),()=>!1)}function m8(e){const[t,a]=l.useState(sb(e));return l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=s=>a(s.matches),i=o;return i.addEventListener?i.addEventListener("change",n):i.addListener&&i.addListener(n),a(o.matches),()=>{i.removeEventListener?i.removeEventListener("change",n):i.removeListener&&i.removeListener(n)}},[e]),t}const b8=typeof Gu.useSyncExternalStore=="function"?h8:m8;function qt(e){const t=l.useContext(si),a=b8(e);return t&&typeof t.mobile=="boolean"&&p8(e)?t.mobile:a}const g8="(prefers-reduced-motion: reduce)";function ic(){return qt(g8)}function ma(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:s=!0,className:c="",role:d="dialog",ariaLabel:u="",children:p,backdrop:h=!1,isMobilePopup:m=!1,useBorder:g=!0,header:f}=e||{},x=l.useRef(null),[C,b]=l.useState({position:"fixed",left:0,top:-9999}),[v,_]=l.useState(!1),[y,k]=l.useState("bottom"),[w,B]=l.useState(!1),[S,A]=l.useState(!1),N=!t&&!a,z=l.useCallback((X=!1)=>{if(S&&m)return;const V=a?a.getBoundingClientRect():t;if(!V||!x.current)return;const H=x.current,{offsetWidth:U,offsetHeight:L}=H,T=window.innerWidth,P=window.innerHeight,O=T-V.right,F=V.left,$=V.top,Q=P-V.bottom;let J=0,Z=0,ie="top";if($>=L+o)ie="top",Z=V.top-o-L,J=V.left+V.width/2-U/2;else if(Q>=L+o)ie="bottom",Z=V.bottom+o,J=V.left+V.width/2-U/2;else if(O>=U+o)ie="right",J=V.right+o,Z=V.top+V.height/2-L/2;else if(F>=U+o)ie="left",J=V.left-o-U,Z=V.top+V.height/2-L/2;else{const q=Math.max($,Q,O,F);q===$?(ie="top",Z=V.top-o-L,J=V.left+V.width/2-U/2):q===Q?(ie="bottom",Z=V.bottom+o,J=V.left+V.width/2-U/2):q===O?(ie="right",J=V.right+o,Z=V.top+V.height/2-L/2):(ie="left",J=V.left-o-U,Z=V.top+V.height/2-L/2)}const se=Number.isFinite(Number(n))?Number(n):8;J=Math.min(Math.max(J,se),T-U-se),Z=Math.min(Math.max(Z,se),P-L-se);const ce=Math.round(J),ue=Math.round(Z);X&&x.current?(x.current.style.left=`${ce}px`,x.current.style.top=`${ue}px`,x.current.dataset.placement=ie):(k(ie||y),b({position:"fixed",left:ce,top:ue}),B(!0))},[S,m,a,t,o,n,y]);l.useLayoutEffect(()=>{if(N)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const X=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(X)},[t,a,o,p,n,N,S,m,z]),l.useEffect(()=>{if(N||S&&m||!x.current||typeof ResizeObserver>"u")return;const X=new ResizeObserver(()=>{t&&z()});return X.observe(x.current),()=>X.disconnect()},[t,p,n,N,S,m,z]),l.useEffect(()=>{if(N||S&&m)return;const X=()=>z(!0),V=H=>{if(!a&&i){const U=H.target;if(U&&x.current&&x.current.contains(U))return;try{if(U&&U.closest&&U.closest("[data-tooltip-ignore]"))return}catch{}j.current(!0);return}X()};return window.addEventListener("resize",X),document.addEventListener("scroll",V,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",X),document.removeEventListener("scroll",V,{capture:!0})}},[t,a,i,o,p,n,N,S,m,z]),l.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const X=window.matchMedia("(max-width: 768px)"),V=()=>A(!!X.matches);V();try{X.addEventListener?X.addEventListener("change",V):X.addListener(V)}catch{try{X.addListener(V)}catch{}}return()=>{try{X.removeEventListener?X.removeEventListener("change",V):X.removeListener(V)}catch{}}},[]);const I=l.useRef(!1),D=l.useRef(null),W=ic(),E=l.useCallback((X=!1)=>{if(i&&!(v||I.current)){if(I.current=!0,X){_(!0);try{i&&i()}catch{I.current=!1,_(!1)}return}_(!0),D.current=setTimeout(()=>{D.current=null;try{i&&i()}catch{I.current=!1,_(!1)}},W?0:200)}},[v,i,_,W]);l.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]),l.useEffect(()=>{if(N)return;const X=U=>{const L=x.current;if(!L)return;const T=U.target;if(T&&!L.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},V=U=>{const L=x.current;if(!L)return;const T=U.target;if(T&&!L.contains(T)){try{if(T.closest&&T.closest("[data-tooltip-ignore]"))return}catch{}s&&E(!0)}},H=U=>{if(U.key==="Tab"){const L=x.current;if(!L)return;const T=L.querySelectorAll(Ka);if(!T||T.length===0)return;const P=T[0],O=T[T.length-1],F=document.activeElement;U.shiftKey?F===P&&(U.preventDefault(),O.focus()):F===O&&(U.preventDefault(),P.focus())}};return document.addEventListener("pointerdown",X,!0),document.addEventListener("click",V,!0),document.addEventListener("keydown",H),()=>{document.removeEventListener("pointerdown",X,!0),document.removeEventListener("click",V,!0),document.removeEventListener("keydown",H)}},[i,s,E,N]);const j=l.useRef(E);l.useEffect(()=>{j.current=E});const R=!!i;l.useEffect(()=>{if(!(N||!R))return jo(()=>j.current())},[N,R]),l.useEffect(()=>{const X=()=>{E(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",X),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",X)}},[E]);const G=r.jsxs("div",{ref:x,className:`tooltip-content ${N?"tooltip-content--inline":""} ${g?"tooltip-content--bordered":""} ${v?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:N?{}:{...C,visibility:w?"visible":"hidden"},tabIndex:-1,"data-placement":y,"data-left":N?"":C.left,"data-top":N?"":C.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&&r.jsx("div",{className:"tooltip-content__header h5",children:f}),p]});if(N||typeof document>"u")return G;if(h||S&&m){const X=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{s&&E(!0)}}),G]});return ra.createPortal(X,document.body)}return ra.createPortal(G,document.body)}var f8='.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}';oe(f8);function wa(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:s}=e||{};return a?r.jsx(ma,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:s||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var v8=".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)}";oe(v8);function bo(e){const{t}=we.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:s=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!0}=e||{},p=(Array.isArray(n)?n:n?[n]:[]).map(h=>typeof h=="string"?{text:h}:h);return!p.length&&!o?null:r.jsx(ma,{anchorRect:a,offset:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children:p.map((h,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[s&&p.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),h.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:h.color},"aria-hidden":"true"}),r.jsx("span",{children:h.text})]},m))})]})})}function an(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),t}let sc=0,lb=!1;function cb(){lb||typeof document>"u"||(lb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(sc=Date.now())},!0),document.addEventListener("touchstart",()=>{sc=Date.now()},{capture:!0,passive:!0}))}cb();function sr(e){return!!e&&e.pointerType==="touch"}function lr(e=1e3){return cb(),Date.now()-sc<e}function lc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=an(e),s=an(t),c=l.useRef(null),d=l.useRef(0);l.useEffect(()=>{if(!o||typeof document>"u")return;const p=h=>{const m=h,g=h.target,f=a.current,x=!!(g&&f&&f.contains(g));if(m.pointerType!=="touch"){x&&(c.current=null);return}if(x){c.current=i.current;return}c.current=null,i.current&&!(g&&g.closest?.(".tooltip-content"))&&s.current(!1,f)};return document.addEventListener("pointerdown",p,!0),()=>document.removeEventListener("pointerdown",p,!0)},[o,a,i,s]);const u=l.useCallback(p=>{const h=c.current;return h===null?!1:(c.current=null,d.current=Date.now(),s.current(!h,p??a.current),!0)},[a,s]);return l.useEffect(()=>{if(!o||!n)return;const p=a.current,h=p?.parentElement;if(!p||!h)return;let m=null;const g=C=>{const b=C.changedTouches?.[0];if(!b)return!1;const v=p.getBoundingClientRect();return b.clientX>=v.left&&b.clientX<=v.right&&b.clientY>=v.top&&b.clientY<=v.bottom},f=C=>{m=g(C)?i.current:null},x=C=>{const b=m;m=null,!(b===null||Date.now()-d.current<700||!g(C))&&(c.current=null,d.current=Date.now(),s.current(!b,p))};return h.addEventListener("touchstart",f,{passive:!0}),h.addEventListener("touchend",x),()=>{h.removeEventListener("touchstart",f),h.removeEventListener("touchend",x)}},[o,n,a,i,s]),{touchPress:u}}function x8(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:s,rel:c,icon:d,rightIcon:u,label:p,count:h,subLabel:m,children:g,ariaLabel:f,variant:x="default",align:C="center",nowrap:b=!1,selected:v,toggleable:_=!1,ariaExpanded:y,ariaControls:k,disabled:w=!1,useLabel:B=!0,useBorder:S=!0,useBG:A=!0,useDisabledCovered:N=!1,useDisabledInvisible:z=!1,width:I,minWidth:D,onClick:W,onDisabledClick:E,showTooltipInfo:j=!1,tooltipInfoText:R=null,tooltipDescription:G=null,tooltipOnly:X=!1,iconSize:V="medium",iconColor:H,shape:U="rounded",color:L,className:T,...P}=e,O=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=O.match(/^\d+$/)?`button${O}`:`button-${O}`,$=Number(a),Q=!isNaN($)&&$<40?"button-2":"button-1",J=p??g,Z=w||!!P.disabled,ie=Z?N?"disabled-covered":z?"disabled-invisibled":"disabled":x,se=ie?`button--variant-${ie}`:"",ce=C?`button--align-${C}`:"",ue=b?"button--nowrap":"",q=U?`button--shape-${U}`:"",le=typeof H=="string"&&H.startsWith("--")?`var(${H})`:H,ge={...I?{width:typeof I=="number"?`${I}px`:I}:{},...D?{minWidth:typeof D=="number"?`${D}px`:D}:{},...S?{}:{"--button-border":Z?"0":"1px solid transparent"},...le?{"--button-icon-color":le}:{},...L?{"--color-main":L}:{}},Se=B===!1?"":J,ke=Array.isArray(Se)?Se.length>0:!!Se,Ee=!!u,_e=o??(ke||d||Ee?"bar":"dot"),Be=`${F}--${_e}`,K=l.useRef(null),Ce=l.useRef(t);Ce.current=t;const fe=l.useCallback(Oe=>{K.current=Oe;const lt=Ce.current;typeof lt=="function"?lt(Oe):lt&&(lt.current=Oe)},[]),ae=l.useRef(Z),[me,$e]=l.useState(!!v),[Me,re]=l.useState(!1),[de,xe]=l.useState(null),ye=l.useCallback(()=>re(!1),[]),[Ge,Ue]=l.useState(!1),Xe=l.useId();l.useEffect(()=>{typeof v=="boolean"&&$e(v)},[v]),l.useEffect(()=>{if(ae.current&&!Z&&K.current){const Oe=K.current;let lt=!1;try{lt=Oe.matches(":focus:not(:focus-visible)")}catch{lt=!1}lt&&Oe.blur(),Oe.style.pointerEvents="none";const At=requestAnimationFrame(()=>{requestAnimationFrame(()=>{K.current&&(K.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(At)}ae.current=Z},[Z]);const Je=typeof v=="boolean"?!!v:me,et=typeof y=="boolean"?void 0:_||typeof v=="boolean"?Je?"true":"false":P["aria-pressed"],We=je("button",F,Be,se,ce,ue,q,Je?"is-selected":null,A?null:"button--no-bg",X?"button--tooltip-only":null,T),ze=`button__icon button__icon--${V}`,qe=Array.isArray(m)?m:m!==void 0?[m]:[],ct=()=>{if(Array.isArray(Se))return Se.map((lt,At)=>{const ta=qe[At];return r.jsxs("span",{className:`button__label-text${ta!==void 0?" button__label-text--has-sub":""}`,children:[lt,ta!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:ta})]},At)});const Oe=m!==void 0;return r.jsxs("span",{className:`button__label-text${Oe?" button__label-text--has-sub":""}`,children:[Se,h!=null&&r.jsx("span",{className:"button__count",children:h}),Oe&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},wt=Oe=>{typeof v!="boolean"&&!_&&$e(!1),Oe.currentTarget.blur()},ea=Oe=>{Z||(typeof P.onMouseLeave=="function"&&P.onMouseLeave(Oe),wt(Oe))},kt=Oe=>{if(X&&ot&&mt.touchPress(Oe.currentTarget),Z){ot&&mt.touchPress(Oe.currentTarget),Oe.preventDefault(),E?.(Oe);return}typeof v!="boolean"&&_&&$e(lt=>!lt),W?.(Oe)},it=l.useCallback(()=>{(j||G)&&(re(!0),xe(K.current?.getBoundingClientRect()??null))},[j,G]),tt=l.useCallback(()=>{(j||G)&&(re(!1),xe(null))},[j,G]),ot=!!(j||G),mt=lc(Me,Oe=>{Oe?it():tt()},K,{enabled:ot&&(Z||X),fallbackOnParent:ot&&Z}),Ye={...P};delete Ye.disabled,delete Ye.className,delete Ye.faded,delete Ye.useFaded,delete Ye.loading,delete Ye.onMouseLeave,delete Ye.onPointerEnter,delete Ye.onPointerLeave,delete Ye.onPointerUp,delete Ye.onFocus,delete Ye.onBlur,Z&&(Object.keys(Ye).forEach(Oe=>{/^on[A-Z]/.test(Oe)&&typeof Ye[Oe]=="function"&&delete Ye[Oe]}),Ye["aria-disabled"]="true");const Ct=(typeof j=="string"?j:null)??(typeof R=="string"?R:null)??(typeof f=="string"?f:null)??(typeof J=="string"?J:null)??void 0,Ke=typeof f=="string"?f:typeof J=="string"?J:Ct,xt=G?[G.title,...G.items??[]].filter(Boolean).join(". "):j&&Ct&&Ct!==Ke?Ct:"",Ot=[typeof P["aria-describedby"]=="string"?P["aria-describedby"]:void 0,xt?Xe:null].filter(Boolean).join(" ")||void 0,Lt=(Oe,lt)=>r.jsx(Ze,{icon:Oe,label:lt??Ke,className:ze,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Et=()=>_e==="dot"?r.jsxs(r.Fragment,{children:[Lt(d),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()})]}):C==="center"&&d?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:Lt(d)}),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()})]}),Ee&&r.jsx("span",{className:"button__right",children:Lt(u)})]}):r.jsxs(r.Fragment,{children:[d&&r.jsx("span",{className:"button__left",children:Lt(d,f??J)}),ke&&r.jsx("span",{className:`button__label ${Q}`,children:ct()}),Ee&&r.jsx("span",{className:"button__right",children:Lt(u)})]}),dt=!!i&&!Z;return r.jsxs(r.Fragment,{children:[r.jsxs(dt?"a":"button",{...Ye,ref:fe,...dt?{href:i,target:s,rel:c??(s==="_blank"?"noreferrer":void 0)}:{type:n,disabled:Z&&!E&&!Ge},className:We,"aria-pressed":et,"aria-expanded":typeof y=="boolean"?y:P["aria-expanded"],"aria-controls":k??P["aria-controls"],"aria-label":Ke,"aria-disabled":Z&&(dt||E||Ge)?!0:void 0,"aria-describedby":Ot,style:ge,onClick:kt,onMouseLeave:ea,onPointerEnter:Oe=>{sr(Oe)||it(),!Z&&typeof P.onPointerEnter=="function"&&P.onPointerEnter(Oe)},onPointerLeave:Oe=>{sr(Oe)||tt(),!Z&&typeof P.onPointerLeave=="function"&&P.onPointerLeave(Oe)},onPointerUp:Oe=>{Z&&ot&&mt.touchPress(Oe.currentTarget),!Z&&typeof P.onPointerUp=="function"&&P.onPointerUp(Oe)},onFocus:Oe=>{Ue(!0),lr()||it(),!Z&&typeof P.onFocus=="function"&&P.onFocus(Oe)},onBlur:Oe=>{Ue(!1),Z||wt(Oe),tt(),!Z&&typeof P.onBlur=="function"&&P.onBlur(Oe)},children:[Et(),xt?r.jsx("span",{id:Xe,hidden:!0,"aria-label":xt}):null]}),Me&&G?r.jsx(bo,{anchorRect:de,title:G.title,items:G.items,onClose:ye}):Me&&Ct?r.jsx(wa,{anchorRect:de,text:Ct,onClose:ye}):null]})}const he=l.forwardRef(x8);he.displayName="Button";function yt(e,t,a){const o=l.useRef(null);return l.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var y8=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";oe(y8);var C8=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";oe(C8);const cr={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},cc=new WeakMap;function li(e){if(e)return cc.get(e)}function Ht(e,t){e&&(e.style.setProperty(cr.title,t.title),e.style.setProperty(cr.description,t.description),cc.set(e,t))}function Wt(e){e&&(e.style.removeProperty(cr.title),e.style.removeProperty(cr.description),cc.delete(e))}const dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function uc(){const e=yt(dc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var _8=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";oe(_8);const pc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function hc(){const e=yt(pc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var w8=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";oe(w8);const mc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function bc(){const e=yt(mc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var k8=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";oe(k8);const gc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function fc(){const e=yt(gc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var A8=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";oe(A8);const vc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function xc(){const e=yt(vc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var B8=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";oe(B8);const yc={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Cc(){const e=yt(yc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var S8=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";oe(S8);const _c={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function wc(){const e=yt(_c,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var N8=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";oe(N8);const kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ac(){const e=yt(kc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var E8=".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)}";oe(E8);const Bc={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Sc(){const e=yt(Bc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var D8=".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}";oe(D8);const Nc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Ec(){const e=yt(Nc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var T8=".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}";oe(T8);const Dc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Tc(){const e=yt(Dc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-outline","aria-hidden":"true",children:r.jsx("span",{className:"promo-banner-bg-outline__dot"})})}var j8=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";oe(j8);const jc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Lc(){const e=yt(jc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var L8=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";oe(L8);const Mc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function $c(){const e=yt(Mc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var M8=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";oe(M8);const Rc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Pc(){const e=yt(Rc,Ht,Wt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const Qt=(e,t,a)=>({key:e,get label(){return pt.t(`promoBannerBg.${e}`,t)},textTone:a}),db=[Qt("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("soft","\uC18C\uD504\uD2B8","dark"),Qt("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),Qt("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),Qt("warm","\uC6DC(\uAC15\uC870)","dark"),Qt("dark","\uB2E4\uD06C","light"),Qt("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),Qt("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),Qt("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),Qt("outline","\uC544\uC6C3\uB77C\uC778","dark"),Qt("success","\uC131\uACF5/\uC644\uB8CC","light"),Qt("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),Qt("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],zc={main:uc,soft:hc,sub:bc,deep:fc,softSub:xc,warm:Cc,dark:wc,radial:Ac,diagonal:Sc,dots:Ec,outline:Tc,success:Lc,naver:$c,instagram:Pc};function ci({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const s=_=>Math.max(a,Math.min(o,Number(_))),c=_=>{try{const y=localStorage.getItem(_),k=y?Number(y):1;return Number.isFinite(k)?s(k):s(1)}catch{return s(1)}},[d,u]=l.useState(()=>c(e)),[p,h]=l.useState(e);p!==e&&(h(e),u(c(e))),l.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const m=_=>{u(typeof _=="function"?y=>s(_(y)):s(_))},g=()=>m(_=>+(_+n).toFixed(6)),f=()=>m(_=>+(_-n).toFixed(6)),x=d<o-Number.EPSILON,C=d>a+Number.EPSILON,b=Math.round(t*d),v=Math.round(b*i);return{scale:d,setScale:m,increase:g,decrease:f,canIncrease:x,canDecrease:C,fontSize:b,lineHeight:v}}function on(e,t){const a=an(t);l.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const Ic=" \xB7 ",ub=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Ic)?e.split(Ic).pop()??e:e})(),Oc=l.createContext(!1),Lo=[];let pb=null;function Fc(e){const t=l.useContext(Oc);l.useEffect(()=>{if(t||typeof e!="string"||!e)return;Lo.length===0&&(pb=document.title);const a={text:ub?`${e}${Ic}${ub}`:e};return Lo.push(a),document.title=a.text,()=>{const o=Lo.lastIndexOf(a);o>=0&&Lo.splice(o,1),document.title=Lo.length?Lo[Lo.length-1].text:pb??document.title}},[e,t])}function $8(e,t){const[a,o,n]=e.split("-").map(Number),[i,s,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,s-1,c)-Date.UTC(a,o-1,n))/864e5)}function hb(){const{t:e}=we.useTranslation();return l.useCallback(t=>{if(!t)return"";const a=Ta(t);if(!a)return"";const o=$8(a,ha());return o<=0?e("myHomework.relativeDay.today","\uC624\uB298"):o===1?e("myHomework.relativeDay.yesterday","\uC5B4\uC81C"):e("myHomework.relativeDay.daysAgo",{n:o})},[e])}function mb(e){const{t}=we.useTranslation(),[a,o]=l.useState({current:"",next:"",confirm:""}),[n,i]=l.useState(null),[s,c]=l.useState(!1),d=l.useRef(null),u=l.useRef(!1);l.useEffect(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);const p=l.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),h=l.useCallback(async()=>{if(u.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),u.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(g){m=Yr(g)}finally{u.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),d.current!==null&&clearTimeout(d.current),d.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:s,handleChangePw:h,reset:p}}const Vc=[{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 Hc(e){return e.reduce((t,a)=>{try{const o=localStorage.getItem(a);return t+(o?new Blob([o]).size:0)}catch{return t}},0)}function bb(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 gb(e){const{t}=we.useTranslation(),[a,o]=l.useState({}),[n,i]=l.useState(null),[s,c]=l.useState(null),[d,u]=l.useState(null),p=l.useCallback(()=>{const m={};Vc.forEach(g=>{m[g.id]=Hc([...g.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(g=>{u({usage:g.usage??0,quota:g.quota??0})}).catch(()=>{})},[]);l.useEffect(()=>{p()},[p]);const h=l.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?Ys():m==="imageCache"&&Ls(),p(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[p,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:s,setConfirmCacheId:c,storageEstimate:d,refreshCacheSizes:p,handleClearCache:h}}function fb(e){const[t,a]=l.useState(null),[o,n]=l.useState(null),i=l.useCallback(()=>{const s=So();if(s){const d=Object.values(s),u=d.filter(p=>p.cho.length+p.jung.length+p.jong.length>0).length;a({matched:u,total:d.length})}else a(null);const c=jn();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:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Mo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function vb(e,t=[]){const[a,o]=l.useState(t),[n,i]=l.useState(null),[s,c]=l.useState(!1),[d,u]=l.useState(e),p=l.useRef(!1),h=l.useRef(null);l.useEffect(()=>{if(s)return;if(p.current){p.current=!1;return}const b=h.current;b!==null&&b.length===t.length&&b.every((v,_)=>v===t[_])||(h.current=t,o(t),i(v=>v==null?v:t.find(_=>Mo(_,v))??v))},[t,s]),l.useEffect(()=>{!s&&n!=null&&u({...n})},[s,n]);const m=l.useCallback(b=>{i(b),c(!1),u({...b})},[]),g=l.useCallback(()=>c(!0),[]),f=l.useCallback(()=>c(!1),[]),x=l.useCallback((b,v)=>{o(b),i(v),c(_=>(_&&(p.current=!0),!1))},[]),C=l.useCallback(b=>{o(v=>v.filter(_=>!Mo(_,b))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:s,setIsEditing:c,editForm:d,setEditForm:u,openDetail:m,startEditing:g,cancelEditing:f,commitEdit:x,remove:C}}const dr=()=>{const[e,t,a]=ha().split("-");return{year:e,month:t,day:a}},R8={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function xb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:s,editForm:c,setEditForm:d,openDetail:u,commitEdit:p}=vb(R8,e),{year:h,month:m,day:g}=dr(),[f,x]=l.useState({year:h,month:m,day:g,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:f,setVisitForm:x,setVisit:C=>b=>x(v=>({...v,[C]:b})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:s,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:C=>{a(y=>[f,...y]);const{year:b,month:v,day:_}=dr();x({year:b,month:v,day:_,hour:"09",minute:"00",memo:""}),C?.()},handleVisitEditSave:()=>{p(C=>C.map(b=>o!=null&&Mo(b,o)?c:b),c)},addVisit:C=>{a(b=>[C,...b])},removeVisit:C=>{a(b=>b.filter(v=>!Mo(v,C)))},revertVisitEdit:(C,b)=>{a(v=>v.map(_=>_===b?C:_)),n(v=>v===b?C:v)}}}const yb=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")}`,rn=e=>[...e].sort((t,a)=>{const o=yb(t),n=yb(a);return o<n?-1:o>n?1:0}),P8={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Cb(e,t=[]){const a=l.useMemo(()=>rn(t),[t]),{list:o,setList:n,selected:i,setSelected:s,isEditing:c,setIsEditing:d,editForm:u,setEditForm:p,openDetail:h,commitEdit:m,remove:g}=vb(P8,a),[f,x]=l.useState([]),{year:C,month:b,day:v}=dr(),[_,y]=l.useState({year:C,month:b,day:v,hour:"09",minute:"00",memo:""}),k=W=>E=>y(j=>({...j,[W]:E})),w=W=>{n(G=>rn([...G,_]));const{year:E,month:j,day:R}=dr();y({year:E,month:j,day:R,hour:"09",minute:"00",memo:""}),W?.()},B=()=>{m(W=>rn(W.map(E=>i!=null&&Mo(E,i)?u:E)),u)},S=l.useCallback(W=>{g(W)},[g]),A=l.useCallback(W=>{e({year:W.year,month:W.month,day:W.day,hour:W.hour,minute:W.minute,memo:W.memo,...W.id!=null?{id:W.id}:{}}),g(W)},[e,g]),N=l.useCallback(W=>{n(E=>E.filter(j=>!Mo(j,W))),x(E=>[W,...E]),s(null)},[n,s]),z=l.useCallback(W=>{n(E=>rn([...E,W]))},[n]),I=l.useCallback(W=>{n(E=>E.filter(j=>!Mo(j,W)))},[n]),D=l.useCallback((W,E)=>{n(j=>rn(j.map(R=>R===E?W:R))),s(j=>j===E?W:j)},[n,s]);return{scheduleList:o,noShowList:f,addSchedule:z,removeSchedule:I,revertScheduleEdit:D,scheduleForm:_,setScheduleForm:y,setSchedule:k,selectedSchedule:i,setSelectedSchedule:s,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:p,openScheduleDetail:h,handleScheduleSave:w,handleScheduleEditSave:B,handleScheduleDelete:S,handleScheduleToVisit:A,handleScheduleNoVisit:N}}const nn=[{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 _b(e){const{t}=we.useTranslation(),[a,o]=l.useState(""),[n,i]=l.useState("25"),[s,c]=l.useState("all"),[d,u]=l.useState(1),p=l.useMemo(()=>e.filter(({item:x,status:C})=>!(a&&!x.memo.includes(a)||s!=="all"&&C!==s)),[e,a,s]),h=Math.max(1,Math.ceil(p.length/Number(n))),m=Math.min(d,h),g=l.useMemo(()=>p.slice((m-1)*Number(n),m*Number(n)),[p,m,n]),f=l.useMemo(()=>nn.map(x=>({...x,label:t("common.pageSizeLabel",{n:x.value,defaultValue:x.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:f,vapStatus:s,setVapStatus:c,vapPage:m,setVapPage:u,vapFiltered:p,vapTotal:h,vapPageItems:g}}const z8=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ur(e,t){return z8().compare(e,t)}const di=new Map;function I8(e){const t=di.get(e);if(t)return t;const a=[],o=/-?\d+(?:\.\d+)?/g;let n=0;for(let i=o.exec(e);i;i=o.exec(e)){let s=i.index,c=i[0];c[0]==="-"&&s>0&&!/\s/.test(e[s-1])&&(s+=1,c=c.slice(1)),s>n&&a.push(e.slice(n,s)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),di.size>5e3&&di.clear(),di.set(e,a),a}function O8(e){if(!/^[\d\s-]+$/.test(e))return null;const t=e.replace(/\D/g,"");return t.length<9||t.length>11?null:t[0]==="0"||t[0]==="1"&&e!==t?t:null}function F8(e,t){const a=u=>u==null||typeof u=="number"&&Number.isNaN(u)?"":String(u).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(u,p)=>{if(typeof u=="number"&&!Number.isNaN(u))return[u];const h=O8(p);return h!==null?[h]:I8(p)},s=i(e,o),c=i(t,n),d=Math.min(s.length,c.length);for(let u=0;u<d;u++){const p=s[u],h=c[u];if(typeof p=="number"&&typeof h=="number"){if(p!==h)return p-h;continue}if(typeof p=="number")return-1;if(typeof h=="number")return 1;const m=ur(p,h);if(m!==0)return m}return s.length!==c.length?s.length-c.length:ur(o,n)}const wb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function Wc(e,t,a){const o=wb(e),n=wb(t);if(o||n)return o===n?0:o?1:-1;const i=F8(e,t);return a?i:-i}function Gc(e,t,a){const{t:o}=we.useTranslation(),[n,i]=l.useState(()=>{const f=a?.initialPageSize;return f&&nn.some(x=>x.value===f)?f:"25"}),[s,c]=l.useState(1),[d,u]=l.useState(t);Object.is(d,t)||(u(t),s!==1&&c(1));const p=l.useMemo(()=>nn.map(f=>({...f,label:o("visits.showN",{n:f.value})})),[o]),h=l.useCallback(f=>{i(f),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(s>m||s<1||!Number.isFinite(s))&&c(Math.min(Math.max(1,Number.isFinite(s)?s:1),m));const g=Math.min(Math.max(1,Number.isFinite(s)?s:1),m);return{pageRows:l.useMemo(()=>e.slice((g-1)*Number(n),g*Number(n)),[e,g,n]),pageSizeProps:{options:p,value:n,onChange:h},paginationProps:{page:g,total:m,onChange:c},setPage:c}}function Uc(e){const[t,a]=l.useState(null),o=l.useRef(t),n=l.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=l.useCallback(d=>{const u=o.current,p=u?.key===d?{key:d,asc:!u.asc}:{key:d,asc:!0};o.current=p,a(p),n.current?.(p)},[]),s=l.useCallback((d,u)=>({label:d,sortDir:t?.key===u?t.asc?"asc":"desc":null,onClick:()=>i(u)}),[t,i]),c=l.useCallback((d,u)=>{if(!t)return d;const{key:p,asc:h}=t;return[...d].sort((m,g)=>Wc(u(m,p),u(g,p),h))},[t]);return{\uC815\uB82C:t,\uCE78:s,sortRows:c}}const kb=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Ab(){const[e,t]=l.useState(!1),[a,o]=l.useState("\uC88C"),[n,i]=l.useState({\uC88C:null,\uC6B0:null}),[s,c]=l.useState({\uC88C:[],\uC6B0:[]}),[d,u]=l.useState(!1),[p,h]=l.useState("\uC88C"),m=l.useCallback(f=>{const x=kb(f.direction);x&&(i(C=>({...C,[x]:f})),c(C=>({...C,[x]:[f,...C[x]]})),t(!1))},[]),g=l.useCallback(f=>{const x=kb(f.direction);x&&(i(C=>({...C,[x]:f})),u(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:s,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:p,setListForSide:h,handleDeviceSubmit:m,handleSelectFromList:g}}const _t="\uC804\uCCB4",sn=["grade","syllables","pos","wordType"],Bb=["1","2","3","4"],V8=["1","2","3","4","5+"],H8=["noun","verb","modifier"],W8=["native","sino","foreign","mixed"],G8={grade:Bb,syllables:V8,pos:H8,wordType:W8},U8={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},q8={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},Y8={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},K8={pos:{noun:["\uCCB4\uC5B8(\uBA85\uC0AC,\uC218\uC0AC)"],verb:["\uC6A9\uC5B8(\uB3D9\uC0AC,\uD615\uC6A9\uC0AC)"],modifier:["\uC218\uC2DD\uC5B8(\uBD80\uC0AC,\uAD00\uD615\uC0AC)"]}},qc=new Map;try{pt.store?.on?.("added",()=>qc.clear())}catch{}function ui(e){const t=qc.get(e);if(t)return t;const a=pt.getFixedT(e),o={\uC139\uC158:{grade:a("wordSearch.filter.difficulty","\uB4F1\uAE09"),syllables:a("wordSearch.filter.syllables","\uC74C\uC808 \uC218"),pos:a("wordSearch.filter.partOfSpeech","\uD488\uC0AC"),wordType:a("wordSearch.filter.wordType","\uC720\uD615")},\uAC12:{grade:Object.fromEntries(Bb.map(n=>[n,a("wordSearch.filter.grade",{n:Number(n),defaultValue:`${n}\uB4F1\uAE09`})])),syllables:{...Object.fromEntries(["1","2","3","4"].map(n=>[n,a("wordSearch.filter.syllable",{n:Number(n),defaultValue:`${n}\uC74C\uC808`})])),"5+":a("wordSearch.filter.syllable5plus","5\uC74C\uC808 \uC774\uC0C1")},pos:{noun:a("wordSearch.filter.pos.noun","\uCCB4\uC5B8(\uBA85\uC0AC, \uC218\uC0AC)"),verb:a("wordSearch.filter.pos.verb","\uC6A9\uC5B8(\uB3D9\uC0AC, \uD615\uC6A9\uC0AC)"),modifier:a("wordSearch.filter.pos.modifier","\uC218\uC2DD\uC5B8(\uBD80\uC0AC, \uAD00\uD615\uC0AC)")},wordType:{native:a("wordSearch.filter.type.native","\uACE0\uC720\uC5B4"),sino:a("wordSearch.filter.type.sino","\uD55C\uC790\uC5B4"),foreign:a("wordSearch.filter.type.foreign","\uC678\uB798\uC5B4"),mixed:a("wordSearch.filter.type.mixed","\uD63C\uC885\uC5B4")}}};return qc.set(e,o),o}const Yc=()=>Array.from(new Set([pt.language,"ko","en"].filter(e=>!!e)));function ln(e){if(sn.includes(e))return e;for(const t of Yc()){const a=ui(t);for(const o of sn)if(a.\uC139\uC158[o]===e)return o}for(const t of sn)if(Y8[t]?.includes(e))return t;return null}function pr(e,t){if(G8[e].includes(t))return t;for(const a of Yc()){const o=ui(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(K8[e]??{}))if(o.includes(t))return a;if(e==="grade"||e==="syllables"){const a=parseInt(t.replace(/\D/g,""),10);if(Number.isFinite(a)&&a>=1)return e==="grade"?a<=4?String(a):null:a>=5?"5+":String(a)}return null}const Z8=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function pi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=ln(a);if(n)for(const i of Z8(o)){const s=pr(n,i);if(!s)continue;const c=t[n]??(t[n]=[]);c.includes(s)||c.push(s)}}return t}function hi(e,t=pt.language){const a=ui(t||"ko"),o={};for(const n of sn){const i=(e?.[n]??[]).map(s=>a.\uAC12[n][s]).filter(s=>!!s);i.length&&(o[a.\uC139\uC158[n]]=i)}return o}function Sb(e,t=pt.language){const a={};for(const[o,n]of Object.entries(e??{}))ln(o)||(a[o]=n);return{...a,...hi(pi(e),t)}}function X8(e){for(const t of Yc()){const a=ui(t);if(sn.some(o=>a.\uC139\uC158[o]===e))return t}return pt.language||"ko"}function Kc(){const{t:e}=we.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 Zc(e,t,a){return{label:t.difficulty,items:[1,2,3,4].map(o=>e("wordSearch.filter.grade",{n:o})),multiple:!0,allOption:!0,allLabel:a?.allLabel,labelAction:a?.labelAction,labelInfo:a?.labelInfo}}function Xc(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function Jc(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function Nb(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 Eb(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 Db(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:s=!0,headDisabled:c,midDisabled:d,tailDisabled:u,allOptionDisabled:p,groupLabel:h,labelAction:m}=t;return{label:a,...h?{groupLabel:h}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...p?{allOptionDisabled:p}:{},items:[{value:o,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 Tb(e,t,a){const o=ln(a),n=o&&t!==_t?pr(o,t):null;if(o&&(t===_t||n)){const c={},d={};for(const[g,f]of Object.entries(e))(ln(g)===o?d:c)[g]=f;if(t===_t)return c;const u=pi(d)[o]??[],p=u.includes(n)?u.filter(g=>g!==n):[...u,n];if(p.length===0)return c;const h=hi({[o]:p},X8(a)),m=Object.values(h)[0]??[];return{...c,[a]:m}}if(t===_t){const{[a]:c,...d}=e;return d}const i=e[a]??[],s=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(s.length===0){const{[a]:c,...d}=e;return d}return{...e,[a]:s}}Object.fromEntries(Object.entries(Ms).map(([e,{nucleus:t}])=>[e,t]));const J8={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},Q8={"\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"]},e7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:Q8,typeMap:J8},jb=new WeakMap;function t7(e,t){const a=jb.get(e);if(a&&a.keys===t)return a.\uAC12;const o={grades:[],syls:[],poses:[],types:[]},n={grade:o.grades,syllables:o.syls,pos:o.poses,wordType:o.types};for(const[i,s]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":ln(i);if(c)for(const d of Array.isArray(s)?s:typeof s=="string"?[s]:[])n[c].includes(d)||n[c].push(d)}return jb.set(e,{keys:t,\uAC12:o}),o}function a7(e,t,a=e7){const{grades:o,syls:n,poses:i,types:s}=t7(t,a);if(o.length&&!o.some(c=>e.grade===(pr("grade",c)??c.replace(/\D/g,""))))return!1;if(n.length){const c=e.syllables??0;if(!n.some(d=>{const u=d===a.syllable5plus?"5+":pr("syllables",d);return u==="5+"?c>=5:c===parseInt(u??d)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??U8[pr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||s.length&&!s.some(c=>e.wordType===(a.typeMap[c]??q8[pr("wordType",c)??""])))}const o7={labial:e=>e("common.phonetics.place.labial",{defaultValue:"\uC591\uC21C\uC74C"}),alveolar:e=>e("common.phonetics.place.alveolar",{defaultValue:"\uCE58\uC870\uC74C"}),palatal:e=>e("common.phonetics.place.palatal",{defaultValue:"\uACBD\uAD6C\uAC1C\uC74C"}),velar:e=>e("common.phonetics.place.velar",{defaultValue:"\uC5F0\uAD6C\uAC1C\uC74C"}),glottal:e=>e("common.phonetics.place.glottal",{defaultValue:"\uC131\uBB38\uC74C"})},r7={frontHigh:e=>e("common.phonetics.vowel.frontHigh",{defaultValue:"\uC804\uC124 \uACE0\uBAA8\uC74C"}),backHighUnrounded:e=>e("common.phonetics.vowel.backHighUnrounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uD3C9\uC21C"}),backHighRounded:e=>e("common.phonetics.vowel.backHighRounded",{defaultValue:"\uD6C4\uC124 \uACE0\uBAA8\uC74C \uC6D0\uC21C"}),frontMid:e=>e("common.phonetics.vowel.frontMid",{defaultValue:"\uC804\uC124 \uC911\uBAA8\uC74C"}),backMidUnrounded:e=>e("common.phonetics.vowel.backMidUnrounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uD3C9\uC21C"}),backMidRounded:e=>e("common.phonetics.vowel.backMidRounded",{defaultValue:"\uD6C4\uC124 \uC911\uBAA8\uC74C \uC6D0\uC21C"}),low:e=>e("common.phonetics.vowel.low",{defaultValue:"\uC800\uBAA8\uC74C"})},n7={j:e=>e("common.phonetics.glide.j",{defaultValue:"j\uD65C\uC74C"}),w:e=>e("common.phonetics.glide.w",{defaultValue:"w\uD65C\uC74C"}),velar:e=>e("common.phonetics.glide.velar",{defaultValue:"\u0270\uD65C\uC74C"})};function Lb(e,t){if("place"in t)return o7[t.place](e);const a=r7[t.vowel](e);return t.glide?`${a} \xB7 ${n7[t.glide](e)}`:a}const i7=(e,{defaultValue:t})=>t,Mb=(e,t)=>({jamos:e,phonetic:t,tooltip:Lb(i7,t)}),Za=(e,t)=>t.map(a=>Mb([a],{place:e})),It=(e,t,a)=>Mb([...e],a?{vowel:t,glide:a}:{vowel:t}),Qc={cho:[Za("labial",["\u3142","\u3143","\u314D","\u3141"]),Za("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Za("alveolar",["\u3145","\u3146"]),Za("palatal",["\u3148","\u3149","\u314A"]),Za("velar",["\u3131","\u3132","\u314B"]),Za("glottal",["\u314E"])],jung:[[It("\u3163","frontHigh"),It("\u315F","frontHigh","w"),It("\u3162","frontHigh","velar")],[It("\u3161","backHighUnrounded")],[It("\u315C","backHighRounded"),It("\u3160","backHighRounded","j")],[It("\u3154\u3150","frontMid"),It("\u3156\u3152","frontMid","j"),It("\u3159\u315A\u315E","frontMid","w")],[It("\u3153","backMidUnrounded"),It("\u3155","backMidUnrounded","j"),It("\u315D","backMidUnrounded","w")],[It("\u3157","backMidRounded"),It("\u315B","backMidRounded","j")],[It("\u314F","low"),It("\u3151","low","j"),It("\u3158","low","w")]],jong:[Za("labial",["\u3142","\u3141"]),Za("alveolar",["\u3137","\u3134","\u3139"]),Za("velar",["\u3131","\u3147"])]},s7=[...rt],l7=[...ht],c7=Tt.filter(e=>e!==""),ja=e=>e===ka?[]:Array.from(e),ka="__NO_CODA__",$b=[1,2,3,4],Aa=5,d7=12,Rb="SYL_",ed=e=>`${Rb}${e}`,u7=e=>Number(e.slice(Rb.length));function mi(e){return e>=Aa?Array.from({length:d7-Aa+1},(t,a)=>Aa+a):[e]}const Pb={cho:s7,jung:l7,jong:c7},td=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),ad={cho:td(Qc.cho),jung:td(Qc.jung),jong:td(Qc.jong)},zb={};ad.jung.flat().forEach(({v:e})=>{for(const t of ja(e))zb[t]=e});const p7=new Set(ad.cho.flat().map(e=>e.v));function od(e,t){return e==="cho"?p7.has(t)?t:null:e==="jung"?zb[t]??t:Ao(t)}function rd(e,t,a){if(e==="jung"){const o=ja(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&Ao(a)===t?a:t}function nd(e,t,a,o){const n=(i,s)=>s?i==="jong"&&s===ka?ka:t==="pron"?od(i,s):rd(i,s,i==="jung"?a:i==="jong"?o:null):null;return{...e,cho:n("cho",e.cho),jung:n("jung",e.jung),jong:n("jong",e.jong)}}const bi={cho:null,jung:null,jong:null,syllable:null},h7="wt_filter",Ib=e=>`wt_filter_${e}`,id=["noun","verb","modifier"],sd=["native","sino","foreign","mixed"];function Ob(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const s of e){if(typeof s!="string")continue;const c=t.includes(s)?s:t.find(d=>n.some(u=>o(u,a(d))===s));c&&!i.includes(c)&&i.push(c)}return i}function Fb(e){try{const t=localStorage.getItem(Ib(e))??localStorage.getItem(h7);if(t)return JSON.parse(t)}catch{}return null}function Vb(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function m7(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?{...bi,cho:t.choseong}:bi}function Hb(e,t,a){const{t:o,i18n:n}=we.useTranslation(),[i]=l.useState(()=>a?.resetOnMount?null:Fb(e)),[s,c]=l.useState(Vb(i)),[d,u]=l.useState(()=>m7(i)),p=l.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:ka,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?ka:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);l.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||u(K=>K.cho||K.jung||K.syllable!=null||K.jong?K:p())},[]);const h=l.useMemo(()=>jt(d.cho)||jt(d.jung)||jt(d.jong)?"count":"random",[d.cho,d.jung,d.jong]),m=l.useRef(s==="char"?d.jung:null),g=l.useRef(s==="char"?d.jong:null);l.useEffect(()=>{s==="char"&&(m.current=d.jung,g.current=d.jong)},[s,d.jung,d.jong]);const[f,x]=l.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[C,b]=l.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[v,_]=l.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),y=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),k=(K,Ce)=>n.getFixedT(K)(Ce),w=K=>Ob(K,id,Ce=>`wordSearch.filter.pos.${Ce}`,k,y),B=K=>Ob(K,sd,Ce=>`wordSearch.filter.type.${Ce}`,k,y),[S,A]=l.useState(()=>w(i?.posFilter)),[N,z]=l.useState(()=>B(i?.wordTypeFilter)),I=l.useRef(a?.resetKey);l.useEffect(()=>{I.current!==a?.resetKey&&(I.current=a?.resetKey,u(p()),x(!!a?.defaultImageOnly),b(!1),_([]),A([]),z([]))},[a?.resetKey]);const D=Kc(),W=l.useMemo(()=>Object.keys(D.posMap),[D]),E=l.useMemo(()=>Object.keys(D.typeMap),[D]),j=l.useMemo(()=>S.map(K=>W[id.indexOf(K)]).filter(Boolean),[S,W]),R=l.useMemo(()=>N.map(K=>E[sd.indexOf(K)]).filter(Boolean),[N,E]),[G,X]=l.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[V,H]=l.useState(!1),[U,L]=l.useState(null),T=1,P=Math.max(1,[d.cho,d.jung,d.jong].filter(Boolean).length),[O,F]=l.useState(e);l.useEffect(()=>{if(O!==e){if(!a?.resetOnMount){const K=Fb(e);u(K?.composition??p()),x(K?.excludeNoImage??!0),b(K?.sameStructureOnly??!0),c(Vb(K)),_(Array.isArray(K?.gradeFilter)?K.gradeFilter:[]),A(w(K?.posFilter)),z(B(K?.wordTypeFilter))}F(e)}},[e,O,a?.resetOnMount]),l.useEffect(()=>{if(!a?.resetOnMount&&O===e)try{localStorage.setItem(Ib(e),JSON.stringify({contrastCount:P,composition:d,excludeNoImage:f,sameStructureOnly:C,phonemeView:s,gradeFilter:v,posFilter:S,wordTypeFilter:N}))}catch{}},[a?.resetOnMount,e,O,P,d,f,C,s,v,S,N]);const[$,Q]=l.useState(0);on("wordpool:update",()=>Q(K=>K+1));const J=l.useRef(n.language);l.useEffect(()=>{J.current!==n.language&&(J.current=n.language,Q(K=>K+1))},[n.language]),l.useEffect(()=>{if(!t.choseong)return;let K=!1;return e8({difficulty:h,excludeNoImage:f}).then(Ce=>{K||(X(Ce),Ce.cho.size+Ce.jung.size+Ce.jong.size>0&&H(!0))}).catch(()=>{K||X({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{K=!0}},[t.choseong,h,f,$]),l.useEffect(()=>{let K=!1;const Ce=d,fe=Ce.cho?ja(Ce.cho):null,ae=Ce.jung?ja(Ce.jung):null,me=Ce.jong===ka,$e=me?null:Ce.jong?ja(Ce.jong):null,Me=Ce.syllable!=null?mi(Ce.syllable):null,re=!!(fe||ae||$e||me||Me);return Q3({difficulty:t.difficulty?h:null,contrastCount:t.difficulty?P:1,composition:t.choseong&&re?{cho:fe,jung:ae,jong:$e,jongNone:me,syllable:Me}:null,excludeNoImage:f,sameStructureOnly:C,phonemeView:s==="pron"?"pron":"char",grade:v.length>0?v:null}).then(de=>{K||L(de)}).catch(()=>{K||L(null)}),()=>{K=!0}},[t.choseong,t.difficulty,h,P,d,s,f,C,$,v]),l.useEffect(()=>{V&&u(K=>{const Ce={...K};let fe=!1;return["cho","jung","jong"].forEach(ae=>{const me=K[ae];!me||me===ka||ja(me).some($e=>G[ae].has($e))||(Ce[ae]=null,fe=!0)}),K.syllable!=null&&t.fixedSyllable==null&&(K.syllable>=Aa?[...G.syllable].some(ae=>ae>=Aa)||(Ce.syllable=null,fe=!0):(!G.syllable.has(K.syllable)||K.syllable<T)&&(Ce.syllable=null,fe=!0)),fe?Ce:K})},[G,V,T,t.fixedSyllable]);const Z=l.useMemo(()=>{const K=Ce=>{const fe=new Set;for(const ae of Pb[Ce])G[Ce].has(ae)&&fe.add(ae);return fe};return{cho:K("cho"),jung:K("jung"),jong:K("jong")}},[G]),ie=l.useMemo(()=>({exact:new Set($b.filter(K=>G.syllable.has(K))),min:[...G.syllable].some(K=>K>=Aa)}),[G]),se=l.useMemo(()=>({composition:o("wordPairs.composition","\uC815\uB2F5 \uB2E8\uC5B4 \uAD6C\uC131"),syllableCount:o("wordPairs.syllableCount","\uC74C\uC808 \uC218"),onset:o("wordPairs.onset","\uCD08\uC131"),vowel:o("wordPairs.vowel","\uBAA8\uC74C"),coda:o("wordPairs.coda","\uC885\uC131"),phonemeGroup:o("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),trainOnset:o("training.filter.trainOnset",{defaultValue:"\uCD08\uC131"}),trainVowel:o("training.filter.trainVowel",{defaultValue:"\uBAA8\uC74C"}),trainCoda:o("training.filter.trainCoda",{defaultValue:"\uC885\uC131"}),random:o("training.filter.random","\uBB34\uC791\uC704"),exclude:o("wordSearch.filter.exclude","\uC81C\uC678"),selectLabel:o("training.filter.selectSection",{defaultValue:"\uC120\uD0DD"}),none:o("common.none","\uC5C6\uC74C"),noImage:o("wordSearch.filter.excludeNoImage","\uC774\uBBF8\uC9C0 \uC5C6\uC74C"),excludeImage:o("training.filter.excludeImage",{defaultValue:"\uC774\uBBF8\uC9C0 \uC788\uB294 \uB2E8\uC5B4\uB9CC"}),sameStructure:o("training.filter.sameStructure",{defaultValue:"\uC74C\uC18C \uAD6C\uC870 \uAC19\uC740 \uB2E8\uC5B4\uB9CC"}),noLimit:o("training.filter.noLimit",{defaultValue:"\uBB34\uAD00"}),codaExclude:o("training.filter.codaExclude",{defaultValue:"\uC81C\uC678"}),gradeLabel:o("training.filter.gradeLabel",{defaultValue:"\uB09C\uC774\uB3C4 \uB4F1\uAE09"})}),[o]),ce=l.useMemo(()=>({[se.trainOnset]:"cho",[se.trainVowel]:"jung",[se.trainCoda]:"jong"}),[se]),ue=l.useCallback((K,Ce)=>({title:Ce,items:K}),[]),q=l.useMemo(()=>[o("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."}),o("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."})],[o]),le=l.useMemo(()=>{const K=[];if(t.choseong){const Ce={value:ka,displayLabel:se.codaExclude},fe=t.fixedNoCoda===!0,ae=(me,$e)=>{const Me=fe&&me==="jong",re={label:$e,groupLabel:se.phonemeGroup,allOption:!t.requireSyllable,allLabel:se.noLimit,allOptionDisabled:Me};if(s==="pron"){const xe=ad[me].map(ye=>ye.map(({v:Ge,phonetic:Ue})=>{const Xe=ja(Ge),Je=Lb(o,Ue),et=Me||!Xe.some(We=>G[me].has(We));return Xe.length>1?{value:Ge,labels:Xe,tooltip:Je,disabled:et}:{value:Ge,tooltip:Je,disabled:et}}));return me==="jong"&&!t.requireCoda&&xe.unshift([Ce]),{...re,groups:xe}}const de=Pb[me].map(xe=>!Me&&Z[me].has(xe)?xe:{value:xe,disabled:!0});return{...re,items:me==="jong"&&!t.requireCoda?[Ce,...de]:de}};K.push(ae("cho",se.trainOnset)),K.push(ae("jung",se.trainVowel)),K.push(ae("jong",se.trainCoda))}if(K.push({...Zc(o,D,{labelInfo:ue([o("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:se.gradeLabel}),t.partOfSpeech&&K.push(Xc(D)),t.wordType&&K.push(Jc(D)),t.choseong||t.fixedSyllable!=null){const Ce=t.fixedSyllable;K.push({label:se.syllableCount,items:[...$b.map(fe=>({value:ed(fe),displayLabel:o("wordPairs.syllableN",{n:fe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:Ce!=null?fe!==Ce:!ie.exact.has(fe)||fe<T})),{value:ed(Aa),displayLabel:o("wordPairs.syllableNPlus",{n:Aa,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:Ce!=null?Aa!==Ce:!ie.min}],allOption:!0,allOptionDisabled:Ce!=null})}return t.choseong?K.push({label:se.exclude,displayLabel:se.selectLabel,multiple:!0,items:[se.excludeImage,se.sameStructure],labelInfo:ue(q)}):K.push({label:se.exclude,displayLabel:se.selectLabel,multiple:!0,items:[se.excludeImage],labelInfo:ue([q[0]])}),K},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,T,Z,G,s,ie,se,o,ue,q,D]),ge={...(t.choseong||t.fixedSyllable!=null)&&d.syllable!=null?{[se.syllableCount]:ed(d.syllable)}:{},...t.choseong&&d.cho?{[se.trainOnset]:d.cho}:{},...t.choseong&&d.jung?{[se.trainVowel]:d.jung}:{},...t.choseong&&d.jong?{[se.trainCoda]:d.jong}:{},[se.exclude]:[...f?[se.excludeImage]:[],...C?[se.sameStructure]:[]],[se.gradeLabel]:v.map(K=>o("wordSearch.filter.grade",{n:Number(K),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[D.partOfSpeech]:j}:{},...t.wordType?{[D.wordType]:R}:{}},Se=l.useCallback((K,Ce)=>{if(Ce===se.exclude)K===se.excludeImage?x(fe=>!fe):K===se.sameStructure&&b(fe=>!fe);else if(Ce===se.syllableCount)u(fe=>{if(!K||K===_t)return{...fe,syllable:null};const ae=u7(K);return{...fe,syllable:fe.syllable===ae?null:ae}});else if(Ce===se.gradeLabel){if(!K||K===_t){_([]);return}const fe=K.replace(/\D/g,"");_(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else if(Ce===D.partOfSpeech){if(!K||K===_t){A([]);return}const fe=id[W.indexOf(K)]??w([K])[0];if(!fe)return;A(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else if(Ce===D.wordType){if(!K||K===_t){z([]);return}const fe=sd[E.indexOf(K)]??B([K])[0];if(!fe)return;z(ae=>ae.includes(fe)?ae.filter(me=>me!==fe):[...ae,fe])}else{const fe=ce[Ce];if(!fe)return;u(ae=>t.requireSyllable?K&&K!==_t?{...ae,[fe]:K}:ae:!K||K===_t||ae[fe]===K?{...ae,[fe]:null}:{...ae,[fe]:K})}},[se,ce,D,W,E,t.requireSyllable]),ke=l.useCallback(K=>!t.partOfSpeech&&!t.wordType?!0:a7(K,{...t.partOfSpeech?{[D.partOfSpeech]:j}:{},...t.wordType?{[D.wordType]:R}:{}},D),[t.partOfSpeech,t.wordType,j,R,D]),Ee=l.useCallback(K=>{K!==s&&(K!=="direct"&&s!=="direct"&&u(Ce=>nd(Ce,K,m.current,g.current)),c(K))},[s]),_e=l.useCallback(()=>({composition:d,contrastCount:P,excludeNoImage:f,sameStructureOnly:C,phonemeView:s,gradeFilter:v,posFilter:S,wordTypeFilter:N}),[d,P,f,C,s,v,S,N]),Be=l.useCallback(K=>{u(K.composition),x(K.excludeNoImage),b(K.sameStructureOnly??!0),c(K.phonemeView),_(Array.isArray(K.gradeFilter)?K.gradeFilter:[]),Array.isArray(K.posFilter)&&A(w(K.posFilter)),Array.isArray(K.wordTypeFilter)&&z(B(K.wordTypeFilter))},[]);return{difficulty:h,contrastCount:P,composition:d,choseong:d.cho,excludeNoImage:f,sameStructureOnly:C,gradeFilter:v,posFilter:j,wordTypeFilter:R,matchesWordAttributes:ke,poolVersion:$,filterSections:le,filterSelected:ge,handleFilterSelect:Se,phonemeView:s,setPhonemeView:Ee,phonemeGroupLabel:se.phonemeGroup,wordCount:U,getFilterSnapshot:_e,restoreFilterSnapshot:Be}}function b7(e){const t=c=>c?ja(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===ka,i=n?null:t(e.jong),s=e.syllable!=null?mi(e.syllable):null;return!a&&!o&&!i&&!n&&!s?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:s}}function Wb(e,t,a,o,n,i,s=!0,c="char",d=[]){const[u,p]=l.useState({}),[h,m]=l.useState(!1),{cho:g=null,jung:f=null,jong:x=null,syllable:C=null}=o??{},b=d.length>0?d.slice().sort().join(","):"",v=e.map(y=>y.key).join("|");l.useEffect(()=>{i>0&&J3(n).catch(()=>{})},[i,n]),l.useEffect(()=>{let y=!1;return m(!0),(async()=>{const k=b7({cho:g,jung:f,jong:x,syllable:C}),w=`${g??""}_${f??""}_${x??""}_${C??""}_${b}`,B={};await Promise.all(e.map(async S=>{const A=Jo[S.key];try{const N=await zm(S.key,{difficulty:A.difficulty?t:null,contrastCount:A.difficulty?a:1,composition:A.choseong?k:null,count:5,excludeNoImage:n,sameStructureOnly:s,phonemeView:c,grade:d.length>0?d:null});N&&N.length>0?B[S.key]={id:`wt-${S.key}-${t}-${w}-${Date.now()}`,name:S.label,training_type:S.key,category_main_code:"WORD",iconColor:S.color,subTitle:S.subTitle,items:N,itemCount:N.length}:B[S.key]={id:`wt-${S.key}-empty`,name:S.label,training_type:S.key,category_main_code:"WORD",iconColor:S.color,subTitle:S.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[S.key]=null}})),y||(p(B),m(!1))})(),()=>{y=!0}},[t,a,g,f,x,C,n,s,c,i,b,v]);const _=JSON.stringify(e.map(y=>[y.key,y.label,y.color,y.subTitle]));return{perTypeData:l.useMemo(()=>{const y={};for(const[k,w]of Object.entries(u)){const B=e.find(S=>S.key===k);y[k]=w&&B?{...w,name:B.label,iconColor:B.color,subTitle:B.subTitle}:w}return y},[u,_]),generating:h}}function Gb(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 g7(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 f7=Ca,v7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},x7=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function gi(e,t,a,o,n){if(!e.length||t<=0)return[];const i=g7(Gb(`${a}|${o}|${n}`)),s=v7(o)&1,c=e.filter((u,p)=>(Gb(`${a}|${n}|${x7(u,p)}`)>>>7&1)===s),d=c.length>=t&&e.length-c.length>=t;return f7(d?c:e,t,i)}function ld(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:gi(lo,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:gi(co,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:gi(uo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:gi(po,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function cd(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const y7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function dd(e=!1,t=y7,a){const o=Ta(Date.now()),n=Ta(Date.now()-864e5),i=a??"";return lo.length>0||co.length>0||uo.length>0||po.length>0?{today:ld(t,i,o),yesterday:ld(t,i,n)}:{today:ld(t,i,o),yesterday:null}}function Ub(e){const t=l.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=l.useRef(null),[o,n]=l.useState(!1),[i,s]=l.useState(!1),[c,d]=l.useState(0),[u,p]=l.useState(!1),[h,m]=l.useState(()=>ha());l.useEffect(()=>{const f=()=>{const C=Date.now(),b=new Date(C+9*36e5),v=Date.UTC(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()+1)-9*36e5;return Math.max(1e3,v-C+1e3)};let x=setTimeout(function C(){m(ha()),x=setTimeout(C,f())},f());return()=>clearTimeout(x)},[]),l.useEffect(()=>{let f=!1,x=!1,C=!1,b,v=0,_=null,y=0;const k=40,w=()=>{b!==void 0&&(clearInterval(b),b=void 0)};let B=!1;try{const I=new URLSearchParams(window.location.search),D=I.get("forceRefresh")||I.get("force");B=D==="1"||D==="true"}catch{}const S=I=>{x||(C=!0,t.current=I.today,a.current=I.yesterday,n(!0),p(!0),d(D=>D+1),f=!0,w())},A=async()=>{if(f)return;if(!B){const D=dd(!1,void 0,e);if(cd(D.today)){S(D);return}}if(_){++v>=k&&N();return}if(v>=y){y=v+8,_=Yl(3e3).catch(()=>!1);try{await _}finally{_=null}if(f)return}const I=dd(B,void 0,e);if(cd(I.today)){S(I);return}++v>=k&&N()};function N(){n(!0),p(!1),f=!0,w()}const z=()=>{if(x||C)return;const I=dd(B,void 0,e);cd(I.today)&&S(I)};try{window.addEventListener("speechear.data.updated",z)}catch{}return A(),b=setInterval(A,250),()=>{f=!0,x=!0,w();try{window.removeEventListener("speechear.data.updated",z)}catch{}}},[e,h]);const g=l.useCallback(f=>{const x=i?a.current:t.current,C=i?t.current:a.current;return x?.[f]?.length?x[f]:C?.[f]?.length?C[f]:void 0},[i,c]);return{loaded:o,hasData:u,showYesterday:i,setShowYesterday:s,getTrainingPerType:g}}function ud(e,t=!0){const a=an(e);l.useEffect(()=>{if(t)return jo(()=>{a.current?.()})},[t,a])}const fi=(e,t)=>`${e}:${t??1}`,vi=new Map,qb=new Set,Yb=new Map,C7=6e4;function Kb(e,t){const[a,o]=l.useState(0),n=Array.from(new Set(e.map(i=>fi(i.word,i.homonum)))).sort().join("|");return l.useEffect(()=>{const i=n?n.split("|"):[],s=Date.now(),c=i.filter(p=>!vi.has(p)&&!qb.has(p)&&!(s-(Yb.get(p)??-1/0)<C7));if(c.length===0)return;let d=!1;const u=Array.from(new Set(c.map(p=>p.slice(0,p.lastIndexOf(":")))));return t(u).then(p=>{for(const h of p)h.Meaning&&vi.set(fi(h.Word,h.Homonum??void 0),h.Meaning);if(p.length>0)for(const h of c)vi.has(h)||qb.add(h);else{const h=Date.now();for(const m of c)Yb.set(m,h)}d||p.length===0||o(h=>h+1)}).catch(()=>{}),()=>{d=!0}},[n,t]),l.useMemo(()=>{const i=n?n.split("|"):[],s=new Map;for(const c of i){const d=vi.get(c);d!=null&&s.set(c,d)}return s},[n,a])}function $o(){const[e,t]=l.useState(null),a=l.useCallback(i=>t(i.getBoundingClientRect()),[]),o=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:o,toggleAt:n}}function pd(e){const[t,a]=l.useState(null),[o,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:o,openAfterDelay:s,close:c}}function Zb(e,t,a){const o=Number.isFinite(t)&&t>=1?Math.floor(t):1,n=Math.max(1,Math.ceil(e.length/o)),i=Number.isFinite(a)?Math.min(Math.max(1,Math.floor(a)),n):1;return{pageItems:l.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function Xb(e,t){const[a,o]=l.useState(e);a!==e&&(o(e),t(1))}function xi(e="warning"){const[t,a]=l.useState(""),[o,n]=l.useState(e),[i,s]=l.useState(0),c=l.useCallback((h,m)=>{n(m),a(h),s(g=>g+1)},[]),d=l.useCallback(h=>c(h,"warning"),[c]),u=l.useCallback(h=>c(h,"normal"),[c]),p=l.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:d,showNormal:u,clearToast:p}}const cn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},dn=cn.blue,yi=cn.green,un=cn.amber,Ci=cn.purple,_7=cn.pink,w7=[{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:dn,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:dn,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:dn,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:dn,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:dn,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:yi,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:yi,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:yi,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:yi,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:un,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:un,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:un,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:un,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:un,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:Ci,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:Ci,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:Ci,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:Ci,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:_7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function Jb(){const{t:e}=we.useTranslation();return l.useMemo(()=>{const t=Object.fromEntries(Am(e).map(o=>[o.key,o.label])),a={...t};return w7.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function pn(e){let t=0;if(e&&typeof window<"u"&&typeof window.getComputedStyle=="function")for(let a=e;a&&a!==document.body&&a!==document.documentElement;a=a.parentElement){const o=parseInt(window.getComputedStyle(a).zIndex,10);!Number.isNaN(o)&&o>t&&(t=o)}return t>0?`max(var(--z-menu, 1500), ${t+1})`:"var(--z-menu, 1500)"}function Ro({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=l.useState(!1),[s,c]=l.useState({}),d=l.useRef(null),u=l.useRef(null),p=l.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect(),d.current))},[e]);l.useEffect(()=>{if(!n)return;p();const g=v=>{const _=v.target;o&&_.closest?.(o)||d.current?.contains(_)||u.current?.contains(_)||i(!1)};document.addEventListener("mousedown",g),document.addEventListener("pointerdown",g);const f=v=>{u.current?.contains(v.target)||(t==="reposition"?p():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",f,!0);const x=()=>{a==="reposition"?p():a==="close"&&i(!1)};let C=null;const b=()=>{x(),C&&clearTimeout(C),C=setTimeout(()=>{C=null,a==="reposition"&&p()},250)};return a!=="ignore"&&(window.addEventListener("resize",x),window.addEventListener("orientationchange",b)),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("pointerdown",g),t!=="ignore"&&window.removeEventListener("scroll",f,!0),a!=="ignore"&&(window.removeEventListener("resize",x),window.removeEventListener("orientationchange",b)),C&&clearTimeout(C)}},[n,p,t,a,o]),l.useEffect(()=>{if(n)return jo(()=>i(!1))},[n]);const h=l.useCallback(()=>i(g=>!g),[]),m=l.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:h,close:m,style:s,triggerRef:d,menuRef:u}}function hd(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:s=1500}={}){const[c,d]=l.useState([]),[u,p]=l.useState(0),[h,m]=l.useState("idle"),[g,f]=l.useState(null),[x,C]=l.useState([]),[b,v]=l.useState(null),[_,y]=l.useState(0),k=l.useRef(0),w=l.useCallback(U=>{k.current=typeof U=="function"?U(k.current):U,y(k.current)},[]),B=l.useRef(o),S=l.useRef(n);l.useEffect(()=>{B.current=o,S.current=n},[o,n]);const A=l.useRef([]),N=()=>{A.current.forEach(clearTimeout),A.current=[]},z=(U,L)=>{A.current.push(setTimeout(L,U))};l.useEffect(()=>()=>N(),[]);const I=c[u]?.id??null,D=l.useRef(null),W=l.useCallback(()=>{N(),m("playing"),C([]),v(null),w(0);let U=0;e.forEach((L,T)=>{z(U,()=>{p(T),f(L.id),B.current?.(L)}),z(U+1e3,()=>{f(null),C(P=>[...P,L.id])}),U+=1300}),z(U,()=>{m("done"),S.current?.({score:0,total:e.length})})},[e,w]),E=l.useCallback((U,L)=>{if(L>=U.length){m("done"),S.current?.({score:k.current,total:U.length});return}D.current=null,p(L),v(null),m("playing"),f(U[L].id),B.current?.(U[L]),z(i,()=>{f(null),m("waiting")})},[i]),j=l.useCallback(()=>{N();const U=Qe(e);d(U),w(0),C([]),E(U,0)},[e,E,w]),R=l.useCallback(()=>{t==="playback"?(d(e),W()):j()},[t,e,W,j]),G=l.useCallback(()=>{N(),m("idle"),f(null),C([]),v(null),p(0),w(0),d([])},[w]),X=e.map(U=>U.id).join("|");l.useEffect(()=>(a?R():G(),()=>N()),[t,X,a]);const V=l.useCallback(U=>{h!=="waiting"||t==="playback"||D.current===u||(D.current=u,v(U),U===c[u]?.id&&w(L=>L+1),t==="exam"?(m("playing"),z(400,()=>E(c,u+1))):(m("feedback"),z(s,()=>E(c,u+1))))},[h,t,c,u,E,s,w]),H=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:g,playedIds:x,selectedId:b,answerId:I,showFeedback:h==="feedback",clickable:h==="waiting",onSelectSpeaker:V},index:u,total:H,score:_,phase:h,done:h==="done",start:R,reset:G}}var k7=Object.freeze({__proto__:null,CACHE_GROUPS:Vc,CORE_VERSION:An,DocumentTitleSuppressContext:Oc,EMPTY_COMPOSITION:bi,MediaQueryOverrideContext:si,NO_CODA:ka,SYLLABLE_MIN:Aa,VAP_PAGE_SIZE_OPTIONS:nn,buildGradeSection:Zc,buildPartOfSpeechSection:Xc,buildPositionSection:Db,buildSelectSection:Eb,buildSyllableSection:Nb,buildWordTypeSection:Jc,charToPronValue:od,convertComposition:nd,fmtBytes:bb,lsBytes:Hc,meaningKey:fi,normalizeWordAttributeFilter:Sb,pronToCharValue:rd,syllableToFilter:mi,toWordAttributeFilterCodes:pi,today:dr,toggleAttributeFilter:Tb,useAnchoredMenu:Ro,useCacheManagement:gb,useDailyTrainingSelection:Ub,useDelayedHoverAnchor:pd,useDeviceManagement:Ab,useDocumentTitle:Fc,useEscToClose:ud,useFontScale:ci,useHoverAnchor:$o,useMediaQuery:qt,usePageResetOnChange:Xb,usePagedList:Zb,usePasswordChange:mb,useRelativeDay:hb,useSoundCompassExam:hd,useTablePaging:Gc,useTableSort:Uc,useToastState:xi,useTrainingTypeLabels:Jb,useVisitAllPanel:_b,useVisitHistory:xb,useVisitSchedule:Cb,useWindowEvent:on,useWordAttributeFilterKeys:Kc,useWordDataStats:fb,useWordMeanings:Kb,useWordTrainingDataGeneration:Wb,useWordTrainingFilter:Hb,valueToJamos:ja,wordAttributeFilterFromCodes:hi}),A7=".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}";oe(A7);function Qb({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:s="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:p=""}){const h=n??i??"main",m=l.useRef(null),[g,f]=l.useState("main"),x=qt("(max-width: 767px)"),C=l.useRef({title:!1,description:!1});l.useLayoutEffect(()=>{const _=m.current;if(!_)return;const y=li(_),k=(w,B,S)=>{if(S!==void 0)_.style.setProperty(B,S),C.current[w]=!0;else if(C.current[w]){const A=y?.[w];A?_.style.setProperty(B,A):_.style.removeProperty(B),C.current[w]=!1}};k("title","--promo-banner-bg-title",d),k("description","--promo-banner-bg-description",u)},[d,u,h]),l.useLayoutEffect(()=>{const _=m.current;if(!_)return;const y=li(_);f(y?.actionVariant??"main")},[h]);const b=je("promo-banner",`promo-banner--${s}`,p),v=zc[h];return r.jsxs("div",{ref:m,className:b,role:"note",children:[r.jsx(v,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${s==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(he,{htmlType:"button",size:40,variant:c??g,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...x?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var B7='.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)}';oe(B7);function eg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=we.useTranslation(),s=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=l.Children.toArray(e),d=c.length,[u,p]=l.useState(0),[h,m]=l.useState(!1),[g,f]=l.useState(!1),[x,C]=l.useState(!1),b=l.useRef(null),v=l.useRef(null),_=l.useRef(null),y=ic(),k=h||g||x,w=d>0?Math.min(u,d-1):0;l.useEffect(()=>{if(d<2||t<=0||k||y)return;const S=window.setInterval(()=>p(A=>(Math.min(A,d-1)+1)%d),t);return()=>window.clearInterval(S)},[d,t,k,y]);const B=S=>{v.current!=null&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>{v.current=null,C(!1)},S)};return l.useEffect(()=>()=>{v.current!=null&&window.clearTimeout(v.current)},[]),l.useEffect(()=>{if(!x)return;const S=A=>{A.pointerType==="touch"&&(_.current&&_.current.contains(A.target)||(v.current!=null&&(window.clearTimeout(v.current),v.current=null),C(!1)))};return document.addEventListener("pointerdown",S,!0),()=>document.removeEventListener("pointerdown",S,!0)},[x]),d===0?null:r.jsxs("section",{ref:_,className:je("top-banner",o),"aria-label":s,"aria-roledescription":"carousel",onPointerEnter:S=>{b.current=S.pointerType},onPointerDown:S=>{b.current=S.pointerType,S.pointerType==="touch"&&(v.current!=null&&(window.clearTimeout(v.current),v.current=null),C(!0))},onPointerUp:S=>{S.pointerType==="touch"&&B(5e3)},onPointerCancel:S=>{S.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{b.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:S=>{let A=!0;try{A=S.target.matches(":focus-visible")}catch{A=!0}f(A)},onBlur:S=>{S.currentTarget.contains(S.relatedTarget)||f(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${w*100}%)`},children:c.map((S,A)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":A!==w,...A!==w?{inert:!0}:{},children:S},A))})}),d>1&&r.jsx("div",{className:`top-banner__dots${(a?.[w]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((S,A)=>r.jsx("button",{type:"button",className:`top-banner__dot${A===w?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:A+1,defaultValue:`${d}\uAC1C \uC911 ${A+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":A===w,onClick:()=>p(A)},A))})]})}var S7=".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)}";oe(S7);function N7({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:s="body-2",className:c=""}){const{t:d}=we.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),o?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const p=u.currentTarget.closest('[role="list"]');if(!p)return;const h=Array.from(p.querySelectorAll("[data-accordion-header]")),m=h.indexOf(u.currentTarget);(u.key==="ArrowDown"?h[m+1]:h[m-1])?.focus()}},children:[n&&r.jsx("div",{className:"accordion-item__avatar",children:n}),r.jsx("div",{className:`accordion-item__title ${i}`,children:e}),r.jsx("div",{className:"accordion-item__chevron",children:r.jsx(Ze,{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&&r.jsx("div",{className:`accordion-item__body ${s}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function tg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,s]=l.useState({index:t}),c=(d,u)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&u===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((d,u)=>r.jsx(N7,{title:d.title,body:d.body,avatar:d.avatar,open:c(d,u),onToggle:()=>s(c(d,u)?{index:-1}:{index:u,id:d.id}),bodyClassName:n},d.id??u))})}var E7=".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__slot{display:flex;flex-shrink:0;height:52px;position:relative;width:52px}.ihabdevteam-core-scope .bottom-nav__slot .circle-badge--top-right{right:0;top:0}.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)}}";oe(E7);var D7=".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}";oe(D7);function T7(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r.jsx("polyline",{points:"2,6 5,9 10,3"})})}function j7(){return r.jsxs("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:[r.jsx("line",{x1:"3",y1:"3",x2:"9",y2:"9"}),r.jsx("line",{x1:"9",y1:"3",x2:"3",y2:"9"})]})}function L7(){return r.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2.2,strokeLinecap:"round","aria-hidden":"true",children:r.jsx("line",{x1:"2.5",y1:"6",x2:"9.5",y2:"6"})})}function vt(e){const{t}=we.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":s}=e;if(a==="dot"){const{icon:k,number:w,position:B="top-right",onClick:S,animate:A=!1}=e,N=k??"check",z=w!==void 0?"number":N,I=typeof o=="number"?o:32,D=je("circle-badge",`circle-badge--${z}`,`circle-badge--${B}`,`circle-badge--${I}`,A?"circle-badge--animate":"",S?"circle-badge--clickable":"",n),W=w!==void 0?t("badge.nthSelected",{n:w,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[N];return r.jsxs("span",{className:D,onClick:S,onKeyDown:S?E=>{E.key!=="Enter"&&E.key!==" "||(E.preventDefault(),E.currentTarget.click())}:void 0,"aria-label":s?void 0:i??W,"aria-hidden":s||void 0,role:S?"button":s?void 0:"img",tabIndex:S?0:void 0,children:[w!==void 0&&w,w===void 0&&N==="check"&&r.jsx(T7,{}),w===void 0&&N==="remove"&&r.jsx(j7,{}),w===void 0&&N==="minus"&&r.jsx(L7,{})]})}const{label:c,children:d,variant:u="default",fill:p="filled",minWidth:h,iconLeft:m,iconRight:g,color:f}=e,x=typeof o=="number"?"medium":o??"medium",C={small:"caption-2b",medium:"body-3b",large:"body-2b"}[x]??"body-2b",b={small:12,medium:14,large:16}[x]??14,v=je("badge",`badge--${u}`,`badge--${x}`,p!=="filled"?`badge--${p}`:"",C,n),_=f?.startsWith("--")?`var(${f})`:f,y=h!==void 0||_?{...h!==void 0?{minWidth:typeof h=="number"?`${h}px`:h}:{},..._?{"--badge-color":_}:{}}:void 0;return r.jsxs("span",{className:v,style:y,"aria-label":s?void 0:i,role:i&&!s?"img":void 0,"aria-hidden":s||void 0,children:[m&&r.jsx(Ze,{icon:m,size:b,className:"badge__icon"}),c??d,g&&r.jsx(Ze,{icon:g,size:b,className:"badge__icon"})]})}var M7=".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__separator{background:var(--color-whiteLine);height:1px;margin:4px 0}.ihabdevteam-core-scope .tooltip-menu__item{width:100%}@media (max-width:600px){.ihabdevteam-core-scope .tooltip-menu__columns{flex-direction:column}}";oe(M7);function hr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=we.useTranslation(),i=o==="small"?40:48,[s,c]=l.useState([]),d=l.useMemo(()=>{const C=[{title:null,columns:e}];let b=e;for(const v of s){const _=b?.[v.ci]?.items?.[v.ii];if(!_||!Array.isArray(_.children)||!_.children.length)break;b=[{title:null,items:_.children}],C.push({title:_.label||null,columns:b})}return C},[e,s]),u=d[d.length-1],p=d.length-1,h=l.useCallback(()=>c(C=>C.slice(0,Math.max(0,Math.min(C.length,p)-1))),[p]),m=l.useRef(null),g=l.useRef(null),f=d.length;l.useEffect(()=>{g.current||(g.current=document.activeElement);let C=0,b=0;const v=()=>{const _=m.current?.querySelector("button:not([disabled])");if(_&&_.offsetParent){_.focus({preventScroll:!0});return}b++<20&&(C=requestAnimationFrame(v))};return C=requestAnimationFrame(v),()=>cancelAnimationFrame(C)},[f]),l.useEffect(()=>()=>{g.current?.focus?.({preventScroll:!0})},[]);const x=l.useCallback((C,b,v)=>{if(C){if(Array.isArray(C.children)&&C.children.length){c(_=>[..._.slice(0,p),{ci:b,ii:v}]);return}try{typeof C.onClick=="function"&&C.onClick()}catch{}try{C&&C.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,p]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(d.length>1||u.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?r.jsx(he,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:h,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:u.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:u.columns&&u.columns.map((C,b)=>r.jsxs("div",{className:"tooltip-menu__column",children:[C.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:C.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(C.items||[]).map((v,_)=>r.jsxs(l.Fragment,{children:[v.separatorBefore&&_>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(he,{htmlType:"button",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?r.jsx(vt,{type:"dot",position:"inline",number:Math.min(v.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:v.label,ariaLabel:v.label&&v.badgeCount&&v.badgeCount>0?n("nav.badgeLabel",{label:v.label,count:v.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):v.label,onClick:()=>x(v,b,_),selected:v.selected,disabled:v.disabled,showTooltipInfo:v.tooltip||!1,useBorder:!1,align:"left"})]},_))})]},b))})]})}const ag=".content-area";function md(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(ag);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&Wa("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${ag}) \u2014 \uCC3D\uB3C4 \uAD6C\uB97C \uC218 \uC5C6\uC5B4 \uC544\uBB34 \uC77C\uB3C4 \uD558\uC9C0 \uC54A\uB294\uB2E4. scrollContainer \uB85C \uD1B5\uC744 \uC54C\uB824 \uC900\uB2E4.`),window.scrollTo({top:0})}catch{}}const bd=52,_i=10,og=e=>e&&e>0?e:0;function gd({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:s}){const{t:c}=we.useTranslation(),d=o==="manager"?"malgwi":"manager",u=o==="manager"?"arrow-left":"arrow-right",p=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),h=l.useRef(null),[m,g]=l.useState(0),f=e.length;l.useEffect(()=>{const H=h.current;if(!H)return;const U=()=>{const T=typeof getComputedStyle=="function"?getComputedStyle(H):null,P=H.clientWidth-(parseFloat(T?.paddingLeft??"")||0)-(parseFloat(T?.paddingRight??"")||0),O=H.querySelector(".bottom-nav__left"),F=O?.nextElementSibling,$=(O?.offsetWidth??0)+(O&&F?.classList.contains("bottom-nav__divider")?F.offsetWidth:0);g(Math.max(0,P-$))};if(U(),typeof ResizeObserver>"u")return;const L=new ResizeObserver(U);return L.observe(H),()=>L.disconnect()},[]);const x=bd+1,C=H=>Math.max(0,Math.floor((H+_i)/(bd+_i))),b=f*(bd+_i)-_i<=m,v=m<=0||i.length===0&&b?f:Math.min(f,C(m-x)),_=m>0&&v<f,y=_?v:f,k=e.slice(0,y),w=e.slice(y),B=_||i.length>0,S=l.useCallback((H,U)=>({position:"fixed",bottom:window.innerHeight-H.top+8,right:window.innerWidth-H.right,zIndex:pn(U)}),[]),A=l.useId(),{open:N,toggle:z,close:I,style:D,triggerRef:W,menuRef:E}=Ro({computeStyle:S,onScroll:"ignore",onResize:"reposition"}),j=l.useCallback((H,U)=>U>0?c("nav.badgeLabel",{label:H,count:U,defaultValue:"{{label}}, {{count}}\uAC1C"}):H,[c]),R=l.useCallback(()=>n?.(d),[n,d]),G=l.useMemo(()=>w.find(H=>!!H.key&&H.key===t)??i.find(H=>H.selected||H.key&&H.key===t),[w,t,i]),X=l.useMemo(()=>[{items:[...w.map(H=>({label:H.label,icon:H.icon,badgeCount:H.badgeCount,selected:!!H.key&&H.key===t,closeOnSelect:!0,disabled:H.state==="disabled",onClick:()=>{H.state!=="disabled"&&(H.key&&a&&(a(H.key),md(s,"BottomNav")),I())}})),...i.map(H=>({label:H.label,icon:H.icon,badgeCount:H.badgeCount,selected:H.selected??(!!H.key&&H.key===t),closeOnSelect:!0,onClick:()=>{H.onClick?.(),I()}}))]}],[w,i,t,a,I]),V=[...w,...i].reduce((H,U)=>H+og(U.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:h,"aria-label":c("nav.bottomNav","\uD558\uB2E8 \uB124\uBE44\uAC8C\uC774\uC158"),children:[n&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__left",children:r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:u,ariaLabel:p,className:"bottom-nav-item",onClick:R})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:k.map((H,U)=>{const L=og(H.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:H.icon,ariaLabel:j(H.label,L),selected:!!H.key&&H.key===t,disabled:H.state==="disabled",className:"bottom-nav-item",onClick:()=>{H.key&&(a?.(H.key),md(s,"BottomNav"))}}),L>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(vt,{type:"dot",position:"top-right",number:Math.min(L,99),size:24})})]},H.key??`__slot-${U}`)})}),B&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"}),r.jsx("div",{className:"bottom-nav__right",children:r.jsxs("div",{ref:W,className:"bottom-nav__slot",children:[r.jsx(he,{htmlType:"button",size:52,type:"dot",icon:G?.icon??"ellipsis",ariaLabel:j(G?.label??c("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!G,className:"bottom-nav-item",onClick:z,"aria-expanded":N,"aria-controls":N?A:void 0}),V>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(vt,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),N&&ra.createPortal(r.jsx("div",{id:A,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:D,ref:E,children:r.jsx(hr,{columns:X,onClose:I})}),document.body)]})})]})]})}var $7=".ihabdevteam-core-scope .side-nav__menu{-webkit-overflow-scrolling:touch;background-clip:padding-box;border-left:1px solid transparent;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 var(--spacing-xs);scrollbar-color:var(--color-darkWhite) transparent;scrollbar-gutter:stable both-edges;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}";oe($7);function rg(e){if(typeof e!="string")return!1;let t="";for(const o of e){const n=o.charCodeAt(0);n<=32||n>=127&&n<=159||(t+=o)}if(!t)return!1;const a=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t);return a?["http","https","mailto","tel"].includes(a[1].toLowerCase()):!0}function ng(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function R7(e){const{t}=we.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:s,onHelp:c,onFeedback:d,onAccount:u}=e||{},p="default";return n||i||s||c||d||u?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"terminal",ariaLabel:t("nav.debug","\uB514\uBC84\uADF8"),onClick:n,selected:a==="debug"}),i&&r.jsxs("span",{className:"side-nav__notification-wrap",children:[r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bell",ariaLabel:ng(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(vt,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),s&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:s,selected:a==="settings"}),c&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),d&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),u&&r.jsx(he,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:p,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function ig(e){const{t}=we.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:s,onClick:c,style:d,state:u,labelStyle:p}=e||{},h=a?.key??o??"",m=a?.label??n??"",g=a?.icon??i??"",f=a?.badge??0,x=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(Ze,{icon:g,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),C=u==="disabled",b=`side-nav__item ${s?"active":""} ${u||""} ${C?"disabled":""} ${a?.child?"side-nav__item--child":""}`,v=l.useCallback(_=>{if(C)return;const y=_.detail>0;if(y)try{_.currentTarget.blur()}catch{}c?.(h,_.currentTarget,y)},[C,h,c]);return r.jsxs("button",{type:"button",className:b,onClick:v,"aria-label":typeof m=="string"?ng(t,m,f):void 0,"aria-current":s?"page":void 0,style:d,"aria-disabled":C,children:[x,r.jsx("span",{className:"side-nav__label button-1 f",style:p,children:m}),f>0&&r.jsx(vt,{type:"dot",position:"inline",number:Math.min(f,99),size:24,"aria-hidden":!0}),u==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function fd(e){const{t}=we.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g,scrollContainer:f}=e||{},x=m==="manager",C=l.useCallback(()=>g?.(x?"malgwi":"manager"),[g,x]);return r.jsxs("nav",{"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(b=>!b.section&&(b.key||b.label)).map((b,v)=>r.jsxs(l.Fragment,{children:[b.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(ig,{item:b,active:!!b.key&&b.key===o,state:b.disabled?"disabled":void 0,onClick:(_,y,k)=>{if(b.disabled)return;if(b.href){if(rg(b.href)&&window.open(b.href,"_blank","noopener,noreferrer"),k)try{y?.blur()}catch{}return}if(n?.(b.key),md(f,"SideNav"),!k)return;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 w=document.querySelector(".header");if(w){const B=typeof w.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&B&&w.matches(":hover"))){w.classList.add("header--force-collapsed");const S=()=>{w.classList.remove("header--force-collapsed"),w.removeEventListener("mouseenter",S)};w.addEventListener("mouseenter",S)}}}})]},b.key??`side-nav__item-${v}`)),g&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),g&&r.jsx(ig,{item:{key:"__mode-switch__",label:x?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:x?"arrow-left":"arrow-right"},onClick:C})]}),r.jsx(R7,{activeKey:o,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h})]})}var vd='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',xd='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',P7='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',z7='.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;position:relative}.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;scrollbar-gutter:auto;scrollbar-width:none;transition:padding .18s ease}.ihabdevteam-core-scope .header .side-nav__menu::-webkit-scrollbar{display:none}.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}}';oe(z7);function yd({appMode:e}){const{t}=we.useTranslation(),a=e==="manager",o=a?xd:vd,n=P7,i=qt("(min-width: 768px) and (max-width: 1023px)");return r.jsx("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:i?r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image"}):r.jsx("img",{src:o,alt:a?t("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):t("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0"),className:"brand-identity__image"})})}function Cd({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g,scrollContainer:f}){const{t:x}=we.useTranslation(),C=qt("(max-width: 767px)"),b=l.useMemo(()=>(a??[]).filter(D=>!D.section&&(D.key||D.label)).map(D=>({key:D.key,label:typeof D.label=="string"?D.label:void 0,icon:D.icon,state:D.disabled?"disabled":void 0,badgeCount:D.badge})),[a]),v=l.useCallback(D=>{const W=a?.find(E=>E.key===D);if(!W?.disabled){if(W?.href){rg(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}t?.(D)}},[a,t]),_=l.useMemo(()=>{const D=[];return s&&D.push({key:"debug",icon:"terminal",label:x("nav.debug","\uB514\uBC84\uADF8"),onClick:s}),c&&D.push({key:"notifications",icon:"bell",label:x("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&D.push({key:"settings",icon:"settings",label:x("nav.settings","\uC124\uC815"),onClick:u}),p&&D.push({key:"help",icon:"message-circle-question-mark",label:x("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:p}),h&&D.push({key:"feedback",icon:"bug",label:x("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:h}),d&&D.push({key:"account",icon:"user-round",label:x("nav.account","\uACC4\uC815"),onClick:d}),D},[x,s,c,u,p,h,d,i]),y=l.useCallback((D,W)=>({position:"fixed",top:D.bottom+8,right:Math.max(8,window.innerWidth-D.right),zIndex:pn(W)}),[]),k=l.useId(),{open:w,toggle:B,close:S,style:A,triggerRef:N,menuRef:z}=Ro({computeStyle:y,onScroll:"ignore",onResize:"reposition"}),I=l.useMemo(()=>[{items:_.map(D=>({label:D.label,icon:D.icon,badgeCount:D.badgeCount,selected:D.selected??(!!D.key&&D.key===e),closeOnSelect:!0,onClick:()=>{D.onClick?.(),S()}}))}],[_,e,S]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(yd,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:N,children:[r.jsx(he,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?x("nav.badgeLabel",{label:x("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, {{count}}\uAC1C"}):x("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":w,"aria-controls":w?k:void 0}),!!c&&!!i&&i>0&&r.jsx(vt,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),w&&ra.createPortal(r.jsx("div",{id:k,role:"group","aria-label":x("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:A,ref:z,children:r.jsx(hr,{columns:I,onClose:S})}),document.body)]})]}),r.jsx(fd,{scrollContainer:f,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:s,onNotification:c,onAccount:d,onSetting:u,onHelp:p,onFeedback:h,appMode:m,onAppModeChange:g}),C&&r.jsx(gd,{items:b,activeKey:e??void 0,onChange:v,scrollContainer:f,appMode:m,onAppModeChange:g})]})}const sg=Cd;var I7='.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%}}';oe(I7);const O7=()=>pt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function lg(e){if(!(e==null||e==="")){if(typeof e=="string"&&/^\s*\d[\d,]*\s*$/.test(e)){const t=Number(e.replace(/[,\s]/g,""));if(Number.isFinite(t))return rr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return rr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function F7(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function V7(e){if(e.durationDays&&e.durationDays>0){const i=e.durationDays;return i%365===0?`${i/365}\uB144`:`${i}\uC77C`}const t=(e.code??"").match(/(\d+)(d|y)\b/i);if(t)return t[2].toLowerCase()==="y"?`${t[1]}\uB144`:`${t[1]}\uC77C`;const a=e.name??"",o=a.match(/(\d+\s*(?:년|개월|주|일))\s*(?:이용권)?\s*$/);if(o)return o[1].replace(/\s+/g,"");const n=a.match(/(\d+)\s*-?\s*(day|year)s?\b/i);return n?n[2].toLowerCase()==="year"?`${n[1]}\uB144`:`${n[1]}\uC77C`:a||O7()}function H7(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 _d(e){return{type:e.type??F7(e),plan:V7(e),label:e.label,price:lg(e.price),originalPrice:lg(e.originalPrice),discountLabel:e.discountLabel}}var W7='.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}';oe(W7);var G7='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',U7='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>',q7='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',Y7='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',K7='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>',Z7='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',X7=".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}.ihabdevteam-core-scope .pass-card-bg__circle{border-radius:50%;opacity:1;opacity:var(--pass-card-symbol-opacity,.75);position:absolute}.ihabdevteam-core-scope .pass-card-bg__circle--1{height:340px;right:-150px;top:-140px;width:340px}.ihabdevteam-core-scope .pass-card-bg__circle--2{bottom:-90px;height:220px;right:-50px;width:220px}.ihabdevteam-core-scope .pass-card-bg__circle--3{bottom:-70px;height:140px;left:-40px;width:140px}.ihabdevteam-core-scope .pass-card-bg--default{background:var(--color-pureWhite)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--default .pass-card-bg__circle--3{background:var(--color-main-a20)}.ihabdevteam-core-scope .pass-card-bg--blue{background:var(--color-deepMain)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--1{background:var(--color-white-a30)}.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--2,.ihabdevteam-core-scope .pass-card-bg--blue .pass-card-bg__circle--3{background:var(--color-white-a10)}.ihabdevteam-core-scope .pass-card-bg--dark{background:var(--color-softBlack)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--1{background:var(--color-main)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--2{background:var(--color-sub)}.ihabdevteam-core-scope .pass-card-bg--dark .pass-card-bg__circle--3{background:var(--color-white-a10)}";oe(X7);var J7=".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)}";oe(J7);var cg='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 go={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},wd=new WeakMap;function Q7(e){if(e)return wd.get(e)}function La(e,t){e&&(e.style.setProperty(go.text,t.text),e.style.setProperty(go.sub,t.sub),t.copyrightColor&&e.style.setProperty(go.copyright,t.copyrightColor),wd.set(e,t))}function Ma(e){e&&(e.style.removeProperty(go.text),e.style.removeProperty(go.sub),e.style.removeProperty(go.copyright),wd.delete(e))}const kd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ad(e={}){const t=yt(kd,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-two-circle","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-two-circle__c1"}),r.jsx("div",{className:"pass-card-bg-two-circle__c3"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-two-circle__symbol",style:{"--symbol-url":`url("${cg}")`}})]})}const dg="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 ek=".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%}";oe(ek);var hn='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 tk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},ak=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function ug(e={}){const t=yt(tk,La,Ma),a="var(--color-main)",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move","aria-hidden":"true",children:[r.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:ak.map(({scale:i,opacity:s},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:r.jsx("path",{d:dg,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}var ok=".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%}";oe(ok);const rk={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},nk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function ik(e={}){const t=yt(rk,La,Ma),a="#ffffff",o=270,n=170;return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-sound-move-v1","aria-hidden":"true",children:[r.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:nk.map(({scale:i,opacity:s},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:s,children:r.jsx("path",{d:dg,fill:"none",stroke:a,strokeWidth:"1.5",vectorEffect:"non-scaling-stroke"})},c))}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-move-v1__symbol",style:{"--symbol-url":`url("${cg}")`}})]})}var sk=".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)}";oe(sk);const lk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function ck(e={}){const t=yt(lk,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk__shape pass-card-bg-talk__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}const dk={Logo_speechear_kr:{"":vd,_white:G7,_textWhite:U7,_black:q7},Logo_speechearManager_kr:{"":xd,_white:Y7,_textWhite:K7,_black:Z7}};function uk(e,t){if(e)return dk[e]?.[t??""]??void 0}const pk={speechear:vd,manager:xd},hk={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},pg=10;function hg(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 o=Math.floor(e/3600);if(o>0)return t("passCard.remainingHour",{n:o});const n=Math.floor(e/60);return n>0?t("passCard.remainingMinute",{n}):t("passCard.remainingSecond",{n:Math.floor(e)})}function mk(e,t,a){if(e==="manager"){const o=/년/.test(t)||/yr|year/i.test(t)||/1년|365/.test(t),n=a==="\uC624\uD508\uD2B9\uAC00"||a===pt.t("passCard.specialLabel");return o?r.jsx(ck,{}):n?r.jsx(ik,{}):r.jsx(ug,{})}return r.jsx(Ad,{})}function Bd({product:e,showPrice:t=!1,plan:a,type:o,endDate:n,remainingSeconds:i,endInclusive:s=!1,state:c="active",bg:d,bgOnly:u=!1,textColor:p,subColor:h,copyrightColor:m,logoSrc:g,label:f,price:x,originalPrice:C,discountLabel:b,onUse:v,onRefund:_,onDelete:y}){const{t:k}=we.useTranslation(),w=e?_d(e):void 0,B=o??w?.type??"speechear",S=a??w?.plan??k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),A=f??w?.label,N=x??(t?w?.price:void 0),z=C??(t?w?.originalPrice:void 0),I=b??w?.discountLabel,D=l.useMemo(()=>{if(N)return null;const ue=e?.durationDays??H7(e?.code);if(!ue||ue<=0)return i!=null?{percent:null,remainingLabel:hg(i,k)}:null;const q=ue*86400;let le;if(i!=null)le=i;else if((c==="active"||c==="expired")&&n){const Se=new Date(n).getTime();if(Number.isNaN(Se))return null;const ke=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(n)),Ee=/^(\d{4})-(\d{2})-(\d{2})/.exec(ha()),_e=Math.round(ke&&Ee?(Date.UTC(+ke[1],+ke[2]-1,+ke[3])-Date.UTC(+Ee[1],+Ee[2]-1,+Ee[3]))/864e5:(Se-Date.now())/864e5);le=Math.max(0,s?_e+1:_e)*86400}else c==="expired"?le=0:le=q;const ge=Math.max(0,Math.min(100,Math.floor(Math.min(le,q)/q*100)));return c==="pending"&&ge>=100?null:{percent:ge,remainingLabel:hg(le,k)}},[N,c,n,i,s,e?.durationDays,e?.code,k]),W=l.useRef(null),[E,j]=l.useState({}),[R,G]=l.useState(null),X=!!(v||_||y),V=l.useRef(!1),H=l.useRef(void 0),[U,L]=l.useState(g);l.useLayoutEffect(()=>{L(g)},[g]),l.useLayoutEffect(()=>{const ue=W.current;ue&&(p!==void 0&&ue.style.setProperty("--pass-card-text",p),h!==void 0&&ue.style.setProperty("--pass-card-sub",h),m!==void 0&&ue.style.setProperty("--pass-card-copyright",m))},[p,h,m]),l.useLayoutEffect(()=>{const ue=W.current;if(!ue)return;const q=Q7(ue);if(!g){const le=hk[B],ge=c==="expired"?"_black":q?.logoColor??"",Se=uk(le,ge);L(Se)}},[d,g,B,c]);const T=ue=>{const q=W.current;if(!q)return null;const{left:le,top:ge,width:Se,height:ke}=q.getBoundingClientRect(),Ee=(ue.clientX-le)/Se-.5;return{rotateX:-((ue.clientY-ge)/ke-.5)*pg,rotateY:Ee*pg}},P=(ue,q)=>{const le=q*-.7,ge=ue*.7+10,Se=20+(Math.abs(ue)+Math.abs(q))*.4;return`${le}px ${ge}px ${Se}px rgba(0, 0, 0, 0.18)`},O=l.useCallback(ue=>{if(lr())return;V.current=!0,clearTimeout(H.current),H.current=setTimeout(()=>{V.current=!1},200);const q=T(ue);q&&j({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(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)"})},[]),F=l.useCallback(ue=>{if(lr())return;const q=T(ue);if(!q)return;const le=V.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";j({transform:`perspective(800px) rotateX(${q.rotateX}deg) rotateY(${q.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:P(q.rotateX,q.rotateY),transition:le})},[]),$=l.useCallback(()=>{clearTimeout(H.current),V.current=!1,j({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),Q=l.useCallback(()=>G(null),[]),J=l.useMemo(()=>{const ue=k("passCard.planSuffix","\uC774\uC6A9\uAD8C"),q=S.replace("\uC774\uC6A9\uAD8C","").replace(ue==="\uC774\uC6A9\uAD8C"?"":ue,"").trim(),le=q.match(/^(.*?)(일|년)$/);return le?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:le[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:le[2]==="\uB144"?k("passCard.unitYear","\uB144"):k("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:q})},[S,k]),Z=l.useMemo(()=>{const ue=rr(N);if(!ue)return null;const q=ue.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!q)return r.jsx("span",{className:"h1",children:ue});const[,le,ge,Se]=q;return r.jsxs(r.Fragment,{children:[le&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:le}),r.jsx("span",{className:"h1 pass-card__price-amount",children:ge}),Se.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Se.trim()})]})},[N]),ie=l.useCallback(()=>{X&&G(ue=>{if(ue)return null;const q=W.current?.getBoundingClientRect();if(!q)return null;const le=50;return{left:q.left,right:q.right,width:q.width,height:q.height,x:q.x,y:q.y+le,top:q.top+le,bottom:q.bottom+le}})},[X]),se=l.useCallback(ue=>{X&&(ue.key==="Enter"||ue.key===" ")&&(ue.preventDefault(),ie())},[X,ie]),ce=[{items:[...v?[{label:k("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{v(),G(null)},closeOnSelect:!0}]:[],..._?[{label:k("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),G(null)},closeOnSelect:!0}]:[],...y?[{label:k("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{y(),G(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:W,className:`pass-card pass-card--${c}${X?" pass-card--clickable":""}`,style:E,onMouseEnter:O,onMouseMove:F,onMouseLeave:$,onPointerUp:ue=>{ue.pointerType==="touch"&&$()},onPointerCancel:ue=>{ue.pointerType==="touch"&&$()},onClick:ie,onKeyDown:X?se:void 0,role:X?"button":void 0,tabIndex:X?0:void 0,"aria-haspopup":X?"menu":void 0,"aria-expanded":X?!!R:void 0,children:[d??mk(B,S,A),!u&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card__top",children:r.jsxs("div",{className:"pass-card__top-left",children:[r.jsx("img",{src:U??pk[B],className:"pass-card__logo",alt:B==="manager"?k("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):k("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:J}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:A?k("passCard.labeledPlan",{label:A}):k("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?r.jsxs("div",{className:"pass-card__price-area",children:[I&&r.jsx("span",{className:"pass-card__discount body-3",children:I}),r.jsxs("div",{className:"pass-card__price",children:[z&&r.jsx("span",{className:"pass-card__price-original body-3",children:rr(z)}),Z]})]}):D?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:D.remainingLabel}),D.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:D.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),R&&r.jsx(ma,{anchorRect:R,onClose:Q,ariaLabel:k("tooltip.menu","\uBA54\uB274"),children:r.jsx(hr,{columns:ce,onClose:Q,size:"small"})})]})}var bk=".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%}";oe(bk);const gk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function fk(e={}){const t=`passcard-sound-line-grad-${l.useId()}`,a=yt(gk,La,Ma);return r.jsxs("div",{ref:a,className:"pass-card-bg pass-card-bg-sound-line","aria-hidden":"true",children:[r.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:[r.jsx("defs",{children:r.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[r.jsx("stop",{offset:"20%",stopColor:"var(--color-main)"}),r.jsx("stop",{offset:"80%",stopColor:"var(--color-sub)"})]})}),r.jsx("g",{transform:"translate(25, 45)",children:r.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"})})]}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-sound-line__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}var vk=".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}";oe(vk);const xk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function yk(e={}){const t=yt(xk,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-talk-v1","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--left"}),r.jsx("div",{className:"pass-card-bg-talk-v1__shape pass-card-bg-talk-v1__shape--right"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-talk-v1__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}function Ck(e,t){if(e){if(t==="manager_pro")return r.jsx(yk,{});if(t==="manager_standard")return r.jsx(fk,{});if(t==="manager_lite")return r.jsx(ug,{})}}function _k(e){const t=rr(e);if(!t)return null;const a=t.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!a)return t;const[,o,n,i]=a;return r.jsxs(r.Fragment,{children:[o&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:o}),n,i.trim()&&r.jsx("span",{className:"payment-plan__pricing-symbol h4",children:i.trim()})]})}function mg(e){const{t}=we.useTranslation(),a=t("payment.plan.tierFallback",{defaultValue:"\uC774\uC6A9\uAD8C"}),o=t("payment.plan.openPromo",{defaultValue:"\uC624\uD508 \uD2B9\uAC00"}),{plan:n,onSelect:i,period:s="monthly",ownedCodes:c}=e||{},d=y=>!!y&&!!c?.includes(y),u=y=>y.onceOnly??/오픈\s*특가/.test(y.label??""),p=(n.tiers||[]).some(y=>u(y)&&d(y.code)),h=y=>{const k=y.prices?y.prices[s]:y.price;return k?(n.tiers||[]).some(w=>!!w.badge&&w.originals?.[s]===k):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",g=t("payment.plan.freePrice","\uBB34\uB8CC"),f=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),x=y=>y.prices?y.prices[s]:y.price,C=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const k=x(y);return k==="\uBB34\uB8CC"||k===g||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),b=(n.tiers||[]).length>0&&(n.tiers||[]).every(y=>{const k=x(y);return k==="\uBB38\uC758"||k===f}),v=n.group==="org",_=v?"manager":"speechear";return r.jsxs("div",{className:"payment-plan__card",style:{borderColor:m,"--plan-color":m},children:[n.cardBadge&&r.jsx("div",{className:"payment-plan__card-badge",children:r.jsx(vt,{label:n.cardBadge,variant:"main",size:"medium",fill:"soft"})}),r.jsxs("div",{className:"payment-plan__title",children:[r.jsx("p",{className:"payment-plan__quote body-3b",style:{color:m},children:n.quote||"\xA0"}),r.jsx("h3",{className:"payment-plan__title-heading h1",children:n.tier??n.title}),r.jsx("p",{className:"payment-plan__subtitle body-3",children:n.subtitle})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.recommendedFor","\uC774\uB7F0 \uBD84\uAED8 \uCD94\uCC9C\uD569\uB2C8\uB2E4.")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.recommendedFor||[]).map((y,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(Ze,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},k))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((y,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(Ze,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),y]},k))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:C?null:b?r.jsx(he,{htmlType:"button",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})}):r.jsx(r.Fragment,{children:r.jsx("div",{className:"payment-plan__pricing-list",children:(n.tiers||[]).map(y=>{const k=y.label||a,w=u(y),B=w||y.openPromo===!0,S=k.replace(/^오픈\s*특가\s*/,"")||a,A=y.prices?y.prices[s]:y.price,N=y.badge?B?`${o}
|
|
852
852
|
${y.badge}`:y.badge:void 0;if(w&&d(y.code))return null;if(!y.badge&&!p)return h(y)?null:r.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${y.highlight?" payment-plan__pricing-row--highlight":""}`,children:[r.jsx("div",{className:"payment-plan__pricing-row-title",children:r.jsx("div",{className:"payment-plan__pricing-row-label h5b",children:y.label})}),r.jsx("div",{className:"payment-plan__pricing-row-price",children:r.jsx("span",{className:"payment-plan__pricing-current h1",children:_k(A)})})]},y.id);const z=n.tier??(v?n.title:void 0),I=r.jsx(Bd,{showPrice:!0,product:{type:_,code:y.code,name:S,label:z,price:A,originalPrice:y.originals?.[s]??void 0,discountLabel:N},bg:Ck(v,n.id)}),D=()=>i?.({...y,productId:n.id,productTitle:n.title,preview:I});return r.jsx("div",{className:"payment-plan__pricing-card",onClick:D,onKeyDown:i?W=>{W.target===W.currentTarget&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),D())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:I},y.id)})})})})]})}function bg({variant:e="default"}){return r.jsxs("div",{className:`pass-card-bg pass-card-bg--${e}`,"aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--1"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--2"}),r.jsx("div",{className:"pass-card-bg__circle pass-card-bg__circle--3"})]})}var wk=".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}";oe(wk);var Sd='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 Nd={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function gg(){const e=yt(Nd,La,Ma);return r.jsx("div",{ref:e,className:"pass-card-bg pass-card-bg-ihab","aria-hidden":"true",children:r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-ihab__symbol-top",style:{"--symbol-url":`url("${Sd}")`}})})}var kk=".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)}";oe(kk);const Ed={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function fg(e={}){const t=yt(Ed,La,Ma);return r.jsxs("div",{ref:t,className:"pass-card-bg pass-card-bg-left-color-grid","aria-hidden":"true",children:[r.jsx("div",{className:"pass-card-bg-left-color-grid__bar"}),r.jsx("div",{className:"pass-card-bg-left-color-grid__grid"}),r.jsx("span",{className:"pass-card-bg__symbol pass-card-bg-left-color-grid__symbol",style:{"--symbol-url":`url("${hn}")`}})]})}var Ak=".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--static,.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__group{gap:4px;gap:calc(4px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__key{border-width:2px;border-width:calc(2px*var(--shortcut-badge-scale, 1));font-size:11px;font-size:calc(11px*var(--shortcut-badge-scale, 1));min-height:24px;min-height:calc(24px*var(--shortcut-badge-scale, 1));min-width:24px;min-width:calc(24px*var(--shortcut-badge-scale, 1));padding:0 5px;padding:0 calc(5px*var(--shortcut-badge-scale, 1))}.ihabdevteam-core-scope .shortcut-badge--static .shortcut-badge__plus{font-size:11px;font-size:calc(11px*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}";oe(Ak);function Dd({keys:e,anchor:t="top-right",scale:a,className:o=""}){const n=Array.isArray(e)?e:[e];return r.jsx("span",{className:je("shortcut-badge",`shortcut-badge--${t}`,o),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,s)=>r.jsxs("span",{className:"shortcut-badge__group",children:[s>0&&r.jsx("span",{className:"shortcut-badge__plus",children:"+"}),r.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${s}`))})}var Bk=".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}";oe(Bk);const mn=(e,t,a)=>e+(t-e)*a;function vg({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:o=null,playedIds:n,selectedId:i=null,answerId:s=null,showFeedback:c=!1,pulseSelected:d=!1,pulseSelectedDuration:u,pulseScale:p,clickable:h=!1,onSelectSpeaker:m,buttonSize:g=40,showIcon:f=!0,onCenterClick:x,centerLabel:C,centerDisabled:b=!1,centerAttention:v=!1,shortcutAnchor:_="top-right",shortcutScale:y,scaleShortcut:k=!1}){const{t:w}=we.useTranslation(),B=Math.max(0,Math.min(1,a)),S=t/2,A=110/300,N=.18,z=q=>t*(A+(q-1)*N),I=q=>{const le=z(q.row??1),ge=q.angleDeg*Math.PI/180;return{x:S+le*Math.cos(ge),y:S+le*Math.sin(ge)}},D=Math.max(...e.map(q=>q.row??1),1),W=t*.08,E=t*.1,j=t*.24,R=t-2*W,G=t-E-j,X=t-j/2,V=l.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,le)=>q-le),[e]),H=V.length,U=Math.max(68,H>1?R/(H-1):0),L=l.useMemo(()=>new Map(V.map((q,le)=>[q,le])),[V]),T=q=>{const le=L.get(q.deg)??0,ge=S+(le-(H-1)/2)*U,Se=D>1?Math.min(68,G/(D-1)):0,ke=Se*(D-1),Ee=E+(G-ke)/2,_e=D===1?E+G*.4:Ee+(D-(q.row??1))*Se;return{x:ge,y:_e}},P=q=>{const le=I(q),ge=T(q);return{x:mn(le.x,ge.x,B),y:mn(le.y,ge.y,B)}},O={x:S,y:mn(S,X,B)},F=Math.round(g*1.2),$=Math.round(Math.max(16,Math.min(80,g*.7))),Q=[],J=new Map;for(const q of e){const le=q.row??1;J.has(le)||J.set(le,[]),J.get(le).push(q)}for(const[q,le]of J.entries()){if(le.length<2)continue;const ge=[...le].sort((Me,re)=>Me.deg-re.deg),Se=ge.map(Me=>P(Me)),ke=ge.map(Me=>Me.deg),Ee=ke[ke.length-1]-ke[0],_e=Ee/(ke.length-1),Be=360-Ee,K=ge.length>=3&&_e>0&&Be<=_e*1.5,Ce=Math.round(z(q)*1e3)/1e3,fe=(Me,re,de,xe)=>{const ye=(re.angleDeg-Me.angleDeg+540)%360-180;if(ye===0)return`L ${xe.x} ${xe.y}`;if(B===0)return`A ${Ce} ${Ce} 0 0 ${ye>0?1:0} ${xe.x} ${xe.y}`;const Ge=(Me.angleDeg+ye/2)*Math.PI/180,Ue={x:S+Ce*Math.cos(Ge),y:S+Ce*Math.sin(Ge)},Xe={x:(de.x+xe.x)/2,y:(de.y+xe.y)/2},Je={x:mn(Ue.x,Xe.x,B),y:mn(Ue.y,Xe.y,B)},et={x:2*Je.x-Xe.x,y:2*Je.y-Xe.y};return`Q ${et.x} ${et.y} ${xe.x} ${xe.y}`},ae=K?[...ge,ge[0]]:ge,me=K?[...Se,Se[0]]:Se;let $e=`M ${me[0].x} ${me[0].y}`;for(let Me=1;Me<me.length;Me++)$e+=" "+fe(ae[Me-1],ae[Me],me[Me-1],me[Me]);Q.push({key:`arc-${q}`,d:$e})}const Z=l.useMemo(()=>new Set(n??[]),[n]),ie=q=>({idle:"",active:w("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:w("soundCompass.state.played","\uB4E4\uC74C"),correct:w("soundCompass.state.correct","\uC815\uB2F5"),wrong:w("soundCompass.state.wrong","\uC624\uB2F5")})[q],se=q=>{if(o===q.id)return"active";if(c){if(q.id===s)return"correct";if(q.id===i&&i!==s)return"wrong"}return Z.has(q.id)?"played":"idle"},ce=q=>o===q.id?"loop":c?q.id===s?"loop":null:d&&q.id===i?"once":null,ue=(q,le)=>{switch(q){case"played":case"correct":return r.jsx(ep,{size:le});case"wrong":return r.jsx(dp,{size:le});default:return r.jsx(cp,{size:le})}};return r.jsx("div",{className:"sound-compass",children:r.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[r.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[B===0&&e.map(q=>{const{x:le,y:ge}=P(q);return r.jsx("line",{x1:O.x,y1:O.y,x2:le,y2:ge,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),Q.map(q=>r.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),v&&!b&&r.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:F,height:F,left:O.x-F/2,top:O.y-F/2}}),x?r.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${b?" sound-compass__center--disabled":""}`,style:{width:F,height:F,left:O.x,top:O.y},"aria-label":C,"aria-disabled":b||void 0,tabIndex:b?-1:0,onClick:b?void 0:x,children:r.jsx(ss,{size:$,color:"currentColor",strokeWidth:1.5})}):r.jsx("div",{className:"sound-compass__center",style:{width:F,height:F,left:O.x,top:O.y},children:r.jsx(ss,{size:$,color:"currentColor",strokeWidth:1.5})}),e.map((q,le)=>{const{x:ge,y:Se}=P(q),ke=se(q),Ee=ce(q),_e={...y!==void 0||k?{"--shortcut-badge-scale":String(y??Math.max(.75,Math.min(3,g/56)))}:null,pointerEvents:h?"auto":"none",cursor:h?"pointer":"default",zIndex:ke!=="idle"?10:1},Be=g,K=Math.round(Math.max(10,Math.min(56,Be*.38))),Ce=Math.round(Math.max(7,Math.min(18,Be*.2))),fe=Math.round(Math.max(10,Math.min(56,Be*.4))),ae=f==="answered"&&(ke==="played"||ke==="correct"||ke==="wrong"),me=f===!0||ae,$e=!ae;return r.jsxs("div",{className:"sound-compass__speaker-pos",style:{..._e,left:ge-Be/2,top:Se-Be/2},children:[Ee&&r.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${ke}`+(Ee==="once"?" sound-compass__pulse--once":""),style:{width:Be,height:Be,...Ee==="once"&&u!==void 0?{"--sc-pulse-duration-once":`${u}ms`}:null,...p!==void 0?{"--sc-pulse-scale":String(p)}:null}}),r.jsxs("button",{type:"button",tabIndex:h?0:-1,"aria-disabled":h?void 0:!0,onClick:h?()=>m?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${ke}`,style:{width:Be,height:Be},"aria-label":ie(ke)?`${q.label}, ${ie(ke)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[me&&ue(ke,K),$e&&r.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:f===!0?Ce:fe},children:le+1})]}),q.shortcut&&r.jsx(Dd,{keys:q.shortcut,anchor:_,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function xg({children:e,position:t="top-left",size:a=24,className:o=""}){return r.jsx("span",{className:je("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,o),children:e})}var Sk=".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}";oe(Sk);function yg({orientation:e="horizontal",label:t,className:a=""}){const o=je("divider",`divider--${e}`,t&&e==="horizontal"?"divider--labeled":"",a);return e==="vertical"?r.jsx("div",{className:o,role:"separator","aria-orientation":"vertical"}):t?r.jsxs("div",{className:o,role:"separator","aria-orientation":"horizontal",children:[r.jsx("span",{className:"divider__line"}),r.jsx("span",{className:"divider__label caption-1",children:t}),r.jsx("span",{className:"divider__line"})]}):r.jsx("div",{className:o,role:"separator","aria-orientation":"horizontal"})}var Nk='.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}';oe(Nk);function Td({checked:e,onChange:t,name:a,value:o,disabled:n=!1,label:i,className:s=""}){const c=l.useId();return r.jsxs("label",{className:`radio${n?" radio--disabled":""} ${s}`.trim(),htmlFor:c,children:[r.jsx("input",{id:c,type:"radio",name:a,value:o,checked:e,disabled:n,onChange:d=>t?.(d.target.checked)}),r.jsx("span",{className:"radio__dot"}),i&&r.jsx("span",{className:"radio__label body-2",children:i})]})}var Ek=".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)}";oe(Ek);function Cg({options:e,value:t,onChange:a,name:o,disabled:n=!1,direction:i="vertical",className:s="",ariaLabel:c}){const d=l.useId(),u=o??`radio-group-${d}`;return r.jsx("div",{className:`radio-group radio-group--${i} ${s}`.trim(),role:"radiogroup","aria-label":c,children:e.map(p=>r.jsx(Td,{name:u,value:p.value,checked:t===p.value,disabled:n||p.disabled,label:p.label,onChange:h=>{h&&a?.(p.value)}},p.value))})}var Dk=".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)}";oe(Dk);const Tk={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function _g({tone:e="info",title:t,message:a,children:o,dismissible:n=!1,onDismiss:i,live:s,className:c=""}){const{t:d}=we.useTranslation(),[u,p]=l.useState(!1),h=l.useRef(null),m=l.useCallback(()=>{const v=h.current;v&&v.contains(document.activeElement)&&ni(v),p(!0),i?.()},[i]);if(u)return null;const g=je("alert",`alert--${e}`,c),f=s??(e==="danger"||e==="warning"?"assertive":"polite"),x=f==="assertive"?"alert":f==="polite"?"status":void 0,C=!!t,b=!!(a||o);return r.jsxs("div",{ref:h,className:g,role:x,children:[r.jsxs("div",{className:"alert__body",children:[r.jsxs("div",{className:"alert__header",children:[r.jsx(Ze,{icon:Tk[e],size:20,className:"alert__icon"}),C&&r.jsx("span",{className:"alert__title body-2",children:t}),!C&&b&&r.jsx("div",{className:"alert__message body-3",children:a||o})]}),C&&b&&r.jsx("div",{className:"alert__message alert__message--indented body-3",children:a||o})]}),n&&r.jsx("button",{type:"button",className:"alert__dismiss",onClick:m,"aria-label":d("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var jk=".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)}";oe(jk);const Lk={ready:"search",guide:"info",error:"circle-alert"};function Mk(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const o=[];let n=0,i=0;for(const s of a){const c=e.indexOf(s,n);c<0||(c>n&&o.push(e.slice(n,c)),o.push(r.jsx("strong",{className:"search-summary__em body-2",children:s},i++)),n=c+s.length)}return n<e.length&&o.push(e.slice(n)),o}function wg({status:e="guide",label:t,children:a,emphasis:o,icon:n,className:i=""}){const s=n===!1?null:n??Lk[e],c=je("search-summary",`search-summary--${e}`,i),d=t??a,u=typeof d=="string"&&o&&o.length>0?Mk(d,o):d;return r.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[s!=null&&r.jsx(Ze,{icon:s,size:18,className:"search-summary__icon"}),r.jsx("span",{className:"search-summary__text body-2",children:u})]})}function mr({title:e,items:t}){const{t:a}=we.useTranslation(),{anchorRect:o,openAt:n,close:i}=$o(),s=l.useRef(null),c=lc(!!o,(d,u)=>{d&&u?n(s.current?.querySelector("button")??u):i()},s);return r.jsxs("span",{ref:s,style:{display:"contents"},children:[r.jsx(he,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!o,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:d=>{sr(d)||n(d.currentTarget)},onPointerLeave:d=>{sr(d)||i()},onClick:d=>{c.touchPress(d.currentTarget)},onFocus:d=>{lr()||n(d.currentTarget)},onBlur:i}),o&&r.jsx(bo,{title:e,items:t,showIndex:t.length>1,anchorRect:o,onClose:i})]})}var $k=".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}";oe($k);function kg({items:e=[],value:t,onChange:a,className:o="",size:n=40}){const i=l.useId(),{t:s}=we.useTranslation(),c=l.useRef(null),d=e.find(x=>!x.disabled)?.key,u=e.some(x=>x.key===t)?t:d??e[0]?.key,p=e.find(x=>x.key===u&&!x.disabled)?.key??d,h=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(x,C=h())=>{if(C.length===0)return;const b=(x%C.length+C.length)%C.length;C[b]?.focus(),C[b]?.click()},g=x=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(x.key))return;x.preventDefault();const C=h(),b=C.indexOf(x.currentTarget);x.key==="ArrowRight"||x.key==="ArrowDown"?m(b+1,C):x.key==="ArrowLeft"||x.key==="ArrowUp"?m(b-1,C):x.key==="Home"?m(0,C):m(C.length-1,C)},f=e.find(x=>x.key===u);return r.jsxs("div",{className:`tabs ${o}`.trim(),children:[r.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":s("tabs.ariaLabel","\uD0ED"),children:e.map(x=>r.jsx("button",{id:`tabs__tab-${i}-${x.key}`,type:"button",role:"tab","aria-selected":x.key===u,"aria-controls":`tabs__panel-${i}-${x.key}`,disabled:x.disabled,tabIndex:x.key===p?0:-1,className:`tabs__tab body-2${x.key===u?" tabs__tab--active":""}`,onClick:()=>{x.key!==t&&a?.(x.key)},onKeyDown:g,children:x.label},x.key))}),f&&r.jsx("div",{id:`tabs__panel-${i}-${f.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${f.key}`,tabIndex:0,className:"tabs__panel",children:f.panel},f.key)]})}var Rk=".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}";oe(Rk);const Pk={xs:12,sm:16,md:20,lg:28,xl:36};function zk(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 Ag({src:e,name:t,size:a="md",shape:o="circle",className:n=""}){const{t:i}=we.useTranslation(),[s,c]=l.useState(null),d=!!e&&s===e,u=t?zk(t):"",p=!!e&&!d,h=!p&&!!u,m=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return r.jsxs("span",{className:`avatar avatar--${a} avatar--${o} ${n}`.trim(),role:"img","aria-label":m,children:[p&&r.jsx("img",{className:"avatar__image",src:e,alt:m,onError:()=>c(e??null)}),!p&&h&&r.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:u}),!p&&!h&&r.jsx(Ze,{icon:"user-round",size:Pk[a],className:"avatar__icon"})]})}var Ik=".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)}";oe(Ik);function Ok(e,t){if(!t)return!0;const a=t.split(",").map(i=>i.trim()).filter(Boolean);if(a.length===0)return!0;const o=e.name.toLowerCase(),n=e.type.toLowerCase();return a.some(i=>{const s=i.toLowerCase();return s.startsWith(".")?o.endsWith(s):s.endsWith("/*")?n.startsWith(s.slice(0,-1)):n===s})}function Bg({onFilesSelected:e,accept:t,multiple:a=!1,disabled:o=!1,showFileList:n=!0,files:i,onRemove:s,className:c=""}){const{t:d}=we.useTranslation(),u=l.useRef(null),[p,h]=l.useState(!1),[m,g]=l.useState([]),f=i??m,x=w=>{if(!w||w.length===0)return;const B=Array.from(w).filter(A=>Ok(A,t));if(B.length===0)return;const S=a?B:B.slice(0,1);if(i===void 0){const A=a?[...f,...S]:S;g(A),e?.(A)}else e?.(S)},C=w=>{w.preventDefault(),!o&&h(!0)},b=w=>{w.preventDefault(),h(!1)},v=w=>{w.preventDefault(),h(!1),!o&&x(w.dataTransfer.files)},_=w=>{const B=w.target;try{x(B.files)}finally{B.value=""}},y=()=>{o||u.current?.click()},k=w=>{if(!o&&(s?.(w),i===void 0)){const B=f.filter((S,A)=>A!==w);g(B),s||e?.(B)}};return r.jsxs("div",{className:`file-upload ${c}`.trim(),children:[r.jsxs("div",{className:je("file-upload__dropzone",p&&"file-upload__dropzone--dragging",o&&"file-upload__dropzone--disabled"),role:"button",tabIndex:o?-1:0,"aria-disabled":o,onClick:y,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),y())},onDragOver:C,onDragLeave:b,onDrop:v,children:[r.jsx(Ze,{icon:"upload",size:24,className:"file-upload__icon"}),r.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")}),r.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:o,onClick:w=>{w.stopPropagation(),y()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),r.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:o,onChange:_,tabIndex:-1})]}),n&&f.length>0&&r.jsx("ul",{className:"file-upload__list",children:f.map((w,B)=>r.jsxs("li",{className:"file-upload__list-item body-3",children:[r.jsx("span",{className:"file-upload__file-name body-3",children:w.name}),r.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":d("fileUpload.removeAriaLabel",{name:w.name}),disabled:o,onClick:()=>k(B),children:r.jsx(Ze,{icon:"x",size:14})})]},`${w.name}-${B}`))})]})}var Fk=".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__text{color:var(--color-gray)}.ihabdevteam-core-scope a.breadcrumb__link{text-decoration:none}.ihabdevteam-core-scope .breadcrumb__separator{align-items:center;color:var(--color-disabled);display:inline-flex;flex-shrink:0}";oe(Fk);function Sg({items:e,className:t=""}){const{t:a}=we.useTranslation();return r.jsx("nav",{className:`breadcrumb ${t}`.trim(),"aria-label":a("breadcrumb.ariaLabel","\uC774\uB3D9 \uACBD\uB85C"),children:r.jsx("ol",{className:"breadcrumb__list",children:e.map((o,n)=>{const i=n===e.length-1;return r.jsxs("li",{className:"breadcrumb__item",children:[i?r.jsx("span",{className:"breadcrumb__current body-3","aria-current":"page",children:o.label}):o.href?r.jsx("a",{className:"breadcrumb__link body-3",href:o.href,target:o.target,rel:o.rel??(o.target==="_blank"?"noopener noreferrer":void 0),onClick:o.onClick,children:o.label}):o.onClick?r.jsx("button",{type:"button",className:"breadcrumb__link body-3",onClick:o.onClick,children:o.label}):r.jsx("span",{className:"breadcrumb__text body-3",children:o.label}),!i&&r.jsx(Ze,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},n)})})})}var Vk=".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)}";oe(Vk);const Hk={small:14,medium:20,large:28};function Ng({value:e,onChange:t,max:a=5,readOnly:o=!1,size:n="medium",ariaLabel:i,className:s=""}){const{t:c}=we.useTranslation(),d=o||!t,[u,p]=l.useState(null),h=d?e:Number.isFinite(e)?Math.round(e):0,m=u??h,g=Hk[n],f=w=>{w!==e&&t?.(w)},x=w=>{d||f(w)},C=w=>{d||lr()||p(w)},b=l.useRef(null),v=w=>{const B=Math.min(a,Math.max(1,w));f(B),Array.from(b.current?.querySelectorAll("[data-star]")??[]).find(S=>S.dataset.star===String(B))?.focus()},_=w=>{if(!d){switch(w.key){case"ArrowRight":case"ArrowUp":v((h||0)+1);break;case"ArrowLeft":case"ArrowDown":v((h||1)-1);break;case"Home":v(1);break;case"End":v(a);break;default:return}w.preventDefault()}},y=h>=1&&h<=a?Math.round(h):1,k=()=>{d||p(null)};return r.jsx("div",{className:`rating rating--${n}${d?" rating--readOnly":""} ${s}`.trim(),ref:b,onKeyDown:_,role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:w=>{w.pointerType==="touch"&&k()},onPointerCancel:w=>{w.pointerType==="touch"&&k()},children:Array.from({length:a},(w,B)=>{const S=B+1,A=Math.max(0,Math.min(1,m-B)),N=A>0&&A<1,z=r.jsxs("span",{className:"rating__star-wrap",children:[r.jsx(Ze,{icon:"star",size:g,className:"rating__star rating__star--empty"}),A>0&&r.jsx("span",{className:`rating__star-fill${N?" rating__star-fill--half":""}`,style:N?{width:`${A*100}%`}:void 0,children:r.jsx(Ze,{icon:"star",size:g,className:"rating__star rating__star--filled"})})]});return d?r.jsx("span",{className:"rating__item","aria-hidden":"true",children:z},S):r.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":h===S,"aria-label":c("rating.starLabel",{n:S}),"data-star":S,tabIndex:S===y?0:-1,onClick:()=>x(S),onMouseEnter:()=>C(S),children:z},S)})})}var Wk=".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}";oe(Wk);const Gk=20,Uk=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function Eg({value:e,onChange:t,palette:a=Uk,size:o=40,className:n="",ariaLabel:i}){const{t:s}=we.useTranslation();return r.jsx("div",{className:`color-picker ${n}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const d=e?.toLowerCase()===c.toLowerCase();return r.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${o}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":d,"aria-label":d?`${c} ${s("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:d&&r.jsx(Ze,{icon:"check",size:Gk,className:"color-picker__check"})},c)})})}var qk=".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}}";oe(qk);var Yk=".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}";oe(Yk);var Kk=".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}";oe(Kk);function Dg({icon:e,label:t,tooltip:a,wrapperStyle:o,color:n,bgColor:i,useHover:s=!0,iconSize:c="medium"}){const d=c==="small",u=je("category-icon",d?"category-icon--small":""),p=d?16:20,h=l.useRef(null),[m,g]=l.useState(!1),f=l.useMemo(()=>{const w=o&&typeof o=="object"?{...o}:{};return!n&&!i?w:{...w,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[o,n,i]),x=a||t,[C,b]=l.useState(null);l.useLayoutEffect(()=>{m&&b(h.current?.getBoundingClientRect()??null)},[m]),l.useEffect(()=>{if(!s&&m)try{g(!1)}catch{}},[s,m]),l.useEffect(()=>{if(!m)return;const w=B=>{const S=h.current;if(!S)return;const A=B.target;A&&!S.contains(A)&&g(!1)};return document.addEventListener("pointerdown",w,!0),()=>document.removeEventListener("pointerdown",w,!0)},[m]);const v=l.useCallback(()=>{s&&g(!0)},[s]),_=l.useCallback(()=>{s&&g(!1)},[s]),y=l.useCallback(()=>g(!1),[]),k=l.useCallback(w=>{if(w.key==="Escape"){g(!1);return}(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),g(B=>!B))},[]);return r.jsxs("span",{ref:h,className:"category-icon__wrap",onPointerEnter:v,onPointerLeave:_,onFocus:v,onBlur:_,onKeyDown:k,role:"button",tabIndex:0,"aria-label":typeof x=="string"?x:void 0,"aria-haspopup":!!x,"aria-expanded":m,"data-tooltip-ignore":!0,children:[r.jsx(Ze,{icon:e,label:t,className:u,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:f,size:p}),m&&x&&r.jsx(wa,{anchorRect:C,text:typeof x=="string"?x:void 0,offset:8,onClose:y,className:"category-icon__tooltip",ariaLabel:typeof x=="string"?x:void 0})]})}var Zk='.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--row{align-items:center;display:flex;height:auto;min-height:68px;width:100%}.ihabdevteam-core-scope .training-block-button--row .training-block-button__left{grid-column-gap:var(--spacing-s);grid-row-gap:4px;align-content:center;align-items:center;-moz-column-gap:var(--spacing-s);column-gap:var(--spacing-s);display:grid;grid-template-areas:"icon type count" "icon title count";grid-template-columns:auto 1fr auto;height:auto;padding:8px 0;row-gap:4px}.ihabdevteam-core-scope .training-block-button--row .category-icon__wrap{align-self:center;grid-area:icon}.ihabdevteam-core-scope .training-block-button--row .training-block-button__type-label{align-self:end;grid-area:type;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row .training-block-button__title{align-self:start;grid-area:title;inset:auto;overflow:hidden;position:static;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-block-button--row .training-block-button__description{align-items:center;display:flex;gap:4px;grid-area:count;height:auto;inset:auto;position:static}.ihabdevteam-core-scope .training-block-button--row:not(.training-block-button--withType) .training-block-button__title{align-self:center;grid-row:1/span 2}.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}@media (hover:hover){.ihabdevteam-core-scope .training-block-button__remove:not(.is-hover){display:none}}@media (hover:none){.ihabdevteam-core-scope .training-block-button__check--removable{display:none}}';oe(Zk);let fo=null;function wi(e){if(fo&&fo!==e)try{fo()}catch{}return fo=e,()=>{fo===e&&(fo=null)}}function ki(e){if(fo===e){fo=null;try{e()}catch{}}}function Xk(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,o=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?o(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?o(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?o(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?o(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=o(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 Jk(e,t){const[a,o]=l.useState(!1),[n,i]=l.useState(-1),[s,c]=l.useState({key:"",urls:[]}),d=l.useRef(null),u=l.useRef(!1),p=l.useRef(null),h=l.useRef(null),[m,g]=l.useState(!1),f=l.useRef([]),{previewCodes:x,previewBucket:C}=Xk(e,t),b=`${x.join(",")}|${C??""}`,v=l.useMemo(()=>s.key===b?s.urls:[],[s,b]);l.useEffect(()=>{if(!x.length)return;let y=!1;return(async()=>{const k=[],w=[];for(const B of x)try{const S=Sn(B,C);if(!S){k.push("");continue}let A=null;try{A=await jr(S)}catch{}if(!A)try{const N=await Nn(S);N&&(A=URL.createObjectURL(N),w.push(A))}catch{}k.push(A??"")}catch{k.push("")}y?w.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(f.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),f.current=w,c({key:b,urls:k}))})(),()=>{y=!0}},[x.join(","),C]),l.useEffect(()=>()=>{f.current.forEach(y=>{try{URL.revokeObjectURL(y)}catch{}}),f.current=[]},[]);const _=l.useCallback(async y=>{if(y.stopPropagation(),y.preventDefault(),u.current){p.current&&ki(p.current),u.current=!1;try{d.current?.pause()}catch{}o(!1),i(-1);return}if(!v.filter(Boolean).length)return;let k=null;const w=()=>{u.current=!1;try{d.current?.pause()}catch{}k?.()};p.current=w;const B=wi(w);u.current=!0,o(!0);for(let S=0;S<v.length&&u.current;S++){const A=v[S];if(A){i(S);try{await new Promise((N,z)=>{k=N;const I=new Audio(A);d.current=I,I.onended=()=>N(),I.onerror=()=>z(),I.play().catch(z)})}catch{break}}}B(),p.current===w&&(p.current=null,u.current=!1,o(!1),i(-1))},[v]);return l.useEffect(()=>()=>{p.current&&ki(p.current),u.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:n,previewUrls:v,previewHover:m,setPreviewHover:g,previewBtnRef:h,handlePreview:_}}const Qk=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(o=>{if(typeof o=="string")return o;if(o&&typeof o=="object"){const n=o;return n.sentence||n.text||n.context||n.question||n.title||""}return""}).filter(o=>typeof o=="string"&&o.trim().length>0).map(o=>o.trim()):[]};function Ai(e){const{index:t,type:a,trainingData:o,ariaLabel:n,depth:i,renderPopup:s,completed:c,completedIds:d,selectedIds:u,tooltipText:p,useDescriptionTooltip:h=!1,onRemove:m,hideCheckBadge:g=!1,showTypeLabel:f=!1,onComplete:x,onSelect:C,onMore:b,countLabelOverride:v,size:_="square"}=e||{},{t:y}=we.useTranslation(),[k,w]=l.useState(!1),B=l.useRef(null),[S,A]=l.useState(!1);l.useEffect(()=>{B.current?.matches(":hover")&&A(!0)},[]);const{playing:N,playingIndex:z,previewUrls:I,previewHover:D,setPreviewHover:W,previewBtnRef:E,handlePreview:j}=Jk(o,a?.key),R=l.useCallback(()=>{C?C():w(!0)},[C]),G=l.useCallback(()=>w(!1),[]),X=l.useCallback(()=>A(!0),[]),V=l.useCallback(()=>A(!1),[]),H=l.useCallback(()=>W(!0),[W]),U=l.useCallback(()=>W(!1),[W]),[L,T]=l.useState(null);l.useLayoutEffect(()=>{D&&T(E.current?.getBoundingClientRect()??null)},[D,E]);const[P,O]=l.useState(null);l.useLayoutEffect(()=>{S&&!k&&h&&O(B.current?.getBoundingClientRect()??null)},[S,k,h]);const F=l.useCallback(ye=>{ye.target===ye.currentTarget&&(ye.key==="Enter"||ye.key===" ")&&(ye.preventDefault(),R())},[R]),$=o||null,Q=l.useMemo(()=>{if(!h)return null;const ye=p?(Array.isArray(p)?p:[p]).filter(Boolean):null,Ge=ye&&ye.length>0?ye:Qk($);return Ge&&Ge.length>0?Ge:null},[h,p,$]),J=l.useCallback(ye=>{ye.stopPropagation(),m?.()},[m]),Z=l.useCallback(ye=>ye.stopPropagation(),[]),ie=l.useCallback(ye=>{typeof x=="function"&&x(ye)},[x]),se=c||(d&&o?.id!=null?d.has(String(o.id)):!1),ce=!se&&(u!=null&&o?.id!=null?u.has(String(o.id)):!1);on("speechear.popup.close",G);const ue=Xn(),q=`${a?.label||""} ${t+1}`,le=$?.title||$?.name||q;let ge=a?.icon,Se,ke="",Ee="";try{const ye=$?.category_0||$?.category_main_code||$?.category_main,Ge=$?.category_1||$?.category_sub_code||$?.category_sub,Ue=ue.find(Xe=>Xe.key===ye);Ue?.icon&&(ge=Ue.icon),!Se&&Ue?.color&&(Se={"--t-item-fg":Ue.color}),!Se&&$?.iconColor&&(Se={"--t-item-fg":$.iconColor}),ke=Ue?y(`topic.${Ue.key}`,{defaultValue:Ue.label||""}):"";try{const Xe=Ue?.subs?.find(Je=>Je.key===Ge);Ee=Xe?y(`topic.sub.${Xe.key}`,{defaultValue:Xe.label||""}):""}catch{}}catch{}const _e=Ee?`${ke} / ${Ee}`:ke||a?.label||le,Be=ye=>y("training.countQuestions",{n:ye}),K=ye=>y("training.countSentences",{n:ye});let Ce="";try{if($)if(a?.key==="LISTEN_IN_NOISE"){let ye=0;Array.isArray($.items)&&$.items.length>0?ye=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0?ye=$.sentences.length:$.sentences&&(ye=1),Ce=K(ye)}else if(a?.key==="SHORT_STORY"){let ye=1;Array.isArray(o?.items)?ye=o.items.length:Array.isArray(o?.raw&&o.raw?.items)?ye=o.raw.items.length:Array.isArray($?.questions)?ye=$.questions.length:Array.isArray($?.sentences)&&(ye=$.sentences.length),Ce=Be(ye)}else if(a?.key==="LONG_STORY"){let ye=1;if(Array.isArray($.items)&&$.items.length>0){const Ge=$.items.reduce((Ue,Xe)=>{const Je=Xe.questionItems;return Array.isArray(Je)?Ue+Je.length:Array.isArray(Xe.questions)?Ue+Xe.questions.length:Ue},0);ye=Ge>0?Ge:$.items.length}else Array.isArray($.questions)&&$.questions.length>0?ye=$.questions.length:Array.isArray($.sentences)&&$.sentences.length>0&&(ye=$.sentences.length);Ce=Be(ye)}else if(a?.key==="ORDERING_SENTENCE"){let ye=1;Array.isArray($.items)&&$.items.length>0?ye=$.items.length:Array.isArray($.sentences)&&$.sentences.length>0&&(ye=$.sentences.length),Ce=K(ye)}else Array.isArray($.items)&&(Ce=$.items.length>0?Be($.items.length):"")}catch{}const fe=_==="row",ae=_==="list"||fe,me=_==="compact",$e=_==="small",Me=$e&&a?.key?Il().find(ye=>ye.key===a.key):void 0,re=Me?Qn[Me.key]:void 0,de=Me?re?y(`trainingType.${re}.title`,{defaultValue:Me.label}):Me.label??"":"",xe=!!f&&!!a?.label&&a.label!==String(le)||$e&&!!de&&de!==String(le);return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:B,className:`training-block-button${ae?" training-block-button--list":""}${fe?" training-block-button--row":""}${me?" training-block-button--compact":""}${$e?" training-block-button--small":""}${se?" training-block-button--completed":""}${ce?" training-block-button--selected":""}${xe&&!$e?" training-block-button--withType":""}${$e&&!xe?" training-block-button--no-type-label":""}`,onClick:R,onPointerEnter:X,onPointerLeave:V,role:"button",tabIndex:0,onKeyDown:F,"aria-label":typeof n=="string"?n:typeof le=="string"?le:void 0,title:!h&&p&&(Array.isArray(p)?p.filter(Boolean).join(`
|
|
853
853
|
`):p)||void 0,children:[r.jsxs("div",{className:"training-block-button__left",children:[f&&a?.label&&a.label!==String(le)&&r.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),$e&&de&&de!==String(le)&&r.jsx("span",{className:"training-block-button__type-label caption-2",children:de}),r.jsx(Dg,{icon:ge,label:le,tooltip:_e,wrapperStyle:Se,iconSize:$e||me?"small":"medium"}),!g&&(se||ce)&&!(m&&S)&&r.jsx(vt,{className:m?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":se?y("training.completed","\uD6C8\uB828 \uC644\uB8CC"):y("training.selected","\uC120\uD0DD\uB428")}),m&&r.jsx(vt,{className:`training-block-button__remove${S?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":y("common.remove","\uC81C\uAC70"),onClick:J}),r.jsx("div",{className:`training-block-button__title ${me?"body-3":$e?"body-3b":"h3"}`,children:String(le)}),r.jsxs("div",{className:"training-block-button__description",children:[(()=>{const ye=v!==void 0?v:Ce;return ye?r.jsx("div",{className:`training-block-button__count ${$e?"caption-2":"caption-1"}`,children:ye}):null})(),r.jsx("div",{className:"training-block-button__chevron",children:r.jsx(Ze,{icon:"chevron-right",label:y("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:$e?12:20})})]}),(ae&&!fe||$e)&&I.length>0&&r.jsx("div",{ref:E,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:Z,onPointerEnter:H,onPointerLeave:U,children:r.jsx(he,{htmlType:"button",size:$e?28:32,type:"dot",icon:N?"pause":"play",variant:$e?"transparent-lightGray":"default",useBorder:!1,selected:N,ariaLabel:N?y("training.stop","\uC815\uC9C0"):y("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:j})})]}),b&&r.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:ye=>{ye.stopPropagation(),b(ye)},children:r.jsx(he,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:y("common.more","\uB354\uBCF4\uAE30")})})]}),D&&r.jsx(wa,{anchorRect:L,text:N?y("training.stop","\uC815\uC9C0"):y("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:U}),S&&!k&&h&&(Q?r.jsx(bo,{anchorRect:P,items:Q,activeIndex:z,onClose:V}):$?.subTitle?r.jsx(wa,{anchorRect:P,text:$.subTitle,offset:8,onClose:V}):null),k&&s&&s({trainingData:$,typeKey:a?.key??"",onClose:G,onComplete:ie,popupTitle:String(le),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:ge,popupIconTooltip:String(_e),popupWrapperStyle:Se})]})}const jd=200;function e6(e){return e.itemId?(Ul()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function Ld({plan:e,anchorRect:t,offset:a=12,onClose:o}){const{t:n}=we.useTranslation(),i=l.useMemo(()=>Am(n).map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,n]);if(i.length===0)return null;const s=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,r.jsxs("div",{className:"tooltip-training__section",children:[r.jsx("div",{className:"tooltip-training__section-header",children:r.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),r.jsx("div",{className:"tooltip-training__items",children:d.map((p,h)=>{const m=e6(p);return m?r.jsx(Ai,{index:h,type:c,trainingData:m,size:"compact",hideCheckBadge:!0},p.itemId??h):null})})]},c.key)])})});return t?r.jsx(ma,{anchorRect:t,offset:a,onClose:o,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}const t6=200;function Tg({icon:e,count:t,title:a,plan:o,tooltip:n=!0,className:i="",onClick:s,onMouseEnter:c,onMouseLeave:d}){const u=je("count-tile",s&&"count-tile--clickable",i),p=l.useRef(null),[h,m]=l.useState(null),g=l.useRef(null),f=l.useRef(null),x=!!(h&&o&&n),C=l.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),f.current&&(clearTimeout(f.current),f.current=null)},[]),b=l.useCallback(()=>{C(),m(null)},[C]),v=l.useCallback(()=>{!n||!o||(C(),g.current=setTimeout(()=>{g.current=null,m(p.current?.getBoundingClientRect()??null)},jd))},[n,o,C]),_=l.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!f.current&&(f.current=setTimeout(()=>{f.current=null,m(null)},t6))},[]);return l.useEffect(()=>()=>{C()},[C]),l.useEffect(()=>{(!n||!o)&&b()},[n,o,b]),l.useEffect(()=>{if(!x)return;const y=w=>w instanceof Element&&(p.current?.contains(w)||!!w.closest(".tooltip-training")),k=w=>{y(w.target)?C():_()};return document.addEventListener("pointerover",k,!0),()=>document.removeEventListener("pointerover",k,!0)},[x,C,_]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:p,className:u,onClick:s?y=>{b(),s(y)}:void 0,onKeyDown:s?y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),y.currentTarget.click())}:void 0,onPointerEnter:y=>{y.pointerType==="touch"||y.pointerType==="pen"?b():v()},onMouseEnter:c,onMouseLeave:y=>{_(),d?.(y)},role:s?"button":"img",tabIndex:s?0:void 0,"aria-label":`${a} ${t}`,children:[r.jsx(Ze,{icon:e,size:20,className:"count-tile__icon"}),r.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),h&&o&&r.jsx(Ld,{plan:o,anchorRect:h,onClose:b})]})}let bn=0,jg="",Md="",gn=0;function Lg(){return Mg(!1)}function a6(){return Mg(!0)}function Mg(e){const t=typeof document<"u";bn===0&&t&&(jg=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(gn===0&&(Md=document.body.style.paddingRight),gn++,document.body.style.paddingRight="0px"),bn++;let a=!1;return()=>{a||(a=!0,bn=Math.max(0,bn-1),e&&t&&(gn=Math.max(0,gn-1),gn===0&&(Md?document.body.style.paddingRight=Md:document.body.style.removeProperty("padding-right"))),bn===0&&t&&(document.body.style.overflow=jg))}}var o6=".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}}";oe(o6);function r6(){return r.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0,children:r.jsx("path",{d:"M6 6l12 12M18 6 6 18"})})}function $g({open:e,onClose:t,ariaLabel:a,title:o,children:n,size:i="md",closeOnBackdrop:s=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:p}){const{t:h}=we.useTranslation(),m=l.useId(),g=l.useRef(null),f=l.useCallback(()=>t(),[t]);l.useEffect(()=>{if(!e)return;const v=document.activeElement,_=Lg(),y=g.current;return rc(y,v),y?.focus(),()=>{_();const k=document.activeElement;(!k||k===document.body||y&&y.contains(k))&&nc(v)?.focus?.()}},[e]);const x=l.useRef(f),C=l.useRef(c);l.useEffect(()=>{x.current=f,C.current=c}),l.useEffect(()=>{if(e)return jo(()=>{C.current&&x.current()})},[e]);const b=l.useRef(!1);return ac(g,e),!e||typeof document>"u"?null:ra.createPortal(r.jsx("div",{className:je("dialog",u),onPointerDown:s?v=>{b.current=v.target===v.currentTarget}:void 0,onMouseDown:v=>{v.target===v.currentTarget&&v.preventDefault()},onClick:s?v=>{const _=b.current;b.current=!1,_&&v.target===v.currentTarget&&f()}:void 0,children:r.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":o?void 0:a,"aria-labelledby":o?m:void 0,tabIndex:-1,className:je("dialog__surface",`dialog__surface--${i}`,p),onClick:v=>v.stopPropagation(),children:[o?r.jsx("div",{className:"dialog__header",children:r.jsx("h2",{id:m,className:"dialog__title h4b",children:o})}):null,d?r.jsx("button",{type:"button",className:"dialog__close","aria-label":h("common.close","\uB2EB\uAE30"),onClick:f,children:r.jsx(r6,{})}):null,r.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var n6=".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}";oe(n6);function Rg({columns:e,rows:t,rowKey:a,title:o,toolbar:n,empty:i,loading:s,caption:c,className:d=""}){const{t:u}=we.useTranslation(),p=!s&&t.length===0;return r.jsxs("div",{className:je("board",d),children:[o||n?r.jsxs("div",{className:"board__head",children:[o?r.jsx("h2",{className:"board__title",children:o}):r.jsx("span",{}),n?r.jsx("div",{className:"board__toolbar",children:n}):null]}):null,r.jsxs("table",{className:"board__table",children:[c?r.jsx("caption",{className:"board__caption",children:c}):null,r.jsx("thead",{children:r.jsx("tr",{children:e.map(h=>r.jsx("th",{scope:"col",className:je("board__th",`board__cell--${h.headerAlign??h.align??"left"}`),style:h.width?{width:h.width}:void 0,children:h.header},h.key))})}),r.jsx("tbody",{children:s?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:s})}):p?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:i??u("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((h,m)=>r.jsx("tr",{className:"board__row",children:e.map(g=>r.jsx("td",{className:je("board__td",`board__cell--${g.align??"left"}`),children:g.render(h,m)},g.key))},a(h,m)))})]})]})}var i6=".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)}}";oe(i6);function Pg({name:e,role:t,photo:a,media:o,credentials:n,size:i=190,className:s=""}){return r.jsxs("div",{className:je("person-card",s),children:[r.jsx("div",{className:"person-card__photo",style:{width:i,height:i},children:o??(a?r.jsx("img",{src:a,alt:t?`${e} ${t}`:e}):null)}),r.jsx("h3",{className:"person-card__name",children:e}),t?r.jsx("p",{className:"person-card__role",children:t}):null,n?.length?r.jsx("ul",{className:"person-card__credentials",children:n.map(c=>r.jsx("li",{children:c},c))}):null]})}var s6=".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)}}";oe(s6);function zg({groups:e,className:t=""}){return r.jsx("div",{className:je("timeline",t),children:e.map(a=>r.jsxs("section",{className:"timeline__group",children:[r.jsx("h3",{className:"timeline__title",children:a.title}),r.jsx("ul",{className:"timeline__rows",children:a.entries.map((o,n)=>r.jsxs("li",{className:"timeline__row",children:[o.label?r.jsx("span",{className:"timeline__label",children:o.label}):null,r.jsx("div",{className:"timeline__items",children:o.items.map((i,s)=>r.jsx("p",{children:i},s))})]},`${o.label??""}-${n}`))})]},a.title))})}var l6=".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)}";oe(l6);function Ig({title:e,kind:t,body:a,badge:o,badgeSrc:n,footer:i,width:s,className:c=""}){const d=o??(n?r.jsx("img",{src:n,alt:""}):null);return r.jsxs("div",{className:je("publication-card",c),style:s?{width:s,flexShrink:0}:void 0,children:[d?r.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,r.jsx("h3",{className:"publication-card__title",children:e}),t?r.jsx("p",{className:"publication-card__kind",children:t}):null,r.jsx("p",{className:"publication-card__body",children:a}),i?r.jsx("div",{className:"publication-card__footer",children:i}):null]})}var c6="@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}}";oe(c6);function Og({logo:e,alt:t,onDone:a,durationMs:o=3e3}){const n=an(a);return l.useEffect(()=>{const i=setTimeout(()=>n.current?.(),o);return()=>clearTimeout(i)},[o,n]),r.jsx("div",{className:"splash-logo",style:{"--splash-logo-duration":`${o}ms`},"aria-hidden":"true",children:r.jsx("img",{src:e,alt:t,className:"splash-logo__image"})})}var d6='.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)}';oe(d6);function Fg({eyebrow:e,eyebrowIndex:t,title:a,description:o,level:n=2,tone:i="dark",className:s=""}){const c=n===1?"h1":"h2";return r.jsxs("div",{className:je("section-header",`section-header--${i}`,s),children:[e?r.jsxs("p",{className:"section-header__eyebrow",children:[t?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"section-header__index",children:t}),r.jsx("span",{"aria-hidden":!0,className:"section-header__rule"})]}):null,e]}):null,a?r.jsx(c,{className:"section-header__title",children:a}):null,o?r.jsx("div",{className:"section-header__description",children:o}):null]})}var u6=".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}}";oe(u6);function Vg({items:e,className:t=""}){return r.jsx("ul",{className:je("company-meta",t),children:e.map((a,o)=>r.jsxs("li",{className:"company-meta__item",children:[o>0?r.jsx("span",{"aria-hidden":!0,className:"company-meta__divider",children:"|"}):null,a]},a))})}function $d({value:e,onChange:t,suggestions:a,openOnFocus:o=!1}){const n=l.useId(),[i,s]=l.useState(!1),[c,d]=l.useState(-1),u=l.useRef(null),p=l.useMemo(()=>{if(!a.length)return[];const B=e??"";return B?a.filter(S=>S.toLowerCase().includes(B.toLowerCase())):o?a:[]},[a,e,o]),[h,m]=l.useState(!1),g=l.useRef([]),f=h&&p.length===0?g.current:p;l.useEffect(()=>{f.length&&(g.current=f)},[f]);const x=l.useCallback(()=>m(!0),[]),C=l.useCallback(()=>m(!1),[]);l.useEffect(()=>{i||d(-1)},[i]),l.useEffect(()=>()=>{u.current&&clearTimeout(u.current)},[]);const b=c<f.length?c:-1,v=l.useCallback(B=>{t?.(B),s(!1)},[t]),_=l.useCallback(()=>s(!0),[]),y=l.useCallback(()=>{s(!0),d(-1)},[]),k=l.useCallback(()=>{u.current=setTimeout(()=>s(!1),120)},[]),w=l.useCallback(B=>{B.nativeEvent.isComposing||B.keyCode===229||(B.key==="ArrowDown"?(B.preventDefault(),s(!0),d(S=>Math.min(f.length-1,(S<f.length?S:-1)+1))):B.key==="ArrowUp"?(B.preventDefault(),d(S=>Math.max(-1,(S<f.length?S:f.length)-1))):B.key==="Enter"?b>=0&&v(f[b]):B.key==="Escape"&&i&&(B.preventDefault(),s(!1)))},[f,b,i,v]);return{listId:n,open:i,activeIdx:b,filtered:f,handleFocus:_,handleBlur:k,handleInput:y,handleKeyDown:w,handleSelect:v,handleCompositionStart:x,handleCompositionEnd:C}}const Rd=typeof window<"u"?l.useLayoutEffect:l.useEffect;var p6=".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);box-sizing:border-box;margin:0;max-height:220px;overflow:auto;padding:4px 0;position:fixed;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)}";oe(p6);function vo(e){const{value:t,defaultValue:a,name:o,inputRef:n,onChange:i,label:s,ariaLabel:c,required:d,placeholder:u,ghostText:p,ghostHint:h,type:m="text",disabled:g=!1,readOnly:f=!1,error:x,helperText:C,maxLength:b,size:v=48,variant:_="input",fullWidth:y=!1,newline:k=!1,multiline:w=!1,rows:B=3,leftIcon:S,rightIcon:A,clearable:N=!1,list:z,showCount:I=!0,className:D="",onFocus:W,onBlur:E,onKeyDown:j,onEnter:R,inputMode:G,autoComplete:X,autoFocus:V,suggestions:H,openOnFocus:U=!1}=e,L=f||g?void 0:H,{t:T}=we.useTranslation(),P=l.useId();!s&&!c&&Wa(`TextField:unnamed:${P}`,"[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 O=`tf-${P}`,F=`tf-helper-${P}`,$=l.useRef(null),Q=$d({value:t??"",onChange:i,suggestions:L??[],openOnFocus:U}),J=!!L&&Q.open&&Q.filtered.length>0,Z=l.useRef(null),[ie,se]=l.useState(null),ce=l.useCallback(()=>{const re=Z.current;if(!re||typeof window>"u")return;const de=re.getBoundingClientRect(),xe=230,ye=window.innerHeight-de.bottom<xe+8&&de.top>xe+8;se({position:"fixed",left:de.left,width:de.width,...ye?{bottom:window.innerHeight-de.top+8}:{top:de.bottom+8},zIndex:pn(re)})},[]);Rd(()=>{if(!J)return;ce();const re=de=>{const xe=de.target;xe&&xe.nodeType===1&&xe.closest?.(".text-field__suggestions")||ce()};return window.addEventListener("scroll",re,!0),window.addEventListener("resize",ce),()=>{window.removeEventListener("scroll",re,!0),window.removeEventListener("resize",ce)}},[J,ce]);const ue=l.useCallback(re=>{$.current=re,typeof n=="function"?n(re):n&&(n.current=re)},[n]),q=p?`${p}${h??T("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:u,le=t!==void 0,ge=le&&m==="password",[Se,ke]=l.useState((a??"").length),Ee=le?(t??"").length:Se,_e=l.useRef(t);Rd(()=>{_e.current=t}),l.useEffect(()=>{const re=$.current;if(!ge||!re)return;const de=t??"";re.value!==de&&(re.value=de)},[ge,t]),l.useEffect(()=>{if(!k||!$.current)return;const re=$.current;re.style.height="",re.scrollHeight>re.clientHeight&&(re.style.height=`${re.scrollHeight}px`)},[t,Se,k]);const Be=b!=null&&Ee>b,K=v===32?16:20,Ce=je("text-field",`text-field--s${v}`,_==="display"?"text-field--display":"",y?"text-field--full-width":"",g?"text-field--disabled":"",f?"text-field--readonly":"",x?"text-field--error":"",S?"text-field--has-left-icon":"",A||N?"text-field--has-right-icon":"",D),fe={id:O,...ge?{}:le?{value:t}:{defaultValue:a},ref:ue,placeholder:q,name:o,disabled:g,readOnly:f,autoFocus:V,maxLength:b,list:z,inputMode:G,autoComplete:X,"aria-label":!s&&c?c:void 0,"aria-required":d,"aria-invalid":!!x,"aria-describedby":C||x?F:void 0,role:L?"combobox":void 0,"aria-autocomplete":L?"list":void 0,"aria-haspopup":L?"listbox":void 0,"aria-expanded":L?Q.open:void 0,"aria-controls":J?Q.listId:void 0,"aria-activedescendant":J&&Q.activeIdx>=0?`${Q.listId}-option-${Q.activeIdx}`:void 0,onChange:re=>{const de=re.target;le||ke(de.value.length),i?.(de.value),L&&Q.handleInput(),ge&&queueMicrotask(()=>{const xe=_e.current??"";de.value!==xe&&(de.value=xe)})},onCompositionStart:L?Q.handleCompositionStart:void 0,onCompositionEnd:L?Q.handleCompositionEnd:void 0,onFocus:(re=>{W?.(re),L&&Q.handleFocus()}),onBlur:(re=>{E?.(re),L&&Q.handleBlur()}),onKeyDown:(re=>{const de=(re.key==="Tab"&&!re.shiftKey||re.key===" ")&&!re.nativeEvent.isComposing;if(p&&de&&!f&&!g&&!(re.currentTarget.value??"").trim()){re.preventDefault();const xe=re.currentTarget;le||(xe.value=p,ke(p.length)),i?.(p);return}L&&re.key==="Enter"&&!re.nativeEvent.isComposing&&Q.activeIdx>=0?re.preventDefault():R&&re.key==="Enter"&&!re.nativeEvent.isComposing&&(re.preventDefault(),R()),j?.(re),L&&Q.handleKeyDown(re)})},ae=N&&!g&&!f&&Ee>0,me=()=>k?r.jsx("textarea",{...fe,className:"text-field__input text-field__input--auto body-2",rows:1}):w?r.jsx("textarea",{...fe,className:"text-field__input text-field__input--textarea body-2",rows:B}):r.jsx("input",{...fe,type:m,className:"text-field__input body-2"}),$e=_==="display"&&!k&&!w&&!!q,Me=()=>r.jsxs(r.Fragment,{children:[me(),$e&&r.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:q})]});return r.jsxs("div",{ref:Z,className:Ce,children:[s&&r.jsxs("label",{htmlFor:O,className:"text-field__label caption-1",children:[s,d&&r.jsx("span",{className:"text-field__required",children:"*"})]}),r.jsxs("div",{className:"text-field__wrap",children:[S&&r.jsx("span",{className:"text-field__icon text-field__icon--left",children:r.jsx(Ze,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:K})}),Me(),b!=null&&I&&r.jsxs("span",{className:`text-field__count caption-2${Be?" text-field__count--over":""}`,children:[Ee,"/",b]}),ae&&r.jsx(he,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:T("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:re=>{re.preventDefault()},onClick:()=>{!le&&$.current&&($.current.value="",ke(0)),i?.("")},tabIndex:-1}),A&&!ae&&r.jsx("span",{className:"text-field__icon text-field__icon--right",children:r.jsx(Ze,{icon:A,label:"",className:"",svgClassName:"text-field__icon-svg",size:K})})]}),J&&(typeof document>"u"?null:ra.createPortal(r.jsx("ul",{id:Q.listId,className:"text-field__suggestions",role:"listbox",style:ie??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:Q.filtered.map((re,de)=>r.jsx("li",{id:`${Q.listId}-option-${de}`,role:"option","aria-selected":de===Q.activeIdx,className:`text-field__suggestion body-2${de===Q.activeIdx?" is-active":""}`,onMouseDown:xe=>xe.preventDefault(),onClick:()=>{Q.handleSelect(re),$.current?.focus()},children:re},`${re}-${de}`))}),document.body)),(C||x)&&r.jsx("div",{className:"text-field__footer",children:r.jsx("span",{id:F,className:"text-field__helper caption-1",role:x?"alert":void 0,children:x||C})})]})}var h6=".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}";oe(h6);function ba({options:e,value:t,onChange:a,placeholder:o,disabled:n=!1,block:i=!1,size:s=48,error:c=!1,className:d="",ariaLabel:u,ariaDescribedBy:p}){const{t:h}=we.useTranslation(),m=o??h("dropdown.placeholder","\uC120\uD0DD"),g=l.useId(),f=l.useId(),x=l.useRef(null),C=l.useCallback((E,j)=>{const R=window.innerHeight-E.bottom<260&&E.top>260;return{position:"fixed",left:E.left,minWidth:E.width,...R?{bottom:window.innerHeight-E.top+6}:{top:E.bottom+6},zIndex:pn(j)}},[]),{open:b,setOpen:v,toggle:_,style:y,triggerRef:k,menuRef:w}=Ro({computeStyle:C}),[B,S]=l.useState(-1),A=l.useCallback(()=>S(-1),[]),N=e.find(E=>E.value===t);l.useEffect(()=>{if(b){const E=e.findIndex(j=>j.value===t);S(E>=0?E:e.length?0:-1),requestAnimationFrame(()=>{const j=w.current;if(!j)return;const R=j.querySelectorAll(".dropdown__option")[E];R&&(j.scrollTop=Math.max(0,R.offsetTop-j.clientHeight/2+R.clientHeight/2))})}},[b]),l.useEffect(()=>{b&&S(E=>{if(E>=0&&E<e.length)return E;const j=e.findIndex(R=>R.value===t);return j>=0?j:e.length?0:-1})},[b,e.length]);const z=l.useCallback(()=>{n||_()},[n,_]),I=l.useCallback(E=>{E.disabled||n||(E.value!==t&&a?.(E.value),v(!1))},[a,v,n,t]);l.useEffect(()=>{n&&v(!1)},[n,v]);const D=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(),S(j=>{let R=j+1;for(;R<e.length&&e[R].disabled;)R++;return R<e.length?R:j})):E.key==="ArrowUp"?(E.preventDefault(),S(j=>{let R=j-1;for(;R>=0&&e[R].disabled;)R--;return R>=0?R:j})):(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),e[B]?I(e[B]):v(!1))}},[n,b,e,B,I,v]),W=b?r.jsx("div",{ref:w,id:g,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:y,onMouseLeave:A,onMouseDown:E=>E.preventDefault(),children:e.map((E,j)=>r.jsxs("button",{id:`${g}-option-${j}`,type:"button",role:"option","aria-selected":E.value===t,className:je("dropdown__option body-2",E.value===t?"dropdown__option--active":"",j===B?"dropdown__option--active":"",E.disabled?"dropdown__option--disabled":""),onMouseDown:R=>R.preventDefault(),onClick:()=>I(E),onMouseEnter:()=>S(j),disabled:E.disabled,children:[r.jsx("span",{className:"dropdown__option-check",children:E.value===t&&r.jsx("svg",{viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"2 7 5.5 10.5 12 3.5"})})}),E.label]},E.value))}):null;return r.jsxs("div",{ref:x,className:je("dropdown",`dropdown--s${s}`,b?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:D,children:[r.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger","aria-haspopup":"listbox","aria-expanded":b,"aria-controls":b?g:void 0,"aria-activedescendant":b&&B>=0?`${g}-option-${B}`:void 0,"aria-label":u,"aria-describedby":[u&&N?f:"",p??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:n,onClick:z,onBlur:E=>{b&&!w.current?.contains(E.relatedTarget)&&v(!1)},children:[r.jsx("span",{id:f,className:`dropdown__trigger-label body-2${N?"":" dropdown__trigger-label--placeholder"}`,children:N?N.label:m}),r.jsx("svg",{className:"dropdown__chevron",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:r.jsx("polyline",{points:"4 6 8 10 12 6"})})]}),typeof document<"u"&&ra.createPortal(W,x.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var m6=".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}";oe(m6);function fn({page:e,totalPages:t,onChange:a,prevLabel:o,nextLabel:n,className:i=""}){const{t:s}=we.useTranslation(),c=o??s("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=n??s("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=Math.max(1,t),p=()=>a(Math.max(1,Math.min(u,e-1))),h=()=>a(Math.min(u,e+1));return r.jsxs("div",{className:je("pagination",i),children:[r.jsx(he,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:p}),r.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),u)," / ",u]}),r.jsx(he,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=t,onClick:h})]})}var b6=".ihabdevteam-core-scope .segmented-control{background:var(--color-darkWhite);display:inline-flex;flex-shrink:0;flex-wrap:wrap;gap:0;overflow:hidden;padding:0}.ihabdevteam-core-scope .segmented-control--pill{border-radius:999px}.ihabdevteam-core-scope .segmented-control--rounded{border-radius:8px}.ihabdevteam-core-scope .segmented-control--24.segmented-control--rounded{border-radius:6px}.ihabdevteam-core-scope .segmented-control .button{min-width:96px}.ihabdevteam-core-scope .segmented-control.segmented-control--min .button{min-width:var(--segmented-min-button-w)}.ihabdevteam-core-scope .segmented-control--24 .button{min-width:48px}.ihabdevteam-core-scope .segmented-control--32 .button,.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}.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:8px;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:8px}.ihabdevteam-core-scope .segmented-control:has(>.button:nth-child(5)){justify-content:center}}";oe(b6);function $a(e){const{t}=we.useTranslation(),{options:a=[],value:o=a.find(v=>!v.disabled)?.key??a[0]?.key,onChange:n=v=>{},className:i="",size:s=40,shape:c="pill",useBG:d=!0,fullWidth:u=!1,minButtonWidth:p,ariaLabel:h}=e||{},m=l.useRef(null),g=a.filter(v=>!v.disabled),f=v=>{if(!g.length)return;const _=Math.max(0,g.findIndex(k=>k.key===o)),y=v==="first"?g[0]:v==="last"?g[g.length-1]:g[(_+v+g.length)%g.length];y&&(n(y.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(k=>k.dataset.segkey===y.key)?.focus())},x=v=>{switch(v.key){case"ArrowRight":case"ArrowDown":f(1);break;case"ArrowLeft":case"ArrowUp":f(-1);break;case"Home":f("first");break;case"End":f("last");break;default:return}v.preventDefault()},C=v=>{const _=y=>typeof y=="string"||typeof y=="number";if(!(!_(v.label)||v.count==null||v.count===!1||!_(v.count)))return`${v.label}, ${v.count}`},b=g.some(v=>v.key===o)?o:g[0]?.key;return r.jsx("div",{ref:m,onKeyDown:x,className:je("segmented-control",`segmented-control--${c}`,`segmented-control--${s}`,u&&"segmented-control--full",!d&&"segmented-control--no-bg",p!=null&&"segmented-control--min",i),style:p!=null?{"--segmented-min-button-w":`${p}px`}:void 0,role:"radiogroup","aria-label":h??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(v=>r.jsx(he,{htmlType:"button",role:"radio","aria-checked":v.key===o,"data-segkey":v.key,tabIndex:v.key===b?0:-1,label:v.label,count:v.count,ariaLabel:C(v),disabled:v.disabled,className:v.key===o?"is-selected":"",onClick:()=>{v.disabled||n(v.key)},size:s,shape:c,useBorder:!1,useBG:!1},v.key))})}var g6=".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__row-end>*{justify-content:flex-end}.ihabdevteam-core-scope .toolbar__pager{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;gap:var(--spacing-s)}.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)}";oe(g6);function Bi({count:e,search:t,segment:a,filters:o,pageSize:n,pagination:i,actions:s,className:c}){const{t:d}=we.useTranslation(),u=e!=null&&r.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??d("common.totalPrefix","\uCD1D "),r.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),p=!!(t||o?.length||n||i||s);return r.jsxs("div",{className:je("toolbar",c),children:[r.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((h,m)=>r.jsx($a,{size:40,...h},h.ariaLabel??m))]}),p&&r.jsx("div",{className:"toolbar__row",children:r.jsxs("div",{className:"toolbar__row-end",children:[t&&r.jsx(vo,{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}),o?.map((h,m)=>r.jsx(ba,{size:40,options:h.options,value:h.value,onChange:h.onChange,ariaLabel:h.ariaLabel},m)),(n||i)&&r.jsxs("div",{className:"toolbar__pager",children:[n&&r.jsx(ba,{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&&r.jsx(fn,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),s]})})]})}var f6=".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)}";oe(f6);function Hg(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(Hg).join(""):""}function v6(e){let t=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|