@ihabdevteam/core 0.313.0 → 0.314.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 +29 -0
- package/dist/components.cjs.js +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 +1 -1
- package/dist/packages/core/src/utils/CategoryData.js +3 -1
- package/dist/packages/core/src/utils/categories.js +4 -1
- 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"},jv={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"}}},Lv={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Mv={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"}},$v={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},Rv={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"},Pv={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},zv={ariaLabel:"\uC120\uD0DD \uD0ED"},Iv={ariaLabel:"\uD0ED"},Ov={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Fv={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Hv={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"}},Vv={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"}},Wv={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"}},Gv={manage:{unit:"\uAC74"}},Uv={cancelLabel:"\uCDE8\uC18C"},qv={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},Yv={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"},Kv={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},Zv={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"},Xv={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Jv={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Qv={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},eC={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},tC={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"}},aC={clearSelection:"\uC120\uD0DD \uD574\uC81C"},oC={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},rC={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},nC={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},iC={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},sC={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},lC={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},cC={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"},uC={common:K1,calendar:Z1,passCard:X1,searchField:J1,rating:Q1,colorPicker:ev,dropdown:tv,accordion:av,header:ov,nav:rv,settings:nv,usage:iv,account:sv,help:lv,training:cv,trainingSettings:uv,customers:dv,payment:pv,coupons:hv,visits:mv,company:bv,trainingType:gv,myWordTraining:fv,myWordTable:vv,keyWords:Cv,wordTable:xv,wordSearch:_v,wordPrint:yv,topic:wv,accessLinkManager:kv,login:Bv,trainingPlanRun:Av,device:Sv,manager:Ev,wordPairs:Dv,game:Nv,footer:Tv,landing:jv,date:Lv,trainingSetPage:Mv,wordTrainingPreview:$v,wordData:Rv,textField:Pv,segmentedControl:zv,tabs:Iv,fileUpload:Ov,avatar:Fv,myHomework:Hv,trainingStatus:Vv,store:Wv,homework:Gv,inquiry:Uv,progress:qv,trainingMiss:Yv,table:Kv,wordScore:Zv,topBanner:Xv,datePicker:Jv,report:Qv,tooltip:eC,phonemeProfile:tC,bulkBar:aC,debug:oC,badge:rC,loader:nC,soundCompass:iC,breadcrumb:sC,board:lC,promoBannerBg:cC},dC={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount:"{{count}} downloads",descriptionFor:"About {{name}}",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},pC={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit",visitCount:"{{count}} visit(s)",statusCount:"{{count}} {{label}}"},hC={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},mC={clearAriaLabel:"Clear search"},bC={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},gC={selected:"selected"},fC={placeholder:"Select"},vC={collapse:"Collapse",expand:"Expand"},CC={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},xC={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",feedback:"Report a bug",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu",badgeLabel:"{{label}}, {{count}}",badgeInsideLabel:"{{label}}, {{count}} notifications inside"},_C={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."}}},yC={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"}},wC={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"}}},kC={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},BC={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",selectInOrder:"Select the cards in the order you heard.",stop:"Stop",preview:"Preview",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error",synthesizing:"Preparing the sound\u2026"}},AC={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"},SC={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"}},EC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},DC={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"}},NC={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},TC={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},jC={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."}},LC={comingSoon:"Word training is coming soon."},MC={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"},$C={title:"Key Words",empty:"No key words available."},RC={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",topInfo:"Header",bottomInfo:"Footer",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"Incorrect"},button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse they appear when you hover the cell; with a keyboard, when focus reaches it.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},PC={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}}"}},zC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},IC={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"}},OC={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"}},FC={passwordPlaceholder:"Enter password"},HC={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"}},VC={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"}},WC={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",countLabel:"Number of phonemes",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},GC={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"}},UC={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"},qC={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"}}},YC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},KC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},ZC={answer:"Answer",distractor:"Distractor"},XC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},JC={clearAriaLabel:"Clear input"},QC={ariaLabel:"Select tab"},ex={ariaLabel:"Tabs"},tx={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},ax={ariaLabel:"User avatar"},ox={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"}},rx={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"}},nx={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)"}},ix={manage:{unit:"item(s)"}},sx={cancelLabel:"Cancel"},lx={subtitle:"Select a topic to start listening practice."},cx={steps:"Step {{current}} of {{total}}"},ux={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"},dx={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},px={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}}"},hx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},mx={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},bx={previewRegion:"Report preview \u2014 scrollable sideways"},gx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},fx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},vx={clearSelection:"Clear selection"},Cx={showResult:"Show {{type}} result"},xx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},_x={loading:"Loading"},yx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},wx={ariaLabel:"Breadcrumb"},kx={empty:"No items yet."},Bx={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"},Ax={common:dC,calendar:pC,passCard:hC,searchField:mC,rating:bC,colorPicker:gC,dropdown:fC,accordion:vC,header:CC,nav:xC,settings:_C,usage:yC,account:wC,help:kC,training:BC,trainingSettings:AC,customers:SC,payment:EC,coupons:DC,visits:NC,company:TC,trainingType:jC,myWordTraining:LC,myWordTable:MC,keyWords:$C,wordTable:RC,wordSearch:PC,wordPrint:zC,topic:IC,accessLinkManager:OC,login:FC,device:HC,manager:VC,wordPairs:WC,game:GC,footer:UC,landing:qC,date:YC,trainingSetPage:KC,wordTrainingPreview:ZC,wordData:XC,textField:JC,segmentedControl:QC,tabs:ex,fileUpload:tx,avatar:ax,myHomework:ox,trainingStatus:rx,store:nx,homework:ix,inquiry:sx,trainingPlanRun:lx,progress:cx,trainingMiss:ux,table:dx,wordScore:px,topBanner:hx,datePicker:mx,report:bx,tooltip:gx,phonemeProfile:fx,bulkBar:vx,debug:Cx,badge:xx,loader:_x,soundCompass:yx,breadcrumb:wx,board:kx,promoBannerBg:Bx};const jn="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"},qC={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"}}},YC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},KC={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},ZC={answer:"Answer",distractor:"Distractor"},XC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},JC={clearAriaLabel:"Clear input"},QC={ariaLabel:"Select tab"},ex={ariaLabel:"Tabs"},tx={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},ax={ariaLabel:"User avatar"},ox={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"}},rx={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"}},nx={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)"}},ix={manage:{unit:"item(s)"}},sx={cancelLabel:"Cancel"},lx={subtitle:"Select a topic to start listening practice."},cx={steps:"Step {{current}} of {{total}}"},ux={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"},dx={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},px={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}}"},hx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},mx={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},bx={previewRegion:"Report preview \u2014 scrollable sideways"},gx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},fx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},vx={clearSelection:"Clear selection"},Cx={showResult:"Show {{type}} result"},xx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},_x={loading:"Loading"},yx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},wx={ariaLabel:"Breadcrumb"},kx={empty:"No items yet."},Bx={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"},Ax={common:dC,calendar:pC,passCard:hC,searchField:mC,rating:bC,colorPicker:gC,dropdown:fC,accordion:vC,header:CC,nav:xC,settings:_C,usage:yC,account:wC,help:kC,training:BC,trainingSettings:AC,customers:SC,payment:EC,coupons:DC,visits:NC,company:TC,trainingType:jC,myWordTraining:LC,myWordTable:MC,keyWords:$C,wordTable:RC,wordSearch:PC,wordPrint:zC,topic:IC,accessLinkManager:OC,login:FC,device:HC,manager:VC,wordPairs:WC,game:GC,footer:UC,landing:qC,date:YC,trainingSetPage:KC,wordTrainingPreview:ZC,wordData:XC,textField:JC,segmentedControl:QC,tabs:ex,fileUpload:tx,avatar:ax,myHomework:ox,trainingStatus:rx,store:nx,homework:ix,inquiry:sx,trainingPlanRun:lx,progress:cx,trainingMiss:ux,table:dx,wordScore:px,topBanner:hx,datePicker:mx,report:bx,tooltip:gx,phonemeProfile:fx,bulkBar:vx,debug:Cx,badge:xx,loader:_x,soundCompass:yx,breadcrumb:wx,board:kx,promoBannerBg:Bx};const jn="0.314.0",Tr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],So="ko",ms="ihab_display_language";function lp(){if(typeof window>"u")return So;try{const e=localStorage.getItem(ms);if(e&&Tr.some(t=>t.code===e))return e}catch{}return So}function Sx(e){try{localStorage.setItem(ms,e)}catch{}}function cp(e){try{document.documentElement.lang=e}catch{}}yt.on("languageChanged",cp),cp(lp()),yt.use(_e.initReactI18next).init({resources:{ko:{translation:uC},en:{translation:Ax}},lng:lp(),fallbackLng:So,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const up=s.createContext({locale:So,supportedLocales:Tr});function Ex(){return s.useContext(up)}function Dx(e){const t=o=>Tr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:So}function Nx({locale:e=So,children:t}){const a=Dx(e);s.useEffect(()=>{yt.language!==a&&yt.changeLanguage(a)},[a]);const o=s.useMemo(()=>({locale:a,supportedLocales:Tr}),[a]);return r.jsx(up.Provider,{value:o,children:t})}function De(...e){return e.filter(Boolean).join(" ")}var Tx=".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}";ce(Tx);const dp=new Set,Ko=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function ra(e,...t){!Ko||dp.has(e)||(dp.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 Ns(e){a8(e)}function Mn(e,t){if(!e)return null;const a=Jo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ts(e){if(!e)return!1;const t=Jo();if(!t)throw new Ds("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Pr(e){if(!e)return null;const t=Jo();if(!t)throw new Ds("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function $n(e){const t=Jo();if(!t)throw new Ds("downloadSound");return t.download(e)}function js(){return Jo()?.noiseBaseUrl??"/sounds/noise"}function Ls(){const e=Number(Jo()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function o8(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 Ms="__ihab_core_tts_config__";function ah(e){globalThis[Ms]=e}function zr(){return globalThis[Ms]?.urlResolver??null}function $s(){return globalThis[Ms]?.fallbackUrlResolver??null}const r8=new Map;function oh(){r8.clear()}const rh="__ihab_core_pronunciation_resolver__";function nh(e){globalThis[rh]=e}function Rs(){return globalThis[rh]??null}let co=null;const Ir=new WeakMap,Ps=new WeakMap,zs=new WeakMap;let ih=!1;const sh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function n8(){if(ih||typeof document>"u")return;ih=!0;const e=()=>{try{co&&co.state!=="running"&&co.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function lh(){if(co)return co;try{const e=window.AudioContext||window.webkitAudioContext;return e?(co=new e,n8(),co):null}catch{return null}}function Or(){try{co?.resume()}catch{}}function Is(e,t){const a=Ir.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=sh(Ps.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const l={gain:n,analyser:i};return Ir.set(t,l),l}catch{return null}}function Qo(e){if(!e)return Promise.resolve(null);const t=Ir.get(e);if(t)return Promise.resolve(t.analyser);const a=lh();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Is(a,e)?.analyser??null);const o=zs.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Is(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{zs.delete(e)});return zs.set(e,n),n}function Os(e){if(!e)return null;const t=Ir.get(e);if(t)return t.analyser;const a=lh();return a?a.state==="running"?Is(a,e)?.analyser??null:(Qo(e),null):null}function $a(e,t){const a=sh(t);Ps.set(e,a);const o=Ir.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 er(e){return Ps.get(e)??e.volume}function Fs(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 ch="__ihab_core_image_config__";function uh(e){globalThis[ch]=e}function uo(){return globalThis[ch]??null}const Fr="word_image_existence_map_v1";let Ra=null,No=0,dh=-1,Hr=null,ph=-1,hh=new Set;const Rn=new Map;function tr(){if(Ra)return Ra;try{const e=typeof localStorage<"u"?localStorage.getItem(Fr):null,t=e?JSON.parse(e):null;Ra=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Ra={}}return Ra}let Hs=null;function i8(){Hs||(Hs=setTimeout(()=>{Hs=null;try{typeof localStorage<"u"&&Ra&&localStorage.setItem(Fr,JSON.stringify(Ra))}catch{}},200))}function Pn(e,t){return`${e}_${t??1}`}async function Vr(e,t){const a=tr(),o=Pn(e,t);if(o in a)return a[o];if(Rn.has(o))return Rn.get(o);const n=uo();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:o8(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Rn.delete(o),c===null?!1:(a[o]=c,No++,i8(),c)));return Rn.set(o,l),l}function mh(e,t){const a=tr(),o=Pn(e,t);return o in a?a[o]:void 0}async function bh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=tr(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(u=>!(Pn(u)in i));let c=0;if(l.length>0){let u=0;const d=Array.from({length:Math.min(o,l.length)},async()=>{for(;u<l.length;){const h=u++,p=l[h],m=Pn(p);if(!a&&m in i){c++,n?.(c,l.length);continue}try{await Vr(p)}catch{}c++,n?.(c,l.length)}});await Promise.all(d)}try{typeof localStorage<"u"&&Ra&&localStorage.setItem(Fr,JSON.stringify(Ra))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function zn(){const e=tr();if(dh===No)return Hr?{...Hr}:null;const t=Object.values(e);return Hr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},dh=No,Hr?{...Hr}:null}function gh(){const e=tr();if(ph===No)return hh;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return hh=t,ph=No,t}function fh(e){const t=tr();Object.assign(t,e),No++;try{typeof localStorage<"u"&&localStorage.setItem(Fr,JSON.stringify(t))}catch{}}function Vs(){Ra={},No++;try{typeof localStorage<"u"&&localStorage.removeItem(Fr)}catch{}}const s8={\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"},Ws={\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 l8(e,t){return(Ws[e]?.glide??"")!==(Ws[t]?.glide??"")}function To(e){return s8[e]??e}const bt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],wt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Rt=["","\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 We(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 Gs(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>We(o)),e.set(t,a)),a}}function Ba(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function Us(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=We(e[n]),l=We(t[n]);if(!i||!l)return"random";if(i.cho===l.cho&&i.jung===l.jung&&i.jong===l.jong)continue;a++;const c=i.cho!==l.cho,u=i.jung!==l.jung,d=i.jong!==l.jong;(c?1:0)+(u?1:0)+(d?1:0)>1?o="multi":c?o="cho":u?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function qs(e){const t=We(e[0]||"");return t?bt[t.cho]:""}function Ys(e){return[...e].map(t=>{const a=We(t);return a?bt[a.cho]:t}).join("")}function Ks(e){return!!e&&[...e].every(t=>bt.includes(t))}function vh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),Ks(t)?Ys(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function Ch(e,t){return Zs(t)(e)}function Zs(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>bt.includes(l),o=l=>wt.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":We(l)?"syl":"other"),i=t.map(l=>We(l));if(n.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let h=0;h<t.length;h++){const p=c[u+h],m=n[h];if(m==="cho"){if(qs(p)!==t[h]){d=!1;break}}else if(m==="jung"){const v=We(p);if(!v||wt[v.jung]!==t[h]){d=!1;break}}else{const v=i[h];if(v&&v.jong===0){const C=We(p);if(!C||C.cho!==v.cho||C.jung!==v.jung){d=!1;break}}else if(p!==t[h]){d=!1;break}}}if(d)return!0}return!1}}const In={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"]},xh=Object.fromEntries(Object.entries(In).map(([e,t])=>[t.join(""),Rt[Number(e)]]));function c8(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o){if(bt[o.cho]===t)return!0;if(o.jong>0){if(Rt[o.jong]===t)return!0;const n=In[o.jong];if(n&&n.includes(t))return!0}}}return!1}function _h(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o&&bt[o.cho]===t)return!0}return!1}function yh(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o&&wt[o.jung]===t)return!0}return!1}function wh(e,t,a){const o=Rt[e];return o===t?!0:a==="phoneme"&&To(o)===To(t)}function kh(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=We(o);if(!(!n||n.jong<=0)&&wh(n.jong,t,a))return!0}return!1}function jo(e){if(!e)return 0;let t=0;for(const a of e)We(a)&&t++;return t}function Xs(e){if(!e)return!1;let t=!1;for(const a of e){const o=We(a);if(o&&(t=!0,o.jong>0))return!1}return t}function Js(e,t,a){return e.jong<=0?!1:t.some(o=>wh(e.jong,o,a))}function Qs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=We(n[l]);if(!c||t.cho&&!t.cho.includes(bt[c.cho])||t.jung&&!t.jung.includes(wt[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!Js(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 l=1;l<n.length-1;l++)if(i(l))return!0;return!1}for(let l=0;l<n.length;l++)if(i(l))return!0;return!1}function Bh(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(We).filter(u=>!!u);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const u=bt[n[0].cho];return u!=="\u3147"&&t.cho.includes(u)}if(a==="tail")return t.jongNone?n[i].jong===0:t.jong?Js(n[i],t.jong,o):!1;const l=!t.cho||n.some((u,d)=>{if(d===0)return!1;const h=bt[u.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((u,d)=>d!==i&&u.jong===0):!t.jong||n.some((u,d)=>d!==i&&Js(u,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function el(e){return e.includes(",")||e.includes("_")}function Ah(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=xh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>We(t)?{kind:"syllable",ch:t}:bt.includes(t)?{kind:"cho",jamo:t}:wt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function u8(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=We(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=We(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=We(e);return!!a&&bt[a.cho]===t.jamo}case"jung":{const a=We(e);return!!a&&wt[a.jung]===t.jamo}case"template":{const a=We(e);return!(!a||t.cho!=="_"&&bt[a.cho]!==t.cho||t.jung!=="_"&&wt[a.jung]!==t.jung||t.jong!=="_"&&Rt[a.jong]!==t.jong)}case"invalid":return!1}}function tl(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>Ah(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,l)=>u8(o[n+l],i)))return!0;return!1}function Sh(e){const t=e.split(",").flatMap(i=>Ah(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 l=We(i.ch);l&&(a.add(bt[l.cho]),o.add(wt[l.jung]),l.jong!==0&&n.add(Rt[l.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 d8(e){return!!We(e)||bt.includes(e)||wt.includes(e)}function Eh(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],l=n[1],c=n.slice(2).join(""),u=i===void 0||i==="_"||bt.includes(i),d=l===void 0||l==="_"||wt.includes(l),h=c===""||c==="_"||Rt.filter(Boolean).includes(c)||!!xh[c];if(u&&d&&h)continue;return{ok:!1}}if(![...o].every(d8))return{ok:!1}}}return{ok:!0}}const p8={cho:bt.length,jung:wt.length,jong:Rt.length};function h8(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>We(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const u=p8[t],d=new Set,h=[];(function p(m,v){if(v.length===a){h.push([...v]);return}for(let C=m;C<c;C++)v.push(C),p(C+1,v),v.pop()})(0,[]);for(const p of h)if((function m(v,C){if(d.size>=n)return;if(v===p.length){const x=C.map(b=>Ba(b.cho,b.jung,b.jong)).join("");x!==e&&o.has(x)&&d.add(x);return}const g=p[v],f=l[g][t];for(let x=0;x<u;x++){if(x===f)continue;const b=C.slice();if(b[g]={...C[g],[t]:x},m(v+1,b),d.size>=n)return}})(0,l),d.size>=n)break;return[...d]}function m8(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=We(e[o]),i=We(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 Dh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(el(a))return e.filter(u=>tl(u.word,a));const o=Zs(a),n=[...a].length,i=u=>!!u&&o(u.normalize("NFC").slice(0,n)),l=[],c=[];for(const u of e)(o(u.word)||o(u.pronunciation??""))&&(i(u.word)||i(u.pronunciation??"")?l:c).push(u);return l.concat(c)}const al="word_pair_index_v2",ol="word_pair_index_sig_v2";let Pa=null,Wr=null;function Nh(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(al),t=localStorage.getItem(ol);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function b8(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(al,JSON.stringify(e)),localStorage.setItem(ol,t)}catch{}}function g8(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 f8(e,t){const a=new Set,o=[];for(const d of e){if(!d.word||a.has(d.word))continue;const h=d.pron||d.word,p=Array.from(h).map(We);p.some(m=>m===null)||p.length===Array.from(d.word).length&&(a.add(d.word),o.push({word:d.word,syls:p}))}const n={},i=o.length,l=new Map;for(const d of o){const h=d.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(d)}let c=0;const u=["cho","jung","jong"];for(const d of l.values()){const h=d[0].syls.length;for(let p=0;p<h;p++)for(const m of u){const v=new Map;for(const C of d){let g="";for(let x=0;x<h;x++){x>0&&(g+="~");const b=C.syls[x];x===p?m==="cho"?g+=`*:${b.jung}:${b.jong}`:m==="jung"?g+=`${b.cho}:*:${b.jong}`:g+=`${b.cho}:${b.jung}:*`:g+=`${b.cho}:${b.jung}:${b.jong}`}let f=v.get(g);f||(f=[],v.set(g,f)),f.push(C)}for(const C of v.values())if(!(C.length<2))for(let g=0;g<C.length;g++){const f=C[g];for(let x=g+1;x<C.length;x++){const b=C[x];f.syls[p][m]!==b.syls[p][m]&&(n[f.word]||(n[f.word]={cho:[],jung:[],jong:[]}),n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[f.word][m].push(b.word),n[b.word][m].push(f.word))}}}c+=d.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let rl=0;async function Th(e,t={}){const a=g8(e);if(!t.force){if(Pa&&Wr===a)return Pa;const i=Nh();if(i&&i.sig===a)return Pa=i.index,Wr=a,Pa}const o=++rl,n=await f8(e,t.onProgress);return o===rl&&(Pa=n,Wr=a,b8(n,a)),n}function Lo(){if(Pa)return Pa;const e=Nh();return e?(Pa=e.index,Wr=e.sig,Pa):null}function nl(){rl+=1,Pa=null,Wr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(al),localStorage.removeItem(ol))}catch{}}const il={cho:bt,jung:wt,jong:Rt},Pt=e=>Array.isArray(e)?e.length>0:!!e;function Gr(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&&bt[o.cho]==="\u3147"!=(bt[n.cho]==="\u3147")||o.jung!==n.jung&&l8(wt[o.jung],wt[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function sl(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,l=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Gr(i,n(a.pronOf(c)))||l.push(c)));return l}function On(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return sl(e,n,a)}function ll(e,t,a,o,n,i,l){const c=["cho","jung","jong"].filter(m=>Pt(e[m])),u={};for(const m of c){const v=e[m];u[m]=new Set(Array.isArray(v)?v:[v])}const d=n==="pron",h=new Map;for(const m of t){const v=a(i(m));if(v.some(x=>!x))continue;let C=v;if(!d&&(C=a(m),C.length!==v.length||C.some(x=>!x)))continue;const g=v.length,f=h.get(g);f?f.push({w:m,dPron:v,dPos:C}):h.set(g,[{w:m,dPron:v,dPos:C}])}const p=new Map;for(const[m,v]of h){const C=new Map,g=(f,x)=>{const b=f.dPos[x];return b!=null&&c.every(w=>u[w].has(il[w][b[w]]))};for(const f of v){let x;if(l==="head")x=g(f,0)?0:-1;else if(l==="tail")x=g(f,m-1)?m-1:-1;else if(l==="mid"){const w=c.includes("cho")?1:0,_=c.includes("jong")?m-2:m-1;x=-1;for(let A=w;A<=_;A++)if(g(f,A)){x=A;break}}else x=f.dPos.findIndex(w=>w!=null&&c.every(_=>u[_].has(il[_][w[_]])));if(x<0)continue;const b=C.get(x);b?b.push(f):C.set(x,[f])}for(const[f,x]of C){const b=c.includes("cho"),w=c.includes("jung"),_=c.includes("jong"),A=B=>{let k="";for(let S=0;S<m;S++){const E=B[S];S===f?k+=(b?"*":E.cho)+"."+(w?"*":E.jung)+"."+(_?"*":E.jong)+".":k+=E.cho+"."+E.jung+"."+E.jong+"."}return k},y=new Map;for(const B of v){const k=A(B.dPron),S=y.get(k);S?S.push(B):y.set(k,[B])}for(const B of x){const k=y.get(A(B.dPron))??[],S=[];for(const E of k){if(E.w===B.w)continue;let D=!0;for(const O of c){const T=B.dPron[f][O],W=E.dPron[f][O];if(W===T){D=!1;break}if(d&&u[O].has(il[O][W])){D=!1;break}}D&&(o&&Gr(B.dPron,E.dPron)||S.push(E.w))}p.set(B.w,S)}}}return p}function cl(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function ul(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const o=Math.ceil(e/a);return Math.max(1,Math.ceil(e/o))}const Fn=0,jh=1,Mo=2,dl=3,v8=4,Hn=5,pl=6,Vn=7,C8=8,hl=9,ar=10,x8=11,Ur=12,_8=13,qr=14,Wn=15,Gn=16,Yr=17,y8=18,Aa=0,Ka=1,w8=3,po=4,ml=5,Kr=6,za=7,Ft=8,Lh=9,Mh=10,Un=11,$h=12,bl=13,or=15,qn=16,Za=17,Rh=18,gl=21,fl=27,k8=20,B8={1:Fn,2:jh,4:Mo,7:dl,8:Hn,16:pl,17:Vn,19:hl,20:ar,22:Ur,23:qr,24:Wn,25:Gn,26:Yr},A8={[w8]:[Ka,ar],[ml]:[po,Ur],[Lh]:[Ft,Fn],[Mh]:[Ft,pl],[Un]:[Ft,Vn],[$h]:[Ft,ar],[bl]:[Ft,Gn],14:[Ft,Yr],[Rh]:[Za,ar]},S8={[Kr]:Mo,[or]:Hn},vl={2:Ka,24:Ka,3:Ka,9:Ka,5:po,6:po,19:za,20:za,22:za,23:za,25:za,27:za,11:Ft,12:Ft,13:Ft,15:Ft,10:qn,14:Za,18:Za,26:Za},Ph={[Fn]:Wn,[dl]:Gn,[Vn]:Yr,[Ur]:qr},zh={[Fn]:jh,[dl]:v8,[Vn]:C8,[hl]:ar,[Ur]:_8},E8=new Set([ml,Mh,Un,$h,bl,or,Rh]),D8=new Set(["\uBC1F"]);function Ih(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(We);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const l=n[i],c=n[i+1],u=l.jong;if(!c){l.jong=vl[l.jong]??l.jong;break}if(l.jong===Aa)continue;if(c.cho===x8){if(c.jung===k8){if(l.jong===za){l.jong=Aa,c.cho=Ur;continue}if(l.jong===25){l.jong=Aa,c.cho=qr;continue}if(l.jong===bl){l.jong=Ft,c.cho=qr;continue}}if(l.jong===fl){l.jong=Aa;continue}const h=S8[l.jong];if(h!==void 0){l.jong=Aa,c.cho=h;continue}const p=A8[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=B8[l.jong];m!==void 0&&(l.jong=Aa,c.cho=m);continue}if((l.jong===fl||l.jong===Kr||l.jong===or)&&Ph[c.cho]!==void 0){c.cho=Ph[c.cho],l.jong=l.jong===Kr?po:l.jong===or?Ft:Aa;continue}if((l.jong===fl||l.jong===Kr||l.jong===or)&&c.cho===hl){c.cho=ar,l.jong=l.jong===Kr?po:l.jong===or?Ft:Aa;continue}if(c.cho===y8){if(l.jong===ml){l.jong=po,c.cho=qr;continue}if(l.jong===Lh){l.jong=Ft,c.cho=Wn;continue}if(l.jong===Un){l.jong=Ft,c.cho=Yr;continue}const h=vl[l.jong]??l.jong;if(h===Ka){l.jong=Aa,c.cho=Wn;continue}if(h===za){l.jong=Aa,c.cho=Gn;continue}if(h===Za){l.jong=Aa,c.cho=Yr;continue}}let d=vl[l.jong]??l.jong;u===Un&&D8.has(a[i])&&(d=Za),l.jong=d,zh[c.cho]!==void 0&&(d===Ka||d===za||d===Za||E8.has(u))&&(c.cho=zh[c.cho]),(c.cho===Mo||c.cho===pl)&&(l.jong===Ka?l.jong=gl:l.jong===za?l.jong=po:l.jong===Za&&(l.jong=qn)),c.cho===Hn?l.jong===po?l.jong=Ft:l.jong===qn||l.jong===gl?c.cho=Mo:l.jong===Ka?(l.jong=gl,c.cho=Mo):l.jong===Za&&(l.jong=qn,c.cho=Mo):l.jong===Ft&&c.cho===Mo&&(c.cho=Hn)}return n.map(i=>Ba(i.cho,i.jung,i.jong)).join("")}const rr=/[ㄱ-ㅎ]/,N8=/[ㅏ-ㅣ]/;function Zr(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||rr.test(a)||N8.test(a))return a}return null}function Cl(e){const t=Zr(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":rr.test(t)?"\uC774":"\uAC00"}function xl(e){return`${e}${Cl(e)}`}function _l(e){const t=Zr(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":rr.test(t)?"\uC744":"\uB97C"}function yl(e){return`${e}${_l(e)}`}function wl(e){const t=Zr(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":rr.test(t)?"\uC740":"\uB294"}function Oh(e){return`${e}${wl(e)}`}function kl(e){const t=Zr(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":rr.test(t)?"\uACFC":"\uC640"}function Fh(e){return`${e}${kl(e)}`}function Bl(e){const t=Zr(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":rr.test(t)?"\uC73C\uB85C":"\uB85C"}function Hh(e){return`${e}${Bl(e)}`}function Al(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function lt(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 Sa(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?lt(e,a):lt(e,a).slice(0,t)}const nr={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 T8(e){const t=e?nr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Sl=bt.indexOf("\u3147"),ir={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!==Sl},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!==Sl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!In[e.jong]&&e.cho!==Sl}},j8=new Set([]);function Vh(e){return e in ir}function Wh(e,t){const a=ir[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=We(o[0]);return!!n&&a.syllable(n)}function Gh(e){return j8.has(e)}function L8(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Xr(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function El(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 Uh(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 Dl={\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 qh(e){if([...e].length!==1)return[e];const t=We(e);if(!t)return[e];const a=[bt[t.cho],wt[t.jung]];return t.jong!==0&&a.push(Rt[t.jong]),a}function Nl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Dl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${L8(o(c))}`).join(" "),i=a[a.length-1],l=`"${i}"${Xr(o(i))}`;return`${n} ${l} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function M8(e,t){return Nl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Tl=e=>Dl[e]??e,$8={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function R8(e,t){const a=(u,d)=>{const h=[...u].length===1?We(u):null,p=[...d].length===1?We(d):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(v=>h[v]!==p[v]);return m.length===1?{part:m[0],sx:h,sy:p}:null},o=a(e,t)??a(Jr(e),Jr(t));if(!o)return null;const n=o.part==="cho"?bt:o.part==="jung"?wt:Rt,i=n[o.sx[o.part]],l=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!l?"remove":"swap";return{part:o.part,from:i,to:l,kind:c}}function P8(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",l=i?o||a:o,c=R8(l,n);if(c){const u=i?`"${a}"`:`"${a}"\uC758 "${l}"`,d=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${Xr(Tl(c.from))}`,p=`"${c.to}"${El(Tl(c.to))}`;return c.kind==="add"?`${u}${d} \uBC1B\uCE68 "${c.to}"${Xr(Tl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${u}${d} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${u}${d} ${$8[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Xr(a)} "${n}"${El(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Xr(o)} "${n}"${El(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function z8(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}"${Uh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Uh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Yh(e,t,a){switch(T8(e)){case"synthesis":return M8(e,a);case"substitution":return P8(e,t);case"deletion":return z8(e,t);default:return""}}function Kh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Dl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,l=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=l?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=l?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=l?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=l?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const I8=e=>e==null?[]:Array.isArray(e)?e:[e];function Jr(e){if([...e].length!==1)return"";const t=We(e);if(!t)return"";const a=To(Rt[t.jong]),o=a===""?0:Rt.indexOf(a);return Ba(t.cho,t.jung,o<0?0:o)}function Yn(e,t){return t.get(e)||Jr(e)||e}function sr(e){return e?Pt(e.cho)?"cho":Pt(e.jung)?"jung":Pt(e.jong)?"jong":null:null}function Xa(e,t){const a=(n,i)=>!Pt(n)||I8(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Rt[e.jong]);return a(t.cho,bt[e.cho])&&a(t.jung,wt[e.jung])&&o}function $o(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>We(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>We(i)):n.map(i=>We(i))}function Ro(e,t,a,o,n){const i=t==="cho"?bt:t==="jung"?wt:Rt,l=e[t],c=[],u=p=>t==="jung"?F8(Yn(p,n)):Yn(p,n),d=new Map([[u(a),-1]]),h=lt(i.map((p,m)=>m).filter(p=>p!==l&&(t!=="cho"||i[p]!=="\u3147")&&(t!=="jong"||p!==0)));for(const p of h){if(c.length>=o)break;const m=t==="cho"?Ba(p,e.jung,e.jong):t==="jung"?Ba(e.cho,p,e.jong):Ba(e.cho,e.jung,p),v=u(m),C=d.get(v);if(C!==void 0){t==="jung"&&C>=0&&n.has(m)&&!n.has(c[C])&&(c[C]=m);continue}d.set(v,c.length),c.push(m)}return c}const O8={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function F8(e){if([...e].length!==1)return e;const t=We(e);if(!t)return e;const a=O8[wt[t.jung]];return a?Ba(t.cho,wt.indexOf(a),t.jong):e}function jl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>We(p));if(c.some(p=>!p))return null;const u=$o(e,a,o);if(u.some(p=>!p))return null;const d=sr(t);let h=d&&t?u.map((p,m)=>Xa(p,t)?m:-1).filter(p=>p>=0):[0,1];if(i!=null&&(h=h.filter(p=>p!==i)),!h.length)return null;for(const p of lt(h)){const m=l[p];if(!n.has(m))continue;const v=Ro(c[p],d??"cho",m,40,a),C=[];for(const g of v)if(g!==m&&n.has(g)&&!C.includes(g)&&C.push(g),C.length>=2)break;if(!(C.length<2))return{question:e,distractors:[m,...C]}}return null}function Ll(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>We(p));if(c.some(p=>!p))return null;const u=$o(e,a,o);if(u.some(p=>!p))return null;const d=sr(t),h=d&&t?u.map((p,m)=>Xa(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of lt(h))for(const m of lt([0,1,2].filter(v=>v!==p&&(i==null||v===i)))){const v=[0,1,2].filter(b=>b!==m),C=v.map(b=>l[b]).join("");if(!n.has(C))continue;const g=v.indexOf(p),f=Ro(c[p],d??"cho",l[p],40,a),x=[];for(const b of f){const w=v.map(A=>l[A]);w[g]=b;const _=w.join("");if(_!==C&&n.has(_)&&!x.includes(_)&&x.push(_),x.length>=2)break}if(!(x.length<2))return{question:e,distractors:[C,...x]}}return null}function Ml(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const u=[];for(let h=1;h<=c-1;h++)u.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),u.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const d=sr(t);for(const{remain:h,dropped:p,droppedEnd:m}of lt(u)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const v=[...h],C=v.map(x=>We(x));if(C.some(x=>!x))continue;const g=$o(h,a,o);if(g.some(x=>!x))continue;const f=d&&t?g.map((x,b)=>Xa(x,t)?b:-1).filter(x=>x>=0):v.map((x,b)=>b);if(f.length)for(const x of lt(f)){const b=Ro(C[x],d??"cho",v[x],40,a),w=[];for(const _ of b){const A=[...v];A[x]=_;const y=A.join("");if(y!==h&&n.has(y)&&!w.includes(y)&&w.push(y),w.length>=2)break}if(w.length>=2)return{question:e,distractors:[h,...w],dropped:p}}}return null}function $l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=We(a.get(e)||e);if(!l||l.jong===0)return null;const c=Ba(l.cho,l.jung,0),u=Ro({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}const Rl=bt.indexOf("\u3147");function Pl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=We(a.get(e)||e);if(!l||l.jong!==0||l.cho===Rl)return null;const c=Ba(Rl,l.jung,0),u=Ro({cho:Rl,jung:l.jung,jong:0},"jung",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}function zl(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 l=n+"|"+i+"|";for(let u=0;u<n;u++)l+=u===i?"*":o[u];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function Il(e,t,a,o,n,i=null,l=null,c=2){const u=[...e],d=u.length;if(d<2||d>3)return null;const h=u.map(b=>We(b));if(h.some(b=>!b))return null;const p=$o(e,a,o);if(p.some(b=>!b))return null;const m=b=>a.get(b)??b,v=m(e),C=!!t&&(Pt(t.cho)||Pt(t.jung)||Pt(t.jong)),g=!!l&&(Pt(l.cho)||Pt(l.jung)||Pt(l.jong)),f=b=>{let w=d+"|"+b+"|";for(let _=0;_<d;_++)w+=_===b?"*":u[_];return w};let x;if(i!=null){if(i>=d||C&&!Xa(p[i],t))return null;x=[i]}else C?x=p.map((b,w)=>Xa(b,t)?w:-1).filter(b=>b>=0):x=Array.from({length:d},(b,w)=>w);for(const b of lt(x)){const w=n.get(f(b))??[],_=[],A=[];for(const E of w){if(E===e)continue;const D=[...E].map(j=>We(j)),O=h[b],T=D[b];if(!O||!T)continue;let W=0;if(O.cho!==T.cho&&W++,O.jung!==T.jung&&W++,O.jong!==T.jong&&W++,!(W<c||m(E)===v))if(g){const j=$o(E,a,o)[b];j&&Xa(j,l)?_.push(E):A.push(E)}else _.push(E)}if(!_.length)continue;const y=lt(_)[0],B=[],k=new Set([v,m(y)]),S=g?A:_.filter(E=>E!==y);for(const E of lt(S)){const D=m(E);if(!k.has(D)&&(k.add(D),B.push(E),B.length>=2))break}if(!g&&B.length<2)for(const E of lt(w)){if(E===e||E===y)continue;const D=m(E);if(!k.has(D)&&(k.add(D),B.push(E),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[y,...B]}}return null}const H8=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof yt?.t=="function"?yt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Qr(e,t){if(t===void 0&&(t=H8()),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 Kn="\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.",V8=()=>{const e=typeof yt?.t=="function"?yt.t("common.networkError",{defaultValue:Kn}):void 0;return typeof e=="string"&&e?e:Kn};function Ol(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Zh(e){return Ol(e)?V8():e}function Xh(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Jh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Qh(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 W8=1e3;function em(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),W8)}const tm="__ihab_core_word_pool__";function G8(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function am(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[tm]=o,G8()}function Po(){return globalThis[tm]??null}const lr=globalThis;function Fl(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function om(e){lr.__ihabTrainingTimeLogger=e}function Hl(e){Fl("time",()=>lr.__ihabTrainingTimeLogger?.(e))}function rm(e){lr.__ihabTrainingCompletionLogger=e}function Vl(e){Fl("completion",()=>lr.__ihabTrainingCompletionLogger?.(e))}function nm(e){lr.__ihabCrosswordLogger=e}function im(e){Fl("crossword",()=>lr.__ihabCrosswordLogger?.(e))}function Zn(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function ia(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Wl(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 Gl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:ia(o.contextCode)??ia(o.itemId)??ia(o.itemCode)??ia(o.id),question:ia(o.question)??ia(o.q)??ia(o.sentence)??ia(o.text)??ia(o.prompt)??ia(o.word)??ia(o.targetSyllable),answer:ia(o.answer),selected:ia(o.selectedText)??ia(o.selected),correct:Wl(o),shownAt:Zn(o.shownAt)??Zn(o.shown_at),answeredAt:Zn(o.answeredAt)??Zn(o.answered_at)}}):[]}function sm(e){return e.filter(t=>t.correct===!1)}let lm=null,cm=null,um=null;function dm(e){lm=e}function pm(e){cm=e}function hm(e){um=e}async function mm(e,t){try{return await lm?.(e,t)??null}catch{return null}}async function bm(){try{return await cm?.()??null}catch{return null}}async function gm(e,t){try{return await um?.(e,t)??null}catch{return null}}const Xn=globalThis;function fm(e){Xn.__ihabNoiseSettingsStore=e}async function Ul(){try{return await Xn.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Jn(e){const t=a=>{};try{const a=Xn.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function cr(e){try{Xn.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function en(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 vm=en;function Cm(e,t){return`${e}/${en(t)}.mp3`}function xm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??en;return async function(i){const l=String(i||"").trim();if(!l)return"";const c=`${n(l)}_${a}.mp3`,u=`${t}/${c}`;try{if(await Ts(u)){const d=await Pr(u);if(d)return d}}catch{}if(e.generator)try{const d=await e.generator(l,u,e);if(d)return d}catch{}try{const d=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(d,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function ql(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 ur="Asia/Seoul",U8=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Qn(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=U8.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 tn=e=>Qn(e);function _m(e){const t=tn(e);return t?t.toLocaleDateString("ko-KR",{timeZone:ur,year:"numeric",month:"short",day:"numeric"}):""}function ym(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:ur,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Yl(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleDateString(a,{timeZone:ur,year:"numeric",month:"short",day:"numeric"}):""}function wm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleString(a,{timeZone:ur,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function km(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:ur,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function Bm(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:ur,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function Ca(){return Ia(new Date)}function Kl(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:Ca()}function ho(){return Zl(Ca())}const q8=540*60*1e3;function ei(e,t,a){return new Date(Date.UTC(e,t,a)-q8)}function Zl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Ia(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function ti(e,t){if(!e)return"";const a=Qn(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),h=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:h})}function ai(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Ia(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),h=o?u:String(Number(u)),p=o?d:String(Number(d));return`${c}${a}${h}${a}${p}${n?".":""}`}function Am(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 Sm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,Y8=String.raw`1[5-9]\d{2}-\d{4}`,Xl=new RegExp(`^(?:${Sm}|${Y8})$`),Jl=new RegExp(`^${Sm}$`);function Em(e){return Xl.test(e)}function Dm(e){return Jl.test(e)}function Nm(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=Ia(e);return t?t.replace(/-/g,"."):void 0}}}function Tm(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function dr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function oi(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 an(e){return(e??0).toLocaleString("ko-KR")}const K8=[{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"}]}],Z8=[{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 Ql=null;function jm(e){Ql=e}function ri(){return Ql?.topicTypes??K8}function ec(){return Ql?.trainingTypes??Z8}const Lm="ihab_theme",Mm="light";function tc(){try{const e=localStorage.getItem(Lm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return Mm}function ac(e){const t=e==="light"||e==="dark"||e==="auto"?e:Mm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(Lm,t)}catch{}}function $m(){ac(tc())}const Rm="ihab_font_scale",X8="medium",J8=["medium","large1","large2","large3"];function oc(){try{const e=localStorage.getItem(Rm);if(J8.includes(e))return e}catch{}return X8}function rc(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(Rm,e)}catch{}}function Pm(){rc(oc())}const mo=[],bo=[],go=[],fo=[],on={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},rn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},Q8={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let nc=null,zm=null,vo=null;function ic({counts:e,forceRefresh:t}={}){const a=Object.assign({},Q8,e||{}),o=Ca(),n=Ia(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&zm===o&&nc===i&&vo)return Object.assign(on,vo.today),Object.assign(rn,vo.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:on,yesterday:rn};const l={LISTEN_IN_NOISE:Sa(mo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(bo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(go,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(fo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return vo&&nc===i&&vo.yesterday&&vo.yesterday.date===n&&(c=vo.yesterday.selection),c||(c={LISTEN_IN_NOISE:Sa(mo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(bo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(go,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(fo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(on,l),Object.assign(rn,c),zm=o,nc=i,vo={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:on,yesterday:rn}}function Im(){return{today:on,yesterday:rn}}function sc(){return{LISTEN_IN_NOISE:mo,SHORT_STORY:bo,LONG_STORY:go,ORDERING_SENTENCE:fo}}let ni=!1,nn=null;async function e3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:va&&va.tagName.toUpperCase()==="SCRIPT"&&va.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 lc(){if(!ni)return nn||(nn=(async()=>{const e=await e3();if(!e){nn=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,l=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),u=String(i.category_sub_code||i.category_sub||i.category_1||""),d=Object.assign({},i,{training_type:l,category_0:c,category_1:u});l==="LISTEN_IN_NOISE"?t.noise.push(d):l==="SHORT_STORY"?t.short.push(d):l==="LONG_STORY"?t.long.push(d):l==="ORDERING_SENTENCE"&&t.order.push(d)}}}catch{nn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}mo.push(...t.noise),bo.push(...t.short),go.push(...t.long),fo.push(...t.order),ni=!0;try{ic()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),nn)}function Om(){return ni}async function cc(e=3e3){const t=lc();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return ni}const uc=[{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."}],Fm=[{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"}]}],ii={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function Hm(e){return uc.map(t=>{const a=ii[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let si=null,Vm=null,Wm=null;function t3(){const e=Po();if(e&&e.entries.length>0){const t=Lo();if(si&&Vm===e&&Wm===t)return si;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 si=o,Vm=e,Wm=t,si}return[]}const Ja=new Proxy([],{get(e,t){const a=t3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function dc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ea(e,t){if(t>=e.length)return lt(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 pc=null,Gm=null;function Co(){const e=Po();if(pc&&Gm===e)return pc;const t=new Map;for(const a of Ja)a.w&&t.set(a.w,a.pron);return pc=t,Gm=e,t}function Ht(e){return Co().get(e)||e}function li(e,t,a=new Set){const o=[];for(const n of lt(e)){if(o.length>=t)break;const i=Ht(n);a.has(i)||(a.add(i),o.push(n))}return o}let a3=0;function Ut(e){return`${e}-rt-${++a3}`}function pr(e){const t=zn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=gh(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ci=new Map;let Um=null,qm=null;function sn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function hc(e){const t=sn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${sn(a.cho)}/${sn(a.jung)}/${sn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=sn(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 mc=new Map;function o3(e){return hc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Po(),a=Lo();(t!==Um||a!==qm)&&(ci.clear(),mc.clear(),Um=t,qm=a);const o=hc(e);return ci.has(o)||ci.set(o,r3(e)),ci.get(o)}function Ym(e){if(!e)return null;const t=l=>l==null?null:Array.isArray(l)?l.length?l:null:[l],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?l=>Xs(l):l=>Qs(l,{cho:a,jung:o,jong:i,jongNone:n}):null}function Km(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?[Ym(a),o?l=>o.has(jo(l)):null].filter(l=>l!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return l=>{if(t&&(!l.grade||!t.has(l.grade)))return!1;if(n.length===0)return!0;const c=i?Ht(l.w):l.w;return n.every(u=>u(c))}}async function r3(e){const{difficulty:t=null,choseong:a=null,composition:o=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,l=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,u=e.phonemeView==="pron"?"pron":"char",d=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&d>=2,m=t==="count",v=a?new Set(Array.isArray(a)?a:[a]):null,C=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Ym(o),C?P=>C.has(jo(P)):null].filter(P=>P!=null):[],f=t==="random"||t===null,x=f||m,b=f||p||m;let w=Ja.filter(P=>!P.w||l&&(!P.grade||!l.has(P.grade))?!1:b?!0:Array.isArray(P.p)&&P.p.length>0);v&&(w=w.filter(P=>{for(const V of v)if(c8(P.w,V))return!0;return!1})),g.length>0&&(w=w.filter(P=>{const V=u==="pron"?Ht(P.w):P.w;return g.every($=>$(V))})),n&&(w=w.filter(P=>P.w[0]===n));let _;if(i){const P=new Set;for(const V of w)if(P.add(V.w),Array.isArray(V.p))for(const $ of V.p)P.add($);if(x)for(const V of Ja)V.w&&P.add(V.w);_=pr(P)}else{const P=new Set;for(const V of w)if(P.add(V.w),Array.isArray(V.p))for(const $ of V.p)P.add($);if(x)for(const V of Ja)V.w&&P.add(V.w);_=P}let A=null;if(p){const P=new Set;for(const V of Ja)V.w&&P.add(V.w);A=i?pr(P):P}const y=w.filter(P=>_.has(P.w)),B=600,k=Array.from(_),S=k.length>B?Ea(k,B):k,E=m&&o!=null&&(Pt(o.cho)||Pt(o.jung)||Pt(o.jong)),D=2500,O=new Map;if(m&&!E&&d>=2){for(const P of k){const V=jo(P),$=O.get(V);$?$.push(P):O.set(V,[P])}for(const[P,V]of O)V.length>D&&O.set(P,Ea(V,D))}const T=Gs();let W=null;if(E){const P=o3(e),V=i?gh():null,$=mc.get(P);W=$&&$.\uC774\uBBF8\uC9C0\uC9D1\uD569===V?$.map:ll(o,k,T,c,u,Ht),mc.set(P,{\uC774\uBBF8\uC9C0\uC9D1\uD569:V,map:W})}const j=500,L=1500,I=e.fullCount?y:t==="random"?y.length>j?Ea(y,j):y:y.length>L?Ea(y,L):y,Y=Lo(),X=[];for(const P of I){let V;const $=Ht(P.w);if(p)V=h8(P.w,t,d,A,24).filter(q=>Ht(q)!==$);else if(m)E?V=(W.get(P.w)??[]).filter(q=>Ht(q)!==$):d<=1?V=On(P.w,Y,{okSet:_,pronOf:Ht,decompOf:T,sameStructureOnly:!1}):V=(O.get(jo(P.w))??[]).filter(q=>{if(q===P.w||Ht(q)===$)return!1;const N=m8($,Ht(q));return d>=5?N>=5:N===d});else if(f){const q=N=>N!==P.w&&N.length===P.w.length&&Ht(N)!==$;if(e.fullCount){const N=Math.max(1,(e.choicesPerItem??3)-1),z=[],M=new Set;for(const F of S){if(!q(F))continue;const H=Ht(F);if(!M.has(H)&&(M.add(H),z.push(F),z.length>=N))break}V=z}else V=S.filter(q)}else{const q=t;V=On(P.w,Y,{kind:q,okSet:_,pronOf:Ht,decompOf:T,sameStructureOnly:!1}),V.length===0&&(V=(S.length>30?Ea(S,30):S).filter(N=>N!==P.w&&Us(P.w,N)===t&&Ht(N)!==$))}if(c&&V.length>0&&(h||m&&!E)){const q=T(Ht(P.w));V=V.filter(N=>!Gr(q,T(Ht(N))))}V.length!==0&&X.push({word:P,usable:V})}return X}async function Zm(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await ba(t)).filter(c=>c.usable.length>=n),l=[];for(const c of lt(i)){if(l.length>=o)break;const u=li(c.usable,n);if(u.length<n)continue;const d=lt([c.word.w,...u]);l.push({id:Ut(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:d,answerIndex:d.indexOf(c.word.w)})}return l}async function n3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,l=[],c=lt([...n]);for(const u of c){if(l.length>=a)break;const d=u.word.w,h=[...u.word.pron||d],p=i&&sr(i)?h.filter(f=>{const x=We(f);return!!x&&Xa(x,i)}):[],m=dc(p.length?p:h);if(!m)continue;const v=n.filter(f=>f.word.w!==d&&f.word.s===u.word.s&&!(f.word.pron||f.word.w).includes(m)&&f.word.pron!==u.word.pron);if(v.length<o)continue;const C=li(v.map(f=>f.word.w),o);if(C.length<o)continue;const g=lt([d,...C]);l.push({id:Ut("HPI-item"),index:l.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return l}async function i3(e){const{count:t=10}=e,a=(await ba(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?Ea(a,t):lt(Array.from({length:t},(i,l)=>a[l%a.length])),n=lt(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let u;if(c)u=[i.word.w,i.word.w];else{const d=dc(i.usable);u=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Ut("SOD-item"),index:l+1,word:i.word.w,pair:u,same:c}})}async function s3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),l=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(l.get(m)||m)[0]??"",u={};for(const m of n){const v=c(m.word.w);v&&(u[v]||(u[v]=[]),u[v].push(m.word.w))}const d=Object.entries(u).filter(([,m])=>m.length>=2).map(([m])=>m);if(d.length===0)return[];const h=[],p=lt([...d]);for(let m=0;h.length<a&&m<a*4;m++){const v=p[m%p.length],C=u[v];if(C.length<2)continue;const g=lt([...C]),f=g[0],x=g[1];if(!f||!x||f===x||(l.get(f)||f)===(l.get(x)||x))continue;const b=l.get(x)||x,w=i.filter(y=>c(y)!==v&&y!==f&&y!==x&&y.length===x.length&&(l.get(y)||y)!==b);if(w.length<o)continue;const _=li(w,o);if(_.length<o)continue;const A=lt([x,..._]);h.push({id:Ut("SWS-item"),index:h.length+1,sourceWord:f,targetSyllable:v,word:x,choices:A,answerIndex:A.indexOf(x)})}return h}function Xm(e,t,a){const o=Co(),n=u=>o.get(u)||u,i=(u,d)=>{const h=[...u],p=[...d];if(h.length!==p.length)return-1;let m=-1;for(let v=0;v<h.length;v++)if(h[v]!==p[v]){if(m>=0)return-1;m=v}return m},l=e.map(u=>({e:u,swaps:u.usable.filter(d=>!!d&&i(u.word.w,d)>=0&&n(d)!==n(u.word.w))})).filter(u=>u.swaps.length>0),c=[];for(const{e:u,swaps:d}of lt(l)){if(c.length>=t)break;const h=dc(d)??"",p=[...u.word.w],m=[...h],v=i(u.word.w,h),C=li(u.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(u.word.w)]));C.length<2||c.push({id:Ut(a),index:c.length+1,word:u.word.w,original:u.word.w,changed:h,changedFrom:v>=0?p[v]:"",changedTo:v>=0?m[v]:"",distractors:C})}return c}async function Jm(e,t,a){const{count:o=10}=t,n=Co(),i=Ja.filter(C=>C.w&&C.s===e),l=t.excludeNoImage?pr(i.map(C=>C.w)):null,c=l?i.filter(C=>l.has(C.w)):i,u=new Set(c.map(C=>C.w)),d=zl(u),h=t.phonemeView??"char",p=t.composition??null,m=Km(t),v=[];for(const C of lt(c)){if(v.length>=o)break;if(m&&!m(C))continue;const g=Il(C.w,p,n,h,d,null,null);if(!g)continue;const f=g.distractors[0],x=[...C.w],b=[...f],w=x.findIndex((_,A)=>_!==b[A]);v.push({id:Ut(a),index:v.length+1,word:C.w,original:C.w,changed:f,changedFrom:w>=0?x[w]:"",changedTo:w>=0?b[w]:"",distractors:g.distractors.slice(1)})}return v}async function l3(e){return Jm(2,e,"CS2-item")}async function c3(e){return Jm(3,e,"CS3-item")}async function u3(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Xm(t,e.count??10,"CP1-item")}async function d3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await ba({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return Xm(a,e.count??10,"CP2-item")}async function p3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ea(a,t).map((o,n)=>({id:Ut("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function h3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ea(a,t).map((o,n)=>({id:Ut("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function bc(e){const t=Ja.map(a=>a.w);return e.excludeNoImage?pr(t):new Set(t)}async function m3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=jl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w],m=p[0]===d?p[1]:p[0];l.push({id:Ut("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function b3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=Ll(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w];let m="";for(let v=0;v<p.length;v++)if(p.filter((C,g)=>g!==v).join("")===d){m=p[v];break}l.push({id:Ut("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function g3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=Ml(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=c.word.w,m=u.dropped??(p.startsWith(d)?p.slice(d.length):p.endsWith(d)?p.slice(0,p.length-d.length):"");l.push({id:Ut("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:d,distractors:h})}return l}async function f3(e){const{count:t=10}=e,a=(await ba({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=Ea(a,3);return{id:Ut("LRO-item"),index:n+1,sequence:i,choices:lt(i)}})}function ui(e,t,a){const o=Ja.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?pr(o.map(c=>c.w)):null,i=Km(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const u=We(c.w);if(!u||!a(u))continue}l.push(c)}return l}function v3(e){const t=ui(1,e,ir.MERGE_2_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=We(a.w);return{id:Ut("M2P-item"),index:o+1,parts:[bt[n.cho],wt[n.jung]],answer:a.w,word:a.w}})}function C3(e){const t=ui(1,e,ir.MERGE_3_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=We(a.w);return{id:Ut("M3P-item"),index:o+1,parts:[bt[n.cho],wt[n.jung],Rt[n.jong]],answer:a.w,word:a.w}})}function x3(e){const t=ir.DROP_FINAL_CONSONANT_FROM_1SYLL,a=ui(t.syllables,e,t.syllable),o=Co(),n=[];for(const i of lt(a)){if(n.length>=(e.count??10))break;const l=$l(i.w,null,o);if(!l)continue;const[c,...u]=l.distractors;n.push({id:Ut("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:u})}return n}function _3(e){const t=ir.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=ui(t.syllables,e,t.syllable),o=Co(),n=[];for(const i of lt(a)){if(n.length>=(e.count??10))break;const l=Pl(i.w,null,o);if(!l)continue;const c=We(o.get(i.w)||i.w);if(!c)continue;const[u,...d]=l.distractors;n.push({id:Ut("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:bt[c.cho],remaining:u,distractors:d})}return n}const di=new Map;let Qm=null,eb=null;async function tb(e,t={}){const a=Po(),o=Lo();(a!==Qm||o!==eb)&&(di.clear(),Qm=a,eb=o);const n=`${e}:${hc(t)}`;if(di.has(n))return di.get(n);const i=await w3(e,t);return di.set(n,i),i}const y3={SAME_SOUND_PICK:e=>Zm("SSP",e),HEAR_AND_PICK_SAME:e=>Zm("HPS",e),HEAR_AND_PICK_INCLUDED:e=>n3(e),SAME_OR_DIFF:e=>i3(e),STARTS_WITH_SAME_SOUND:e=>s3(e),LISTEN_AND_REMEMBER_ORDER:e=>f3(e),MERGE_2_SYLLABLES:e=>p3(e),MERGE_3_SYLLABLES:e=>h3(e),MERGE_2_PHONEMES:e=>v3(e),MERGE_3_PHONEMES:e=>C3(e),DROP_1_FROM_2SYLL:e=>m3(e),DROP_1_FROM_3SYLL:e=>b3(e),DROP_PART_FROM_COMPOUND:e=>g3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>x3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>_3(e),CHANGE_1_SYLL_IN_2SYLL:e=>l3(e),CHANGE_1_SYLL_IN_3SYLL:e=>c3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>u3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>d3(e)};async function w3(e,t={}){const a=y3[e];return a?await a(t):[]}async function k3(e){const t=["random","count"],a=Object.keys(nr);let o=0;for(const n of t)for(const i of a){const l=nr[i];tb(i,{difficulty:l.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 B3(e){const t=await ba({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>Ht(n))).size>=a).length}async function A3(e={}){const t=[];for(const c of Ja)c.w&&t.push(c.w);const a=e.excludeNoImage?pr(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(jo(c));for(const u of c){const d=We(u);if(d&&(bt[d.cho]!=="\u3147"&&o.add(bt[d.cho]),n.add(wt[d.jung]),d.jong>0)){i.add(Rt[d.jong]);const h=In[d.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const ab={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}},ob={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},S3=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function rb(e){return S3.has(e)}const nb={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 ib(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 sb=5,lb=5;function cb({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const ub={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},db="chunk-reload-ts";function pb(){try{return Number(sessionStorage.getItem(db)||0)}catch{return 0}}function pi(e=Date.now()){if(e-pb()<=1e4)return!1;try{sessionStorage.setItem(db,String(e))}catch{}return window.location.reload(),!0}function gc(e=Date.now()){const t=pb();return t>0&&e-t<=1e4}function hb(){if(typeof window>"u")return()=>{};const e=a=>{pi()&&a.preventDefault()},t=a=>{const o=a.target;o instanceof HTMLLinkElement&&o.rel==="stylesheet"&&pi()};return window.addEventListener("vite:preloadError",e),window.addEventListener("error",t,!0),()=>{window.removeEventListener("vite:preloadError",e),window.removeEventListener("error",t,!0)}}function mb(e,t){return e?!!t&&t.access_token===e.access_token:!0}function bb(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(gc())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 gb(...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 l=globalThis.cancelIdleCallback;l?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}const fb=e=>({word:e.Word,pronunciation:e.SP,colloquialPronunciation:e.CP??void 0,grade:String(e.Grade),pos:e.POS,wordType:e.Class,homonum:e.Homonum!=null?Number(e.Homonum):void 0});var E3=Object.freeze({__proto__:null,CAPABILITY:nr,CHOSEONG:bt,CORE_VERSION:jn,JONGSEONG:Rt,JUNGSEONG:wt,LONG_STORIES:go,NETWORK_ERROR_MESSAGE:Kn,NOISE_DATAS:mo,ORDER_SETS:fo,PERSONAL_PHONE_REGEX:Jl,PHONE_REGEX:Xl,PLAN_FEATURES:ab,PLAN_LIMITS:nb,SHORT_STORIES:bo,TIER_RANK:ob,TOPIC_TYPES:Fm,TRAINING_TYPES:uc,TRAINING_TYPE_I18N_KEY:ii,WORD_SUGGESTION_ACCOUNT_LIMIT:lb,WORD_SUGGESTION_EXISTING_ERROR:ub,WORD_SUGGESTION_WEEKLY_QUOTA:sb,applyFontScale:rc,applyTheme:ac,balancedColumns:ul,buildChangeWholeSyllableProblem:Il,buildDropCompoundProblem:Ml,buildDropContrast3Problem:Ll,buildDropContrastProblem:jl,buildDropFinalConsonantProblem:$l,buildMultiPartPosContrast:ll,buildPairIndex:Th,buildRemoveConsonantProblem:Pl,buildSyllableMaskIndex:zl,bulkSetImageExistence:fh,cardQuestionTitle:Yh,checkImageExists:Vr,classifyPairDifficulty:Us,clearAudioExistsCache:oh,clearImageExistenceCache:Vs,clearPairIndexCache:nl,columnsFitting:cl,composeSyllable:Ba,computeDailySelection:ic,configureImageResolver:uh,configureNoiseSettingsStore:fm,configurePronunciationResolver:nh,configureStorage:Ns,configureTTS:ah,configureTrainingCategories:jm,copyText:ql,createDecompCache:Gs,createTTSUrlResolver:xm,dateToDb:Tm,downloadCsvText:em,downloadSound:$n,ensureTrainingDataLoaded:cc,escapeCsvField:Qh,fileExists:Ts,filterContrastCandidates:sl,finalToPhoneme:To,firstChoseongOf:qs,formatCount:an,formatDateKo:_m,formatDateLocale:Yl,formatDateLongKo:ym,formatDateLongLocale:wm,formatDatetimeKo:km,formatPhone:Am,formatRelativeTime:ti,formatTimeHM:oi,formatYmd:ai,getAssetBaseUrl:Es,getDailySelection:Im,getElementAnalyser:Os,getElementVolume:er,getErrorMessage:Qr,getImageExistenceStats:zn,getImageExistsCached:mh,getImageResolver:uo,getNoiseBaseUrl:js,getNoiseFileGain:Ls,getPairIndex:Lo,getPlanTier:ib,getPronunciationResolver:Rs,getSavedFontScale:oc,getSavedTheme:tc,getSignedOrPublicUrl:Pr,getTTSFallbackUrlResolver:$s,getTTSUrlResolver:zr,getTodayKst:Ca,getTodayKstDate:ho,getTopicTypes:ri,getTrainingPools:sc,getTrainingTypes:ec,getWordPool:Po,hasQuestionWordConstraint:Vh,hasSel:Pt,hasStructureContrast:Gr,initFontScale:Pm,initTheme:$m,installSkewRecovery:hb,isAllChoseong:Ks,isManagerTier:rb,isManualOnlyType:Gh,isNetworkErrorMessage:Ol,isPersonalPhone:Dm,isSessionForThisTab:mb,isSyllablePattern:el,isThisWeekPick:cb,isTrainingDataLoaded:Om,isValidPhone:Em,isValidQuestionWord:Wh,itemCorrectness:Wl,jamoToNamesForSpeech:Kh,kstStartOfDay:ei,lazyPage:bb,loadGameLeaderboard:gm,loadMyGameRanks:bm,loadNoiseSettings:Ul,loadTrainingData:lc,logCrossword:im,logTrainingCompletion:Vl,logTrainingTime:Hl,matchSyllables:$o,matchesChoseongSearch:vh,matchesSyllablePattern:tl,matchesWordQuery:Ch,mergeQuestionText:Nl,minimalPairDistractors:On,normalizeDate:Nm,officialSoundPath:Cm,parseLocalYmd:Zl,parseSortValue:Jh,parseSyllable:We,patternToComposition:Sh,phonemePartsOf:qh,pickEuRo:Bl,pickEulReul:_l,pickEunNeun:wl,pickIga:Cl,pickWaGwa:kl,prefetchChunk:gb,prewarmImageCache:bh,primarySelPart:sr,readLevel:Fs,recoverFromSkew:pi,reorderArray:Al,reportAppliedNoiseSettings:cr,resolveAssetUrl:Rr,resolveSoundPath:Mn,resumeAudioMeter:Or,routeElementAudio:Qo,sample:Sa,saveNoiseSettings:Jn,searchAndRankWords:Dh,setAssetBaseUrl:eh,setCrosswordLogger:nm,setElementVolume:$a,setGameLeaderboardLoader:hm,setGameRanksLoader:pm,setGameScoreSubmitter:dm,setTrainingCompletionLogger:rm,setTrainingTimeLogger:om,setWordPool:am,shuffle:lt,skewReloadPending:gc,sortToValue:Xh,soundOf:Yn,speak:Xp,stopSpeaking:Jp,submitGameScore:mm,syllMatchesComp:Xa,syllableContrasts:Ro,syllableLength:jo,syllablePron:Jr,toBase64UrlSafe:vm,toChoseong:Ys,toItemResults:Gl,toKstHm:Bm,toKstYmd:Ia,toStandardPronunciation:Ih,toStorageName:en,toUserErrorMessage:Zh,toWordEntry:fb,validateSyllableSearchInput:Eh,withEuRo:Hh,withEulReul:yl,withEunNeun:Oh,withIga:xl,withWaGwa:Fh,wordContainsChoseong:_h,wordContainsJongseong:kh,wordContainsJungseong:yh,wordHasConsonantAt:Bh,wordHasNoCoda:Xs,wordHasSyllableMatching:Qs,wrongItems:sm});function D3(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 N3(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&D3(o.attrValue)&&(o.keepAttr=!1)};Bs.addHook("uponSanitizeAttribute",t);try{return Bs.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Bs.removeHook("uponSanitizeAttribute",t)}}function T3(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,u]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const d=e.split("/").pop();let h=e;d&&(e.startsWith("/")?h=Rr(e):/^(Logo|Symbol)/i.test(d)?h=Rr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let d=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(d)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const v=await fetch(t);if(!v.ok)throw new Error("not ok");const C=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(C)){const g=N3(C);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{d||n("none")}}return h(),()=>{d=!0}},[t]),s.useEffect(()=>{let d=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(h=URL.createObjectURL(p),u(h))}).catch(()=>{d||n("img")}),()=>{d=!0,h&&URL.revokeObjectURL(h),u(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var j3=".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)}";ce(j3);function ot(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,C=v5(v),{iconToUse:g,mode:f,svgText:x,blobUrl:b}=T3(v),w=(k,S={})=>r.jsx("span",{className:d,style:c,...S,children:k}),_=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,A=(k,S={})=>r.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...S,style:_?{...S.style,..._}:S.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(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(C)try{return w(s.createElement(C,{className:m,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(f==="mask"){const k={"--icon-url":b?`url(${b})`:`url(${g})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return w(r.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return f==="img"?w(A(g,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):f==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:x?{__html:x}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Rr(t),{style:c,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const y=typeof u=="number"?u:20,B=`<svg width="${y}" height="${y}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return w(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function vb(e){const[t,a]=s.useState(!1),o=s.useRef(!1),n=s.useRef(!0);s.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=s.useCallback(()=>{if(!e||o.current)return;const l=e();if(l&&typeof l.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function Cb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=vb(o?.onClick);return r.jsxs("div",{className:De("empty-state",n),children:[e&&r.jsx(ot,{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:l,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(ot,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var L3=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";ce(L3);function xb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=_e.useTranslation(),{pending:c,press:u}=vb(o);return r.jsxs("div",{className:De("empty-state","error-state",i),role:"alert",children:[r.jsx(ot,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&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:u,disabled:c,"aria-busy":c||void 0,children:[r.jsx(ot,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var M3=".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)}";ce(M3);function _b({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const u=s.useId(),d=`${u}-title`,h=`${u}-desc`,p=`${u}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())},className:De("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(ot,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:d,className:"action-card__title",children:t}),r.jsx("p",{id:h,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:p,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(ot,{icon:"arrow-right",size:18})})]})]})})}function yb({as:e="div",className:t="",children:a,storage:o,...n}){o&&Ns({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=De("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function fc(e,t=!0){s.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(Oa)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;n.shiftKey&&(u===l||d)?(n.preventDefault(),c.focus()):!n.shiftKey&&u===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Oa='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',vc=new WeakMap;function Cc(e,t){e&&vc.set(e,t)}function xc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!vc.has(o);)o=o.parentElement;if(!o)return t;t=vc.get(o)??null}return t}function wb(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 hi(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(wb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Oa)).filter(u=>!(e&&e.contains(u))&&wb(u));let i=null,l=null;for(const u of n)o.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}var $3=".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{align-items:center;background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0;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)}}";ce($3);function kb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=_e.useTranslation(),[u,d]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&hi(g),d(!0)},[]);if(u)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),v=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"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((g,f)=>r.jsxs("div",{className:"notice-box__inner",children:[g.title?r.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,r.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?r.jsx("div",{children:g.lines.map((x,b)=>r.jsx("span",{className:"notice-box__line body-3",children:x},b))}):g.children??null})]},f)),v]});const C=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((g,f)=>r.jsx("li",{className:"notice-box__line",children:g},f))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[C,v]})}var R3=".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:1px solid transparent;border:var(--button-border,1px solid transparent);border-color:transparent;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}}";ce(R3);var P3=".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}";ce(P3);const hr=[];let mi=!1;function Bb(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=hr[hr.length-1];t&&(e.stopPropagation(),t())}function zo(e){return hr.push(e),!mi&&typeof document<"u"&&(document.addEventListener("keydown",Bb),mi=!0),()=>{const t=hr.lastIndexOf(e);t>=0&&hr.splice(t,1),hr.length===0&&mi&&typeof document<"u"&&(document.removeEventListener("keydown",Bb),mi=!1)}}const bi=s.createContext(null);function z3(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Ab=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function I3(e){const t=s.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 sp.useSyncExternalStore(t,()=>Ab(e),()=>!1)}function O3(e){const[t,a]=s.useState(Ab(e));return s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=l=>a(l.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 F3=typeof sp.useSyncExternalStore=="function"?I3:O3;function sa(e){const t=s.useContext(bi),a=F3(e);return t&&typeof t.mobile=="boolean"&&z3(e)?t.mobile:a}const H3="(prefers-reduced-motion: reduce)";function _c(){return sa(H3)}function xa(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:v=!0,header:C,focusOnOpen:g}=e||{},f=s.useRef(null),[x,b]=s.useState({position:"fixed",left:0,top:-9999}),[w,_]=s.useState(!1),[A,y]=s.useState("bottom"),[B,k]=s.useState(!1),[S,E]=s.useState(!1),D=!t&&!a,O=s.useCallback((V=!1)=>{if(S&&m)return;const $=a?a.getBoundingClientRect():t;if(!$||!f.current)return;const q=f.current,{offsetWidth:N,offsetHeight:z}=q,M=window.innerWidth,F=window.innerHeight,H=M-$.right,Z=$.left,ee=$.top,se=F-$.bottom;let le=0,K=0,ue="top";if(ee>=z+o)ue="top",K=$.top-o-z,le=$.left+$.width/2-N/2;else if(se>=z+o)ue="bottom",K=$.bottom+o,le=$.left+$.width/2-N/2;else if(H>=N+o)ue="right",le=$.right+o,K=$.top+$.height/2-z/2;else if(Z>=N+o)ue="left",le=$.left-o-N,K=$.top+$.height/2-z/2;else{const fe=Math.max(ee,se,H,Z);fe===ee?(ue="top",K=$.top-o-z,le=$.left+$.width/2-N/2):fe===se?(ue="bottom",K=$.bottom+o,le=$.left+$.width/2-N/2):fe===H?(ue="right",le=$.right+o,K=$.top+$.height/2-z/2):(ue="left",le=$.left-o-N,K=$.top+$.height/2-z/2)}const Ne=Number.isFinite(Number(n))?Number(n):8;le=Math.min(Math.max(le,Ne),M-N-Ne),K=Math.min(Math.max(K,Ne),F-z-Ne);const U=Math.round(le),re=Math.round(K);V&&f.current?(f.current.style.left=`${U}px`,f.current.style.top=`${re}px`,f.current.dataset.placement=ue):(y(ue||A),b({position:"fixed",left:U,top:re}),k(!0))},[S,m,a,t,o,n,A]);s.useLayoutEffect(()=>{if(D)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}O();const V=requestAnimationFrame(()=>O());return()=>cancelAnimationFrame(V)},[t,a,o,h,n,D,S,m,O]),s.useEffect(()=>{if(D||S&&m||!f.current||typeof ResizeObserver>"u")return;const V=new ResizeObserver(()=>{t&&O()});return V.observe(f.current),()=>V.disconnect()},[t,h,n,D,S,m,O]),s.useEffect(()=>{if(D||S&&m)return;let V=null;const $=()=>{if(typeof requestAnimationFrame>"u"){O(!0);return}V===null&&(V=requestAnimationFrame(()=>{V=null,O(!0)}))},q=N=>{if(!a&&i){const z=N.target;if(z&&f.current&&f.current.contains(z))return;try{if(z&&z.closest&&z.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}$()};return window.addEventListener("resize",$),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{V!==null&&cancelAnimationFrame(V),window.removeEventListener("resize",$),document.removeEventListener("scroll",q,{capture:!0})}},[t,a,i,o,h,n,D,S,m,O]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const V=window.matchMedia("(max-width: 768px)"),$=()=>E(!!V.matches);$();try{V.addEventListener?V.addEventListener("change",$):V.addListener($)}catch{try{V.addListener($)}catch{}}return()=>{try{V.removeEventListener?V.removeEventListener("change",$):V.removeListener($)}catch{}}},[]);const T=s.useRef(!1),W=s.useRef(null),j=_c(),L=s.useCallback((V=!1)=>{if(i&&!(w||T.current)){if(T.current=!0,V){_(!0);try{i&&i()}catch{T.current=!1,_(!1)}return}_(!0),W.current=setTimeout(()=>{W.current=null;try{i&&i()}catch{T.current=!1,_(!1)}},j?0:200)}},[w,i,_,j]);s.useEffect(()=>()=>{W.current&&clearTimeout(W.current)},[]),s.useEffect(()=>{if(D)return;const V=N=>{const z=f.current;if(!z)return;const M=N.target;if(M&&!z.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},$=N=>{const z=f.current;if(!z)return;const M=N.target;if(M&&!z.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},q=N=>{if(N.key==="Tab"){const z=f.current;if(!z)return;const M=z.querySelectorAll(Oa);if(!M||M.length===0)return;const F=M[0],H=M[M.length-1],Z=document.activeElement;N.shiftKey?Z===F&&(N.preventDefault(),H.focus()):Z===H&&(N.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",V,!0),document.addEventListener("click",$,!0),document.addEventListener("keydown",q),()=>{document.removeEventListener("pointerdown",V,!0),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",q)}},[i,l,L,D]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const Y=!!i;s.useEffect(()=>{if(!(D||!Y))return zo(()=>I.current())},[D,Y]),s.useEffect(()=>{const V=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",V),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",V)}},[L]);const X=s.useRef(null);s.useEffect(()=>{if(D||g===!1||!B)return;const V=f.current;if(!V)return;const $=V.querySelector(Oa);if($)return X.current=document.activeElement,$.focus(),()=>{const q=X.current;X.current=null,q&&document.contains(q)&&q.focus()}},[D,g,B]),s.useEffect(()=>{u==="dialog"&&!d&&ra("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[u,d]);const P=r.jsxs("div",{ref:f,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{...x,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":D?"":x.left,"data-top":D?"":x.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:[C!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:C}),h]});if(D||typeof document>"u")return P;if(p||S&&m){const V=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),P]});return pa.createPortal(V,document.body)}return pa.createPortal(P,document.body)}var V3='.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}';ce(V3);function Da(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:l}=e||{};return a?r.jsx(xa,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var W3=".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)}";ce(W3);function xo(e){const{t}=_e.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},h=(Array.isArray(n)?n:n?[n]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!o?null:r.jsx(xa,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,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:h.map((p,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),p.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),r.jsx("span",{children:p.text})]},m))})]})})}function ln(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),t}let yc=0,Sb=!1;function Eb(){Sb||typeof document>"u"||(Sb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(yc=Date.now())},!0),document.addEventListener("touchstart",()=>{yc=Date.now()},{capture:!0,passive:!0}))}Eb();function mr(e){return!!e&&e.pointerType==="touch"}function br(e=1e3){return Eb(),Date.now()-yc<e}function wc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=ln(e),l=ln(t),c=s.useRef(null),u=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,v=p.target,C=a.current,g=!!(v&&C&&C.contains(v));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,C)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const d=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,u.current=Date.now(),l.current(!p,h??a.current),!0)},[a,l]);return s.useEffect(()=>{if(!o||!n)return;const h=a.current,p=h?.parentElement;if(!h||!p)return;let m=null;const v=f=>{const x=f.changedTouches?.[0];if(!x)return!1;const b=h.getBoundingClientRect();return x.clientX>=b.left&&x.clientX<=b.right&&x.clientY>=b.top&&x.clientY<=b.bottom},C=f=>{m=v(f)?i.current:null},g=f=>{const x=m;m=null,!(x===null||Date.now()-u.current<700||!v(f))&&(c.current=null,u.current=Date.now(),l.current(!x,h))};return p.addEventListener("touchstart",C,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",C),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:d}}function G3(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:u,rightIcon:d,label:h,count:p,subLabel:m,children:v,ariaLabel:C,variant:g="default",align:f="center",nowrap:x=!1,selected:b,toggleable:w=!1,ariaExpanded:_,ariaControls:A,disabled:y=!1,useLabel:B=!0,useBorder:k=!0,useBG:S=!0,useDisabledCovered:E=!1,useDisabledInvisible:D=!1,width:O,minWidth:T,onClick:W,onDisabledClick:j,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:Y=null,tooltipOnly:X=!1,iconSize:P="medium",iconColor:V,shape:$="rounded",color:q,className:N,...z}=e,M=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=M.match(/^\d+$/)?`button${M}`:`button-${M}`,H=Number(a),Z=!isNaN(H)&&H<40?"button-2":"button-1",ee=h??v,se=y||!!z.disabled,le=se?E?"disabled-covered":D?"disabled-invisibled":"disabled":g,K=le?`button--variant-${le}`:"",ue=f?`button--align-${f}`:"",Ne=x?"button--nowrap":"",U=$?`button--shape-${$}`:"",re=typeof V=="string"&&V.startsWith("--")?`var(${V})`:V,fe={...O?{width:typeof O=="number"?`${O}px`:O}:{},...T?{minWidth:typeof T=="number"?`${T}px`:T}:{},...k?{}:{"--button-border":se?"0":"1px solid transparent"},...re?{"--button-icon-color":re}:{},...q?{"--color-main":q}:{}},je=B===!1?"":ee,Ce=Array.isArray(je)?je.length>0:!!je,ne=!!d,he=o??(Ce||u||ne?"bar":"dot"),be=`${F}--${he}`,G=s.useRef(null);s.useEffect(()=>{!Ko||n!==void 0||G.current?.closest("form")&&ra(`button-in-form:${typeof ee=="string"?ee:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof ee=="string"&&ee?` \uB2E8\uCD94: ${ee}`:""))},[n,ee]);const oe=s.useRef(t);oe.current=t;const xe=s.useCallback(Pe=>{G.current=Pe;const nt=oe.current;typeof nt=="function"?nt(Pe):nt&&(nt.current=Pe)},[]),ke=s.useRef(se),[Me,Ie]=s.useState(!!b),[Oe,ut]=s.useState(!1),[ct,at]=s.useState(null),pt=s.useCallback(()=>ut(!1),[]),[Ee,Ve]=s.useState(!1),Ae=s.useId();s.useEffect(()=>{typeof b=="boolean"&&Ie(b)},[b]),s.useEffect(()=>{if(ke.current&&!se&&G.current){const Pe=G.current;let nt=!1;try{nt=Pe.matches(":focus:not(:focus-visible)")}catch{nt=!1}nt&&Pe.blur(),Pe.style.pointerEvents="none";const Wt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{G.current&&(G.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Wt)}ke.current=se},[se]);const Ke=typeof b=="boolean"?!!b:Me,Q=typeof _=="boolean"?void 0:w||typeof b=="boolean"?Ke?"true":"false":z["aria-pressed"],pe=De("button",F,be,K,ue,Ne,U,Ke?"is-selected":null,S?null:"button--no-bg",X?"button--tooltip-only":null,N),Se=`button__icon button__icon--${P}`,Te=Array.isArray(m)?m:m!==void 0?[m]:[],qe=()=>{if(Array.isArray(je))return je.map((nt,Wt)=>{const ca=Te[Wt];return r.jsxs("span",{className:`button__label-text${ca!==void 0?" button__label-text--has-sub":""}`,children:[nt,ca!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:ca})]},Wt)});const Pe=m!==void 0;return r.jsxs("span",{className:`button__label-text${Pe?" button__label-text--has-sub":""}`,children:[je,p!=null&&r.jsx("span",{className:"button__count",children:p}),Pe&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},tt=Pe=>{typeof b!="boolean"&&!w&&Ie(!1),Pe.currentTarget.blur()},dt=Pe=>{se||(typeof z.onMouseLeave=="function"&&z.onMouseLeave(Pe),tt(Pe))},gt=Pe=>{if(X&&it&&Qe.touchPress(Pe.currentTarget),se){it&&Qe.touchPress(Pe.currentTarget),Pe.preventDefault(),j?.(Pe);return}typeof b!="boolean"&&w&&Ie(nt=>!nt),W?.(Pe)},Ct=s.useCallback(()=>{(L||Y)&&(ut(!0),at(G.current?.getBoundingClientRect()??null))},[L,Y]),kt=s.useCallback(()=>{(L||Y)&&(ut(!1),at(null))},[L,Y]),it=!!(L||Y),Qe=wc(Oe,Pe=>{Pe?Ct():kt()},G,{enabled:it&&(se||X),fallbackOnParent:it&&se}),Ge={...z};delete Ge.disabled,delete Ge.className,delete Ge.faded,delete Ge.useFaded,delete Ge.loading,delete Ge.onMouseLeave,delete Ge.onPointerEnter,delete Ge.onPointerLeave,delete Ge.onPointerUp,delete Ge.onFocus,delete Ge.onBlur,se&&(Object.keys(Ge).forEach(Pe=>{/^on[A-Z]/.test(Pe)&&typeof Ge[Pe]=="function"&&delete Ge[Pe]}),Ge["aria-disabled"]="true");const Fe=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof C=="string"?C:null)??(typeof ee=="string"?ee:null)??void 0,rt=typeof C=="string"?C:typeof ee=="string"?ee:Fe,vt=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):L&&Fe&&Fe!==rt?Fe:"",Ye=[typeof z["aria-describedby"]=="string"?z["aria-describedby"]:void 0,vt?Ae:null].filter(Boolean).join(" ")||void 0,ft=(Pe,nt)=>r.jsx(ot,{icon:Pe,label:nt??rt,className:Se,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Mt=()=>he==="dot"?r.jsxs(r.Fragment,{children:[ft(u),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()})]}):f==="center"&&u?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:ft(u)}),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()})]}),ne&&r.jsx("span",{className:"button__right",children:ft(d)})]}):r.jsxs(r.Fragment,{children:[u&&r.jsx("span",{className:"button__left",children:ft(u,C??ee)}),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()}),ne&&r.jsx("span",{className:"button__right",children:ft(d)})]}),zt=!!i&&!se;return r.jsxs(r.Fragment,{children:[r.jsxs(zt?"a":"button",{...Ge,ref:xe,...zt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:se&&!j&&!Ee},className:pe,"aria-pressed":Q,"aria-expanded":typeof _=="boolean"?_:z["aria-expanded"],"aria-controls":A??z["aria-controls"],"aria-label":rt,"aria-disabled":se&&(zt||j||Ee)?!0:void 0,"aria-describedby":Ye,style:fe,onClick:gt,onMouseLeave:dt,onPointerEnter:Pe=>{mr(Pe)||Ct(),!se&&typeof z.onPointerEnter=="function"&&z.onPointerEnter(Pe)},onPointerLeave:Pe=>{mr(Pe)||kt(),!se&&typeof z.onPointerLeave=="function"&&z.onPointerLeave(Pe)},onPointerUp:Pe=>{se&&it&&Qe.touchPress(Pe.currentTarget),!se&&typeof z.onPointerUp=="function"&&z.onPointerUp(Pe)},onFocus:Pe=>{Ve(!0),br()||Ct(),!se&&typeof z.onFocus=="function"&&z.onFocus(Pe)},onBlur:Pe=>{Ve(!1),se||tt(Pe),kt(),!se&&typeof z.onBlur=="function"&&z.onBlur(Pe)},children:[Mt(),vt?r.jsx("span",{id:Ae,hidden:!0,"aria-label":vt}):null]}),Oe&&Y?r.jsx(xo,{anchorRect:ct,title:Y.title,items:Y.items,onClose:pt}):Oe&&Fe?r.jsx(Da,{anchorRect:ct,text:Fe,onClose:pt}):null]})}const ge=s.forwardRef(G3);ge.displayName="Button";function Dt(e,t,a){const o=s.useRef(null);return s.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var U3=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";ce(U3);var q3=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";ce(q3);const gr={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},kc=new WeakMap;function gi(e){if(e)return kc.get(e)}function qt(e,t){e&&(e.style.setProperty(gr.title,t.title),e.style.setProperty(gr.description,t.description),kc.set(e,t))}function Yt(e){e&&(e.style.removeProperty(gr.title),e.style.removeProperty(gr.description),kc.delete(e))}const Bc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Ac(){const e=Dt(Bc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var Y3=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";ce(Y3);const Sc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ec(){const e=Dt(Sc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var K3=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";ce(K3);const Dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Nc(){const e=Dt(Dc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var Z3=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";ce(Z3);const Tc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function jc(){const e=Dt(Tc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var X3=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";ce(X3);const Lc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Mc(){const e=Dt(Lc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var J3=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";ce(J3);const $c={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Rc(){const e=Dt($c,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var Q3=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";ce(Q3);const Pc={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function zc(){const e=Dt(Pc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var e7=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";ce(e7);const Ic={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Oc(){const e=Dt(Ic,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var t7=".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)}";ce(t7);const Fc={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Hc(){const e=Dt(Fc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var a7=".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}";ce(a7);const Vc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Wc(){const e=Dt(Vc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var o7=".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}";ce(o7);const Gc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Uc(){const e=Dt(Gc,qt,Yt);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 r7=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";ce(r7);const qc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Yc(){const e=Dt(qc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var n7=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";ce(n7);const Kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Zc(){const e=Dt(Kc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var i7=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";ce(i7);const Xc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Jc(){const e=Dt(Xc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const la=(e,t,a)=>({key:e,get label(){return yt.t(`promoBannerBg.${e}`,t)},textTone:a}),Db=[la("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("soft","\uC18C\uD504\uD2B8","dark"),la("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),la("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),la("warm","\uC6DC(\uAC15\uC870)","dark"),la("dark","\uB2E4\uD06C","light"),la("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),la("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),la("outline","\uC544\uC6C3\uB77C\uC778","dark"),la("success","\uC131\uACF5/\uC644\uB8CC","light"),la("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),la("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Qc={main:Ac,soft:Ec,sub:Nc,deep:jc,softSub:Mc,warm:Rc,dark:zc,radial:Oc,diagonal:Hc,dots:Wc,outline:Uc,success:Yc,naver:Zc,instagram:Jc};function fi({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(o,Number(w))),c=w=>{try{const _=localStorage.getItem(w),A=_?Number(_):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[u,d]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),d(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const m=w=>{d(typeof w=="function"?_=>l(w(_)):l(w))},v=()=>m(w=>+(w+n).toFixed(6)),C=()=>m(w=>+(w-n).toFixed(6)),g=u<o-Number.EPSILON,f=u>a+Number.EPSILON,x=Math.round(t*u),b=Math.round(x*i);return{scale:u,setScale:m,increase:v,decrease:C,canIncrease:g,canDecrease:f,fontSize:x,lineHeight:b}}function cn(e,t){const a=ln(t);s.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const eu=" \xB7 ",Nb=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(eu)?e.split(eu).pop()??e:e})(),tu=s.createContext(!1),Io=[];let Tb=null;function au(e){const t=s.useContext(tu);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;Io.length===0&&(Tb=document.title);const a={text:Nb?`${e}${eu}${Nb}`:e};return Io.push(a),document.title=a.text,()=>{const o=Io.lastIndexOf(a);o>=0&&Io.splice(o,1),document.title=Io.length?Io[Io.length-1].text:Tb??document.title}},[e,t])}function s7(e,t){const[a,o,n]=e.split("-").map(Number),[i,l,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,l-1,c)-Date.UTC(a,o-1,n))/864e5)}function jb(){const{t:e}=_e.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Ia(t);if(!a)return"";const o=s7(a,Ca());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 Lb(e){const{t}=_e.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),u=s.useRef(null),d=s.useRef(!1);s.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(d.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),d.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(v){m=Qr(v)}finally{d.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:""}),u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const ou=[{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 ru(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 Mb(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 $b(e){const{t}=_e.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[u,d]=s.useState(null),h=s.useCallback(()=>{const m={};ou.forEach(v=>{m[v.id]=ru([...v.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(v=>{d({usage:v.usage??0,quota:v.quota??0})}).catch(()=>{})},[]);s.useEffect(()=>{h()},[h]);const p=s.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?nl():m==="imageCache"&&Vs(),h(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[h,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:l,setConfirmCacheId:c,storageEstimate:u,refreshCacheSizes:h,handleClearCache:p}}function Rb(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=Lo();if(l){const u=Object.values(l),d=u.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:d,total:u.length})}else a(null);const c=zn();n(c?{exists:c.exists,total:c.total}:null)},[]);return s.useEffect(()=>{i();const l=setTimeout(i,1e3);return()=>clearTimeout(l)},[e?.length,i]),{pairStats:t,imgStats:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Oo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function Pb(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[u,d]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const x=p.current;x!==null&&x.length===t.length&&x.every((b,w)=>b===t[w])||(p.current=t,o(t),i(b=>b==null?b:t.find(w=>Oo(w,b))??b))},[t,l]),s.useEffect(()=>{!l&&n!=null&&d({...n})},[l,n]);const m=s.useCallback(x=>{i(x),c(!1),d({...x})},[]),v=s.useCallback(()=>c(!0),[]),C=s.useCallback(()=>c(!1),[]),g=s.useCallback((x,b)=>{o(x),i(b),c(w=>(w&&(h.current=!0),!1))},[]),f=s.useCallback(x=>{o(b=>b.filter(w=>!Oo(w,x))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:u,setEditForm:d,openDetail:m,startEditing:v,cancelEditing:C,commitEdit:g,remove:f}}const fr=()=>{const[e,t,a]=Ca().split("-");return{year:e,month:t,day:a}},l7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function zb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:u,openDetail:d,commitEdit:h}=Pb(l7,e),{year:p,month:m,day:v}=fr(),[C,g]=s.useState({year:p,month:m,day:v,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:C,setVisitForm:g,setVisit:f=>x=>g(b=>({...b,[f]:x})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:u,openVisitDetail:d,handleVisitSave:f=>{a(_=>[C,..._]);const{year:x,month:b,day:w}=fr();g({year:x,month:b,day:w,hour:"09",minute:"00",memo:""}),f?.()},handleVisitEditSave:()=>{h(f=>f.map(x=>o!=null&&Oo(x,o)?c:x),c)},addVisit:f=>{a(x=>[f,...x])},removeVisit:f=>{a(x=>x.filter(b=>!Oo(b,f)))},revertVisitEdit:(f,x)=>{a(b=>b.map(w=>w===x?f:w)),n(b=>b===x?f:b)}}}const Ib=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")}`,un=e=>[...e].sort((t,a)=>{const o=Ib(t),n=Ib(a);return o<n?-1:o>n?1:0}),c7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Ob(e,t=[]){const a=s.useMemo(()=>un(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:u,editForm:d,setEditForm:h,openDetail:p,commitEdit:m,remove:v}=Pb(c7,a),[C,g]=s.useState([]),{year:f,month:x,day:b}=fr(),[w,_]=s.useState({year:f,month:x,day:b,hour:"09",minute:"00",memo:""}),A=W=>j=>_(L=>({...L,[W]:j})),y=W=>{n(Y=>un([...Y,w]));const{year:j,month:L,day:I}=fr();_({year:j,month:L,day:I,hour:"09",minute:"00",memo:""}),W?.()},B=()=>{m(W=>un(W.map(j=>i!=null&&Oo(j,i)?d:j)),d)},k=s.useCallback(W=>{v(W)},[v]),S=s.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}:{}}),v(W)},[e,v]),E=s.useCallback(W=>{n(j=>j.filter(L=>!Oo(L,W))),g(j=>[W,...j]),l(null)},[n,l]),D=s.useCallback(W=>{n(j=>un([...j,W]))},[n]),O=s.useCallback(W=>{n(j=>j.filter(L=>!Oo(L,W)))},[n]),T=s.useCallback((W,j)=>{n(L=>un(L.map(I=>I===j?W:I))),l(L=>L===j?W:L)},[n,l]);return{scheduleList:o,noShowList:C,addSchedule:D,removeSchedule:O,revertScheduleEdit:T,scheduleForm:w,setScheduleForm:_,setSchedule:A,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:u,editScheduleForm:d,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:y,handleScheduleEditSave:B,handleScheduleDelete:k,handleScheduleToVisit:S,handleScheduleNoVisit:E}}const dn=[{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 Fb(e){const{t}=_e.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[u,d]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:f})=>!(a&&!g.memo.includes(a)||l!=="all"&&f!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(u,p),v=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),C=s.useMemo(()=>dn.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:C,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:d,vapFiltered:h,vapTotal:p,vapPageItems:v}}const u7=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ga(e,t){return u7().compare(e,t)}const vi=new Map;function d7(e){const t=vi.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 l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>n&&a.push(e.slice(n,l)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),vi.size>5e3&&vi.clear(),vi.set(e,a),a}function p7(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 h7(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(d,h)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=p7(h);return p!==null?[p]:d7(h)},l=i(e,o),c=i(t,n),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const h=l[d],p=c[d];if(typeof h=="number"&&typeof p=="number"){if(h!==p)return h-p;continue}if(typeof h=="number")return-1;if(typeof p=="number")return 1;const m=ga(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:ga(o,n)}const Hb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function nu(e,t,a){const o=Hb(e),n=Hb(t);if(o||n)return o===n?0:o?1:-1;const i=h7(e,t);return a?i:-i}function iu(e,t,a){const{t:o}=_e.useTranslation(),[n,i]=s.useState(()=>{const C=a?.initialPageSize;return C&&dn.some(g=>g.value===C)?C:"25"}),[l,c]=s.useState(1),[u,d]=s.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const h=s.useMemo(()=>dn.map(C=>({...C,label:o("visits.showN",{n:C.value})})),[o]),p=s.useCallback(C=>{i(C),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(l>m||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),m));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((v-1)*Number(n),v*Number(n)),[e,v,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:v,total:m,onChange:c},setPage:c}}function su(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(u=>{const d=o.current,h=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=s.useCallback((u,d)=>{if(!t)return u;const{key:h,asc:p}=t;return[...u].sort((m,v)=>nu(d(m,h),d(v,h),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const Vb=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Wb(){const[e,t]=s.useState(!1),[a,o]=s.useState("\uC88C"),[n,i]=s.useState({\uC88C:null,\uC6B0:null}),[l,c]=s.useState({\uC88C:[],\uC6B0:[]}),[u,d]=s.useState(!1),[h,p]=s.useState("\uC88C"),m=s.useCallback(C=>{const g=Vb(C.direction);g&&(i(f=>({...f,[g]:C})),c(f=>({...f,[g]:[C,...f[g]]})),t(!1))},[]),v=s.useCallback(C=>{const g=Vb(C.direction);g&&(i(f=>({...f,[g]:C})),d(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:u,setShowDeviceList:d,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:v}}const Nt="\uC804\uCCB4",pn=["grade","syllables","pos","wordType"],Gb=["1","2","3","4"],m7=["1","2","3","4","5+"],b7=["noun","verb","modifier"],g7=["native","sino","foreign","mixed"],f7={grade:Gb,syllables:m7,pos:b7,wordType:g7},v7={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},C7={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},x7={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},_7={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)"]}},lu=new Map;try{yt.store?.on?.("added",()=>lu.clear())}catch{}function Ci(e){const t=lu.get(e);if(t)return t;const a=yt.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(Gb.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 lu.set(e,o),o}const cu=()=>Array.from(new Set([yt.language,"ko","en"].filter(e=>!!e)));function hn(e){if(pn.includes(e))return e;for(const t of cu()){const a=Ci(t);for(const o of pn)if(a.\uC139\uC158[o]===e)return o}for(const t of pn)if(x7[t]?.includes(e))return t;return null}function vr(e,t){if(f7[e].includes(t))return t;for(const a of cu()){const o=Ci(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(_7[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 y7=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function xi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=hn(a);if(n)for(const i of y7(o)){const l=vr(n,i);if(!l)continue;const c=t[n]??(t[n]=[]);c.includes(l)||c.push(l)}}return t}function _i(e,t=yt.language){const a=Ci(t||"ko"),o={};for(const n of pn){const i=(e?.[n]??[]).map(l=>a.\uAC12[n][l]).filter(l=>!!l);i.length&&(o[a.\uC139\uC158[n]]=i)}return o}function Ub(e,t=yt.language){const a={};for(const[o,n]of Object.entries(e??{}))hn(o)||(a[o]=n);return{...a,..._i(xi(e),t)}}function w7(e){for(const t of cu()){const a=Ci(t);if(pn.some(o=>a.\uC139\uC158[o]===e))return t}return yt.language||"ko"}function uu(){const{t:e}=_e.useTranslation();return s.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 du(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 pu(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function hu(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function qb(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 Yb(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 Kb(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:u,tailDisabled:d,allOptionDisabled:h,groupLabel:p,labelAction:m}=t;return{label:a,...p?{groupLabel:p}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...h?{allOptionDisabled:h}:{},items:[{value:o,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...l?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:u}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:d}]}}function Zb(e,t,a){const o=hn(a),n=o&&t!==Nt?vr(o,t):null;if(o&&(t===Nt||n)){const c={},u={};for(const[v,C]of Object.entries(e))(hn(v)===o?u:c)[v]=C;if(t===Nt)return c;const d=xi(u)[o]??[],h=d.includes(n)?d.filter(v=>v!==n):[...d,n];if(h.length===0)return c;const p=_i({[o]:h},w7(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Nt){const{[a]:c,...u}=e;return u}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...u}=e;return u}return{...e,[a]:l}}Object.fromEntries(Object.entries(Ws).map(([e,{nucleus:t}])=>[e,t]));const k7={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},B7={"\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"]},A7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:B7,typeMap:k7},Xb=new WeakMap;function S7(e,t){const a=Xb.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,l]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":hn(i);if(c)for(const u of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(u)||n[c].push(u)}return Xb.set(e,{keys:t,\uAC12:o}),o}function E7(e,t,a=A7){const{grades:o,syls:n,poses:i,types:l}=S7(t,a);if(o.length&&!o.some(c=>e.grade===(vr("grade",c)??c.replace(/\D/g,""))))return!1;if(n.length){const c=e.syllables??0;if(!n.some(u=>{const d=u===a.syllable5plus?"5+":vr("syllables",u);return d==="5+"?c>=5:c===parseInt(d??u)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??v7[vr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??C7[vr("wordType",c)??""])))}const D7={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"})},N7={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"})},T7={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 Jb(e,t){if("place"in t)return D7[t.place](e);const a=N7[t.vowel](e);return t.glide?`${a} \xB7 ${T7[t.glide](e)}`:a}const j7=(e,{defaultValue:t})=>t,Qb=(e,t)=>({jamos:e,phonetic:t,tooltip:Jb(j7,t)}),Qa=(e,t)=>t.map(a=>Qb([a],{place:e})),Vt=(e,t,a)=>Qb([...e],a?{vowel:t,glide:a}:{vowel:t}),mu={cho:[Qa("labial",["\u3142","\u3143","\u314D","\u3141"]),Qa("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Qa("alveolar",["\u3145","\u3146"]),Qa("palatal",["\u3148","\u3149","\u314A"]),Qa("velar",["\u3131","\u3132","\u314B"]),Qa("glottal",["\u314E"])],jung:[[Vt("\u3163","frontHigh"),Vt("\u315F","frontHigh","w"),Vt("\u3162","frontHigh","velar")],[Vt("\u3161","backHighUnrounded")],[Vt("\u315C","backHighRounded"),Vt("\u3160","backHighRounded","j")],[Vt("\u3154\u3150","frontMid"),Vt("\u3156\u3152","frontMid","j"),Vt("\u3159\u315A\u315E","frontMid","w")],[Vt("\u3153","backMidUnrounded"),Vt("\u3155","backMidUnrounded","j"),Vt("\u315D","backMidUnrounded","w")],[Vt("\u3157","backMidRounded"),Vt("\u315B","backMidRounded","j")],[Vt("\u314F","low"),Vt("\u3151","low","j"),Vt("\u3158","low","w")]],jong:[Qa("labial",["\u3142","\u3141"]),Qa("alveolar",["\u3137","\u3134","\u3139"]),Qa("velar",["\u3131","\u3147"])]},L7=[...bt],M7=[...wt],$7=Rt.filter(e=>e!==""),Fa=e=>e===Na?[]:Array.from(e),Na="__NO_CODA__",eg=[1,2,3,4],Ta=5,R7=12,tg="SYL_",bu=e=>`${tg}${e}`,P7=e=>Number(e.slice(tg.length));function yi(e){return e>=Ta?Array.from({length:R7-Ta+1},(t,a)=>Ta+a):[e]}const ag={cho:L7,jung:M7,jong:$7},gu=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),fu={cho:gu(mu.cho),jung:gu(mu.jung),jong:gu(mu.jong)},og={};fu.jung.flat().forEach(({v:e})=>{for(const t of Fa(e))og[t]=e});const z7=new Set(fu.cho.flat().map(e=>e.v));function vu(e,t){return e==="cho"?z7.has(t)?t:null:e==="jung"?og[t]??t:To(t)}function Cu(e,t,a){if(e==="jung"){const o=Fa(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&To(a)===t?a:t}function xu(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Na?Na:t==="pron"?vu(i,l):Cu(i,l,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 wi={cho:null,jung:null,jong:null,syllable:null},I7="wt_filter",rg=e=>`wt_filter_${e}`,_u=["noun","verb","modifier"],yu=["native","sino","foreign","mixed"];function ng(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const l of e){if(typeof l!="string")continue;const c=t.includes(l)?l:t.find(u=>n.some(d=>o(d,a(u))===l));c&&!i.includes(c)&&i.push(c)}return i}function ig(e){try{const t=localStorage.getItem(rg(e))??localStorage.getItem(I7);if(t)return JSON.parse(t)}catch{}return null}function sg(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function O7(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?{...wi,cho:t.choseong}:wi}function lg(e,t,a){const{t:o,i18n:n}=_e.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:ig(e)),[l,c]=s.useState(sg(i)),[u,d]=s.useState(()=>O7(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Na,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Na:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||d(G=>G.cho||G.jung||G.syllable!=null||G.jong?G:h())},[]);const p=s.useMemo(()=>Pt(u.cho)||Pt(u.jung)||Pt(u.jong)?"count":"random",[u.cho,u.jung,u.jong]),m=s.useRef(l==="char"?u.jung:null),v=s.useRef(l==="char"?u.jong:null);s.useEffect(()=>{l==="char"&&(m.current=u.jung,v.current=u.jong)},[l,u.jung,u.jong]);const[C,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[f,x]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[b,w]=s.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),_=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),A=(G,oe)=>n.getFixedT(G)(oe),y=G=>ng(G,_u,oe=>`wordSearch.filter.pos.${oe}`,A,_),B=G=>ng(G,yu,oe=>`wordSearch.filter.type.${oe}`,A,_),[k,S]=s.useState(()=>y(i?.posFilter)),[E,D]=s.useState(()=>B(i?.wordTypeFilter)),O=s.useRef(a?.resetKey);s.useEffect(()=>{O.current!==a?.resetKey&&(O.current=a?.resetKey,d(h()),g(!!a?.defaultImageOnly),x(!1),w([]),S([]),D([]))},[a?.resetKey]);const T=uu(),W=s.useMemo(()=>Object.keys(T.posMap),[T]),j=s.useMemo(()=>Object.keys(T.typeMap),[T]),L=s.useMemo(()=>k.map(G=>W[_u.indexOf(G)]).filter(Boolean),[k,W]),I=s.useMemo(()=>E.map(G=>j[yu.indexOf(G)]).filter(Boolean),[E,j]),[Y,X]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[P,V]=s.useState(!1),[$,q]=s.useState(null),N=1,z=Math.max(1,[u.cho,u.jung,u.jong].filter(Boolean).length),[M,F]=s.useState(e);s.useEffect(()=>{if(M!==e){if(!a?.resetOnMount){const G=ig(e);d(G?.composition??h()),g(G?.excludeNoImage??!0),x(G?.sameStructureOnly??!0),c(sg(G)),w(Array.isArray(G?.gradeFilter)?G.gradeFilter:[]),S(y(G?.posFilter)),D(B(G?.wordTypeFilter))}F(e)}},[e,M,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&M===e)try{localStorage.setItem(rg(e),JSON.stringify({contrastCount:z,composition:u,excludeNoImage:C,sameStructureOnly:f,phonemeView:l,gradeFilter:b,posFilter:k,wordTypeFilter:E}))}catch{}},[a?.resetOnMount,e,M,z,u,C,f,l,b,k,E]);const[H,Z]=s.useState(0);cn("wordpool:update",()=>Z(G=>G+1));const ee=s.useRef(n.language);s.useEffect(()=>{ee.current!==n.language&&(ee.current=n.language,Z(G=>G+1))},[n.language]),s.useEffect(()=>{if(!t.choseong)return;let G=!1;return A3({difficulty:p,excludeNoImage:C}).then(oe=>{G||(X(oe),oe.cho.size+oe.jung.size+oe.jong.size>0&&V(!0))}).catch(()=>{G||X({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{G=!0}},[t.choseong,p,C,H]),s.useEffect(()=>{let G=!1;const oe=u,xe=oe.cho?Fa(oe.cho):null,ke=oe.jung?Fa(oe.jung):null,Me=oe.jong===Na,Ie=Me?null:oe.jong?Fa(oe.jong):null,Oe=oe.syllable!=null?yi(oe.syllable):null,ut=!!(xe||ke||Ie||Me||Oe);return B3({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?z:1,composition:t.choseong&&ut?{cho:xe,jung:ke,jong:Ie,jongNone:Me,syllable:Oe}:null,excludeNoImage:C,sameStructureOnly:f,phonemeView:l==="pron"?"pron":"char",grade:b.length>0?b:null}).then(ct=>{G||q(ct)}).catch(()=>{G||q(null)}),()=>{G=!0}},[t.choseong,t.difficulty,p,z,u,l,C,f,H,b]),s.useEffect(()=>{P&&d(G=>{const oe={...G};let xe=!1;return["cho","jung","jong"].forEach(ke=>{const Me=G[ke];!Me||Me===Na||Fa(Me).some(Ie=>Y[ke].has(Ie))||(oe[ke]=null,xe=!0)}),G.syllable!=null&&t.fixedSyllable==null&&(G.syllable>=Ta?[...Y.syllable].some(ke=>ke>=Ta)||(oe.syllable=null,xe=!0):(!Y.syllable.has(G.syllable)||G.syllable<N)&&(oe.syllable=null,xe=!0)),xe?oe:G})},[Y,P,N,t.fixedSyllable]);const se=s.useMemo(()=>{const G=oe=>{const xe=new Set;for(const ke of ag[oe])Y[oe].has(ke)&&xe.add(ke);return xe};return{cho:G("cho"),jung:G("jung"),jong:G("jong")}},[Y]),le=s.useMemo(()=>({exact:new Set(eg.filter(G=>Y.syllable.has(G))),min:[...Y.syllable].some(G=>G>=Ta)}),[Y]),K=s.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]),ue=s.useMemo(()=>({[K.trainOnset]:"cho",[K.trainVowel]:"jung",[K.trainCoda]:"jong"}),[K]),Ne=s.useCallback((G,oe)=>({title:oe,items:G}),[]),U=s.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]),re=s.useMemo(()=>{const G=[];if(t.choseong){const oe={value:Na,displayLabel:K.codaExclude},xe=t.fixedNoCoda===!0,ke=(Me,Ie)=>{const Oe=xe&&Me==="jong",ut={label:Ie,groupLabel:K.phonemeGroup,allOption:!t.requireSyllable,allLabel:K.noLimit,allOptionDisabled:Oe};if(l==="pron"){const at=fu[Me].map(pt=>pt.map(({v:Ee,phonetic:Ve})=>{const Ae=Fa(Ee),Ke=Jb(o,Ve),Q=Oe||!Ae.some(pe=>Y[Me].has(pe));return Ae.length>1?{value:Ee,labels:Ae,tooltip:Ke,disabled:Q}:{value:Ee,tooltip:Ke,disabled:Q}}));return Me==="jong"&&!t.requireCoda&&at.unshift([oe]),{...ut,groups:at}}const ct=ag[Me].map(at=>!Oe&&se[Me].has(at)?at:{value:at,disabled:!0});return{...ut,items:Me==="jong"&&!t.requireCoda?[oe,...ct]:ct}};G.push(ke("cho",K.trainOnset)),G.push(ke("jung",K.trainVowel)),G.push(ke("jong",K.trainCoda))}if(G.push({...du(o,T,{labelInfo:Ne([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:K.gradeLabel}),t.partOfSpeech&&G.push(pu(T)),t.wordType&&G.push(hu(T)),t.choseong||t.fixedSyllable!=null){const oe=t.fixedSyllable;G.push({label:K.syllableCount,items:[...eg.map(xe=>({value:bu(xe),displayLabel:o("wordPairs.syllableN",{n:xe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:oe!=null?xe!==oe:!le.exact.has(xe)||xe<N})),{value:bu(Ta),displayLabel:o("wordPairs.syllableNPlus",{n:Ta,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:oe!=null?Ta!==oe:!le.min}],allOption:!0,allOptionDisabled:oe!=null})}return t.choseong?G.push({label:K.exclude,displayLabel:K.selectLabel,multiple:!0,items:[K.excludeImage,K.sameStructure],labelInfo:Ne(U)}):G.push({label:K.exclude,displayLabel:K.selectLabel,multiple:!0,items:[K.excludeImage],labelInfo:Ne([U[0]])}),G},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,N,se,Y,l,le,K,o,Ne,U,T]),fe={...(t.choseong||t.fixedSyllable!=null)&&u.syllable!=null?{[K.syllableCount]:bu(u.syllable)}:{},...t.choseong&&u.cho?{[K.trainOnset]:u.cho}:{},...t.choseong&&u.jung?{[K.trainVowel]:u.jung}:{},...t.choseong&&u.jong?{[K.trainCoda]:u.jong}:{},[K.exclude]:[...C?[K.excludeImage]:[],...f?[K.sameStructure]:[]],[K.gradeLabel]:b.map(G=>o("wordSearch.filter.grade",{n:Number(G),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[T.partOfSpeech]:L}:{},...t.wordType?{[T.wordType]:I}:{}},je=s.useCallback((G,oe)=>{if(oe===K.exclude)G===K.excludeImage?g(xe=>!xe):G===K.sameStructure&&x(xe=>!xe);else if(oe===K.syllableCount)d(xe=>{if(!G||G===Nt)return{...xe,syllable:null};const ke=P7(G);return{...xe,syllable:xe.syllable===ke?null:ke}});else if(oe===K.gradeLabel){if(!G||G===Nt){w([]);return}const xe=G.replace(/\D/g,"");w(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else if(oe===T.partOfSpeech){if(!G||G===Nt){S([]);return}const xe=_u[W.indexOf(G)]??y([G])[0];if(!xe)return;S(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else if(oe===T.wordType){if(!G||G===Nt){D([]);return}const xe=yu[j.indexOf(G)]??B([G])[0];if(!xe)return;D(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else{const xe=ue[oe];if(!xe)return;d(ke=>t.requireSyllable?G&&G!==Nt?{...ke,[xe]:G}:ke:!G||G===Nt||ke[xe]===G?{...ke,[xe]:null}:{...ke,[xe]:G})}},[K,ue,T,W,j,t.requireSyllable]),Ce=s.useCallback(G=>!t.partOfSpeech&&!t.wordType?!0:E7(G,{...t.partOfSpeech?{[T.partOfSpeech]:L}:{},...t.wordType?{[T.wordType]:I}:{}},T),[t.partOfSpeech,t.wordType,L,I,T]),ne=s.useCallback(G=>{G!==l&&(G!=="direct"&&l!=="direct"&&d(oe=>xu(oe,G,m.current,v.current)),c(G))},[l]),he=s.useCallback(()=>({composition:u,contrastCount:z,excludeNoImage:C,sameStructureOnly:f,phonemeView:l,gradeFilter:b,posFilter:k,wordTypeFilter:E}),[u,z,C,f,l,b,k,E]),be=s.useCallback(G=>{d(G.composition),g(G.excludeNoImage),x(G.sameStructureOnly??!0),c(G.phonemeView),w(Array.isArray(G.gradeFilter)?G.gradeFilter:[]),Array.isArray(G.posFilter)&&S(y(G.posFilter)),Array.isArray(G.wordTypeFilter)&&D(B(G.wordTypeFilter))},[]);return{difficulty:p,contrastCount:z,composition:u,choseong:u.cho,excludeNoImage:C,sameStructureOnly:f,gradeFilter:b,posFilter:L,wordTypeFilter:I,matchesWordAttributes:Ce,poolVersion:H,filterSections:re,filterSelected:fe,handleFilterSelect:je,phonemeView:l,setPhonemeView:ne,phonemeGroupLabel:K.phonemeGroup,wordCount:$,getFilterSnapshot:he,restoreFilterSnapshot:be}}function F7(e){const t=c=>c?Fa(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Na,i=n?null:t(e.jong),l=e.syllable!=null?yi(e.syllable):null;return!a&&!o&&!i&&!n&&!l?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:l}}function cg(e,t,a,o,n,i,l=!0,c="char",u=[]){const[d,h]=s.useState({}),[p,m]=s.useState(!1),{cho:v=null,jung:C=null,jong:g=null,syllable:f=null}=o??{},x=u.length>0?u.slice().sort().join(","):"",b=e.map(_=>_.key).join("|");s.useEffect(()=>{i>0&&k3(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let _=!1;return m(!0),(async()=>{const A=F7({cho:v,jung:C,jong:g,syllable:f}),y=`${v??""}_${C??""}_${g??""}_${f??""}_${x}`,B={};await Promise.all(e.map(async k=>{const S=nr[k.key];try{const E=await tb(k.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?A:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:u.length>0?u:null});E&&E.length>0?B[k.key]={id:`wt-${k.key}-${t}-${y}-${Date.now()}`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:E,itemCount:E.length}:B[k.key]={id:`wt-${k.key}-empty`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[k.key]=null}})),_||(h(B),m(!1))})(),()=>{_=!0}},[t,a,v,C,g,f,n,l,c,i,x,b]);const w=JSON.stringify(e.map(_=>[_.key,_.label,_.color,_.subTitle]));return{perTypeData:s.useMemo(()=>{const _={};for(const[A,y]of Object.entries(d)){const B=e.find(k=>k.key===A);_[A]=y&&B?{...y,name:B.label,iconColor:B.color,subTitle:B.subTitle}:y}return _},[d,w]),generating:p}}function ug(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 H7(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 V7=Sa,W7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},G7=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function ki(e,t,a,o,n){if(!e.length||t<=0)return[];const i=H7(ug(`${a}|${o}|${n}`)),l=W7(o)&1,c=e.filter((d,h)=>(ug(`${a}|${n}|${G7(d,h)}`)>>>7&1)===l),u=c.length>=t&&e.length-c.length>=t;return V7(u?c:e,t,i)}function wu(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:ki(mo,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:ki(bo,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:ki(go,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:ki(fo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function ku(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const U7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function Bu(e=!1,t=U7,a){const o=Ia(Date.now()),n=Ia(Date.now()-864e5),i=a??"";return mo.length>0||bo.length>0||go.length>0||fo.length>0?{today:wu(t,i,o),yesterday:wu(t,i,n)}:{today:wu(t,i,o),yesterday:null}}function dg(e){const t=s.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=s.useRef(null),[o,n]=s.useState(!1),[i,l]=s.useState(!1),[c,u]=s.useState(0),[d,h]=s.useState(!1),[p,m]=s.useState(()=>Ca());s.useEffect(()=>{const C=()=>{const f=Date.now(),x=new Date(f+9*36e5),b=Date.UTC(x.getUTCFullYear(),x.getUTCMonth(),x.getUTCDate()+1)-9*36e5;return Math.max(1e3,b-f+1e3)};let g=setTimeout(function f(){m(Ca()),g=setTimeout(f,C())},C());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let C=!1,g=!1,f=!1,x,b=0,w=null,_=0;const A=40,y=()=>{x!==void 0&&(clearInterval(x),x=void 0)};let B=!1;try{const O=new URLSearchParams(window.location.search),T=O.get("forceRefresh")||O.get("force");B=T==="1"||T==="true"}catch{}const k=O=>{g||(f=!0,t.current=O.today,a.current=O.yesterday,n(!0),h(!0),u(T=>T+1),C=!0,y())},S=async()=>{if(C)return;if(!B){const T=Bu(!1,void 0,e);if(ku(T.today)){k(T);return}}if(w){++b>=A&&E();return}if(b>=_){_=b+8,w=cc(3e3).catch(()=>!1);try{await w}finally{w=null}if(C)return}const O=Bu(B,void 0,e);if(ku(O.today)){k(O);return}++b>=A&&E()};function E(){n(!0),h(!1),C=!0,y()}const D=()=>{if(g||f)return;const O=Bu(B,void 0,e);ku(O.today)&&k(O)};try{window.addEventListener("speechear.data.updated",D)}catch{}return S(),x=setInterval(S,250),()=>{C=!0,g=!0,y();try{window.removeEventListener("speechear.data.updated",D)}catch{}}},[e,p]);const v=s.useCallback(C=>{const g=i?a.current:t.current,f=i?t.current:a.current;return g?.[C]?.length?g[C]:f?.[C]?.length?f[C]:void 0},[i,c]);return{loaded:o,hasData:d,showYesterday:i,setShowYesterday:l,getTrainingPerType:v}}function Au(e,t=!0){const a=ln(e);s.useEffect(()=>{if(t)return zo(()=>{a.current?.()})},[t,a])}const Bi=(e,t)=>`${e}:${t??1}`,Ai=new Map,pg=new Set,hg=new Map,q7=6e4;function mg(e,t){const[a,o]=s.useState(0),n=Array.from(new Set(e.map(i=>Bi(i.word,i.homonum)))).sort().join("|");return s.useEffect(()=>{const i=n?n.split("|"):[],l=Date.now(),c=i.filter(h=>!Ai.has(h)&&!pg.has(h)&&!(l-(hg.get(h)??-1/0)<q7));if(c.length===0)return;let u=!1;const d=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(d).then(h=>{for(const p of h)p.Meaning&&Ai.set(Bi(p.Word,p.Homonum??void 0),p.Meaning);if(h.length>0)for(const p of c)Ai.has(p)||pg.add(p);else{const p=Date.now();for(const m of c)hg.set(m,p)}u||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{u=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const u=Ai.get(c);u!=null&&l.set(c,u)}return l},[n,a])}function Fo(){const[e,t]=s.useState(null),a=s.useCallback(i=>t(i.getBoundingClientRect()),[]),o=s.useCallback(()=>t(null),[]),n=s.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:o,toggleAt:n}}function Su(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=s.useCallback((u,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(u),n(d)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function bg(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:s.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function Eu(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function gg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,u]=s.useState(1),d=Number(t)||25,h=Number(i)||d;return Eu([o,i,...a??[]].map(String).join("|"),u),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:u}}function Si(e="warning"){const[t,a]=s.useState(""),[o,n]=s.useState(e),[i,l]=s.useState(0),c=s.useCallback((p,m)=>{n(m),a(p),l(v=>v+1)},[]),u=s.useCallback(p=>c(p,"warning"),[c]),d=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:h}}const mn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},bn=mn.blue,Ei=mn.green,gn=mn.amber,Di=mn.purple,Y7=mn.pink,K7=[{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:bn,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:bn,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:bn,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:bn,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:bn,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:Ei,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:Ei,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:Ei,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:Ei,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:gn,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:gn,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:gn,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:gn,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:gn,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:Di,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:Di,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:Di,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:Di,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:Y7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function fg(){const{t:e}=_e.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(Hm(e).map(o=>[o.key,o.label])),a={...t};return K7.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function fn(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 Ho({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),u=s.useRef(null),d=s.useRef(null),h=s.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let v=d.current?.offsetHeight??0;v>0&&h();let C=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==v){if(v=B,++C>4){g?.disconnect(),g=null;return}h()}}),g.observe(d.current));const f=B=>{const k=B.target;o&&k.closest?.(o)||u.current?.contains(k)||d.current?.contains(k)||i(!1)};document.addEventListener("mousedown",f),document.addEventListener("pointerdown",f);let x=null;const b=()=>{if(typeof requestAnimationFrame>"u"){h();return}x===null&&(x=requestAnimationFrame(()=>{x=null,h()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?b():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const _=()=>{a==="reposition"?b():a==="close"&&i(!1)};let A=null;const y=()=>{_(),A&&clearTimeout(A),A=setTimeout(()=>{A=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",_),window.addEventListener("orientationchange",y)),()=>{x!==null&&cancelAnimationFrame(x),g?.disconnect(),document.removeEventListener("mousedown",f),document.removeEventListener("pointerdown",f),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",y)),A&&clearTimeout(A)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return zo(()=>i(!1))},[n]);const p=s.useCallback(()=>i(v=>!v),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:u,menuRef:d}}function Du(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=s.useState([]),[d,h]=s.useState(0),[p,m]=s.useState("idle"),[v,C]=s.useState(null),[g,f]=s.useState([]),[x,b]=s.useState(null),[w,_]=s.useState(0),A=s.useRef(0),y=s.useCallback($=>{A.current=typeof $=="function"?$(A.current):$,_(A.current)},[]),B=s.useRef(o),k=s.useRef(n);s.useEffect(()=>{B.current=o,k.current=n},[o,n]);const S=s.useRef([]),E=()=>{S.current.forEach(clearTimeout),S.current=[]},D=($,q)=>{S.current.push(setTimeout(q,$))};s.useEffect(()=>()=>E(),[]);const O=c[d]?.id??null,T=s.useRef(null),W=s.useCallback(()=>{E(),m("playing"),f([]),b(null),y(0);let $=0;e.forEach((q,N)=>{D($,()=>{h(N),C(q.id),B.current?.(q)}),D($+1e3,()=>{C(null),f(z=>[...z,q.id])}),$+=1300}),D($,()=>{m("done"),k.current?.({score:0,total:e.length})})},[e,y]),j=s.useCallback(($,q)=>{if(q>=$.length){m("done"),k.current?.({score:A.current,total:$.length});return}T.current=null,h(q),b(null),m("playing"),C($[q].id),B.current?.($[q]),D(i,()=>{C(null),m("waiting")})},[i]),L=s.useCallback(()=>{E();const $=lt(e);u($),y(0),f([]),j($,0)},[e,j,y]),I=s.useCallback(()=>{t==="playback"?(u(e),W()):L()},[t,e,W,L]),Y=s.useCallback(()=>{E(),m("idle"),C(null),f([]),b(null),h(0),y(0),u([])},[y]),X=e.map($=>$.id).join("|");s.useEffect(()=>(a?I():Y(),()=>E()),[t,X,a]);const P=s.useCallback($=>{p!=="waiting"||t==="playback"||T.current===d||(T.current=d,b($),$===c[d]?.id&&y(q=>q+1),t==="exam"?(m("playing"),D(400,()=>j(c,d+1))):(m("feedback"),D(l,()=>j(c,d+1))))},[p,t,c,d,j,l,y]),V=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:x,answerId:O,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:P},index:d,total:V,score:w,phase:p,done:p==="done",start:I,reset:Y}}var Z7=Object.freeze({__proto__:null,CACHE_GROUPS:ou,CORE_VERSION:jn,DocumentTitleSuppressContext:tu,EMPTY_COMPOSITION:wi,MediaQueryOverrideContext:bi,NO_CODA:Na,SYLLABLE_MIN:Ta,VAP_PAGE_SIZE_OPTIONS:dn,buildGradeSection:du,buildPartOfSpeechSection:pu,buildPositionSection:Kb,buildSelectSection:Yb,buildSyllableSection:qb,buildWordTypeSection:hu,charToPronValue:vu,convertComposition:xu,fmtBytes:Mb,lsBytes:ru,meaningKey:Bi,normalizeWordAttributeFilter:Ub,pronToCharValue:Cu,syllableToFilter:yi,toWordAttributeFilterCodes:xi,today:fr,toggleAttributeFilter:Zb,useAnchoredMenu:Ho,useCacheManagement:$b,useDailyTrainingSelection:dg,useDelayedHoverAnchor:Su,useDeviceManagement:Wb,useDocumentTitle:au,useEscToClose:Au,useFontScale:fi,useHoverAnchor:Fo,useListControls:gg,useMediaQuery:sa,usePageResetOnChange:Eu,usePagedList:bg,usePasswordChange:Lb,useRelativeDay:jb,useSoundCompassExam:Du,useTablePaging:iu,useTableSort:su,useToastState:Si,useTrainingTypeLabels:fg,useVisitAllPanel:Fb,useVisitHistory:zb,useVisitSchedule:Ob,useWindowEvent:cn,useWordAttributeFilterKeys:uu,useWordDataStats:Rb,useWordMeanings:mg,useWordTrainingDataGeneration:cg,useWordTrainingFilter:lg,valueToJamos:Fa,wordAttributeFilterFromCodes:_i}),X7=".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}";ce(X7);function vg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:h=""}){const p=n??i??"main",m=s.useRef(null),[v,C]=s.useState("main"),g=sa("(max-width: 767px)"),f=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const _=gi(w),A=(y,B,k)=>{if(k!==void 0)w.style.setProperty(B,k),f.current[y]=!0;else if(f.current[y]){const S=_?.[y];S?w.style.setProperty(B,S):w.style.removeProperty(B),f.current[y]=!1}};A("title","--promo-banner-bg-title",u),A("description","--promo-banner-bg-description",d)},[u,d,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const _=gi(w);C(_?.actionVariant??"main")},[p]);const x=De("promo-banner",`promo-banner--${l}`,h),b=Qc[p];return r.jsxs("div",{ref:m,className:x,role:"note",children:[r.jsx(b,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(ge,{htmlType:"button",size:40,variant:c??v,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var J7='.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)}';ce(J7);function Cg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=_e.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),u=c.length,[d,h]=s.useState(0),[p,m]=s.useState(!1),[v,C]=s.useState(!1),[g,f]=s.useState(!1),x=s.useRef(null),b=s.useRef(null),w=s.useRef(null),_=_c(),A=p||v||g,y=u>0?Math.min(d,u-1):0;s.useEffect(()=>{if(u<2||t<=0||A||_)return;const k=window.setInterval(()=>h(S=>(Math.min(S,u-1)+1)%u),t);return()=>window.clearInterval(k)},[u,t,A,_]);const B=k=>{b.current!=null&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,f(!1)},k)};return s.useEffect(()=>()=>{b.current!=null&&window.clearTimeout(b.current)},[]),s.useEffect(()=>{if(!g)return;const k=S=>{S.pointerType==="touch"&&(w.current&&w.current.contains(S.target)||(b.current!=null&&(window.clearTimeout(b.current),b.current=null),f(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[g]),u===0?null:r.jsxs("section",{ref:w,className:De("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{x.current=k.pointerType},onPointerDown:k=>{x.current=k.pointerType,k.pointerType==="touch"&&(b.current!=null&&(window.clearTimeout(b.current),b.current=null),f(!0))},onPointerUp:k=>{k.pointerType==="touch"&&B(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{x.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:k=>{let S=!0;try{S=k.target.matches(":focus-visible")}catch{S=!0}C(S)},onBlur:k=>{k.currentTarget.contains(k.relatedTarget)||C(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${y*100}%)`},children:c.map((k,S)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":S!==y,...S!==y?{inert:!0}:{},children:k},S))})}),u>1&&r.jsx("div",{className:`top-banner__dots${(a?.[y]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((k,S)=>r.jsx("button",{type:"button",className:`top-banner__dot${S===y?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:S+1,defaultValue:`${u}\uAC1C \uC911 ${S+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":S===y,onClick:()=>h(S)},S))})]})}var Q7=".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)}";ce(Q7);function ek({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=_e.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:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),o?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const h=d.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[m+1]:p[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(ot,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function xg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((u,d)=>r.jsx(ek,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:n},u.id??d))})}var tk=".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)}}";ce(tk);var ak=".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}";ce(ak);function ok(){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 rk(){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 nk(){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 Et(e){const{t}=_e.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:y,position:B="top-right",onClick:k,animate:S=!1}=e,E=A??"check",D=y!==void 0?"number":E,O=typeof o=="number"?o:32,T=De("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${O}`,S?"circle-badge--animate":"",k?"circle-badge--clickable":"",n),W=y!==void 0?t("badge.nthSelected",{n:y,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[E];return r.jsxs("span",{className:T,onClick:k,onKeyDown:k?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??W,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[y!==void 0&&y,y===void 0&&E==="check"&&r.jsx(ok,{}),y===void 0&&E==="remove"&&r.jsx(rk,{}),y===void 0&&E==="minus"&&r.jsx(nk,{})]})}const{label:c,children:u,variant:d="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:v,color:C}=e,g=typeof o=="number"?"medium":o??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",x={small:12,medium:14,large:16}[g]??14,b=De("badge",`badge--${d}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",f,n),w=C?.startsWith("--")?`var(${C})`:C,_=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return r.jsxs("span",{className:b,style:_,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(ot,{icon:m,size:x,className:"badge__icon"}),c??u,v&&r.jsx(ot,{icon:v,size:x,className:"badge__icon"})]})}var ik=".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}}";ce(ik);function Cr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=_e.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),u=s.useMemo(()=>{const f=[{title:null,columns:e}];let x=e;for(const b of l){const w=x?.[b.ci]?.items?.[b.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;x=[{title:null,items:w.children}],f.push({title:w.label||null,columns:x})}return f},[e,l]),d=u[u.length-1],h=u.length-1,p=s.useCallback(()=>c(f=>f.slice(0,Math.max(0,Math.min(f.length,h)-1))),[h]),m=s.useRef(null),v=s.useRef(null),C=u.length;s.useEffect(()=>{v.current||(v.current=document.activeElement);let f=0,x=0;const b=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}x++<20&&(f=requestAnimationFrame(b))};return f=requestAnimationFrame(b),()=>cancelAnimationFrame(f)},[C]),s.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((f,x,b)=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(w=>[...w.slice(0,h),{ci:x,ii:b}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(u.length>1||d.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?r.jsx(ge,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((f,x)=>r.jsxs("div",{className:"tooltip-menu__column",children:[f.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((b,w)=>r.jsxs(s.Fragment,{children:[b.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(ge,{htmlType:"button",className:"tooltip-menu__item",size:i,type:b.label?"bar":"dot",icon:b.selected?"check":b.icon||"none",rightIcon:Array.isArray(b.children)&&b.children.length?"chevron-right":b.badgeCount?r.jsx(Et,{type:"dot",position:"inline",number:Math.min(b.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:b.label,ariaLabel:b.label&&b.badgeCount&&b.badgeCount>0?n("nav.badgeLabel",{label:b.label,count:b.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):b.label,onClick:()=>g(b,x,w),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},x))})]})}const _g=".content-area";function Nu(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(_g);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&ra("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${_g}) \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 Tu=52,Ni=10,yg=e=>e&&e>0?e:0;function ju({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=_e.useTranslation(),u=o==="manager"?"malgwi":"manager",d=o==="manager"?"arrow-left":"arrow-right",h=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=s.useRef(null),[m,v]=s.useState(0),C=e.length;s.useEffect(()=>{const $=p.current;if(!$)return;const q=()=>{const M=typeof getComputedStyle=="function"?getComputedStyle($):null,F=$.clientWidth-(parseFloat(M?.paddingLeft??"")||0)-(parseFloat(M?.paddingRight??"")||0),H=$.querySelector(".bottom-nav__left"),Z=H?.nextElementSibling,ee=(H?.offsetWidth??0)+(H&&Z?.classList.contains("bottom-nav__divider")?Z.offsetWidth:0);v(Math.max(0,F-ee))};if(q(),typeof ResizeObserver>"u")return;const N=new ResizeObserver(q);N.observe($);const z=$.querySelector(".bottom-nav__left");return z&&N.observe(z),()=>N.disconnect()},[n]);const g=Tu+1,f=$=>Math.max(0,Math.floor(($+Ni)/(Tu+Ni))),x=C*(Tu+Ni)-Ni<=m,b=m<=0||i.length===0&&x?C:Math.min(C,f(m-g)),w=m>0&&b<C,_=w?b:C,A=e.slice(0,_),y=e.slice(_),B=w||i.length>0,k=s.useCallback(($,q)=>({position:"fixed",bottom:window.innerHeight-$.top+8,right:window.innerWidth-$.right,zIndex:fn(q)}),[]),S=s.useId(),{open:E,toggle:D,close:O,style:T,triggerRef:W,menuRef:j}=Ho({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback(($,q)=>q>0?c("nav.badgeLabel",{label:$,count:q,defaultValue:"{{label}}, {{count}}\uAC1C"}):$,[c]),I=s.useCallback(($,q)=>q>0?c("nav.badgeInsideLabel",{label:$,count:q,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):$,[c]),Y=s.useCallback(()=>n?.(u),[n,u]),X=s.useMemo(()=>y.find($=>!!$.key&&$.key===t)??i.find($=>$.selected||$.key&&$.key===t),[y,t,i]),P=s.useMemo(()=>[{items:[...y.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:!!$.key&&$.key===t,closeOnSelect:!0,disabled:$.state==="disabled",onClick:()=>{$.state!=="disabled"&&($.key&&a&&(a($.key),Nu(l,"BottomNav")),O())}})),...i.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===t),closeOnSelect:!0,onClick:()=>{$.onClick?.(),O()}}))]}],[y,i,t,a,O]),V=[...y,...i].reduce(($,q)=>$+yg(q.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:p,"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(ge,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:h,className:"bottom-nav-item",onClick:Y})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:A.map(($,q)=>{const N=yg($.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:$.icon,ariaLabel:L($.label,N),selected:!!$.key&&$.key===t,disabled:$.state==="disabled",className:"bottom-nav-item",onClick:()=>{$.key&&(a?.($.key),Nu(l,"BottomNav"))}}),N>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(N,99),size:24})})]},$.key??`__slot-${q}`)})}),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(ge,{htmlType:"button",size:52,type:"dot",icon:X?.icon??"ellipsis",ariaLabel:I(X?.label??c("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!X,className:"bottom-nav-item",onClick:D,"aria-expanded":E,"aria-controls":E?S:void 0}),V>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),E&&pa.createPortal(r.jsx("div",{id:S,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:T,ref:j,children:r.jsx(Cr,{columns:P,onClose:O})}),document.body)]})})]})]})}var sk='.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;margin-bottom:var(--spacing-s);margin-top:4px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-left:calc(var(--spacing-s) - 1px);padding-right:calc(var(--spacing-s) - 1px);scrollbar-width:none}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .side-nav__scroll{height:0;margin-left:calc((var(--spacing-s) - 1px)*-1);margin-right:calc((var(--spacing-s) - 1px)*-1);overflow:visible;pointer-events:none;position:sticky;top:0;z-index:1}.ihabdevteam-core-scope .side-nav__scroll-thumb{background:var(--color-darkWhite);border-radius:3px;pointer-events:auto;position:absolute;right:calc(var(--spacing-s)/2 - 4.5px);touch-action:none;transition:background-color .16s ease,opacity .18s ease;width:6px}.ihabdevteam-core-scope .side-nav__scroll-thumb:before{content:"";inset:0 -4px;position:absolute}.ihabdevteam-core-scope .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .side-nav__scroll-thumb:hover{background:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:0 0 4px}.ihabdevteam-core-scope .side-nav__notification-wrap{display:inline-flex;position:relative;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .side-nav__footer{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding: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}';ce(sk);function wg(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 kg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function lk(e){const{t}=_e.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:u,onAccount:d}=e||{},h="default";return n||i||l||c||u||d?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,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(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:kg(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(Et,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),l&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:u,selected:a==="feedback"}),d&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function Bg(e){const{t}=_e.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",v=a?.icon??i??"",C=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(ot,{icon:v,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),f=d==="disabled",x=`side-nav__item ${l?"active":""} ${d||""} ${f?"disabled":""} ${a?.child?"side-nav__item--child":""}`,b=s.useCallback(w=>{if(f)return;const _=w.detail>0;if(_)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,_)},[f,p,c]);return r.jsxs("button",{type:"button",className:x,onClick:b,"aria-label":typeof m=="string"?kg(t,m,C):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":f,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),C>0&&r.jsx(Et,{type:"dot",position:"inline",number:Math.min(C,99),size:24,"aria-hidden":!0}),d==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Lu(e){const{t}=_e.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:C}=e||{},g=m==="manager",f=s.useCallback(()=>v?.(g?"malgwi":"manager"),[v,g]),x=s.useRef(null),[b,w]=s.useState(null);s.useEffect(()=>{const k=x.current;if(!k)return;let S=null;const E=()=>{const{scrollHeight:T,clientHeight:W,scrollTop:j}=k;if(T<=W+1){w(P=>P===null?P:null);return}const L=Math.max(24,W/T*W),I=W-L,Y=T-W,X={top:Math.round(j/Y*I),height:Math.round(L)};w(P=>P&&P.top===X.top&&P.height===X.height?P:X)},D=()=>{if(typeof requestAnimationFrame>"u"){E();return}S===null&&(S=requestAnimationFrame(()=>{S=null,E()}))};E(),k.addEventListener("scroll",D,{passive:!0});const O=typeof ResizeObserver<"u"?new ResizeObserver(D):null;O?.observe(k);for(const T of Array.from(k.children))O?.observe(T);return()=>{S!==null&&cancelAnimationFrame(S),k.removeEventListener("scroll",D),O?.disconnect()}},[a]);const _=s.useRef(null),A=s.useCallback(k=>{const S=x.current;S&&(k.preventDefault(),_.current={y:k.clientY,top:S.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),y=s.useCallback(k=>{const S=x.current,E=_.current;!S||!E||(S.scrollTop=E.top+(k.clientY-E.y)*(S.scrollHeight/S.clientHeight))},[]),B=s.useCallback(k=>{_.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return r.jsxs("nav",{ref:x,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[b&&r.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:r.jsx("div",{className:"side-nav__scroll-thumb",style:{top:b.top,height:b.height},onPointerDown:A,onPointerMove:y,onPointerUp:B,onPointerCancel:B})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,S)=>r.jsxs(s.Fragment,{children:[k.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(Bg,{item:k,active:!!k.key&&k.key===o,state:k.disabled?"disabled":void 0,onClick:(E,D,O)=>{if(k.disabled)return;if(k.href){if(wg(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),O)try{D?.blur()}catch{}return}if(n?.(k.key),Nu(C,"SideNav"),!O)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const T=document.querySelector(".header");if(T){const W=typeof T.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&W&&T.matches(":hover"))){T.classList.add("header--force-collapsed");const j=()=>{T.classList.remove("header--force-collapsed"),T.removeEventListener("mouseenter",j)};T.addEventListener("mouseenter",j)}}}})]},k.key??`side-nav__item-${S}`)),v&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),v&&r.jsx(Bg,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:f})]}),r.jsx(lk,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p})]})}var Ti='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',Mu='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',ck='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_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',uk='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;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__scroll-thumb{background:hsla(0,0%,100%,.4)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:hover{background:hsla(0,0%,100%,.75)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled .side-nav__icon{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{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.header--force-collapsed,.ihabdevteam-core-scope .header.header--force-collapsed:focus-within,.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{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{transition:padding .18s ease,gap .18s ease,width .18s ease}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;overflow:hidden;transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header--force-collapsed .side-nav__menu,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__menu{padding:0 var(--spacing-xs)}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item{border-radius:var(--radius-card);gap:0;margin:0 auto;padding:0 14px;position:relative;width:52px}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item>.circle-badge,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item>.circle-badge{border:1px solid var(--color-pureWhite);position:absolute;right:0;top:0}.ihabdevteam-core-scope .header--force-collapsed .side-nav__footer,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__footer{align-items:center}.ihabdevteam-core-scope .header--force-collapsed .side-nav__separator--short,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__separator--short{margin-left:auto;margin-right:auto}.ihabdevteam-core-scope .header--force-collapsed .side-nav__label,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--symbol,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--symbol{display:block}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--logo,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--logo{display:none}}@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}.ihabdevteam-core-scope .brand-identity__image--symbol{display:none}@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}}';ce(uk);function $u({appMode:e}){const{t}=_e.useTranslation(),a=e==="manager",o=a?Mu:Ti,n=ck;return r.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),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 brand-identity__image--logo"})]})}function Ru({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:C}){const{t:g}=_e.useTranslation(),f=sa("(max-width: 767px)"),x=s.useMemo(()=>(a??[]).filter(T=>!T.section&&(T.key||T.label)).map(T=>({key:T.key,label:typeof T.label=="string"?T.label:void 0,icon:T.icon,state:T.disabled?"disabled":void 0,badgeCount:T.badge})),[a]),b=s.useCallback(T=>{const W=a?.find(j=>j.key===T);if(!W?.disabled){if(W?.href){wg(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}t?.(T)}},[a,t]),w=s.useMemo(()=>{const T=[];return l&&T.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&T.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&T.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),h&&T.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&T.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),u&&T.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),T},[g,l,c,d,h,p,u,i]),_=s.useCallback((T,W)=>({position:"fixed",top:T.bottom+8,right:Math.max(8,window.innerWidth-T.right),zIndex:fn(W)}),[]),A=s.useId(),{open:y,toggle:B,close:k,style:S,triggerRef:E,menuRef:D}=Ho({computeStyle:_,onScroll:"ignore",onResize:"reposition"}),O=s.useMemo(()=>[{items:w.map(T=>({label:T.label,icon:T.icon,badgeCount:T.badgeCount,selected:T.selected??(!!T.key&&T.key===e),closeOnSelect:!0,onClick:()=>{T.onClick?.(),k()}}))}],[w,e,k]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx($u,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:E,children:[r.jsx(ge,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":y,"aria-controls":y?A:void 0}),!!c&&!!i&&i>0&&r.jsx(Et,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),y&&pa.createPortal(r.jsx("div",{id:A,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:S,ref:D,children:r.jsx(Cr,{columns:O,onClose:k})}),document.body)]})]}),r.jsx(Lu,{scrollContainer:C,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v}),f&&r.jsx(ju,{items:x,activeKey:e??void 0,onChange:b,scrollContainer:C,appMode:m,onAppModeChange:v})]})}const Ag=Ru;var dk='.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%}}';ce(dk);const pk=()=>yt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Sg(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 dr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return dr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function hk(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function mk(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||pk()}function bk(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 Pu(e){return{type:e.type??hk(e),plan:mk(e),label:e.label,price:Sg(e.price),originalPrice:Sg(e.originalPrice),discountLabel:e.discountLabel}}var gk='.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}';ce(gk);var fk='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',vk='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>',Ck='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',xk='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',_k='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>',yk='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',wk=".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)}";ce(wk);var kk=".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)}";ce(kk);var Eg='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 _o={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},zu=new WeakMap;function Bk(e){if(e)return zu.get(e)}function Ha(e,t){e&&(e.style.setProperty(_o.text,t.text),e.style.setProperty(_o.sub,t.sub),t.copyrightColor&&e.style.setProperty(_o.copyright,t.copyrightColor),zu.set(e,t))}function Va(e){e&&(e.style.removeProperty(_o.text),e.style.removeProperty(_o.sub),e.style.removeProperty(_o.copyright),zu.delete(e))}const Iu={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ou(e={}){const t=Dt(Iu,Ha,Va);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("${Eg}")`}})]})}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 Ak=".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%}";ce(Ak);var vn='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 Sk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Ek=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ng(e={}){const t=Dt(Sk,Ha,Va),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:Ek.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:l,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("${vn}")`}})]})}var Dk=".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%}";ce(Dk);const Nk={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Tk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function jk(e={}){const t=Dt(Nk,Ha,Va),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:Tk.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:l,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("${Eg}")`}})]})}var Lk=".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)}";ce(Lk);const Mk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function $k(e={}){const t=Dt(Mk,Ha,Va);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("${vn}")`}})]})}const Rk={Logo_speechear_kr:{"":Ti,_white:fk,_textWhite:vk,_black:Ck},Logo_speechearManager_kr:{"":Mu,_white:xk,_textWhite:_k,_black:yk}};function Pk(e,t){if(e)return Rk[e]?.[t??""]??void 0}const zk={speechear:Ti,manager:Mu},Ik={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Tg=10;function Ok(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function jg(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 Fk(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===yt.t("passCard.specialLabel");return o?r.jsx($k,{}):n?r.jsx(jk,{}):r.jsx(Ng,{})}return r.jsx(Ou,{})}function Fu({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:u="active",bg:d,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:v,logoSrc:C,label:g,price:f,originalPrice:x,discountLabel:b,onUse:w,onRefund:_,onDelete:A}){const{t:y}=_e.useTranslation(),B=t?Pu(t):void 0,k=n??B?.type??"speechear",S=o??B?.plan??y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=g??B?.label,D=f??(a?B?.price:void 0),O=x??(a?B?.originalPrice:void 0),T=b??B?.discountLabel,W=s.useMemo(()=>{if(D)return null;const U=t?.durationDays??bk(t?.code);if(!U||U<=0)return l!=null?{percent:null,remainingLabel:jg(l,y)}:null;const re=U*86400;let fe;if(l!=null)fe=l;else if((u==="active"||u==="expired")&&i){const ne=new Date(i).getTime();if(Number.isNaN(ne))return null;const he=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),be=/^(\d{4})-(\d{2})-(\d{2})/.exec(Ca()),G=Math.round(he&&be?(Date.UTC(+he[1],+he[2]-1,+he[3])-Date.UTC(+be[1],+be[2]-1,+be[3]))/864e5:(ne-Date.now())/864e5);fe=Math.max(0,c?G+1:G)*86400}else u==="expired"?fe=0:fe=re;const je=Ok(fe),Ce=Math.max(0,Math.min(100,Math.floor(Math.min(je,re)/re*100)));return u==="pending"&&Ce>=100?null:{percent:Ce,remainingLabel:u==="expired"?y("passCard.expired","\uB9CC\uB8CC\uB428"):jg(fe,y)}},[D,u,i,l,c,t?.durationDays,t?.code,y]),j=s.useRef(null),[L,I]=s.useState({}),[Y,X]=s.useState(null),P=!!(w||_||A),V=s.useRef(!1),$=s.useRef(void 0),[q,N]=s.useState(C);s.useLayoutEffect(()=>{N(C)},[C]),s.useLayoutEffect(()=>{const U=j.current;U&&(p!==void 0&&U.style.setProperty("--pass-card-text",p),m!==void 0&&U.style.setProperty("--pass-card-sub",m),v!==void 0&&U.style.setProperty("--pass-card-copyright",v))},[p,m,v]),s.useLayoutEffect(()=>{const U=j.current;if(!U)return;const re=Bk(U);if(!C){const fe=Ik[k],je=u==="expired"?"_black":re?.logoColor??"",Ce=Pk(fe,je);N(Ce)}},[d,C,k,u]);const z=U=>{const re=j.current;if(!re)return null;const{left:fe,top:je,width:Ce,height:ne}=re.getBoundingClientRect(),he=(U.clientX-fe)/Ce-.5;return{rotateX:-((U.clientY-je)/ne-.5)*Tg,rotateY:he*Tg}},M=(U,re)=>{const fe=re*-.7,je=U*.7+10,Ce=20+(Math.abs(U)+Math.abs(re))*.4;return`${fe}px ${je}px ${Ce}px rgba(0, 0, 0, 0.18)`},F=s.useCallback(U=>{if(br())return;V.current=!0,clearTimeout($.current),$.current=setTimeout(()=>{V.current=!1},200);const re=z(U);re&&I({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(re.rotateX,re.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),H=s.useCallback(U=>{if(br())return;const re=z(U);if(!re)return;const fe=V.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(re.rotateX,re.rotateY),transition:fe})},[]),Z=s.useCallback(()=>{clearTimeout($.current),V.current=!1,I({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ee=s.useCallback(()=>X(null),[]),se=s.useMemo(()=>{const U=y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),re=S.replace("\uC774\uC6A9\uAD8C","").replace(U==="\uC774\uC6A9\uAD8C"?"":U,"").trim(),fe=re.match(/^(.*?)(일|년)$/);return fe?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:fe[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:fe[2]==="\uB144"?y("passCard.unitYear","\uB144"):y("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:re})},[S,y]),le=s.useMemo(()=>{const U=dr(D);if(!U)return null;const re=U.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!re)return r.jsx("span",{className:"h1",children:U});const[,fe,je,Ce]=re;return r.jsxs(r.Fragment,{children:[fe&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:fe}),r.jsx("span",{className:"h1 pass-card__price-amount",children:je}),Ce.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Ce.trim()})]})},[D]),K=s.useCallback(()=>{P&&X(U=>{if(U)return null;const re=j.current?.getBoundingClientRect();if(!re)return null;const fe=50;return{left:re.left,right:re.right,width:re.width,height:re.height,x:re.x,y:re.y+fe,top:re.top+fe,bottom:re.bottom+fe}})},[P]),ue=s.useCallback(U=>{P&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),K())},[P,K]),Ne=[{items:[...w?[{label:y("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),X(null)},closeOnSelect:!0}]:[],..._?[{label:y("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),X(null)},closeOnSelect:!0}]:[],...A?[{label:y("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),X(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:j,className:`pass-card pass-card--${u}${P?" pass-card--clickable":""}`,style:L,onMouseEnter:F,onMouseMove:H,onMouseLeave:Z,onPointerUp:U=>{U.pointerType==="touch"&&Z()},onPointerCancel:U=>{U.pointerType==="touch"&&Z()},onClick:K,onKeyDown:P?ue:void 0,role:P?"button":void 0,tabIndex:P?0:void 0,"aria-label":e,"aria-haspopup":P?"menu":void 0,"aria-expanded":P?!!Y:void 0,children:[d??Fk(k,S,E),!h&&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:q??zk[k],className:"pass-card__logo",alt:k==="manager"?y("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):y("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:se}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?y("passCard.labeledPlan",{label:E}):y("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?r.jsxs("div",{className:"pass-card__price-area",children:[T&&r.jsx("span",{className:"pass-card__discount body-3",children:T}),r.jsxs("div",{className:"pass-card__price",children:[O&&r.jsx("span",{className:"pass-card__price-original body-3",children:dr(O)}),le]})]}):W?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:W.remainingLabel}),W.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:W.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),Y&&r.jsx(xa,{anchorRect:Y,onClose:ee,ariaLabel:y("tooltip.menu","\uBA54\uB274"),children:r.jsx(Cr,{columns:Ne,onClose:ee,size:"small"})})]})}var Hk=".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%}";ce(Hk);const Vk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Wk(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=Dt(Vk,Ha,Va);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("${vn}")`}})]})}var Gk=".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}";ce(Gk);const Uk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function qk(e={}){const t=Dt(Uk,Ha,Va);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("${vn}")`}})]})}function Yk(e,t){if(e){if(t==="manager_pro")return r.jsx(qk,{});if(t==="manager_standard")return r.jsx(Wk,{});if(t==="manager_lite")return r.jsx(Ng,{})}}function Kk(e){const t=dr(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 Lg(e){const{t}=_e.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:l="monthly",ownedCodes:c}=e||{},u=_=>!!_&&!!c?.includes(_),d=_=>_.onceOnly??/오픈\s*특가/.test(_.label??""),h=(n.tiers||[]).some(_=>d(_)&&u(_.code)),p=_=>{const A=_.prices?_.prices[l]:_.price;return A?(n.tiers||[]).some(y=>!!y.badge&&y.originals?.[l]===A):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),C=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=_=>_.prices?_.prices[l]:_.price,f=(n.tiers||[]).length>0&&(n.tiers||[]).every(_=>{const A=g(_);return A==="\uBB34\uB8CC"||A===v||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),x=(n.tiers||[]).length>0&&(n.tiers||[]).every(_=>{const A=g(_);return A==="\uBB38\uC758"||A===C}),b=n.group==="org",w=b?"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(Et,{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((_,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(ot,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),_]},A))})]}),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((_,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(ot,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),_]},A))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:f?null:x?r.jsx(ge,{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(_=>{const A=_.label||a,y=d(_),B=y||_.openPromo===!0,k=A.replace(/^오픈\s*특가\s*/,"")||a,S=_.prices?_.prices[l]:_.price,E=_.badge?B?`${o}
|
|
851
|
+
`),this.name="StorageNotConfiguredError"}};function Ns(e){a8(e)}function Mn(e,t){if(!e)return null;const a=Jo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ts(e){if(!e)return!1;const t=Jo();if(!t)throw new Ds("fileExists");if(t.exists)return t.exists(e);try{return await t.resolveUrl(e)!==null}catch{return!1}}async function Pr(e){if(!e)return null;const t=Jo();if(!t)throw new Ds("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function $n(e){const t=Jo();if(!t)throw new Ds("downloadSound");return t.download(e)}function js(){return Jo()?.noiseBaseUrl??"/sounds/noise"}function Ls(){const e=Number(Jo()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function o8(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 Ms="__ihab_core_tts_config__";function ah(e){globalThis[Ms]=e}function zr(){return globalThis[Ms]?.urlResolver??null}function $s(){return globalThis[Ms]?.fallbackUrlResolver??null}const r8=new Map;function oh(){r8.clear()}const rh="__ihab_core_pronunciation_resolver__";function nh(e){globalThis[rh]=e}function Rs(){return globalThis[rh]??null}let co=null;const Ir=new WeakMap,Ps=new WeakMap,zs=new WeakMap;let ih=!1;const sh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function n8(){if(ih||typeof document>"u")return;ih=!0;const e=()=>{try{co&&co.state!=="running"&&co.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function lh(){if(co)return co;try{const e=window.AudioContext||window.webkitAudioContext;return e?(co=new e,n8(),co):null}catch{return null}}function Or(){try{co?.resume()}catch{}}function Is(e,t){const a=Ir.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=sh(Ps.get(t)??t.volume),o.connect(n),n.connect(i),n.connect(e.destination);try{t.volume=1}catch{}const l={gain:n,analyser:i};return Ir.set(t,l),l}catch{return null}}function Qo(e){if(!e)return Promise.resolve(null);const t=Ir.get(e);if(t)return Promise.resolve(t.analyser);const a=lh();if(!a)return Promise.resolve(null);if(a.state==="running")return Promise.resolve(Is(a,e)?.analyser??null);const o=zs.get(e);if(o)return o;const n=Promise.resolve().then(()=>a.resume()).then(()=>a.state==="running"?Is(a,e)?.analyser??null:null).catch(()=>null).finally(()=>{zs.delete(e)});return zs.set(e,n),n}function Os(e){if(!e)return null;const t=Ir.get(e);if(t)return t.analyser;const a=lh();return a?a.state==="running"?Is(a,e)?.analyser??null:(Qo(e),null):null}function $a(e,t){const a=sh(t);Ps.set(e,a);const o=Ir.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 er(e){return Ps.get(e)??e.volume}function Fs(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 ch="__ihab_core_image_config__";function uh(e){globalThis[ch]=e}function uo(){return globalThis[ch]??null}const Fr="word_image_existence_map_v1";let Ra=null,No=0,dh=-1,Hr=null,ph=-1,hh=new Set;const Rn=new Map;function tr(){if(Ra)return Ra;try{const e=typeof localStorage<"u"?localStorage.getItem(Fr):null,t=e?JSON.parse(e):null;Ra=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Ra={}}return Ra}let Hs=null;function i8(){Hs||(Hs=setTimeout(()=>{Hs=null;try{typeof localStorage<"u"&&Ra&&localStorage.setItem(Fr,JSON.stringify(Ra))}catch{}},200))}function Pn(e,t){return`${e}_${t??1}`}async function Vr(e,t){const a=tr(),o=Pn(e,t);if(o in a)return a[o];if(Rn.has(o))return Rn.get(o);const n=uo();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:o8(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Rn.delete(o),c===null?!1:(a[o]=c,No++,i8(),c)));return Rn.set(o,l),l}function mh(e,t){const a=tr(),o=Pn(e,t);return o in a?a[o]:void 0}async function bh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=tr(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(u=>!(Pn(u)in i));let c=0;if(l.length>0){let u=0;const d=Array.from({length:Math.min(o,l.length)},async()=>{for(;u<l.length;){const h=u++,p=l[h],m=Pn(p);if(!a&&m in i){c++,n?.(c,l.length);continue}try{await Vr(p)}catch{}c++,n?.(c,l.length)}});await Promise.all(d)}try{typeof localStorage<"u"&&Ra&&localStorage.setItem(Fr,JSON.stringify(Ra))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function zn(){const e=tr();if(dh===No)return Hr?{...Hr}:null;const t=Object.values(e);return Hr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},dh=No,Hr?{...Hr}:null}function gh(){const e=tr();if(ph===No)return hh;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return hh=t,ph=No,t}function fh(e){const t=tr();Object.assign(t,e),No++;try{typeof localStorage<"u"&&localStorage.setItem(Fr,JSON.stringify(t))}catch{}}function Vs(){Ra={},No++;try{typeof localStorage<"u"&&localStorage.removeItem(Fr)}catch{}}const s8={\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"},Ws={\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 l8(e,t){return(Ws[e]?.glide??"")!==(Ws[t]?.glide??"")}function To(e){return s8[e]??e}const bt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],wt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Rt=["","\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 We(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 Gs(){const e=new Map;return t=>{let a=e.get(t);return a||(a=[...t].map(o=>We(o)),e.set(t,a)),a}}function Ba(e,t,a=0){return String.fromCharCode(44032+(e*21+t)*28+a)}function Us(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=We(e[n]),l=We(t[n]);if(!i||!l)return"random";if(i.cho===l.cho&&i.jung===l.jung&&i.jong===l.jong)continue;a++;const c=i.cho!==l.cho,u=i.jung!==l.jung,d=i.jong!==l.jong;(c?1:0)+(u?1:0)+(d?1:0)>1?o="multi":c?o="cho":u?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function qs(e){const t=We(e[0]||"");return t?bt[t.cho]:""}function Ys(e){return[...e].map(t=>{const a=We(t);return a?bt[a.cho]:t}).join("")}function Ks(e){return!!e&&[...e].every(t=>bt.includes(t))}function vh(e,t){return t?(e=e.normalize("NFC"),t=t.normalize("NFC"),Ks(t)?Ys(e).includes(t):e.toLowerCase().includes(t.toLowerCase())):!0}function Ch(e,t){return Zs(t)(e)}function Zs(e){if(!e)return()=>!0;e=e.normalize("NFC");const t=[...e],a=l=>bt.includes(l),o=l=>wt.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":We(l)?"syl":"other"),i=t.map(l=>We(l));if(n.includes("other")){const l=e.toLowerCase();return c=>c.normalize("NFC").toLowerCase().includes(l)}return l=>{const c=[...l.normalize("NFC")];for(let u=0;u+t.length<=c.length;u++){let d=!0;for(let h=0;h<t.length;h++){const p=c[u+h],m=n[h];if(m==="cho"){if(qs(p)!==t[h]){d=!1;break}}else if(m==="jung"){const v=We(p);if(!v||wt[v.jung]!==t[h]){d=!1;break}}else{const v=i[h];if(v&&v.jong===0){const C=We(p);if(!C||C.cho!==v.cho||C.jung!==v.jung){d=!1;break}}else if(p!==t[h]){d=!1;break}}}if(d)return!0}return!1}}const In={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"]},xh=Object.fromEntries(Object.entries(In).map(([e,t])=>[t.join(""),Rt[Number(e)]]));function c8(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o){if(bt[o.cho]===t)return!0;if(o.jong>0){if(Rt[o.jong]===t)return!0;const n=In[o.jong];if(n&&n.includes(t))return!0}}}return!1}function _h(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o&&bt[o.cho]===t)return!0}return!1}function yh(e,t){if(!e||!t)return!1;for(const a of e){const o=We(a);if(o&&wt[o.jung]===t)return!0}return!1}function wh(e,t,a){const o=Rt[e];return o===t?!0:a==="phoneme"&&To(o)===To(t)}function kh(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=We(o);if(!(!n||n.jong<=0)&&wh(n.jong,t,a))return!0}return!1}function jo(e){if(!e)return 0;let t=0;for(const a of e)We(a)&&t++;return t}function Xs(e){if(!e)return!1;let t=!1;for(const a of e){const o=We(a);if(o&&(t=!0,o.jong>0))return!1}return t}function Js(e,t,a){return e.jong<=0?!1:t.some(o=>wh(e.jong,o,a))}function Qs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=We(n[l]);if(!c||t.cho&&!t.cho.includes(bt[c.cho])||t.jung&&!t.jung.includes(wt[c.jung]))return!1;if(t.jongNone){if(c.jong>0)return!1}else if(t.jong&&!Js(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 l=1;l<n.length-1;l++)if(i(l))return!0;return!1}for(let l=0;l<n.length;l++)if(i(l))return!0;return!1}function Bh(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(We).filter(u=>!!u);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const u=bt[n[0].cho];return u!=="\u3147"&&t.cho.includes(u)}if(a==="tail")return t.jongNone?n[i].jong===0:t.jong?Js(n[i],t.jong,o):!1;const l=!t.cho||n.some((u,d)=>{if(d===0)return!1;const h=bt[u.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((u,d)=>d!==i&&u.jong===0):!t.jong||n.some((u,d)=>d!==i&&Js(u,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function el(e){return e.includes(",")||e.includes("_")}function Ah(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=xh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>We(t)?{kind:"syllable",ch:t}:bt.includes(t)?{kind:"cho",jamo:t}:wt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function u8(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=We(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=We(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=We(e);return!!a&&bt[a.cho]===t.jamo}case"jung":{const a=We(e);return!!a&&wt[a.jung]===t.jamo}case"template":{const a=We(e);return!(!a||t.cho!=="_"&&bt[a.cho]!==t.cho||t.jung!=="_"&&wt[a.jung]!==t.jung||t.jong!=="_"&&Rt[a.jong]!==t.jong)}case"invalid":return!1}}function tl(e,t){e=e.normalize("NFC"),t=t.normalize("NFC");const a=t.split(",").flatMap(n=>Ah(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,l)=>u8(o[n+l],i)))return!0;return!1}function Sh(e){const t=e.split(",").flatMap(i=>Ah(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 l=We(i.ch);l&&(a.add(bt[l.cho]),o.add(wt[l.jung]),l.jong!==0&&n.add(Rt[l.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 d8(e){return!!We(e)||bt.includes(e)||wt.includes(e)}function Eh(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],l=n[1],c=n.slice(2).join(""),u=i===void 0||i==="_"||bt.includes(i),d=l===void 0||l==="_"||wt.includes(l),h=c===""||c==="_"||Rt.filter(Boolean).includes(c)||!!xh[c];if(u&&d&&h)continue;return{ok:!1}}if(![...o].every(d8))return{ok:!1}}}return{ok:!0}}const p8={cho:bt.length,jung:wt.length,jong:Rt.length};function h8(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>We(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const u=p8[t],d=new Set,h=[];(function p(m,v){if(v.length===a){h.push([...v]);return}for(let C=m;C<c;C++)v.push(C),p(C+1,v),v.pop()})(0,[]);for(const p of h)if((function m(v,C){if(d.size>=n)return;if(v===p.length){const x=C.map(b=>Ba(b.cho,b.jung,b.jong)).join("");x!==e&&o.has(x)&&d.add(x);return}const g=p[v],f=l[g][t];for(let x=0;x<u;x++){if(x===f)continue;const b=C.slice();if(b[g]={...C[g],[t]:x},m(v+1,b),d.size>=n)return}})(0,l),d.size>=n)break;return[...d]}function m8(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=We(e[o]),i=We(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 Dh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(el(a))return e.filter(u=>tl(u.word,a));const o=Zs(a),n=[...a].length,i=u=>!!u&&o(u.normalize("NFC").slice(0,n)),l=[],c=[];for(const u of e)(o(u.word)||o(u.pronunciation??""))&&(i(u.word)||i(u.pronunciation??"")?l:c).push(u);return l.concat(c)}const al="word_pair_index_v2",ol="word_pair_index_sig_v2";let Pa=null,Wr=null;function Nh(){try{if(typeof localStorage>"u")return null;const e=localStorage.getItem(al),t=localStorage.getItem(ol);return!e||!t?null:{index:JSON.parse(e),sig:t}}catch{return null}}function b8(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(al,JSON.stringify(e)),localStorage.setItem(ol,t)}catch{}}function g8(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 f8(e,t){const a=new Set,o=[];for(const d of e){if(!d.word||a.has(d.word))continue;const h=d.pron||d.word,p=Array.from(h).map(We);p.some(m=>m===null)||p.length===Array.from(d.word).length&&(a.add(d.word),o.push({word:d.word,syls:p}))}const n={},i=o.length,l=new Map;for(const d of o){const h=d.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(d)}let c=0;const u=["cho","jung","jong"];for(const d of l.values()){const h=d[0].syls.length;for(let p=0;p<h;p++)for(const m of u){const v=new Map;for(const C of d){let g="";for(let x=0;x<h;x++){x>0&&(g+="~");const b=C.syls[x];x===p?m==="cho"?g+=`*:${b.jung}:${b.jong}`:m==="jung"?g+=`${b.cho}:*:${b.jong}`:g+=`${b.cho}:${b.jung}:*`:g+=`${b.cho}:${b.jung}:${b.jong}`}let f=v.get(g);f||(f=[],v.set(g,f)),f.push(C)}for(const C of v.values())if(!(C.length<2))for(let g=0;g<C.length;g++){const f=C[g];for(let x=g+1;x<C.length;x++){const b=C[x];f.syls[p][m]!==b.syls[p][m]&&(n[f.word]||(n[f.word]={cho:[],jung:[],jong:[]}),n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[f.word][m].push(b.word),n[b.word][m].push(f.word))}}}c+=d.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let rl=0;async function Th(e,t={}){const a=g8(e);if(!t.force){if(Pa&&Wr===a)return Pa;const i=Nh();if(i&&i.sig===a)return Pa=i.index,Wr=a,Pa}const o=++rl,n=await f8(e,t.onProgress);return o===rl&&(Pa=n,Wr=a,b8(n,a)),n}function Lo(){if(Pa)return Pa;const e=Nh();return e?(Pa=e.index,Wr=e.sig,Pa):null}function nl(){rl+=1,Pa=null,Wr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(al),localStorage.removeItem(ol))}catch{}}const il={cho:bt,jung:wt,jong:Rt},Pt=e=>Array.isArray(e)?e.length>0:!!e;function Gr(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&&bt[o.cho]==="\u3147"!=(bt[n.cho]==="\u3147")||o.jung!==n.jung&&l8(wt[o.jung],wt[n.jung])||o.jong!==n.jong&&o.jong===0!=(n.jong===0)))return!0}return!1}function sl(e,t,a){const o=a.pronOf(e),n=a.decompOf,i=a.sameStructureOnly&&n?n(o):null,l=[];for(const c of t)c!==e&&(a.okSet&&!a.okSet.has(c)||a.pronOf(c)!==o&&(i&&n&&Gr(i,n(a.pronOf(c)))||l.push(c)));return l}function On(e,t,a){const o=t?.[e];if(!o)return[];const n=a.kind?o[a.kind]??[]:[...o.cho??[],...o.jung??[],...o.jong??[]];return sl(e,n,a)}function ll(e,t,a,o,n,i,l){const c=["cho","jung","jong"].filter(m=>Pt(e[m])),u={};for(const m of c){const v=e[m];u[m]=new Set(Array.isArray(v)?v:[v])}const d=n==="pron",h=new Map;for(const m of t){const v=a(i(m));if(v.some(x=>!x))continue;let C=v;if(!d&&(C=a(m),C.length!==v.length||C.some(x=>!x)))continue;const g=v.length,f=h.get(g);f?f.push({w:m,dPron:v,dPos:C}):h.set(g,[{w:m,dPron:v,dPos:C}])}const p=new Map;for(const[m,v]of h){const C=new Map,g=(f,x)=>{const b=f.dPos[x];return b!=null&&c.every(w=>u[w].has(il[w][b[w]]))};for(const f of v){let x;if(l==="head")x=g(f,0)?0:-1;else if(l==="tail")x=g(f,m-1)?m-1:-1;else if(l==="mid"){const w=c.includes("cho")?1:0,_=c.includes("jong")?m-2:m-1;x=-1;for(let A=w;A<=_;A++)if(g(f,A)){x=A;break}}else x=f.dPos.findIndex(w=>w!=null&&c.every(_=>u[_].has(il[_][w[_]])));if(x<0)continue;const b=C.get(x);b?b.push(f):C.set(x,[f])}for(const[f,x]of C){const b=c.includes("cho"),w=c.includes("jung"),_=c.includes("jong"),A=B=>{let k="";for(let S=0;S<m;S++){const E=B[S];S===f?k+=(b?"*":E.cho)+"."+(w?"*":E.jung)+"."+(_?"*":E.jong)+".":k+=E.cho+"."+E.jung+"."+E.jong+"."}return k},y=new Map;for(const B of v){const k=A(B.dPron),S=y.get(k);S?S.push(B):y.set(k,[B])}for(const B of x){const k=y.get(A(B.dPron))??[],S=[];for(const E of k){if(E.w===B.w)continue;let D=!0;for(const O of c){const T=B.dPron[f][O],W=E.dPron[f][O];if(W===T){D=!1;break}if(d&&u[O].has(il[O][W])){D=!1;break}}D&&(o&&Gr(B.dPron,E.dPron)||S.push(E.w))}p.set(B.w,S)}}}return p}function cl(e,t,a){return!(e>0)||!(t>0)?1:Math.max(1,Math.floor((e+a)/(t+a)))}function ul(e,t){if(!(e>0))return 1;const a=Math.max(1,Math.floor(t));if(e<=a)return e;const o=Math.ceil(e/a);return Math.max(1,Math.ceil(e/o))}const Fn=0,jh=1,Mo=2,dl=3,v8=4,Hn=5,pl=6,Vn=7,C8=8,hl=9,ar=10,x8=11,Ur=12,_8=13,qr=14,Wn=15,Gn=16,Yr=17,y8=18,Aa=0,Ka=1,w8=3,po=4,ml=5,Kr=6,za=7,Ft=8,Lh=9,Mh=10,Un=11,$h=12,bl=13,or=15,qn=16,Za=17,Rh=18,gl=21,fl=27,k8=20,B8={1:Fn,2:jh,4:Mo,7:dl,8:Hn,16:pl,17:Vn,19:hl,20:ar,22:Ur,23:qr,24:Wn,25:Gn,26:Yr},A8={[w8]:[Ka,ar],[ml]:[po,Ur],[Lh]:[Ft,Fn],[Mh]:[Ft,pl],[Un]:[Ft,Vn],[$h]:[Ft,ar],[bl]:[Ft,Gn],14:[Ft,Yr],[Rh]:[Za,ar]},S8={[Kr]:Mo,[or]:Hn},vl={2:Ka,24:Ka,3:Ka,9:Ka,5:po,6:po,19:za,20:za,22:za,23:za,25:za,27:za,11:Ft,12:Ft,13:Ft,15:Ft,10:qn,14:Za,18:Za,26:Za},Ph={[Fn]:Wn,[dl]:Gn,[Vn]:Yr,[Ur]:qr},zh={[Fn]:jh,[dl]:v8,[Vn]:C8,[hl]:ar,[Ur]:_8},E8=new Set([ml,Mh,Un,$h,bl,or,Rh]),D8=new Set(["\uBC1F"]);function Ih(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(We);if(o.some(i=>i===null))return t;const n=o;for(let i=0;i<n.length;i++){const l=n[i],c=n[i+1],u=l.jong;if(!c){l.jong=vl[l.jong]??l.jong;break}if(l.jong===Aa)continue;if(c.cho===x8){if(c.jung===k8){if(l.jong===za){l.jong=Aa,c.cho=Ur;continue}if(l.jong===25){l.jong=Aa,c.cho=qr;continue}if(l.jong===bl){l.jong=Ft,c.cho=qr;continue}}if(l.jong===fl){l.jong=Aa;continue}const h=S8[l.jong];if(h!==void 0){l.jong=Aa,c.cho=h;continue}const p=A8[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=B8[l.jong];m!==void 0&&(l.jong=Aa,c.cho=m);continue}if((l.jong===fl||l.jong===Kr||l.jong===or)&&Ph[c.cho]!==void 0){c.cho=Ph[c.cho],l.jong=l.jong===Kr?po:l.jong===or?Ft:Aa;continue}if((l.jong===fl||l.jong===Kr||l.jong===or)&&c.cho===hl){c.cho=ar,l.jong=l.jong===Kr?po:l.jong===or?Ft:Aa;continue}if(c.cho===y8){if(l.jong===ml){l.jong=po,c.cho=qr;continue}if(l.jong===Lh){l.jong=Ft,c.cho=Wn;continue}if(l.jong===Un){l.jong=Ft,c.cho=Yr;continue}const h=vl[l.jong]??l.jong;if(h===Ka){l.jong=Aa,c.cho=Wn;continue}if(h===za){l.jong=Aa,c.cho=Gn;continue}if(h===Za){l.jong=Aa,c.cho=Yr;continue}}let d=vl[l.jong]??l.jong;u===Un&&D8.has(a[i])&&(d=Za),l.jong=d,zh[c.cho]!==void 0&&(d===Ka||d===za||d===Za||E8.has(u))&&(c.cho=zh[c.cho]),(c.cho===Mo||c.cho===pl)&&(l.jong===Ka?l.jong=gl:l.jong===za?l.jong=po:l.jong===Za&&(l.jong=qn)),c.cho===Hn?l.jong===po?l.jong=Ft:l.jong===qn||l.jong===gl?c.cho=Mo:l.jong===Ka?(l.jong=gl,c.cho=Mo):l.jong===Za&&(l.jong=qn,c.cho=Mo):l.jong===Ft&&c.cho===Mo&&(c.cho=Hn)}return n.map(i=>Ba(i.cho,i.jung,i.jong)).join("")}const rr=/[ㄱ-ㅎ]/,N8=/[ㅏ-ㅣ]/;function Zr(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||rr.test(a)||N8.test(a))return a}return null}function Cl(e){const t=Zr(e);if(!t)return"\uAC00";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC774":"\uAC00":rr.test(t)?"\uC774":"\uAC00"}function xl(e){return`${e}${Cl(e)}`}function _l(e){const t=Zr(e);if(!t)return"\uB97C";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC744":"\uB97C":rr.test(t)?"\uC744":"\uB97C"}function yl(e){return`${e}${_l(e)}`}function wl(e){const t=Zr(e);if(!t)return"\uB294";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uC740":"\uB294":rr.test(t)?"\uC740":"\uB294"}function Oh(e){return`${e}${wl(e)}`}function kl(e){const t=Zr(e);if(!t)return"\uC640";const a=t.charCodeAt(0);return a>=44032&&a<=55203?(a-44032)%28!==0?"\uACFC":"\uC640":rr.test(t)?"\uACFC":"\uC640"}function Fh(e){return`${e}${kl(e)}`}function Bl(e){const t=Zr(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":rr.test(t)?"\uC73C\uB85C":"\uB85C"}function Hh(e){return`${e}${Bl(e)}`}function Al(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function lt(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 Sa(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?lt(e,a):lt(e,a).slice(0,t)}const nr={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 T8(e){const t=e?nr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Sl=bt.indexOf("\u3147"),ir={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!==Sl},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!==Sl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!In[e.jong]&&e.cho!==Sl}},j8=new Set([]);function Vh(e){return e in ir}function Wh(e,t){const a=ir[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=We(o[0]);return!!n&&a.syllable(n)}function Gh(e){return j8.has(e)}function L8(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uC640":"\uACFC"}function Xr(e){const t=e.charCodeAt((e.length||1)-1)||0;return t<44032||t>55203||(t-44032)%28===0?"\uB97C":"\uC744"}function El(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 Uh(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 Dl={\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 qh(e){if([...e].length!==1)return[e];const t=We(e);if(!t)return[e];const a=[bt[t.cho],wt[t.jung]];return t.jong!==0&&a.push(Rt[t.jong]),a}function Nl(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Dl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${L8(o(c))}`).join(" "),i=a[a.length-1],l=`"${i}"${Xr(o(i))}`;return`${n} ${l} \uD569\uCE58\uBA74 \uC5B4\uB5A4 ${t?"\uC18C\uB9AC":"\uB2E8\uC5B4"}\uAC00 \uB418\uB098\uC694?`}function M8(e,t){return Nl(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Tl=e=>Dl[e]??e,$8={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function R8(e,t){const a=(u,d)=>{const h=[...u].length===1?We(u):null,p=[...d].length===1?We(d):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(v=>h[v]!==p[v]);return m.length===1?{part:m[0],sx:h,sy:p}:null},o=a(e,t)??a(Jr(e),Jr(t));if(!o)return null;const n=o.part==="cho"?bt:o.part==="jung"?wt:Rt,i=n[o.sx[o.part]],l=n[o.sy[o.part]],c=o.part==="jong"&&!i?"add":o.part==="jong"&&!l?"remove":"swap";return{part:o.part,from:i,to:l,kind:c}}function P8(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",l=i?o||a:o,c=R8(l,n);if(c){const u=i?`"${a}"`:`"${a}"\uC758 "${l}"`,d=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${Xr(Tl(c.from))}`,p=`"${c.to}"${El(Tl(c.to))}`;return c.kind==="add"?`${u}${d} \uBC1B\uCE68 "${c.to}"${Xr(Tl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${u}${d} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${u}${d} ${$8[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Xr(a)} "${n}"${El(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Xr(o)} "${n}"${El(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function z8(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}"${Uh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Uh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Yh(e,t,a){switch(T8(e)){case"synthesis":return M8(e,a);case"substitution":return P8(e,t);case"deletion":return z8(e,t);default:return""}}function Kh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Dl[a];if(!n)return t;if(!o)return`"${n}"`;const i=(n.charCodeAt(n.length-1)-44032)%28,l=i!==0;let c=o;return o==="\uC640"||o==="\uACFC"?c=l?"\uACFC":"\uC640":o==="\uC744"||o==="\uB97C"?c=l?"\uC744":"\uB97C":o==="\uC774"||o==="\uAC00"?c=l?"\uC774":"\uAC00":o==="\uC740"||o==="\uB294"?c=l?"\uC740":"\uB294":(o==="\uC73C\uB85C"||o==="\uB85C")&&(c=i===0||i===8?"\uB85C":"\uC73C\uB85C"),`"${n}"${c}`})}const I8=e=>e==null?[]:Array.isArray(e)?e:[e];function Jr(e){if([...e].length!==1)return"";const t=We(e);if(!t)return"";const a=To(Rt[t.jong]),o=a===""?0:Rt.indexOf(a);return Ba(t.cho,t.jung,o<0?0:o)}function Yn(e,t){return t.get(e)||Jr(e)||e}function sr(e){return e?Pt(e.cho)?"cho":Pt(e.jung)?"jung":Pt(e.jong)?"jong":null:null}function Xa(e,t){const a=(n,i)=>!Pt(n)||I8(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Rt[e.jong]);return a(t.cho,bt[e.cho])&&a(t.jung,wt[e.jung])&&o}function $o(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>We(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>We(i)):n.map(i=>We(i))}function Ro(e,t,a,o,n){const i=t==="cho"?bt:t==="jung"?wt:Rt,l=e[t],c=[],u=p=>t==="jung"?F8(Yn(p,n)):Yn(p,n),d=new Map([[u(a),-1]]),h=lt(i.map((p,m)=>m).filter(p=>p!==l&&(t!=="cho"||i[p]!=="\u3147")&&(t!=="jong"||p!==0)));for(const p of h){if(c.length>=o)break;const m=t==="cho"?Ba(p,e.jung,e.jong):t==="jung"?Ba(e.cho,p,e.jong):Ba(e.cho,e.jung,p),v=u(m),C=d.get(v);if(C!==void 0){t==="jung"&&C>=0&&n.has(m)&&!n.has(c[C])&&(c[C]=m);continue}d.set(v,c.length),c.push(m)}return c}const O8={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function F8(e){if([...e].length!==1)return e;const t=We(e);if(!t)return e;const a=O8[wt[t.jung]];return a?Ba(t.cho,wt.indexOf(a),t.jong):e}function jl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>We(p));if(c.some(p=>!p))return null;const u=$o(e,a,o);if(u.some(p=>!p))return null;const d=sr(t);let h=d&&t?u.map((p,m)=>Xa(p,t)?m:-1).filter(p=>p>=0):[0,1];if(i!=null&&(h=h.filter(p=>p!==i)),!h.length)return null;for(const p of lt(h)){const m=l[p];if(!n.has(m))continue;const v=Ro(c[p],d??"cho",m,40,a),C=[];for(const g of v)if(g!==m&&n.has(g)&&!C.includes(g)&&C.push(g),C.length>=2)break;if(!(C.length<2))return{question:e,distractors:[m,...C]}}return null}function Ll(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>We(p));if(c.some(p=>!p))return null;const u=$o(e,a,o);if(u.some(p=>!p))return null;const d=sr(t),h=d&&t?u.map((p,m)=>Xa(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of lt(h))for(const m of lt([0,1,2].filter(v=>v!==p&&(i==null||v===i)))){const v=[0,1,2].filter(b=>b!==m),C=v.map(b=>l[b]).join("");if(!n.has(C))continue;const g=v.indexOf(p),f=Ro(c[p],d??"cho",l[p],40,a),x=[];for(const b of f){const w=v.map(A=>l[A]);w[g]=b;const _=w.join("");if(_!==C&&n.has(_)&&!x.includes(_)&&x.push(_),x.length>=2)break}if(!(x.length<2))return{question:e,distractors:[C,...x]}}return null}function Ml(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const u=[];for(let h=1;h<=c-1;h++)u.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),u.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const d=sr(t);for(const{remain:h,dropped:p,droppedEnd:m}of lt(u)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const v=[...h],C=v.map(x=>We(x));if(C.some(x=>!x))continue;const g=$o(h,a,o);if(g.some(x=>!x))continue;const f=d&&t?g.map((x,b)=>Xa(x,t)?b:-1).filter(x=>x>=0):v.map((x,b)=>b);if(f.length)for(const x of lt(f)){const b=Ro(C[x],d??"cho",v[x],40,a),w=[];for(const _ of b){const A=[...v];A[x]=_;const y=A.join("");if(y!==h&&n.has(y)&&!w.includes(y)&&w.push(y),w.length>=2)break}if(w.length>=2)return{question:e,distractors:[h,...w],dropped:p}}}return null}function $l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=We(a.get(e)||e);if(!l||l.jong===0)return null;const c=Ba(l.cho,l.jung,0),u=Ro({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}const Rl=bt.indexOf("\u3147");function Pl(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=We(a.get(e)||e);if(!l||l.jong!==0||l.cho===Rl)return null;const c=Ba(Rl,l.jung,0),u=Ro({cho:Rl,jung:l.jung,jong:0},"jung",c,2,a);return u.length<2?null:{question:e,distractors:[c,...u]}}function zl(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 l=n+"|"+i+"|";for(let u=0;u<n;u++)l+=u===i?"*":o[u];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function Il(e,t,a,o,n,i=null,l=null,c=2){const u=[...e],d=u.length;if(d<2||d>3)return null;const h=u.map(b=>We(b));if(h.some(b=>!b))return null;const p=$o(e,a,o);if(p.some(b=>!b))return null;const m=b=>a.get(b)??b,v=m(e),C=!!t&&(Pt(t.cho)||Pt(t.jung)||Pt(t.jong)),g=!!l&&(Pt(l.cho)||Pt(l.jung)||Pt(l.jong)),f=b=>{let w=d+"|"+b+"|";for(let _=0;_<d;_++)w+=_===b?"*":u[_];return w};let x;if(i!=null){if(i>=d||C&&!Xa(p[i],t))return null;x=[i]}else C?x=p.map((b,w)=>Xa(b,t)?w:-1).filter(b=>b>=0):x=Array.from({length:d},(b,w)=>w);for(const b of lt(x)){const w=n.get(f(b))??[],_=[],A=[];for(const E of w){if(E===e)continue;const D=[...E].map(j=>We(j)),O=h[b],T=D[b];if(!O||!T)continue;let W=0;if(O.cho!==T.cho&&W++,O.jung!==T.jung&&W++,O.jong!==T.jong&&W++,!(W<c||m(E)===v))if(g){const j=$o(E,a,o)[b];j&&Xa(j,l)?_.push(E):A.push(E)}else _.push(E)}if(!_.length)continue;const y=lt(_)[0],B=[],k=new Set([v,m(y)]),S=g?A:_.filter(E=>E!==y);for(const E of lt(S)){const D=m(E);if(!k.has(D)&&(k.add(D),B.push(E),B.length>=2))break}if(!g&&B.length<2)for(const E of lt(w)){if(E===e||E===y)continue;const D=m(E);if(!k.has(D)&&(k.add(D),B.push(E),B.length>=2))break}if(!(B.length<2))return{question:e,distractors:[y,...B]}}return null}const H8=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof yt?.t=="function"?yt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Qr(e,t){if(t===void 0&&(t=H8()),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 Kn="\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.",V8=()=>{const e=typeof yt?.t=="function"?yt.t("common.networkError",{defaultValue:Kn}):void 0;return typeof e=="string"&&e?e:Kn};function Ol(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Zh(e){return Ol(e)?V8():e}function Xh(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Jh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Qh(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 W8=1e3;function em(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),W8)}const tm="__ihab_core_word_pool__";function G8(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function am(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[tm]=o,G8()}function Po(){return globalThis[tm]??null}const lr=globalThis;function Fl(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function om(e){lr.__ihabTrainingTimeLogger=e}function Hl(e){Fl("time",()=>lr.__ihabTrainingTimeLogger?.(e))}function rm(e){lr.__ihabTrainingCompletionLogger=e}function Vl(e){Fl("completion",()=>lr.__ihabTrainingCompletionLogger?.(e))}function nm(e){lr.__ihabCrosswordLogger=e}function im(e){Fl("crossword",()=>lr.__ihabCrosswordLogger?.(e))}function Zn(e){if(typeof e=="string"){const t=e.trim();return t?Number.isNaN(new Date(t).getTime())?null:t:null}if(e instanceof Date)return Number.isNaN(e.getTime())?null:e.toISOString();if(typeof e=="number"&&Number.isFinite(e)){const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}return null}function ia(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Wl(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 Gl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:ia(o.contextCode)??ia(o.itemId)??ia(o.itemCode)??ia(o.id),question:ia(o.question)??ia(o.q)??ia(o.sentence)??ia(o.text)??ia(o.prompt)??ia(o.word)??ia(o.targetSyllable),answer:ia(o.answer),selected:ia(o.selectedText)??ia(o.selected),correct:Wl(o),shownAt:Zn(o.shownAt)??Zn(o.shown_at),answeredAt:Zn(o.answeredAt)??Zn(o.answered_at)}}):[]}function sm(e){return e.filter(t=>t.correct===!1)}let lm=null,cm=null,um=null;function dm(e){lm=e}function pm(e){cm=e}function hm(e){um=e}async function mm(e,t){try{return await lm?.(e,t)??null}catch{return null}}async function bm(){try{return await cm?.()??null}catch{return null}}async function gm(e,t){try{return await um?.(e,t)??null}catch{return null}}const Xn=globalThis;function fm(e){Xn.__ihabNoiseSettingsStore=e}async function Ul(){try{return await Xn.__ihabNoiseSettingsStore?.load()??null}catch{return null}}function Jn(e){const t=a=>{};try{const a=Xn.__ihabNoiseSettingsStore?.save(e);a&&typeof a.catch=="function"&&a.catch(t)}catch(a){t(a)}}function cr(e){try{Xn.__ihabNoiseSettingsStore?.applied?.(e)}catch{}}function en(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 vm=en;function Cm(e,t){return`${e}/${en(t)}.mp3`}function xm(e={}){const t=e.storagePrefix??"audio-cache",a=e.voice??"ko-f",o=typeof e.speed=="number"?e.speed:1,n=e.filenameSanitizer??en;return async function(i){const l=String(i||"").trim();if(!l)return"";const c=`${n(l)}_${a}.mp3`,u=`${t}/${c}`;try{if(await Ts(u)){const d=await Pr(u);if(d)return d}}catch{}if(e.generator)try{const d=await e.generator(l,u,e);if(d)return d}catch{}try{const d=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(d,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function ql(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 ur="Asia/Seoul",U8=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2})(?:\.(\d+))?)?$/;function Qn(e){let t;if(e instanceof Date)t=e;else if(typeof e=="string"){const a=e.trim(),o=U8.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 tn=e=>Qn(e);function _m(e){const t=tn(e);return t?t.toLocaleDateString("ko-KR",{timeZone:ur,year:"numeric",month:"short",day:"numeric"}):""}function ym(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:ur,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Yl(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleDateString(a,{timeZone:ur,year:"numeric",month:"short",day:"numeric"}):""}function wm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleString(a,{timeZone:ur,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function km(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:ur,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function Bm(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:ur,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function Ca(){return Ia(new Date)}function Kl(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:Ca()}function ho(){return Zl(Ca())}const q8=540*60*1e3;function ei(e,t,a){return new Date(Date.UTC(e,t,a)-q8)}function Zl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Ia(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("fr-CA",{timeZone:"Asia/Seoul"}).format(t):""}function ti(e,t){if(!e)return"";const a=Qn(e);if(!a)return"";const o=a.getTime(),n=Math.max(0,Math.floor((Date.now()-o)/1e3)),i=Math.floor(n/60),l=Math.floor(i/60),c=Math.floor(l/24),u=Math.floor(c/7),d=Math.floor(c/30),h=Math.floor(c/365);return i<1?t("store.time.justNow","\uBC29\uAE08 \uC804"):i<60?t("store.time.minutesAgo",{n:i}):l<24?t("store.time.hoursAgo",{n:l}):c<7?t("store.time.daysAgo",{n:c}):u<5?t("store.time.weeksAgo",{n:u}):c<365?t("store.time.monthsAgo",{n:Math.min(d,11)}):t("store.time.yearsAgo",{n:h})}function ai(e,t={}){const{sep:a=".",pad:o=!0,trailingDot:n=!1,fallback:i="\u2014"}=t;if(!e)return i;const l=Ia(e instanceof Date?e:String(e));if(!l)return i;const[c,u,d]=l.split("-"),h=o?u:String(Number(u)),p=o?d:String(Number(d));return`${c}${a}${h}${a}${p}${n?".":""}`}function Am(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 Sm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,Y8=String.raw`1[5-9]\d{2}-\d{4}`,Xl=new RegExp(`^(?:${Sm}|${Y8})$`),Jl=new RegExp(`^${Sm}$`);function Em(e){return Xl.test(e)}function Dm(e){return Jl.test(e)}function Nm(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=Ia(e);return t?t.replace(/-/g,"."):void 0}}}function Tm(e){if(e)return/^\d{4}\.\d{2}\.\d{2}$/.test(e)?e.replace(/\./g,"-"):e}function dr(e){if(!e)return e;const t=e.trim();return/^[₩$]/.test(t)?t:/원\s*$/.test(t)?"\u20A9"+t.replace(/\s*원\s*$/,"").trim():t}function oi(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 an(e){return(e??0).toLocaleString("ko-KR")}const K8=[{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"}]}],Z8=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uC18C\uC74C \uD658\uACBD \uC18D \uBB38\uC7A5 \uC774\uD574 \uD6C8\uB828"},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30 + 4\uBB38\uC81C"},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30 \uC2EC\uD654 \uD6C8\uB828"},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC21C\uC11C \uBC30\uC5F4 \uD6C8\uB828"}];let Ql=null;function jm(e){Ql=e}function ri(){return Ql?.topicTypes??K8}function ec(){return Ql?.trainingTypes??Z8}const Lm="ihab_theme",Mm="light";function tc(){try{const e=localStorage.getItem(Lm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return Mm}function ac(e){const t=e==="light"||e==="dark"||e==="auto"?e:Mm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(Lm,t)}catch{}}function $m(){ac(tc())}const Rm="ihab_font_scale",X8="medium",J8=["medium","large1","large2","large3"];function oc(){try{const e=localStorage.getItem(Rm);if(J8.includes(e))return e}catch{}return X8}function rc(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(Rm,e)}catch{}}function Pm(){rc(oc())}const mo=[],bo=[],go=[],fo=[],on={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},rn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},Q8={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let nc=null,zm=null,vo=null;function ic({counts:e,forceRefresh:t}={}){const a=Object.assign({},Q8,e||{}),o=Ca(),n=Ia(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&zm===o&&nc===i&&vo)return Object.assign(on,vo.today),Object.assign(rn,vo.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:on,yesterday:rn};const l={LISTEN_IN_NOISE:Sa(mo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(bo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(go,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(fo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return vo&&nc===i&&vo.yesterday&&vo.yesterday.date===n&&(c=vo.yesterday.selection),c||(c={LISTEN_IN_NOISE:Sa(mo,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:Sa(bo,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:Sa(go,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:Sa(fo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(on,l),Object.assign(rn,c),zm=o,nc=i,vo={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:on,yesterday:rn}}function Im(){return{today:on,yesterday:rn}}function sc(){return{LISTEN_IN_NOISE:mo,SHORT_STORY:bo,LONG_STORY:go,ORDERING_SENTENCE:fo}}let ni=!1,nn=null;async function e3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:va&&va.tagName.toUpperCase()==="SCRIPT"&&va.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 lc(){if(!ni)return nn||(nn=(async()=>{const e=await e3();if(!e){nn=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,l=String(i.training_type||a),c=String(i.category_main_code||i.category_main||i.category_0||""),u=String(i.category_sub_code||i.category_sub||i.category_1||""),d=Object.assign({},i,{training_type:l,category_0:c,category_1:u});l==="LISTEN_IN_NOISE"?t.noise.push(d):l==="SHORT_STORY"?t.short.push(d):l==="LONG_STORY"?t.long.push(d):l==="ORDERING_SENTENCE"&&t.order.push(d)}}}catch{nn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}mo.push(...t.noise),bo.push(...t.short),go.push(...t.long),fo.push(...t.order),ni=!0;try{ic()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),nn)}function Om(){return ni}async function cc(e=3e3){const t=lc();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return ni}const uc=[{key:"LISTEN_IN_NOISE",label:"\uC18C\uC74C \uD558 \uBB38\uC7A5 \uB4E3\uAE30",icon:"audio-lines",desc:"\uB2E4\uC591\uD55C \uC18C\uC74C \uD658\uACBD\uC5D0\uC11C \uBB38\uC7A5 \uCCAD\uB825\uC744 \uD6C8\uB828\uD569\uB2C8\uB2E4."},{key:"SHORT_STORY",label:"\uC9E7\uC740 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square",desc:"\uC9E7\uC740 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"LONG_STORY",label:"\uAE34 \uC774\uC57C\uAE30 \uB4E3\uAE30",icon:"message-square-text",desc:"\uAE34 \uC774\uC57C\uAE30\uB97C \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uB2E4\uC218\uC758 \uBB38\uC81C\uB97C \uD480\uC5B4\uBD05\uB2C8\uB2E4."},{key:"ORDERING_SENTENCE",label:"\uBB38\uC7A5 \uC21C\uC11C\uD654 \uD558\uAE30",icon:"align-start-vertical",desc:"\uC5EC\uB7EC\uAC1C\uC758 \uC9E7\uC740 \uBB38\uC7A5\uC744 \uB4E3\uACE0 \uAE30\uC5B5\uD558\uC5EC \uADF8 \uC21C\uC11C\uC5D0 \uB9DE\uAC8C \uBC30\uC5F4\uD569\uB2C8\uB2E4."}],Fm=[{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"}]}],ii={LISTEN_IN_NOISE:"listenInNoise",SHORT_STORY:"shortStory",LONG_STORY:"longStory",ORDERING_SENTENCE:"orderingSentence"};function Hm(e){return uc.map(t=>{const a=ii[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let si=null,Vm=null,Wm=null;function t3(){const e=Po();if(e&&e.entries.length>0){const t=Lo();if(si&&Vm===e&&Wm===t)return si;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 si=o,Vm=e,Wm=t,si}return[]}const Ja=new Proxy([],{get(e,t){const a=t3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function dc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ea(e,t){if(t>=e.length)return lt(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 pc=null,Gm=null;function Co(){const e=Po();if(pc&&Gm===e)return pc;const t=new Map;for(const a of Ja)a.w&&t.set(a.w,a.pron);return pc=t,Gm=e,t}function Ht(e){return Co().get(e)||e}function li(e,t,a=new Set){const o=[];for(const n of lt(e)){if(o.length>=t)break;const i=Ht(n);a.has(i)||(a.add(i),o.push(n))}return o}let a3=0;function Ut(e){return`${e}-rt-${++a3}`}function pr(e){const t=zn();if(!t||t.total===0){const n=new Set;for(const i of e)n.add(i);return n}const a=gh(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ci=new Map;let Um=null,qm=null;function sn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function hc(e){const t=sn(e.choseong),a=e.composition,o=a?.syllable==null?"":Array.isArray(a.syllable)?a.syllable.slice().sort().join(","):String(a.syllable),n=a?`${sn(a.cho)}/${sn(a.jung)}/${sn(a.jong)}/${a.jongNone?"N":""}/${o}`:"",i=sn(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 mc=new Map;function o3(e){return hc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Po(),a=Lo();(t!==Um||a!==qm)&&(ci.clear(),mc.clear(),Um=t,qm=a);const o=hc(e);return ci.has(o)||ci.set(o,r3(e)),ci.get(o)}function Ym(e){if(!e)return null;const t=l=>l==null?null:Array.isArray(l)?l.length?l:null:[l],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?l=>Xs(l):l=>Qs(l,{cho:a,jung:o,jong:i,jongNone:n}):null}function Km(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?[Ym(a),o?l=>o.has(jo(l)):null].filter(l=>l!=null):[];if(!t&&n.length===0)return null;const i=e.phonemeView==="pron";return l=>{if(t&&(!l.grade||!t.has(l.grade)))return!1;if(n.length===0)return!0;const c=i?Ht(l.w):l.w;return n.every(u=>u(c))}}async function r3(e){const{difficulty:t=null,choseong:a=null,composition:o=null,targetSyllable:n=null,excludeNoImage:i=!1}=e,l=e.grade&&e.grade.length>0?new Set(e.grade):null,c=e.sameStructureOnly??!0,u=e.phonemeView==="pron"?"pron":"char",d=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&d>=2,m=t==="count",v=a?new Set(Array.isArray(a)?a:[a]):null,C=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Ym(o),C?P=>C.has(jo(P)):null].filter(P=>P!=null):[],f=t==="random"||t===null,x=f||m,b=f||p||m;let w=Ja.filter(P=>!P.w||l&&(!P.grade||!l.has(P.grade))?!1:b?!0:Array.isArray(P.p)&&P.p.length>0);v&&(w=w.filter(P=>{for(const V of v)if(c8(P.w,V))return!0;return!1})),g.length>0&&(w=w.filter(P=>{const V=u==="pron"?Ht(P.w):P.w;return g.every($=>$(V))})),n&&(w=w.filter(P=>P.w[0]===n));let _;if(i){const P=new Set;for(const V of w)if(P.add(V.w),Array.isArray(V.p))for(const $ of V.p)P.add($);if(x)for(const V of Ja)V.w&&P.add(V.w);_=pr(P)}else{const P=new Set;for(const V of w)if(P.add(V.w),Array.isArray(V.p))for(const $ of V.p)P.add($);if(x)for(const V of Ja)V.w&&P.add(V.w);_=P}let A=null;if(p){const P=new Set;for(const V of Ja)V.w&&P.add(V.w);A=i?pr(P):P}const y=w.filter(P=>_.has(P.w)),B=600,k=Array.from(_),S=k.length>B?Ea(k,B):k,E=m&&o!=null&&(Pt(o.cho)||Pt(o.jung)||Pt(o.jong)),D=2500,O=new Map;if(m&&!E&&d>=2){for(const P of k){const V=jo(P),$=O.get(V);$?$.push(P):O.set(V,[P])}for(const[P,V]of O)V.length>D&&O.set(P,Ea(V,D))}const T=Gs();let W=null;if(E){const P=o3(e),V=i?gh():null,$=mc.get(P);W=$&&$.\uC774\uBBF8\uC9C0\uC9D1\uD569===V?$.map:ll(o,k,T,c,u,Ht),mc.set(P,{\uC774\uBBF8\uC9C0\uC9D1\uD569:V,map:W})}const j=500,L=1500,I=e.fullCount?y:t==="random"?y.length>j?Ea(y,j):y:y.length>L?Ea(y,L):y,Y=Lo(),X=[];for(const P of I){let V;const $=Ht(P.w);if(p)V=h8(P.w,t,d,A,24).filter(q=>Ht(q)!==$);else if(m)E?V=(W.get(P.w)??[]).filter(q=>Ht(q)!==$):d<=1?V=On(P.w,Y,{okSet:_,pronOf:Ht,decompOf:T,sameStructureOnly:!1}):V=(O.get(jo(P.w))??[]).filter(q=>{if(q===P.w||Ht(q)===$)return!1;const N=m8($,Ht(q));return d>=5?N>=5:N===d});else if(f){const q=N=>N!==P.w&&N.length===P.w.length&&Ht(N)!==$;if(e.fullCount){const N=Math.max(1,(e.choicesPerItem??3)-1),z=[],M=new Set;for(const F of S){if(!q(F))continue;const H=Ht(F);if(!M.has(H)&&(M.add(H),z.push(F),z.length>=N))break}V=z}else V=S.filter(q)}else{const q=t;V=On(P.w,Y,{kind:q,okSet:_,pronOf:Ht,decompOf:T,sameStructureOnly:!1}),V.length===0&&(V=(S.length>30?Ea(S,30):S).filter(N=>N!==P.w&&Us(P.w,N)===t&&Ht(N)!==$))}if(c&&V.length>0&&(h||m&&!E)){const q=T(Ht(P.w));V=V.filter(N=>!Gr(q,T(Ht(N))))}V.length!==0&&X.push({word:P,usable:V})}return X}async function Zm(e,t){const{choicesPerItem:a=3,count:o=10}=t,n=a-1,i=(await ba(t)).filter(c=>c.usable.length>=n),l=[];for(const c of lt(i)){if(l.length>=o)break;const u=li(c.usable,n);if(u.length<n)continue;const d=lt([c.word.w,...u]);l.push({id:Ut(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:d,answerIndex:d.indexOf(c.word.w)})}return l}async function n3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t)return[];const i=e.composition??null,l=[],c=lt([...n]);for(const u of c){if(l.length>=a)break;const d=u.word.w,h=[...u.word.pron||d],p=i&&sr(i)?h.filter(f=>{const x=We(f);return!!x&&Xa(x,i)}):[],m=dc(p.length?p:h);if(!m)continue;const v=n.filter(f=>f.word.w!==d&&f.word.s===u.word.s&&!(f.word.pron||f.word.w).includes(m)&&f.word.pron!==u.word.pron);if(v.length<o)continue;const C=li(v.map(f=>f.word.w),o);if(C.length<o)continue;const g=lt([d,...C]);l.push({id:Ut("HPI-item"),index:l.length+1,targetSyllable:m,word:d,choices:g,answerIndex:g.indexOf(d)})}return l}async function i3(e){const{count:t=10}=e,a=(await ba(e)).filter(i=>i.usable.length>=1);if(!a.length)return[];const o=a.length>=t?Ea(a,t):lt(Array.from({length:t},(i,l)=>a[l%a.length])),n=lt(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let u;if(c)u=[i.word.w,i.word.w];else{const d=dc(i.usable);u=Math.random()<.5?[i.word.w,d]:[d,i.word.w]}return{id:Ut("SOD-item"),index:l+1,word:i.word.w,pair:u,same:c}})}async function s3(e){const{choicesPerItem:t=3,count:a=10}=e,o=t-1,n=await ba({...e,difficulty:null});if(n.length<t+1)return[];const i=n.map(m=>m.word.w),l=new Map(n.map(m=>[m.word.w,m.word.pron])),c=m=>(l.get(m)||m)[0]??"",u={};for(const m of n){const v=c(m.word.w);v&&(u[v]||(u[v]=[]),u[v].push(m.word.w))}const d=Object.entries(u).filter(([,m])=>m.length>=2).map(([m])=>m);if(d.length===0)return[];const h=[],p=lt([...d]);for(let m=0;h.length<a&&m<a*4;m++){const v=p[m%p.length],C=u[v];if(C.length<2)continue;const g=lt([...C]),f=g[0],x=g[1];if(!f||!x||f===x||(l.get(f)||f)===(l.get(x)||x))continue;const b=l.get(x)||x,w=i.filter(y=>c(y)!==v&&y!==f&&y!==x&&y.length===x.length&&(l.get(y)||y)!==b);if(w.length<o)continue;const _=li(w,o);if(_.length<o)continue;const A=lt([x,..._]);h.push({id:Ut("SWS-item"),index:h.length+1,sourceWord:f,targetSyllable:v,word:x,choices:A,answerIndex:A.indexOf(x)})}return h}function Xm(e,t,a){const o=Co(),n=u=>o.get(u)||u,i=(u,d)=>{const h=[...u],p=[...d];if(h.length!==p.length)return-1;let m=-1;for(let v=0;v<h.length;v++)if(h[v]!==p[v]){if(m>=0)return-1;m=v}return m},l=e.map(u=>({e:u,swaps:u.usable.filter(d=>!!d&&i(u.word.w,d)>=0&&n(d)!==n(u.word.w))})).filter(u=>u.swaps.length>0),c=[];for(const{e:u,swaps:d}of lt(l)){if(c.length>=t)break;const h=dc(d)??"",p=[...u.word.w],m=[...h],v=i(u.word.w,h),C=li(u.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(u.word.w)]));C.length<2||c.push({id:Ut(a),index:c.length+1,word:u.word.w,original:u.word.w,changed:h,changedFrom:v>=0?p[v]:"",changedTo:v>=0?m[v]:"",distractors:C})}return c}async function Jm(e,t,a){const{count:o=10}=t,n=Co(),i=Ja.filter(C=>C.w&&C.s===e),l=t.excludeNoImage?pr(i.map(C=>C.w)):null,c=l?i.filter(C=>l.has(C.w)):i,u=new Set(c.map(C=>C.w)),d=zl(u),h=t.phonemeView??"char",p=t.composition??null,m=Km(t),v=[];for(const C of lt(c)){if(v.length>=o)break;if(m&&!m(C))continue;const g=Il(C.w,p,n,h,d,null,null);if(!g)continue;const f=g.distractors[0],x=[...C.w],b=[...f],w=x.findIndex((_,A)=>_!==b[A]);v.push({id:Ut(a),index:v.length+1,word:C.w,original:C.w,changed:f,changedFrom:w>=0?x[w]:"",changedTo:w>=0?b[w]:"",distractors:g.distractors.slice(1)})}return v}async function l3(e){return Jm(2,e,"CS2-item")}async function c3(e){return Jm(3,e,"CS3-item")}async function u3(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return Xm(t,e.count??10,"CP1-item")}async function d3(e){const t=e.difficulty&&e.difficulty!=="random"?e.difficulty:"count",a=(await ba({...e,difficulty:t,contrastCount:1})).filter(o=>o.word.s===2&&o.usable.length>=1);return Xm(a,e.count??10,"CP2-item")}async function p3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ea(a,t).map((o,n)=>({id:Ut("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function h3(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ea(a,t).map((o,n)=>({id:Ut("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function bc(e){const t=Ja.map(a=>a.w);return e.excludeNoImage?pr(t):new Set(t)}async function m3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=jl(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w],m=p[0]===d?p[1]:p[0];l.push({id:Ut("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function b3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=Ll(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=[...c.word.w];let m="";for(let v=0;v<p.length;v++)if(p.filter((C,g)=>g!==v).join("")===d){m=p[v];break}l.push({id:Ut("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:d,distractors:h})}return l}async function g3(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=Co(),n=bc(e),i=e.phonemeView??"char",l=[];for(const c of lt(a)){if(l.length>=t)break;const u=Ml(c.word.w,e.composition??null,o,i,n);if(!u)continue;const[d,...h]=u.distractors,p=c.word.w,m=u.dropped??(p.startsWith(d)?p.slice(d.length):p.endsWith(d)?p.slice(0,p.length-d.length):"");l.push({id:Ut("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:d,distractors:h})}return l}async function f3(e){const{count:t=10}=e,a=(await ba({...e})).map(o=>o.word.w);return a.length<3?[]:Array.from({length:t},(o,n)=>{const i=Ea(a,3);return{id:Ut("LRO-item"),index:n+1,sequence:i,choices:lt(i)}})}function ui(e,t,a){const o=Ja.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?pr(o.map(c=>c.w)):null,i=Km(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const u=We(c.w);if(!u||!a(u))continue}l.push(c)}return l}function v3(e){const t=ui(1,e,ir.MERGE_2_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=We(a.w);return{id:Ut("M2P-item"),index:o+1,parts:[bt[n.cho],wt[n.jung]],answer:a.w,word:a.w}})}function C3(e){const t=ui(1,e,ir.MERGE_3_PHONEMES.syllable);return Ea(t,e.count??10).map((a,o)=>{const n=We(a.w);return{id:Ut("M3P-item"),index:o+1,parts:[bt[n.cho],wt[n.jung],Rt[n.jong]],answer:a.w,word:a.w}})}function x3(e){const t=ir.DROP_FINAL_CONSONANT_FROM_1SYLL,a=ui(t.syllables,e,t.syllable),o=Co(),n=[];for(const i of lt(a)){if(n.length>=(e.count??10))break;const l=$l(i.w,null,o);if(!l)continue;const[c,...u]=l.distractors;n.push({id:Ut("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:u})}return n}function _3(e){const t=ir.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=ui(t.syllables,e,t.syllable),o=Co(),n=[];for(const i of lt(a)){if(n.length>=(e.count??10))break;const l=Pl(i.w,null,o);if(!l)continue;const c=We(o.get(i.w)||i.w);if(!c)continue;const[u,...d]=l.distractors;n.push({id:Ut("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:bt[c.cho],remaining:u,distractors:d})}return n}const di=new Map;let Qm=null,eb=null;async function tb(e,t={}){const a=Po(),o=Lo();(a!==Qm||o!==eb)&&(di.clear(),Qm=a,eb=o);const n=`${e}:${hc(t)}`;if(di.has(n))return di.get(n);const i=await w3(e,t);return di.set(n,i),i}const y3={SAME_SOUND_PICK:e=>Zm("SSP",e),HEAR_AND_PICK_SAME:e=>Zm("HPS",e),HEAR_AND_PICK_INCLUDED:e=>n3(e),SAME_OR_DIFF:e=>i3(e),STARTS_WITH_SAME_SOUND:e=>s3(e),LISTEN_AND_REMEMBER_ORDER:e=>f3(e),MERGE_2_SYLLABLES:e=>p3(e),MERGE_3_SYLLABLES:e=>h3(e),MERGE_2_PHONEMES:e=>v3(e),MERGE_3_PHONEMES:e=>C3(e),DROP_1_FROM_2SYLL:e=>m3(e),DROP_1_FROM_3SYLL:e=>b3(e),DROP_PART_FROM_COMPOUND:e=>g3(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>x3(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>_3(e),CHANGE_1_SYLL_IN_2SYLL:e=>l3(e),CHANGE_1_SYLL_IN_3SYLL:e=>c3(e),CHANGE_1_PHONEME_IN_1SYLL:e=>u3(e),CHANGE_1_PHONEME_IN_2SYLL:e=>d3(e)};async function w3(e,t={}){const a=y3[e];return a?await a(t):[]}async function k3(e){const t=["random","count"],a=Object.keys(nr);let o=0;for(const n of t)for(const i of a){const l=nr[i];tb(i,{difficulty:l.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 B3(e){const t=await ba({...e,fullCount:!0}),a=e.choicesPerItem!=null?Math.max(1,e.choicesPerItem-1):1;return t.filter(o=>new Set(o.usable.map(n=>Ht(n))).size>=a).length}async function A3(e={}){const t=[];for(const c of Ja)c.w&&t.push(c.w);const a=e.excludeNoImage?pr(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(jo(c));for(const u of c){const d=We(u);if(d&&(bt[d.cho]!=="\u3147"&&o.add(bt[d.cho]),n.add(wt[d.jung]),d.jong>0)){i.add(Rt[d.jong]);const h=In[d.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const ab={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}},ob={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},S3=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function rb(e){return S3.has(e)}const nb={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 ib(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 sb=5,lb=5;function cb({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const ub={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},db="chunk-reload-ts";function pb(){try{return Number(sessionStorage.getItem(db)||0)}catch{return 0}}function pi(e=Date.now()){if(e-pb()<=1e4)return!1;try{sessionStorage.setItem(db,String(e))}catch{}return window.location.reload(),!0}function gc(e=Date.now()){const t=pb();return t>0&&e-t<=1e4}function hb(){if(typeof window>"u")return()=>{};const e=a=>{pi()&&a.preventDefault()},t=a=>{const o=a.target;o instanceof HTMLLinkElement&&o.rel==="stylesheet"&&pi()};return window.addEventListener("vite:preloadError",e),window.addEventListener("error",t,!0),()=>{window.removeEventListener("vite:preloadError",e),window.removeEventListener("error",t,!0)}}function mb(e,t){return e?!!t&&t.access_token===e.access_token:!0}function bb(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(gc())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 gb(...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 l=globalThis.cancelIdleCallback;l?.(i)}}const n=setTimeout(a,300);return()=>{t=!0,clearTimeout(n)}}const fb=e=>({word:e.Word,pronunciation:e.SP,colloquialPronunciation:e.CP??void 0,grade:String(e.Grade),pos:e.POS,wordType:e.Class,homonum:e.Homonum!=null?Number(e.Homonum):void 0});var E3=Object.freeze({__proto__:null,CAPABILITY:nr,CHOSEONG:bt,CORE_VERSION:jn,JONGSEONG:Rt,JUNGSEONG:wt,LONG_STORIES:go,NETWORK_ERROR_MESSAGE:Kn,NOISE_DATAS:mo,ORDER_SETS:fo,PERSONAL_PHONE_REGEX:Jl,PHONE_REGEX:Xl,PLAN_FEATURES:ab,PLAN_LIMITS:nb,SHORT_STORIES:bo,TIER_RANK:ob,TOPIC_TYPES:Fm,TRAINING_TYPES:uc,TRAINING_TYPE_I18N_KEY:ii,WORD_SUGGESTION_ACCOUNT_LIMIT:lb,WORD_SUGGESTION_EXISTING_ERROR:ub,WORD_SUGGESTION_WEEKLY_QUOTA:sb,applyFontScale:rc,applyTheme:ac,balancedColumns:ul,buildChangeWholeSyllableProblem:Il,buildDropCompoundProblem:Ml,buildDropContrast3Problem:Ll,buildDropContrastProblem:jl,buildDropFinalConsonantProblem:$l,buildMultiPartPosContrast:ll,buildPairIndex:Th,buildRemoveConsonantProblem:Pl,buildSyllableMaskIndex:zl,bulkSetImageExistence:fh,cardQuestionTitle:Yh,checkImageExists:Vr,classifyPairDifficulty:Us,clearAudioExistsCache:oh,clearImageExistenceCache:Vs,clearPairIndexCache:nl,columnsFitting:cl,composeSyllable:Ba,computeDailySelection:ic,configureImageResolver:uh,configureNoiseSettingsStore:fm,configurePronunciationResolver:nh,configureStorage:Ns,configureTTS:ah,configureTrainingCategories:jm,copyText:ql,createDecompCache:Gs,createTTSUrlResolver:xm,dateToDb:Tm,downloadCsvText:em,downloadSound:$n,ensureTrainingDataLoaded:cc,escapeCsvField:Qh,fileExists:Ts,filterContrastCandidates:sl,finalToPhoneme:To,firstChoseongOf:qs,formatCount:an,formatDateKo:_m,formatDateLocale:Yl,formatDateLongKo:ym,formatDateLongLocale:wm,formatDatetimeKo:km,formatPhone:Am,formatRelativeTime:ti,formatTimeHM:oi,formatYmd:ai,getAssetBaseUrl:Es,getDailySelection:Im,getElementAnalyser:Os,getElementVolume:er,getErrorMessage:Qr,getImageExistenceStats:zn,getImageExistsCached:mh,getImageResolver:uo,getNoiseBaseUrl:js,getNoiseFileGain:Ls,getPairIndex:Lo,getPlanTier:ib,getPronunciationResolver:Rs,getSavedFontScale:oc,getSavedTheme:tc,getSignedOrPublicUrl:Pr,getTTSFallbackUrlResolver:$s,getTTSUrlResolver:zr,getTodayKst:Ca,getTodayKstDate:ho,getTopicTypes:ri,getTrainingPools:sc,getTrainingTypes:ec,getWordPool:Po,hasQuestionWordConstraint:Vh,hasSel:Pt,hasStructureContrast:Gr,initFontScale:Pm,initTheme:$m,installSkewRecovery:hb,isAllChoseong:Ks,isManagerTier:rb,isManualOnlyType:Gh,isNetworkErrorMessage:Ol,isPersonalPhone:Dm,isSessionForThisTab:mb,isSyllablePattern:el,isThisWeekPick:cb,isTrainingDataLoaded:Om,isValidPhone:Em,isValidQuestionWord:Wh,itemCorrectness:Wl,jamoToNamesForSpeech:Kh,kstStartOfDay:ei,lazyPage:bb,loadGameLeaderboard:gm,loadMyGameRanks:bm,loadNoiseSettings:Ul,loadTrainingData:lc,logCrossword:im,logTrainingCompletion:Vl,logTrainingTime:Hl,matchSyllables:$o,matchesChoseongSearch:vh,matchesSyllablePattern:tl,matchesWordQuery:Ch,mergeQuestionText:Nl,minimalPairDistractors:On,normalizeDate:Nm,officialSoundPath:Cm,parseLocalYmd:Zl,parseSortValue:Jh,parseSyllable:We,patternToComposition:Sh,phonemePartsOf:qh,pickEuRo:Bl,pickEulReul:_l,pickEunNeun:wl,pickIga:Cl,pickWaGwa:kl,prefetchChunk:gb,prewarmImageCache:bh,primarySelPart:sr,readLevel:Fs,recoverFromSkew:pi,reorderArray:Al,reportAppliedNoiseSettings:cr,resolveAssetUrl:Rr,resolveSoundPath:Mn,resumeAudioMeter:Or,routeElementAudio:Qo,sample:Sa,saveNoiseSettings:Jn,searchAndRankWords:Dh,setAssetBaseUrl:eh,setCrosswordLogger:nm,setElementVolume:$a,setGameLeaderboardLoader:hm,setGameRanksLoader:pm,setGameScoreSubmitter:dm,setTrainingCompletionLogger:rm,setTrainingTimeLogger:om,setWordPool:am,shuffle:lt,skewReloadPending:gc,sortToValue:Xh,soundOf:Yn,speak:Xp,stopSpeaking:Jp,submitGameScore:mm,syllMatchesComp:Xa,syllableContrasts:Ro,syllableLength:jo,syllablePron:Jr,toBase64UrlSafe:vm,toChoseong:Ys,toItemResults:Gl,toKstHm:Bm,toKstYmd:Ia,toStandardPronunciation:Ih,toStorageName:en,toUserErrorMessage:Zh,toWordEntry:fb,validateSyllableSearchInput:Eh,withEuRo:Hh,withEulReul:yl,withEunNeun:Oh,withIga:xl,withWaGwa:Fh,wordContainsChoseong:_h,wordContainsJongseong:kh,wordContainsJungseong:yh,wordHasConsonantAt:Bh,wordHasNoCoda:Xs,wordHasSyllableMatching:Qs,wrongItems:sm});function D3(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 N3(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&D3(o.attrValue)&&(o.keepAttr=!1)};Bs.addHook("uponSanitizeAttribute",t);try{return Bs.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:["script","use","style"],FORBID_ATTR:["xlink:href","href"]})}finally{Bs.removeHook("uponSanitizeAttribute",t)}}function T3(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,u]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const d=e.split("/").pop();let h=e;d&&(e.startsWith("/")?h=Rr(e):/^(Logo|Symbol)/i.test(d)?h=Rr(`logo/${d}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let d=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(d)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const v=await fetch(t);if(!v.ok)throw new Error("not ok");const C=await v.text();if(d)return;if(/^\s*<svg[\s>]/i.test(C)){const g=N3(C);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{d||n("none")}}return h(),()=>{d=!0}},[t]),s.useEffect(()=>{let d=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{d||(h=URL.createObjectURL(p),u(h))}).catch(()=>{d||n("img")}),()=>{d=!0,h&&URL.revokeObjectURL(h),u(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var j3=".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)}";ce(j3);function ot(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:u}=e||{},d=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",v=typeof t=="string"?t:null,C=v5(v),{iconToUse:g,mode:f,svgText:x,blobUrl:b}=T3(v),w=(k,S={})=>r.jsx("span",{className:d,style:c,...S,children:k}),_=typeof u=="number"?{width:u,height:u,objectFit:"contain"}:null,A=(k,S={})=>r.jsx("img",{src:k,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...S,style:_?{...S.style,..._}:S.style});if(!t)return null;if(typeof t!="string")return w(t);if(t==="none")return w(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(C)try{return w(s.createElement(C,{className:m,size:typeof u=="number"?u:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(f==="mask"){const k={"--icon-url":b?`url(${b})`:`url(${g})`,...typeof u=="number"?{"--icon-size":`${u}px`}:null};return w(r.jsx("span",{className:p,style:k}),{"aria-hidden":"true"})}return f==="img"?w(A(g,{onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):f==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:x?{__html:x}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return A(Rr(t),{style:c,onError:k=>{k.currentTarget.onerror=null,k.currentTarget.style.display="none"}});const y=typeof u=="number"?u:20,B=`<svg width="${y}" height="${y}" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" style="fill:none;stroke:currentColor;stroke-width:2"/></svg>`;return w(r.jsx("span",{className:m,dangerouslySetInnerHTML:{__html:B}}),{"aria-hidden":"true"})}function vb(e){const[t,a]=s.useState(!1),o=s.useRef(!1),n=s.useRef(!0);s.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]);const i=s.useCallback(()=>{if(!e||o.current)return;const l=e();if(l&&typeof l.then=="function"){o.current=!0,a(!0);const c=()=>{o.current=!1,n.current&&a(!1)};l.then(c,c)}},[e]);return{pending:t,press:i}}function Cb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=vb(o?.onClick);return r.jsxs("div",{className:De("empty-state",n),children:[e&&r.jsx(ot,{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:l,disabled:i,"aria-busy":i||void 0,children:[o.icon&&r.jsx(ot,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var L3=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";ce(L3);function xb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=_e.useTranslation(),{pending:c,press:u}=vb(o);return r.jsxs("div",{className:De("empty-state","error-state",i),role:"alert",children:[r.jsx(ot,{icon:a,size:48,className:"empty-state__icon error-state__icon"}),r.jsx("p",{className:"empty-state__message body-3",children:e??l("common.errorState.message",{defaultValue:"\uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."})}),t&&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:u,disabled:c,"aria-busy":c||void 0,children:[r.jsx(ot,{icon:"rotate-cw",className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:n??l("common.errorState.retry",{defaultValue:"\uB2E4\uC2DC \uC2DC\uB3C4"})})]})]})}var M3=".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)}";ce(M3);function _b({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const u=s.useId(),d=`${u}-title`,h=`${u}-desc`,p=`${u}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":d,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())},className:De("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(ot,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:d,className:"action-card__title",children:t}),r.jsx("p",{id:h,className:"action-card__desc",children:a})]}),r.jsxs("div",{className:"action-card__cta",children:[r.jsx("span",{id:p,children:o}),r.jsx("span",{"aria-hidden":!0,className:"action-card__arrow",children:r.jsx(ot,{icon:"arrow-right",size:18})})]})]})})}function yb({as:e="div",className:t="",children:a,storage:o,...n}){o&&Ns({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=De("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function fc(e,t=!0){s.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(Oa)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],u=document.activeElement,d=u===a;n.shiftKey&&(u===l||d)?(n.preventDefault(),c.focus()):!n.shiftKey&&u===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const Oa='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',vc=new WeakMap;function Cc(e,t){e&&vc.set(e,t)}function xc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!vc.has(o);)o=o.parentElement;if(!o)return t;t=vc.get(o)??null}return t}function wb(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 hi(e,t,a){const o=e?.isConnected?e:a?.isConnected?a:null;if(wb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(Oa)).filter(u=>!(e&&e.contains(u))&&wb(u));let i=null,l=null;for(const u of n)o.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_PRECEDING?i=u:l||(l=u);const c=i??l;return c?.focus(),c}var $3=".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{align-items:center;background:none;border:none;border-radius:var(--radius-xs);color:var(--color-lightGray);cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;line-height:1;min-height:24px;min-width:24px;padding:0;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)}}";ce($3);function kb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=_e.useTranslation(),[u,d]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&hi(g),d(!0)},[]);if(u)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),v=i&&r.jsx("button",{type:"button",className:"notice-box__dismiss",onClick:p,"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((g,f)=>r.jsxs("div",{className:"notice-box__inner",children:[g.title?r.jsx("span",{className:"notice-box__title body-3",children:g.title}):null,r.jsx("div",{className:"notice-box__body",children:g.lines&&g.lines.length?r.jsx("div",{children:g.lines.map((x,b)=>r.jsx("span",{className:"notice-box__line body-3",children:x},b))}):g.children??null})]},f)),v]});const C=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((g,f)=>r.jsx("li",{className:"notice-box__line",children:g},f))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[C,v]})}var R3=".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:1px solid transparent;border:var(--button-border,1px solid transparent);border-color:transparent;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}}";ce(R3);var P3=".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}";ce(P3);const hr=[];let mi=!1;function Bb(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=hr[hr.length-1];t&&(e.stopPropagation(),t())}function zo(e){return hr.push(e),!mi&&typeof document<"u"&&(document.addEventListener("keydown",Bb),mi=!0),()=>{const t=hr.lastIndexOf(e);t>=0&&hr.splice(t,1),hr.length===0&&mi&&typeof document<"u"&&(document.removeEventListener("keydown",Bb),mi=!1)}}const bi=s.createContext(null);function z3(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const Ab=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function I3(e){const t=s.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 sp.useSyncExternalStore(t,()=>Ab(e),()=>!1)}function O3(e){const[t,a]=s.useState(Ab(e));return s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const o=window.matchMedia(e),n=l=>a(l.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 F3=typeof sp.useSyncExternalStore=="function"?I3:O3;function sa(e){const t=s.useContext(bi),a=F3(e);return t&&typeof t.mobile=="boolean"&&z3(e)?t.mobile:a}const H3="(prefers-reduced-motion: reduce)";function _c(){return sa(H3)}function xa(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:u="dialog",ariaLabel:d="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:v=!0,header:C,focusOnOpen:g}=e||{},f=s.useRef(null),[x,b]=s.useState({position:"fixed",left:0,top:-9999}),[w,_]=s.useState(!1),[A,y]=s.useState("bottom"),[B,k]=s.useState(!1),[S,E]=s.useState(!1),D=!t&&!a,O=s.useCallback((V=!1)=>{if(S&&m)return;const $=a?a.getBoundingClientRect():t;if(!$||!f.current)return;const q=f.current,{offsetWidth:N,offsetHeight:z}=q,M=window.innerWidth,F=window.innerHeight,H=M-$.right,Z=$.left,ee=$.top,se=F-$.bottom;let le=0,K=0,ue="top";if(ee>=z+o)ue="top",K=$.top-o-z,le=$.left+$.width/2-N/2;else if(se>=z+o)ue="bottom",K=$.bottom+o,le=$.left+$.width/2-N/2;else if(H>=N+o)ue="right",le=$.right+o,K=$.top+$.height/2-z/2;else if(Z>=N+o)ue="left",le=$.left-o-N,K=$.top+$.height/2-z/2;else{const fe=Math.max(ee,se,H,Z);fe===ee?(ue="top",K=$.top-o-z,le=$.left+$.width/2-N/2):fe===se?(ue="bottom",K=$.bottom+o,le=$.left+$.width/2-N/2):fe===H?(ue="right",le=$.right+o,K=$.top+$.height/2-z/2):(ue="left",le=$.left-o-N,K=$.top+$.height/2-z/2)}const Ne=Number.isFinite(Number(n))?Number(n):8;le=Math.min(Math.max(le,Ne),M-N-Ne),K=Math.min(Math.max(K,Ne),F-z-Ne);const U=Math.round(le),re=Math.round(K);V&&f.current?(f.current.style.left=`${U}px`,f.current.style.top=`${re}px`,f.current.dataset.placement=ue):(y(ue||A),b({position:"fixed",left:U,top:re}),k(!0))},[S,m,a,t,o,n,A]);s.useLayoutEffect(()=>{if(D)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),k(!0);return}O();const V=requestAnimationFrame(()=>O());return()=>cancelAnimationFrame(V)},[t,a,o,h,n,D,S,m,O]),s.useEffect(()=>{if(D||S&&m||!f.current||typeof ResizeObserver>"u")return;const V=new ResizeObserver(()=>{t&&O()});return V.observe(f.current),()=>V.disconnect()},[t,h,n,D,S,m,O]),s.useEffect(()=>{if(D||S&&m)return;let V=null;const $=()=>{if(typeof requestAnimationFrame>"u"){O(!0);return}V===null&&(V=requestAnimationFrame(()=>{V=null,O(!0)}))},q=N=>{if(!a&&i){const z=N.target;if(z&&f.current&&f.current.contains(z))return;try{if(z&&z.closest&&z.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}$()};return window.addEventListener("resize",$),document.addEventListener("scroll",q,{passive:!0,capture:!0}),()=>{V!==null&&cancelAnimationFrame(V),window.removeEventListener("resize",$),document.removeEventListener("scroll",q,{capture:!0})}},[t,a,i,o,h,n,D,S,m,O]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const V=window.matchMedia("(max-width: 768px)"),$=()=>E(!!V.matches);$();try{V.addEventListener?V.addEventListener("change",$):V.addListener($)}catch{try{V.addListener($)}catch{}}return()=>{try{V.removeEventListener?V.removeEventListener("change",$):V.removeListener($)}catch{}}},[]);const T=s.useRef(!1),W=s.useRef(null),j=_c(),L=s.useCallback((V=!1)=>{if(i&&!(w||T.current)){if(T.current=!0,V){_(!0);try{i&&i()}catch{T.current=!1,_(!1)}return}_(!0),W.current=setTimeout(()=>{W.current=null;try{i&&i()}catch{T.current=!1,_(!1)}},j?0:200)}},[w,i,_,j]);s.useEffect(()=>()=>{W.current&&clearTimeout(W.current)},[]),s.useEffect(()=>{if(D)return;const V=N=>{const z=f.current;if(!z)return;const M=N.target;if(M&&!z.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},$=N=>{const z=f.current;if(!z)return;const M=N.target;if(M&&!z.contains(M)){try{if(M.closest&&M.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},q=N=>{if(N.key==="Tab"){const z=f.current;if(!z)return;const M=z.querySelectorAll(Oa);if(!M||M.length===0)return;const F=M[0],H=M[M.length-1],Z=document.activeElement;N.shiftKey?Z===F&&(N.preventDefault(),H.focus()):Z===H&&(N.preventDefault(),F.focus())}};return document.addEventListener("pointerdown",V,!0),document.addEventListener("click",$,!0),document.addEventListener("keydown",q),()=>{document.removeEventListener("pointerdown",V,!0),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",q)}},[i,l,L,D]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const Y=!!i;s.useEffect(()=>{if(!(D||!Y))return zo(()=>I.current())},[D,Y]),s.useEffect(()=>{const V=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",V),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",V)}},[L]);const X=s.useRef(null);s.useEffect(()=>{if(D||g===!1||!B)return;const V=f.current;if(!V)return;const $=V.querySelector(Oa);if($)return X.current=document.activeElement,$.focus(),()=>{const q=X.current;X.current=null,q&&document.contains(q)&&q.focus()}},[D,g,B]),s.useEffect(()=>{u==="dialog"&&!d&&ra("tooltip-no-name",'[ihab/Tooltip] \uC774\uB984 \uC5C6\uB294 role="dialog" \uC785\uB2C8\uB2E4 \u2014 ariaLabel \uC744 \uC8FC\uC138\uC694. \uB0AD\uB3C5\uAE30\uAC00 "\uB300\uD654\uC0C1\uC790" \uB77C\uACE0\uB9CC \uC77D\uC2B5\uB2C8\uB2E4.')},[u,d]);const P=r.jsxs("div",{ref:f,className:`tooltip-content ${D?"tooltip-content--inline":""} ${v?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:u,"aria-label":d||void 0,style:D?{}:{...x,visibility:B?"visible":"hidden"},tabIndex:-1,"data-placement":A,"data-left":D?"":x.left,"data-top":D?"":x.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:[C!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:C}),h]});if(D||typeof document>"u")return P;if(p||S&&m){const V=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),P]});return pa.createPortal(V,document.body)}return pa.createPortal(P,document.body)}var V3='.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}';ce(V3);function Da(e){const{anchorRect:t,text:a,offset:o=8,onClose:n,className:i="",ariaLabel:l}=e||{};return a?r.jsx(xa,{anchorRect:t,offset:o,onClose:n,closeOnOutsideClick:!1,className:`tooltip-info ${i}`,ariaLabel:l||a,children:r.jsx("div",{className:"tooltip-info__content body-3",children:a})}):null}var W3=".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)}";ce(W3);function xo(e){const{t}=_e.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:u=12,closeOnOutsideClick:d=!0}=e||{},h=(Array.isArray(n)?n:n?[n]:[]).map(p=>typeof p=="string"?{text:p}:p);return!h.length&&!o?null:r.jsx(xa,{anchorRect:a,offset:u,onClose:c,closeOnOutsideClick:d,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:h.map((p,m)=>r.jsxs("li",{className:`tooltip-description__item body-3${m===i?" tooltip-description__item--active":""}`,children:[l&&h.length>1&&r.jsxs("span",{className:"tooltip-description__index button-1",children:[m+1,"."]}),p.color&&r.jsx("span",{className:"tooltip-description__dot",style:{background:p.color},"aria-hidden":"true"}),r.jsx("span",{children:p.text})]},m))})]})})}function ln(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),t}let yc=0,Sb=!1;function Eb(){Sb||typeof document>"u"||(Sb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(yc=Date.now())},!0),document.addEventListener("touchstart",()=>{yc=Date.now()},{capture:!0,passive:!0}))}Eb();function mr(e){return!!e&&e.pointerType==="touch"}function br(e=1e3){return Eb(),Date.now()-yc<e}function wc(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=ln(e),l=ln(t),c=s.useRef(null),u=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,v=p.target,C=a.current,g=!!(v&&C&&C.contains(v));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(v&&v.closest?.(".tooltip-content"))&&l.current(!1,C)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const d=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,u.current=Date.now(),l.current(!p,h??a.current),!0)},[a,l]);return s.useEffect(()=>{if(!o||!n)return;const h=a.current,p=h?.parentElement;if(!h||!p)return;let m=null;const v=f=>{const x=f.changedTouches?.[0];if(!x)return!1;const b=h.getBoundingClientRect();return x.clientX>=b.left&&x.clientX<=b.right&&x.clientY>=b.top&&x.clientY<=b.bottom},C=f=>{m=v(f)?i.current:null},g=f=>{const x=m;m=null,!(x===null||Date.now()-u.current<700||!v(f))&&(c.current=null,u.current=Date.now(),l.current(!x,h))};return p.addEventListener("touchstart",C,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",C),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:d}}function G3(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:u,rightIcon:d,label:h,count:p,subLabel:m,children:v,ariaLabel:C,variant:g="default",align:f="center",nowrap:x=!1,selected:b,toggleable:w=!1,ariaExpanded:_,ariaControls:A,disabled:y=!1,useLabel:B=!0,useBorder:k=!0,useBG:S=!0,useDisabledCovered:E=!1,useDisabledInvisible:D=!1,width:O,minWidth:T,onClick:W,onDisabledClick:j,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:Y=null,tooltipOnly:X=!1,iconSize:P="medium",iconColor:V,shape:$="rounded",color:q,className:N,...z}=e,M=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),F=M.match(/^\d+$/)?`button${M}`:`button-${M}`,H=Number(a),Z=!isNaN(H)&&H<40?"button-2":"button-1",ee=h??v,se=y||!!z.disabled,le=se?E?"disabled-covered":D?"disabled-invisibled":"disabled":g,K=le?`button--variant-${le}`:"",ue=f?`button--align-${f}`:"",Ne=x?"button--nowrap":"",U=$?`button--shape-${$}`:"",re=typeof V=="string"&&V.startsWith("--")?`var(${V})`:V,fe={...O?{width:typeof O=="number"?`${O}px`:O}:{},...T?{minWidth:typeof T=="number"?`${T}px`:T}:{},...k?{}:{"--button-border":se?"0":"1px solid transparent"},...re?{"--button-icon-color":re}:{},...q?{"--color-main":q}:{}},je=B===!1?"":ee,Ce=Array.isArray(je)?je.length>0:!!je,ne=!!d,he=o??(Ce||u||ne?"bar":"dot"),be=`${F}--${he}`,G=s.useRef(null);s.useEffect(()=>{!Ko||n!==void 0||G.current?.closest("form")&&ra(`button-in-form:${typeof ee=="string"?ee:""}`,'[ihab/Button] <form> \uC548\uC778\uB370 htmlType \uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC774 \uB2E8\uCD94\uB294 type="button" \uC774\uB77C \uD3FC\uC744 \uBCF4\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uBA74 htmlType="submit" \uC744 \uC8FC\uC138\uC694. \uD3FC\uC5D0 \uBCF4\uB0B4\uB294 \uB2E8\uCD94\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 **Enter \uB85C\uB3C4 \uC548 \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4**(\uCE78\uC774 \uB458 \uC774\uC0C1\uC77C \uB54C).'+(typeof ee=="string"&&ee?` \uB2E8\uCD94: ${ee}`:""))},[n,ee]);const oe=s.useRef(t);oe.current=t;const xe=s.useCallback(Pe=>{G.current=Pe;const nt=oe.current;typeof nt=="function"?nt(Pe):nt&&(nt.current=Pe)},[]),ke=s.useRef(se),[Me,Ie]=s.useState(!!b),[Oe,ut]=s.useState(!1),[ct,at]=s.useState(null),pt=s.useCallback(()=>ut(!1),[]),[Ee,Ve]=s.useState(!1),Ae=s.useId();s.useEffect(()=>{typeof b=="boolean"&&Ie(b)},[b]),s.useEffect(()=>{if(ke.current&&!se&&G.current){const Pe=G.current;let nt=!1;try{nt=Pe.matches(":focus:not(:focus-visible)")}catch{nt=!1}nt&&Pe.blur(),Pe.style.pointerEvents="none";const Wt=requestAnimationFrame(()=>{requestAnimationFrame(()=>{G.current&&(G.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Wt)}ke.current=se},[se]);const Ke=typeof b=="boolean"?!!b:Me,Q=typeof _=="boolean"?void 0:w||typeof b=="boolean"?Ke?"true":"false":z["aria-pressed"],pe=De("button",F,be,K,ue,Ne,U,Ke?"is-selected":null,S?null:"button--no-bg",X?"button--tooltip-only":null,N),Se=`button__icon button__icon--${P}`,Te=Array.isArray(m)?m:m!==void 0?[m]:[],qe=()=>{if(Array.isArray(je))return je.map((nt,Wt)=>{const ca=Te[Wt];return r.jsxs("span",{className:`button__label-text${ca!==void 0?" button__label-text--has-sub":""}`,children:[nt,ca!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:ca})]},Wt)});const Pe=m!==void 0;return r.jsxs("span",{className:`button__label-text${Pe?" button__label-text--has-sub":""}`,children:[je,p!=null&&r.jsx("span",{className:"button__count",children:p}),Pe&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},tt=Pe=>{typeof b!="boolean"&&!w&&Ie(!1),Pe.currentTarget.blur()},dt=Pe=>{se||(typeof z.onMouseLeave=="function"&&z.onMouseLeave(Pe),tt(Pe))},gt=Pe=>{if(X&&it&&Qe.touchPress(Pe.currentTarget),se){it&&Qe.touchPress(Pe.currentTarget),Pe.preventDefault(),j?.(Pe);return}typeof b!="boolean"&&w&&Ie(nt=>!nt),W?.(Pe)},Ct=s.useCallback(()=>{(L||Y)&&(ut(!0),at(G.current?.getBoundingClientRect()??null))},[L,Y]),kt=s.useCallback(()=>{(L||Y)&&(ut(!1),at(null))},[L,Y]),it=!!(L||Y),Qe=wc(Oe,Pe=>{Pe?Ct():kt()},G,{enabled:it&&(se||X),fallbackOnParent:it&&se}),Ge={...z};delete Ge.disabled,delete Ge.className,delete Ge.faded,delete Ge.useFaded,delete Ge.loading,delete Ge.onMouseLeave,delete Ge.onPointerEnter,delete Ge.onPointerLeave,delete Ge.onPointerUp,delete Ge.onFocus,delete Ge.onBlur,se&&(Object.keys(Ge).forEach(Pe=>{/^on[A-Z]/.test(Pe)&&typeof Ge[Pe]=="function"&&delete Ge[Pe]}),Ge["aria-disabled"]="true");const Fe=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof C=="string"?C:null)??(typeof ee=="string"?ee:null)??void 0,rt=typeof C=="string"?C:typeof ee=="string"?ee:Fe,vt=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):L&&Fe&&Fe!==rt?Fe:"",Ye=[typeof z["aria-describedby"]=="string"?z["aria-describedby"]:void 0,vt?Ae:null].filter(Boolean).join(" ")||void 0,ft=(Pe,nt)=>r.jsx(ot,{icon:Pe,label:nt??rt,className:Se,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),Mt=()=>he==="dot"?r.jsxs(r.Fragment,{children:[ft(u),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()})]}):f==="center"&&u?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:ft(u)}),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()})]}),ne&&r.jsx("span",{className:"button__right",children:ft(d)})]}):r.jsxs(r.Fragment,{children:[u&&r.jsx("span",{className:"button__left",children:ft(u,C??ee)}),Ce&&r.jsx("span",{className:`button__label ${Z}`,children:qe()}),ne&&r.jsx("span",{className:"button__right",children:ft(d)})]}),zt=!!i&&!se;return r.jsxs(r.Fragment,{children:[r.jsxs(zt?"a":"button",{...Ge,ref:xe,...zt?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:se&&!j&&!Ee},className:pe,"aria-pressed":Q,"aria-expanded":typeof _=="boolean"?_:z["aria-expanded"],"aria-controls":A??z["aria-controls"],"aria-label":rt,"aria-disabled":se&&(zt||j||Ee)?!0:void 0,"aria-describedby":Ye,style:fe,onClick:gt,onMouseLeave:dt,onPointerEnter:Pe=>{mr(Pe)||Ct(),!se&&typeof z.onPointerEnter=="function"&&z.onPointerEnter(Pe)},onPointerLeave:Pe=>{mr(Pe)||kt(),!se&&typeof z.onPointerLeave=="function"&&z.onPointerLeave(Pe)},onPointerUp:Pe=>{se&&it&&Qe.touchPress(Pe.currentTarget),!se&&typeof z.onPointerUp=="function"&&z.onPointerUp(Pe)},onFocus:Pe=>{Ve(!0),br()||Ct(),!se&&typeof z.onFocus=="function"&&z.onFocus(Pe)},onBlur:Pe=>{Ve(!1),se||tt(Pe),kt(),!se&&typeof z.onBlur=="function"&&z.onBlur(Pe)},children:[Mt(),vt?r.jsx("span",{id:Ae,hidden:!0,"aria-label":vt}):null]}),Oe&&Y?r.jsx(xo,{anchorRect:ct,title:Y.title,items:Y.items,onClose:pt}):Oe&&Fe?r.jsx(Da,{anchorRect:ct,text:Fe,onClose:pt}):null]})}const ge=s.forwardRef(G3);ge.displayName="Button";function Dt(e,t,a){const o=s.useRef(null);return s.useLayoutEffect(()=>{const n=o.current?.parentElement??null;return t(n,e),()=>a(n)},[e,t,a]),o}var U3=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";ce(U3);var q3=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";ce(q3);const gr={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},kc=new WeakMap;function gi(e){if(e)return kc.get(e)}function qt(e,t){e&&(e.style.setProperty(gr.title,t.title),e.style.setProperty(gr.description,t.description),kc.set(e,t))}function Yt(e){e&&(e.style.removeProperty(gr.title),e.style.removeProperty(gr.description),kc.delete(e))}const Bc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function Ac(){const e=Dt(Bc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var Y3=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";ce(Y3);const Sc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ec(){const e=Dt(Sc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var K3=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";ce(K3);const Dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Nc(){const e=Dt(Dc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var Z3=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";ce(Z3);const Tc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function jc(){const e=Dt(Tc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var X3=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";ce(X3);const Lc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Mc(){const e=Dt(Lc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var J3=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";ce(J3);const $c={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Rc(){const e=Dt($c,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var Q3=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";ce(Q3);const Pc={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function zc(){const e=Dt(Pc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var e7=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";ce(e7);const Ic={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Oc(){const e=Dt(Ic,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var t7=".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)}";ce(t7);const Fc={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Hc(){const e=Dt(Fc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var a7=".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}";ce(a7);const Vc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Wc(){const e=Dt(Vc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var o7=".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}";ce(o7);const Gc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Uc(){const e=Dt(Gc,qt,Yt);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 r7=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";ce(r7);const qc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Yc(){const e=Dt(qc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var n7=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";ce(n7);const Kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Zc(){const e=Dt(Kc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var i7=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";ce(i7);const Xc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Jc(){const e=Dt(Xc,qt,Yt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const la=(e,t,a)=>({key:e,get label(){return yt.t(`promoBannerBg.${e}`,t)},textTone:a}),Db=[la("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("soft","\uC18C\uD504\uD2B8","dark"),la("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),la("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),la("warm","\uC6DC(\uAC15\uC870)","dark"),la("dark","\uB2E4\uD06C","light"),la("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),la("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),la("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),la("outline","\uC544\uC6C3\uB77C\uC778","dark"),la("success","\uC131\uACF5/\uC644\uB8CC","light"),la("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),la("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Qc={main:Ac,soft:Ec,sub:Nc,deep:jc,softSub:Mc,warm:Rc,dark:zc,radial:Oc,diagonal:Hc,dots:Wc,outline:Uc,success:Yc,naver:Zc,instagram:Jc};function fi({storageKey:e="fontScale",baseFont:t=20,minScale:a=.8,maxScale:o=1.4,step:n=.1,lineHeightRatio:i=1.4}={}){const l=w=>Math.max(a,Math.min(o,Number(w))),c=w=>{try{const _=localStorage.getItem(w),A=_?Number(_):1;return Number.isFinite(A)?l(A):l(1)}catch{return l(1)}},[u,d]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),d(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(u))}catch{}},[e,u]);const m=w=>{d(typeof w=="function"?_=>l(w(_)):l(w))},v=()=>m(w=>+(w+n).toFixed(6)),C=()=>m(w=>+(w-n).toFixed(6)),g=u<o-Number.EPSILON,f=u>a+Number.EPSILON,x=Math.round(t*u),b=Math.round(x*i);return{scale:u,setScale:m,increase:v,decrease:C,canIncrease:g,canDecrease:f,fontSize:x,lineHeight:b}}function cn(e,t){const a=ln(t);s.useEffect(()=>{const o=()=>a.current();try{window.addEventListener(e,o)}catch{}return()=>{try{window.removeEventListener(e,o)}catch{}}},[e,a])}const eu=" \xB7 ",Nb=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(eu)?e.split(eu).pop()??e:e})(),tu=s.createContext(!1),Io=[];let Tb=null;function au(e){const t=s.useContext(tu);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;Io.length===0&&(Tb=document.title);const a={text:Nb?`${e}${eu}${Nb}`:e};return Io.push(a),document.title=a.text,()=>{const o=Io.lastIndexOf(a);o>=0&&Io.splice(o,1),document.title=Io.length?Io[Io.length-1].text:Tb??document.title}},[e,t])}function s7(e,t){const[a,o,n]=e.split("-").map(Number),[i,l,c]=t.split("-").map(Number);return Math.round((Date.UTC(i,l-1,c)-Date.UTC(a,o-1,n))/864e5)}function jb(){const{t:e}=_e.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Ia(t);if(!a)return"";const o=s7(a,Ca());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 Lb(e){const{t}=_e.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),u=s.useRef(null),d=s.useRef(!1);s.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(d.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),d.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(v){m=Qr(v)}finally{d.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:""}),u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const ou=[{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 ru(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 Mb(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 $b(e){const{t}=_e.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[u,d]=s.useState(null),h=s.useCallback(()=>{const m={};ou.forEach(v=>{m[v.id]=ru([...v.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(v=>{d({usage:v.usage??0,quota:v.quota??0})}).catch(()=>{})},[]);s.useEffect(()=>{h()},[h]);const p=s.useCallback(async m=>{i(m);try{m==="wordData"?(localStorage.removeItem("word_data_cache"),localStorage.removeItem("word_data_version")):m==="pairIndex"?nl():m==="imageCache"&&Vs(),h(),e?.(t("settings.cache.cleared","\uCE90\uC2DC\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."))}finally{i(null)}},[h,e,t]);return{cacheSizes:a,clearingId:n,confirmCacheId:l,setConfirmCacheId:c,storageEstimate:u,refreshCacheSizes:h,handleClearCache:p}}function Rb(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=Lo();if(l){const u=Object.values(l),d=u.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:d,total:u.length})}else a(null);const c=zn();n(c?{exists:c.exists,total:c.total}:null)},[]);return s.useEffect(()=>{i();const l=setTimeout(i,1e3);return()=>clearTimeout(l)},[e?.length,i]),{pairStats:t,imgStats:o,setPairStats:a,setImgStats:n,refreshStats:i}}function Oo(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function Pb(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[u,d]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const x=p.current;x!==null&&x.length===t.length&&x.every((b,w)=>b===t[w])||(p.current=t,o(t),i(b=>b==null?b:t.find(w=>Oo(w,b))??b))},[t,l]),s.useEffect(()=>{!l&&n!=null&&d({...n})},[l,n]);const m=s.useCallback(x=>{i(x),c(!1),d({...x})},[]),v=s.useCallback(()=>c(!0),[]),C=s.useCallback(()=>c(!1),[]),g=s.useCallback((x,b)=>{o(x),i(b),c(w=>(w&&(h.current=!0),!1))},[]),f=s.useCallback(x=>{o(b=>b.filter(w=>!Oo(w,x))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:u,setEditForm:d,openDetail:m,startEditing:v,cancelEditing:C,commitEdit:g,remove:f}}const fr=()=>{const[e,t,a]=Ca().split("-");return{year:e,month:t,day:a}},l7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function zb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:u,openDetail:d,commitEdit:h}=Pb(l7,e),{year:p,month:m,day:v}=fr(),[C,g]=s.useState({year:p,month:m,day:v,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:C,setVisitForm:g,setVisit:f=>x=>g(b=>({...b,[f]:x})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:u,openVisitDetail:d,handleVisitSave:f=>{a(_=>[C,..._]);const{year:x,month:b,day:w}=fr();g({year:x,month:b,day:w,hour:"09",minute:"00",memo:""}),f?.()},handleVisitEditSave:()=>{h(f=>f.map(x=>o!=null&&Oo(x,o)?c:x),c)},addVisit:f=>{a(x=>[f,...x])},removeVisit:f=>{a(x=>x.filter(b=>!Oo(b,f)))},revertVisitEdit:(f,x)=>{a(b=>b.map(w=>w===x?f:w)),n(b=>b===x?f:b)}}}const Ib=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")}`,un=e=>[...e].sort((t,a)=>{const o=Ib(t),n=Ib(a);return o<n?-1:o>n?1:0}),c7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Ob(e,t=[]){const a=s.useMemo(()=>un(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:u,editForm:d,setEditForm:h,openDetail:p,commitEdit:m,remove:v}=Pb(c7,a),[C,g]=s.useState([]),{year:f,month:x,day:b}=fr(),[w,_]=s.useState({year:f,month:x,day:b,hour:"09",minute:"00",memo:""}),A=W=>j=>_(L=>({...L,[W]:j})),y=W=>{n(Y=>un([...Y,w]));const{year:j,month:L,day:I}=fr();_({year:j,month:L,day:I,hour:"09",minute:"00",memo:""}),W?.()},B=()=>{m(W=>un(W.map(j=>i!=null&&Oo(j,i)?d:j)),d)},k=s.useCallback(W=>{v(W)},[v]),S=s.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}:{}}),v(W)},[e,v]),E=s.useCallback(W=>{n(j=>j.filter(L=>!Oo(L,W))),g(j=>[W,...j]),l(null)},[n,l]),D=s.useCallback(W=>{n(j=>un([...j,W]))},[n]),O=s.useCallback(W=>{n(j=>j.filter(L=>!Oo(L,W)))},[n]),T=s.useCallback((W,j)=>{n(L=>un(L.map(I=>I===j?W:I))),l(L=>L===j?W:L)},[n,l]);return{scheduleList:o,noShowList:C,addSchedule:D,removeSchedule:O,revertScheduleEdit:T,scheduleForm:w,setScheduleForm:_,setSchedule:A,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:u,editScheduleForm:d,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:y,handleScheduleEditSave:B,handleScheduleDelete:k,handleScheduleToVisit:S,handleScheduleNoVisit:E}}const dn=[{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 Fb(e){const{t}=_e.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[u,d]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:f})=>!(a&&!g.memo.includes(a)||l!=="all"&&f!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(u,p),v=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),C=s.useMemo(()=>dn.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:C,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:d,vapFiltered:h,vapTotal:p,vapPageItems:v}}const u7=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function ga(e,t){return u7().compare(e,t)}const vi=new Map;function d7(e){const t=vi.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 l=i.index,c=i[0];c[0]==="-"&&l>0&&!/\s/.test(e[l-1])&&(l+=1,c=c.slice(1)),l>n&&a.push(e.slice(n,l)),a.push(Number(c)),n=i.index+i[0].length}return n<e.length&&a.push(e.slice(n)),vi.size>5e3&&vi.clear(),vi.set(e,a),a}function p7(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 h7(e,t){const a=d=>d==null||typeof d=="number"&&Number.isNaN(d)?"":String(d).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(d,h)=>{if(typeof d=="number"&&!Number.isNaN(d))return[d];const p=p7(h);return p!==null?[p]:d7(h)},l=i(e,o),c=i(t,n),u=Math.min(l.length,c.length);for(let d=0;d<u;d++){const h=l[d],p=c[d];if(typeof h=="number"&&typeof p=="number"){if(h!==p)return h-p;continue}if(typeof h=="number")return-1;if(typeof p=="number")return 1;const m=ga(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:ga(o,n)}const Hb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function nu(e,t,a){const o=Hb(e),n=Hb(t);if(o||n)return o===n?0:o?1:-1;const i=h7(e,t);return a?i:-i}function iu(e,t,a){const{t:o}=_e.useTranslation(),[n,i]=s.useState(()=>{const C=a?.initialPageSize;return C&&dn.some(g=>g.value===C)?C:"25"}),[l,c]=s.useState(1),[u,d]=s.useState(t);Object.is(u,t)||(d(t),l!==1&&c(1));const h=s.useMemo(()=>dn.map(C=>({...C,label:o("visits.showN",{n:C.value})})),[o]),p=s.useCallback(C=>{i(C),c(1)},[]),m=Math.max(1,Math.ceil(e.length/Number(n)));(l>m||l<1||!Number.isFinite(l))&&c(Math.min(Math.max(1,Number.isFinite(l)?l:1),m));const v=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((v-1)*Number(n),v*Number(n)),[e,v,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:v,total:m,onChange:c},setPage:c}}function su(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(u=>{const d=o.current,h=d?.key===u?{key:u,asc:!d.asc}:{key:u,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((u,d)=>({label:u,sortDir:t?.key===d?t.asc?"asc":"desc":null,onClick:()=>i(d)}),[t,i]),c=s.useCallback((u,d)=>{if(!t)return u;const{key:h,asc:p}=t;return[...u].sort((m,v)=>nu(d(m,h),d(v,h),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const Vb=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Wb(){const[e,t]=s.useState(!1),[a,o]=s.useState("\uC88C"),[n,i]=s.useState({\uC88C:null,\uC6B0:null}),[l,c]=s.useState({\uC88C:[],\uC6B0:[]}),[u,d]=s.useState(!1),[h,p]=s.useState("\uC88C"),m=s.useCallback(C=>{const g=Vb(C.direction);g&&(i(f=>({...f,[g]:C})),c(f=>({...f,[g]:[C,...f[g]]})),t(!1))},[]),v=s.useCallback(C=>{const g=Vb(C.direction);g&&(i(f=>({...f,[g]:C})),d(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:u,setShowDeviceList:d,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:v}}const Nt="\uC804\uCCB4",pn=["grade","syllables","pos","wordType"],Gb=["1","2","3","4"],m7=["1","2","3","4","5+"],b7=["noun","verb","modifier"],g7=["native","sino","foreign","mixed"],f7={grade:Gb,syllables:m7,pos:b7,wordType:g7},v7={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},C7={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},x7={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},_7={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)"]}},lu=new Map;try{yt.store?.on?.("added",()=>lu.clear())}catch{}function Ci(e){const t=lu.get(e);if(t)return t;const a=yt.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(Gb.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 lu.set(e,o),o}const cu=()=>Array.from(new Set([yt.language,"ko","en"].filter(e=>!!e)));function hn(e){if(pn.includes(e))return e;for(const t of cu()){const a=Ci(t);for(const o of pn)if(a.\uC139\uC158[o]===e)return o}for(const t of pn)if(x7[t]?.includes(e))return t;return null}function vr(e,t){if(f7[e].includes(t))return t;for(const a of cu()){const o=Ci(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(_7[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 y7=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function xi(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=hn(a);if(n)for(const i of y7(o)){const l=vr(n,i);if(!l)continue;const c=t[n]??(t[n]=[]);c.includes(l)||c.push(l)}}return t}function _i(e,t=yt.language){const a=Ci(t||"ko"),o={};for(const n of pn){const i=(e?.[n]??[]).map(l=>a.\uAC12[n][l]).filter(l=>!!l);i.length&&(o[a.\uC139\uC158[n]]=i)}return o}function Ub(e,t=yt.language){const a={};for(const[o,n]of Object.entries(e??{}))hn(o)||(a[o]=n);return{...a,..._i(xi(e),t)}}function w7(e){for(const t of cu()){const a=Ci(t);if(pn.some(o=>a.\uC139\uC158[o]===e))return t}return yt.language||"ko"}function uu(){const{t:e}=_e.useTranslation();return s.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 du(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 pu(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function hu(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function qb(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 Yb(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 Kb(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:u,tailDisabled:d,allOptionDisabled:h,groupLabel:p,labelAction:m}=t;return{label:a,...p?{groupLabel:p}:{},...m?{labelAction:m}:{},allOption:!0,allLabel:e("wordSearch.filter.positionAny",{defaultValue:"\uBB34\uAD00"}),...h?{allOptionDisabled:h}:{},items:[{value:o,displayLabel:e("wordSearch.filter.positionHead",{defaultValue:"\uC5B4\uB450"}),disabled:c},...l?[{value:n,displayLabel:e("wordSearch.filter.positionMid",{defaultValue:"\uC5B4\uC911"}),disabled:u}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:d}]}}function Zb(e,t,a){const o=hn(a),n=o&&t!==Nt?vr(o,t):null;if(o&&(t===Nt||n)){const c={},u={};for(const[v,C]of Object.entries(e))(hn(v)===o?u:c)[v]=C;if(t===Nt)return c;const d=xi(u)[o]??[],h=d.includes(n)?d.filter(v=>v!==n):[...d,n];if(h.length===0)return c;const p=_i({[o]:h},w7(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Nt){const{[a]:c,...u}=e;return u}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...u}=e;return u}return{...e,[a]:l}}Object.fromEntries(Object.entries(Ws).map(([e,{nucleus:t}])=>[e,t]));const k7={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},B7={"\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"]},A7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:B7,typeMap:k7},Xb=new WeakMap;function S7(e,t){const a=Xb.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,l]of Object.entries(e??{})){const c=i===t.difficulty?"grade":i===t.syllables?"syllables":i===t.partOfSpeech?"pos":i===t.wordType?"wordType":hn(i);if(c)for(const u of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(u)||n[c].push(u)}return Xb.set(e,{keys:t,\uAC12:o}),o}function E7(e,t,a=A7){const{grades:o,syls:n,poses:i,types:l}=S7(t,a);if(o.length&&!o.some(c=>e.grade===(vr("grade",c)??c.replace(/\D/g,""))))return!1;if(n.length){const c=e.syllables??0;if(!n.some(u=>{const d=u===a.syllable5plus?"5+":vr("syllables",u);return d==="5+"?c>=5:c===parseInt(d??u)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??v7[vr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??C7[vr("wordType",c)??""])))}const D7={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"})},N7={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"})},T7={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 Jb(e,t){if("place"in t)return D7[t.place](e);const a=N7[t.vowel](e);return t.glide?`${a} \xB7 ${T7[t.glide](e)}`:a}const j7=(e,{defaultValue:t})=>t,Qb=(e,t)=>({jamos:e,phonetic:t,tooltip:Jb(j7,t)}),Qa=(e,t)=>t.map(a=>Qb([a],{place:e})),Vt=(e,t,a)=>Qb([...e],a?{vowel:t,glide:a}:{vowel:t}),mu={cho:[Qa("labial",["\u3142","\u3143","\u314D","\u3141"]),Qa("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),Qa("alveolar",["\u3145","\u3146"]),Qa("palatal",["\u3148","\u3149","\u314A"]),Qa("velar",["\u3131","\u3132","\u314B"]),Qa("glottal",["\u314E"])],jung:[[Vt("\u3163","frontHigh"),Vt("\u315F","frontHigh","w"),Vt("\u3162","frontHigh","velar")],[Vt("\u3161","backHighUnrounded")],[Vt("\u315C","backHighRounded"),Vt("\u3160","backHighRounded","j")],[Vt("\u3154\u3150","frontMid"),Vt("\u3156\u3152","frontMid","j"),Vt("\u3159\u315A\u315E","frontMid","w")],[Vt("\u3153","backMidUnrounded"),Vt("\u3155","backMidUnrounded","j"),Vt("\u315D","backMidUnrounded","w")],[Vt("\u3157","backMidRounded"),Vt("\u315B","backMidRounded","j")],[Vt("\u314F","low"),Vt("\u3151","low","j"),Vt("\u3158","low","w")]],jong:[Qa("labial",["\u3142","\u3141"]),Qa("alveolar",["\u3137","\u3134","\u3139"]),Qa("velar",["\u3131","\u3147"])]},L7=[...bt],M7=[...wt],$7=Rt.filter(e=>e!==""),Fa=e=>e===Na?[]:Array.from(e),Na="__NO_CODA__",eg=[1,2,3,4],Ta=5,R7=12,tg="SYL_",bu=e=>`${tg}${e}`,P7=e=>Number(e.slice(tg.length));function yi(e){return e>=Ta?Array.from({length:R7-Ta+1},(t,a)=>Ta+a):[e]}const ag={cho:L7,jung:M7,jong:$7},gu=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),fu={cho:gu(mu.cho),jung:gu(mu.jung),jong:gu(mu.jong)},og={};fu.jung.flat().forEach(({v:e})=>{for(const t of Fa(e))og[t]=e});const z7=new Set(fu.cho.flat().map(e=>e.v));function vu(e,t){return e==="cho"?z7.has(t)?t:null:e==="jung"?og[t]??t:To(t)}function Cu(e,t,a){if(e==="jung"){const o=Fa(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&To(a)===t?a:t}function xu(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Na?Na:t==="pron"?vu(i,l):Cu(i,l,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 wi={cho:null,jung:null,jong:null,syllable:null},I7="wt_filter",rg=e=>`wt_filter_${e}`,_u=["noun","verb","modifier"],yu=["native","sino","foreign","mixed"];function ng(e,t,a,o,n){if(!Array.isArray(e))return[];const i=[];for(const l of e){if(typeof l!="string")continue;const c=t.includes(l)?l:t.find(u=>n.some(d=>o(d,a(u))===l));c&&!i.includes(c)&&i.push(c)}return i}function ig(e){try{const t=localStorage.getItem(rg(e))??localStorage.getItem(I7);if(t)return JSON.parse(t)}catch{}return null}function sg(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function O7(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?{...wi,cho:t.choseong}:wi}function lg(e,t,a){const{t:o,i18n:n}=_e.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:ig(e)),[l,c]=s.useState(sg(i)),[u,d]=s.useState(()=>O7(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Na,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Na:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||d(G=>G.cho||G.jung||G.syllable!=null||G.jong?G:h())},[]);const p=s.useMemo(()=>Pt(u.cho)||Pt(u.jung)||Pt(u.jong)?"count":"random",[u.cho,u.jung,u.jong]),m=s.useRef(l==="char"?u.jung:null),v=s.useRef(l==="char"?u.jong:null);s.useEffect(()=>{l==="char"&&(m.current=u.jung,v.current=u.jong)},[l,u.jung,u.jong]);const[C,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[f,x]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[b,w]=s.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),_=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),A=(G,oe)=>n.getFixedT(G)(oe),y=G=>ng(G,_u,oe=>`wordSearch.filter.pos.${oe}`,A,_),B=G=>ng(G,yu,oe=>`wordSearch.filter.type.${oe}`,A,_),[k,S]=s.useState(()=>y(i?.posFilter)),[E,D]=s.useState(()=>B(i?.wordTypeFilter)),O=s.useRef(a?.resetKey);s.useEffect(()=>{O.current!==a?.resetKey&&(O.current=a?.resetKey,d(h()),g(!!a?.defaultImageOnly),x(!1),w([]),S([]),D([]))},[a?.resetKey]);const T=uu(),W=s.useMemo(()=>Object.keys(T.posMap),[T]),j=s.useMemo(()=>Object.keys(T.typeMap),[T]),L=s.useMemo(()=>k.map(G=>W[_u.indexOf(G)]).filter(Boolean),[k,W]),I=s.useMemo(()=>E.map(G=>j[yu.indexOf(G)]).filter(Boolean),[E,j]),[Y,X]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[P,V]=s.useState(!1),[$,q]=s.useState(null),N=1,z=Math.max(1,[u.cho,u.jung,u.jong].filter(Boolean).length),[M,F]=s.useState(e);s.useEffect(()=>{if(M!==e){if(!a?.resetOnMount){const G=ig(e);d(G?.composition??h()),g(G?.excludeNoImage??!0),x(G?.sameStructureOnly??!0),c(sg(G)),w(Array.isArray(G?.gradeFilter)?G.gradeFilter:[]),S(y(G?.posFilter)),D(B(G?.wordTypeFilter))}F(e)}},[e,M,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&M===e)try{localStorage.setItem(rg(e),JSON.stringify({contrastCount:z,composition:u,excludeNoImage:C,sameStructureOnly:f,phonemeView:l,gradeFilter:b,posFilter:k,wordTypeFilter:E}))}catch{}},[a?.resetOnMount,e,M,z,u,C,f,l,b,k,E]);const[H,Z]=s.useState(0);cn("wordpool:update",()=>Z(G=>G+1));const ee=s.useRef(n.language);s.useEffect(()=>{ee.current!==n.language&&(ee.current=n.language,Z(G=>G+1))},[n.language]),s.useEffect(()=>{if(!t.choseong)return;let G=!1;return A3({difficulty:p,excludeNoImage:C}).then(oe=>{G||(X(oe),oe.cho.size+oe.jung.size+oe.jong.size>0&&V(!0))}).catch(()=>{G||X({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{G=!0}},[t.choseong,p,C,H]),s.useEffect(()=>{let G=!1;const oe=u,xe=oe.cho?Fa(oe.cho):null,ke=oe.jung?Fa(oe.jung):null,Me=oe.jong===Na,Ie=Me?null:oe.jong?Fa(oe.jong):null,Oe=oe.syllable!=null?yi(oe.syllable):null,ut=!!(xe||ke||Ie||Me||Oe);return B3({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?z:1,composition:t.choseong&&ut?{cho:xe,jung:ke,jong:Ie,jongNone:Me,syllable:Oe}:null,excludeNoImage:C,sameStructureOnly:f,phonemeView:l==="pron"?"pron":"char",grade:b.length>0?b:null}).then(ct=>{G||q(ct)}).catch(()=>{G||q(null)}),()=>{G=!0}},[t.choseong,t.difficulty,p,z,u,l,C,f,H,b]),s.useEffect(()=>{P&&d(G=>{const oe={...G};let xe=!1;return["cho","jung","jong"].forEach(ke=>{const Me=G[ke];!Me||Me===Na||Fa(Me).some(Ie=>Y[ke].has(Ie))||(oe[ke]=null,xe=!0)}),G.syllable!=null&&t.fixedSyllable==null&&(G.syllable>=Ta?[...Y.syllable].some(ke=>ke>=Ta)||(oe.syllable=null,xe=!0):(!Y.syllable.has(G.syllable)||G.syllable<N)&&(oe.syllable=null,xe=!0)),xe?oe:G})},[Y,P,N,t.fixedSyllable]);const se=s.useMemo(()=>{const G=oe=>{const xe=new Set;for(const ke of ag[oe])Y[oe].has(ke)&&xe.add(ke);return xe};return{cho:G("cho"),jung:G("jung"),jong:G("jong")}},[Y]),le=s.useMemo(()=>({exact:new Set(eg.filter(G=>Y.syllable.has(G))),min:[...Y.syllable].some(G=>G>=Ta)}),[Y]),K=s.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]),ue=s.useMemo(()=>({[K.trainOnset]:"cho",[K.trainVowel]:"jung",[K.trainCoda]:"jong"}),[K]),Ne=s.useCallback((G,oe)=>({title:oe,items:G}),[]),U=s.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]),re=s.useMemo(()=>{const G=[];if(t.choseong){const oe={value:Na,displayLabel:K.codaExclude},xe=t.fixedNoCoda===!0,ke=(Me,Ie)=>{const Oe=xe&&Me==="jong",ut={label:Ie,groupLabel:K.phonemeGroup,allOption:!t.requireSyllable,allLabel:K.noLimit,allOptionDisabled:Oe};if(l==="pron"){const at=fu[Me].map(pt=>pt.map(({v:Ee,phonetic:Ve})=>{const Ae=Fa(Ee),Ke=Jb(o,Ve),Q=Oe||!Ae.some(pe=>Y[Me].has(pe));return Ae.length>1?{value:Ee,labels:Ae,tooltip:Ke,disabled:Q}:{value:Ee,tooltip:Ke,disabled:Q}}));return Me==="jong"&&!t.requireCoda&&at.unshift([oe]),{...ut,groups:at}}const ct=ag[Me].map(at=>!Oe&&se[Me].has(at)?at:{value:at,disabled:!0});return{...ut,items:Me==="jong"&&!t.requireCoda?[oe,...ct]:ct}};G.push(ke("cho",K.trainOnset)),G.push(ke("jung",K.trainVowel)),G.push(ke("jong",K.trainCoda))}if(G.push({...du(o,T,{labelInfo:Ne([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:K.gradeLabel}),t.partOfSpeech&&G.push(pu(T)),t.wordType&&G.push(hu(T)),t.choseong||t.fixedSyllable!=null){const oe=t.fixedSyllable;G.push({label:K.syllableCount,items:[...eg.map(xe=>({value:bu(xe),displayLabel:o("wordPairs.syllableN",{n:xe,defaultValue:"{{n}}\uC74C\uC808"}),disabled:oe!=null?xe!==oe:!le.exact.has(xe)||xe<N})),{value:bu(Ta),displayLabel:o("wordPairs.syllableNPlus",{n:Ta,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:oe!=null?Ta!==oe:!le.min}],allOption:!0,allOptionDisabled:oe!=null})}return t.choseong?G.push({label:K.exclude,displayLabel:K.selectLabel,multiple:!0,items:[K.excludeImage,K.sameStructure],labelInfo:Ne(U)}):G.push({label:K.exclude,displayLabel:K.selectLabel,multiple:!0,items:[K.excludeImage],labelInfo:Ne([U[0]])}),G},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,N,se,Y,l,le,K,o,Ne,U,T]),fe={...(t.choseong||t.fixedSyllable!=null)&&u.syllable!=null?{[K.syllableCount]:bu(u.syllable)}:{},...t.choseong&&u.cho?{[K.trainOnset]:u.cho}:{},...t.choseong&&u.jung?{[K.trainVowel]:u.jung}:{},...t.choseong&&u.jong?{[K.trainCoda]:u.jong}:{},[K.exclude]:[...C?[K.excludeImage]:[],...f?[K.sameStructure]:[]],[K.gradeLabel]:b.map(G=>o("wordSearch.filter.grade",{n:Number(G),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[T.partOfSpeech]:L}:{},...t.wordType?{[T.wordType]:I}:{}},je=s.useCallback((G,oe)=>{if(oe===K.exclude)G===K.excludeImage?g(xe=>!xe):G===K.sameStructure&&x(xe=>!xe);else if(oe===K.syllableCount)d(xe=>{if(!G||G===Nt)return{...xe,syllable:null};const ke=P7(G);return{...xe,syllable:xe.syllable===ke?null:ke}});else if(oe===K.gradeLabel){if(!G||G===Nt){w([]);return}const xe=G.replace(/\D/g,"");w(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else if(oe===T.partOfSpeech){if(!G||G===Nt){S([]);return}const xe=_u[W.indexOf(G)]??y([G])[0];if(!xe)return;S(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else if(oe===T.wordType){if(!G||G===Nt){D([]);return}const xe=yu[j.indexOf(G)]??B([G])[0];if(!xe)return;D(ke=>ke.includes(xe)?ke.filter(Me=>Me!==xe):[...ke,xe])}else{const xe=ue[oe];if(!xe)return;d(ke=>t.requireSyllable?G&&G!==Nt?{...ke,[xe]:G}:ke:!G||G===Nt||ke[xe]===G?{...ke,[xe]:null}:{...ke,[xe]:G})}},[K,ue,T,W,j,t.requireSyllable]),Ce=s.useCallback(G=>!t.partOfSpeech&&!t.wordType?!0:E7(G,{...t.partOfSpeech?{[T.partOfSpeech]:L}:{},...t.wordType?{[T.wordType]:I}:{}},T),[t.partOfSpeech,t.wordType,L,I,T]),ne=s.useCallback(G=>{G!==l&&(G!=="direct"&&l!=="direct"&&d(oe=>xu(oe,G,m.current,v.current)),c(G))},[l]),he=s.useCallback(()=>({composition:u,contrastCount:z,excludeNoImage:C,sameStructureOnly:f,phonemeView:l,gradeFilter:b,posFilter:k,wordTypeFilter:E}),[u,z,C,f,l,b,k,E]),be=s.useCallback(G=>{d(G.composition),g(G.excludeNoImage),x(G.sameStructureOnly??!0),c(G.phonemeView),w(Array.isArray(G.gradeFilter)?G.gradeFilter:[]),Array.isArray(G.posFilter)&&S(y(G.posFilter)),Array.isArray(G.wordTypeFilter)&&D(B(G.wordTypeFilter))},[]);return{difficulty:p,contrastCount:z,composition:u,choseong:u.cho,excludeNoImage:C,sameStructureOnly:f,gradeFilter:b,posFilter:L,wordTypeFilter:I,matchesWordAttributes:Ce,poolVersion:H,filterSections:re,filterSelected:fe,handleFilterSelect:je,phonemeView:l,setPhonemeView:ne,phonemeGroupLabel:K.phonemeGroup,wordCount:$,getFilterSnapshot:he,restoreFilterSnapshot:be}}function F7(e){const t=c=>c?Fa(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Na,i=n?null:t(e.jong),l=e.syllable!=null?yi(e.syllable):null;return!a&&!o&&!i&&!n&&!l?null:{cho:a,jung:o,jong:i,jongNone:n,syllable:l}}function cg(e,t,a,o,n,i,l=!0,c="char",u=[]){const[d,h]=s.useState({}),[p,m]=s.useState(!1),{cho:v=null,jung:C=null,jong:g=null,syllable:f=null}=o??{},x=u.length>0?u.slice().sort().join(","):"",b=e.map(_=>_.key).join("|");s.useEffect(()=>{i>0&&k3(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let _=!1;return m(!0),(async()=>{const A=F7({cho:v,jung:C,jong:g,syllable:f}),y=`${v??""}_${C??""}_${g??""}_${f??""}_${x}`,B={};await Promise.all(e.map(async k=>{const S=nr[k.key];try{const E=await tb(k.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?A:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:u.length>0?u:null});E&&E.length>0?B[k.key]={id:`wt-${k.key}-${t}-${y}-${Date.now()}`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:E,itemCount:E.length}:B[k.key]={id:`wt-${k.key}-empty`,name:k.label,training_type:k.key,category_main_code:"WORD",iconColor:k.color,subTitle:k.subTitle,items:[],itemCount:0,__empty:!0}}catch{B[k.key]=null}})),_||(h(B),m(!1))})(),()=>{_=!0}},[t,a,v,C,g,f,n,l,c,i,x,b]);const w=JSON.stringify(e.map(_=>[_.key,_.label,_.color,_.subTitle]));return{perTypeData:s.useMemo(()=>{const _={};for(const[A,y]of Object.entries(d)){const B=e.find(k=>k.key===A);_[A]=y&&B?{...y,name:B.label,iconColor:B.color,subTitle:B.subTitle}:y}return _},[d,w]),generating:p}}function ug(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 H7(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 V7=Sa,W7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},G7=(e,t)=>{const a=e??{};return String(a.id??a.name??t)};function ki(e,t,a,o,n){if(!e.length||t<=0)return[];const i=H7(ug(`${a}|${o}|${n}`)),l=W7(o)&1,c=e.filter((d,h)=>(ug(`${a}|${n}|${G7(d,h)}`)>>>7&1)===l),u=c.length>=t&&e.length-c.length>=t;return V7(u?c:e,t,i)}function wu(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:ki(mo,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:ki(bo,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:ki(go,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:ki(fo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function ku(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const U7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function Bu(e=!1,t=U7,a){const o=Ia(Date.now()),n=Ia(Date.now()-864e5),i=a??"";return mo.length>0||bo.length>0||go.length>0||fo.length>0?{today:wu(t,i,o),yesterday:wu(t,i,n)}:{today:wu(t,i,o),yesterday:null}}function dg(e){const t=s.useRef({LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),a=s.useRef(null),[o,n]=s.useState(!1),[i,l]=s.useState(!1),[c,u]=s.useState(0),[d,h]=s.useState(!1),[p,m]=s.useState(()=>Ca());s.useEffect(()=>{const C=()=>{const f=Date.now(),x=new Date(f+9*36e5),b=Date.UTC(x.getUTCFullYear(),x.getUTCMonth(),x.getUTCDate()+1)-9*36e5;return Math.max(1e3,b-f+1e3)};let g=setTimeout(function f(){m(Ca()),g=setTimeout(f,C())},C());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let C=!1,g=!1,f=!1,x,b=0,w=null,_=0;const A=40,y=()=>{x!==void 0&&(clearInterval(x),x=void 0)};let B=!1;try{const O=new URLSearchParams(window.location.search),T=O.get("forceRefresh")||O.get("force");B=T==="1"||T==="true"}catch{}const k=O=>{g||(f=!0,t.current=O.today,a.current=O.yesterday,n(!0),h(!0),u(T=>T+1),C=!0,y())},S=async()=>{if(C)return;if(!B){const T=Bu(!1,void 0,e);if(ku(T.today)){k(T);return}}if(w){++b>=A&&E();return}if(b>=_){_=b+8,w=cc(3e3).catch(()=>!1);try{await w}finally{w=null}if(C)return}const O=Bu(B,void 0,e);if(ku(O.today)){k(O);return}++b>=A&&E()};function E(){n(!0),h(!1),C=!0,y()}const D=()=>{if(g||f)return;const O=Bu(B,void 0,e);ku(O.today)&&k(O)};try{window.addEventListener("speechear.data.updated",D)}catch{}return S(),x=setInterval(S,250),()=>{C=!0,g=!0,y();try{window.removeEventListener("speechear.data.updated",D)}catch{}}},[e,p]);const v=s.useCallback(C=>{const g=i?a.current:t.current,f=i?t.current:a.current;return g?.[C]?.length?g[C]:f?.[C]?.length?f[C]:void 0},[i,c]);return{loaded:o,hasData:d,showYesterday:i,setShowYesterday:l,getTrainingPerType:v}}function Au(e,t=!0){const a=ln(e);s.useEffect(()=>{if(t)return zo(()=>{a.current?.()})},[t,a])}const Bi=(e,t)=>`${e}:${t??1}`,Ai=new Map,pg=new Set,hg=new Map,q7=6e4;function mg(e,t){const[a,o]=s.useState(0),n=Array.from(new Set(e.map(i=>Bi(i.word,i.homonum)))).sort().join("|");return s.useEffect(()=>{const i=n?n.split("|"):[],l=Date.now(),c=i.filter(h=>!Ai.has(h)&&!pg.has(h)&&!(l-(hg.get(h)??-1/0)<q7));if(c.length===0)return;let u=!1;const d=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(d).then(h=>{for(const p of h)p.Meaning&&Ai.set(Bi(p.Word,p.Homonum??void 0),p.Meaning);if(h.length>0)for(const p of c)Ai.has(p)||pg.add(p);else{const p=Date.now();for(const m of c)hg.set(m,p)}u||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{u=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const u=Ai.get(c);u!=null&&l.set(c,u)}return l},[n,a])}function Fo(){const[e,t]=s.useState(null),a=s.useCallback(i=>t(i.getBoundingClientRect()),[]),o=s.useCallback(()=>t(null),[]),n=s.useCallback(i=>{const l=i.getBoundingClientRect();t(c=>c?null:l)},[]);return{anchorRect:e,isOpen:e!=null,openAt:a,close:o,toggleAt:n}}function Su(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useRef(null);s.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const l=s.useCallback((u,d)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(u),n(d)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function bg(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:s.useMemo(()=>e.slice((i-1)*o,i*o),[e,i,o]),totalPages:n,curPage:i}}function Eu(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function gg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,u]=s.useState(1),d=Number(t)||25,h=Number(i)||d;return Eu([o,i,...a??[]].map(String).join("|"),u),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:u}}function Si(e="warning"){const[t,a]=s.useState(""),[o,n]=s.useState(e),[i,l]=s.useState(0),c=s.useCallback((p,m)=>{n(m),a(p),l(v=>v+1)},[]),u=s.useCallback(p=>c(p,"warning"),[c]),d=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:u,showNormal:d,clearToast:h}}const mn={blue:"#60A5FA",green:"#4ADE80",amber:"#FBBF24",purple:"#A78BFA",pink:"#F472B6"},bn=mn.blue,Ei=mn.green,gn=mn.amber,Di=mn.purple,Y7=mn.pink,K7=[{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:bn,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:bn,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:bn,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:bn,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:bn,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:Ei,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:Ei,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:Ei,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:Ei,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:gn,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:gn,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:gn,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:gn,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:gn,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:Di,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:Di,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:Di,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:Di,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:Y7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function fg(){const{t:e}=_e.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(Hm(e).map(o=>[o.key,o.label])),a={...t};return K7.flatMap(o=>o.types).forEach(o=>{a[o.key]=e(`trainingType.${o.key}.label`,{defaultValue:o.label})}),{sentence:t,all:a}},[e])}function fn(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 Ho({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),u=s.useRef(null),d=s.useRef(null),h=s.useCallback(()=>{u.current&&c(e(u.current.getBoundingClientRect(),u.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let v=d.current?.offsetHeight??0;v>0&&h();let C=0,g=null;typeof ResizeObserver<"u"&&d.current&&(g=new ResizeObserver(()=>{const B=d.current?.offsetHeight??0;if(B!==v){if(v=B,++C>4){g?.disconnect(),g=null;return}h()}}),g.observe(d.current));const f=B=>{const k=B.target;o&&k.closest?.(o)||u.current?.contains(k)||d.current?.contains(k)||i(!1)};document.addEventListener("mousedown",f),document.addEventListener("pointerdown",f);let x=null;const b=()=>{if(typeof requestAnimationFrame>"u"){h();return}x===null&&(x=requestAnimationFrame(()=>{x=null,h()}))},w=B=>{d.current?.contains(B.target)||(t==="reposition"?b():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",w,!0);const _=()=>{a==="reposition"?b():a==="close"&&i(!1)};let A=null;const y=()=>{_(),A&&clearTimeout(A),A=setTimeout(()=>{A=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",_),window.addEventListener("orientationchange",y)),()=>{x!==null&&cancelAnimationFrame(x),g?.disconnect(),document.removeEventListener("mousedown",f),document.removeEventListener("pointerdown",f),t!=="ignore"&&window.removeEventListener("scroll",w,!0),a!=="ignore"&&(window.removeEventListener("resize",_),window.removeEventListener("orientationchange",y)),A&&clearTimeout(A)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return zo(()=>i(!1))},[n]);const p=s.useCallback(()=>i(v=>!v),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:u,menuRef:d}}function Du(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,u]=s.useState([]),[d,h]=s.useState(0),[p,m]=s.useState("idle"),[v,C]=s.useState(null),[g,f]=s.useState([]),[x,b]=s.useState(null),[w,_]=s.useState(0),A=s.useRef(0),y=s.useCallback($=>{A.current=typeof $=="function"?$(A.current):$,_(A.current)},[]),B=s.useRef(o),k=s.useRef(n);s.useEffect(()=>{B.current=o,k.current=n},[o,n]);const S=s.useRef([]),E=()=>{S.current.forEach(clearTimeout),S.current=[]},D=($,q)=>{S.current.push(setTimeout(q,$))};s.useEffect(()=>()=>E(),[]);const O=c[d]?.id??null,T=s.useRef(null),W=s.useCallback(()=>{E(),m("playing"),f([]),b(null),y(0);let $=0;e.forEach((q,N)=>{D($,()=>{h(N),C(q.id),B.current?.(q)}),D($+1e3,()=>{C(null),f(z=>[...z,q.id])}),$+=1300}),D($,()=>{m("done"),k.current?.({score:0,total:e.length})})},[e,y]),j=s.useCallback(($,q)=>{if(q>=$.length){m("done"),k.current?.({score:A.current,total:$.length});return}T.current=null,h(q),b(null),m("playing"),C($[q].id),B.current?.($[q]),D(i,()=>{C(null),m("waiting")})},[i]),L=s.useCallback(()=>{E();const $=lt(e);u($),y(0),f([]),j($,0)},[e,j,y]),I=s.useCallback(()=>{t==="playback"?(u(e),W()):L()},[t,e,W,L]),Y=s.useCallback(()=>{E(),m("idle"),C(null),f([]),b(null),h(0),y(0),u([])},[y]),X=e.map($=>$.id).join("|");s.useEffect(()=>(a?I():Y(),()=>E()),[t,X,a]);const P=s.useCallback($=>{p!=="waiting"||t==="playback"||T.current===d||(T.current=d,b($),$===c[d]?.id&&y(q=>q+1),t==="exam"?(m("playing"),D(400,()=>j(c,d+1))):(m("feedback"),D(l,()=>j(c,d+1))))},[p,t,c,d,j,l,y]),V=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:v,playedIds:g,selectedId:x,answerId:O,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:P},index:d,total:V,score:w,phase:p,done:p==="done",start:I,reset:Y}}var Z7=Object.freeze({__proto__:null,CACHE_GROUPS:ou,CORE_VERSION:jn,DocumentTitleSuppressContext:tu,EMPTY_COMPOSITION:wi,MediaQueryOverrideContext:bi,NO_CODA:Na,SYLLABLE_MIN:Ta,VAP_PAGE_SIZE_OPTIONS:dn,buildGradeSection:du,buildPartOfSpeechSection:pu,buildPositionSection:Kb,buildSelectSection:Yb,buildSyllableSection:qb,buildWordTypeSection:hu,charToPronValue:vu,convertComposition:xu,fmtBytes:Mb,lsBytes:ru,meaningKey:Bi,normalizeWordAttributeFilter:Ub,pronToCharValue:Cu,syllableToFilter:yi,toWordAttributeFilterCodes:xi,today:fr,toggleAttributeFilter:Zb,useAnchoredMenu:Ho,useCacheManagement:$b,useDailyTrainingSelection:dg,useDelayedHoverAnchor:Su,useDeviceManagement:Wb,useDocumentTitle:au,useEscToClose:Au,useFontScale:fi,useHoverAnchor:Fo,useListControls:gg,useMediaQuery:sa,usePageResetOnChange:Eu,usePagedList:bg,usePasswordChange:Lb,useRelativeDay:jb,useSoundCompassExam:Du,useTablePaging:iu,useTableSort:su,useToastState:Si,useTrainingTypeLabels:fg,useVisitAllPanel:Fb,useVisitHistory:zb,useVisitSchedule:Ob,useWindowEvent:cn,useWordAttributeFilterKeys:uu,useWordDataStats:Rb,useWordMeanings:mg,useWordTrainingDataGeneration:cg,useWordTrainingFilter:lg,valueToJamos:Fa,wordAttributeFilterFromCodes:_i}),X7=".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}";ce(X7);function vg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:u,descriptionColor:d,className:h=""}){const p=n??i??"main",m=s.useRef(null),[v,C]=s.useState("main"),g=sa("(max-width: 767px)"),f=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const _=gi(w),A=(y,B,k)=>{if(k!==void 0)w.style.setProperty(B,k),f.current[y]=!0;else if(f.current[y]){const S=_?.[y];S?w.style.setProperty(B,S):w.style.removeProperty(B),f.current[y]=!1}};A("title","--promo-banner-bg-title",u),A("description","--promo-banner-bg-description",d)},[u,d,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const _=gi(w);C(_?.actionVariant??"main")},[p]);const x=De("promo-banner",`promo-banner--${l}`,h),b=Qc[p];return r.jsxs("div",{ref:m,className:x,role:"note",children:[r.jsx(b,{}),r.jsxs("div",{className:"promo-banner__text",children:[r.jsx("span",{className:`promo-banner__title ${l==="small"?"body-2":"h2"}`,children:e}),t&&r.jsx("span",{className:"promo-banner__description body-3",children:t})]}),a&&o&&r.jsx(ge,{htmlType:"button",size:40,variant:c??v,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var J7='.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)}';ce(J7);function Cg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=_e.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),u=c.length,[d,h]=s.useState(0),[p,m]=s.useState(!1),[v,C]=s.useState(!1),[g,f]=s.useState(!1),x=s.useRef(null),b=s.useRef(null),w=s.useRef(null),_=_c(),A=p||v||g,y=u>0?Math.min(d,u-1):0;s.useEffect(()=>{if(u<2||t<=0||A||_)return;const k=window.setInterval(()=>h(S=>(Math.min(S,u-1)+1)%u),t);return()=>window.clearInterval(k)},[u,t,A,_]);const B=k=>{b.current!=null&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,f(!1)},k)};return s.useEffect(()=>()=>{b.current!=null&&window.clearTimeout(b.current)},[]),s.useEffect(()=>{if(!g)return;const k=S=>{S.pointerType==="touch"&&(w.current&&w.current.contains(S.target)||(b.current!=null&&(window.clearTimeout(b.current),b.current=null),f(!1)))};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[g]),u===0?null:r.jsxs("section",{ref:w,className:De("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:k=>{x.current=k.pointerType},onPointerDown:k=>{x.current=k.pointerType,k.pointerType==="touch"&&(b.current!=null&&(window.clearTimeout(b.current),b.current=null),f(!0))},onPointerUp:k=>{k.pointerType==="touch"&&B(5e3)},onPointerCancel:k=>{k.pointerType==="touch"&&B(5e3)},onMouseEnter:()=>{x.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:k=>{let S=!0;try{S=k.target.matches(":focus-visible")}catch{S=!0}C(S)},onBlur:k=>{k.currentTarget.contains(k.relatedTarget)||C(!1)},children:[r.jsx("div",{className:"top-banner__viewport",children:r.jsx("div",{className:"top-banner__track",style:{transform:`translateX(-${y*100}%)`},children:c.map((k,S)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":S!==y,...S!==y?{inert:!0}:{},children:k},S))})}),u>1&&r.jsx("div",{className:`top-banner__dots${(a?.[y]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((k,S)=>r.jsx("button",{type:"button",className:`top-banner__dot${S===y?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:u,index:S+1,defaultValue:`${u}\uAC1C \uC911 ${S+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":S===y,onClick:()=>h(S)},S))})]})}var Q7=".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)}";ce(Q7);function ek({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:u}=_e.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:d=>{if(d.key==="Enter"||d.key===" ")d.preventDefault(),o?.();else if(d.key==="ArrowDown"||d.key==="ArrowUp"){d.preventDefault();const h=d.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(d.currentTarget);(d.key==="ArrowDown"?p[m+1]:p[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(ot,{icon:a?"chevron-up":"chevron-down",label:a?u("accordion.collapse","\uC811\uAE30"):u("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function xg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(u,d)=>i.id!=null&&u.id!=null?u.id===i.id:i.id==null&&d===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((u,d)=>r.jsx(ek,{title:u.title,body:u.body,avatar:u.avatar,open:c(u,d),onToggle:()=>l(c(u,d)?{index:-1}:{index:d,id:u.id}),bodyClassName:n},u.id??d))})}var tk=".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)}}";ce(tk);var ak=".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}";ce(ak);function ok(){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 rk(){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 nk(){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 Et(e){const{t}=_e.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:A,number:y,position:B="top-right",onClick:k,animate:S=!1}=e,E=A??"check",D=y!==void 0?"number":E,O=typeof o=="number"?o:32,T=De("circle-badge",`circle-badge--${D}`,`circle-badge--${B}`,`circle-badge--${O}`,S?"circle-badge--animate":"",k?"circle-badge--clickable":"",n),W=y!==void 0?t("badge.nthSelected",{n:y,defaultValue:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"}):{check:t("badge.selected","\uC120\uD0DD\uB428"),remove:t("badge.remove","\uC81C\uAC70"),minus:t("badge.exclude","\uC81C\uC678")}[E];return r.jsxs("span",{className:T,onClick:k,onKeyDown:k?j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),j.currentTarget.click())}:void 0,"aria-label":l?void 0:i??W,"aria-hidden":l||void 0,role:k?"button":l?void 0:"img",tabIndex:k?0:void 0,children:[y!==void 0&&y,y===void 0&&E==="check"&&r.jsx(ok,{}),y===void 0&&E==="remove"&&r.jsx(rk,{}),y===void 0&&E==="minus"&&r.jsx(nk,{})]})}const{label:c,children:u,variant:d="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:v,color:C}=e,g=typeof o=="number"?"medium":o??"medium",f={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",x={small:12,medium:14,large:16}[g]??14,b=De("badge",`badge--${d}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",f,n),w=C?.startsWith("--")?`var(${C})`:C,_=p!==void 0||w?{...p!==void 0?{minWidth:typeof p=="number"?`${p}px`:p}:{},...w?{"--badge-color":w}:{}}:void 0;return r.jsxs("span",{className:b,style:_,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(ot,{icon:m,size:x,className:"badge__icon"}),c??u,v&&r.jsx(ot,{icon:v,size:x,className:"badge__icon"})]})}var ik=".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}}";ce(ik);function Cr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=_e.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),u=s.useMemo(()=>{const f=[{title:null,columns:e}];let x=e;for(const b of l){const w=x?.[b.ci]?.items?.[b.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;x=[{title:null,items:w.children}],f.push({title:w.label||null,columns:x})}return f},[e,l]),d=u[u.length-1],h=u.length-1,p=s.useCallback(()=>c(f=>f.slice(0,Math.max(0,Math.min(f.length,h)-1))),[h]),m=s.useRef(null),v=s.useRef(null),C=u.length;s.useEffect(()=>{v.current||(v.current=document.activeElement);let f=0,x=0;const b=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}x++<20&&(f=requestAnimationFrame(b))};return f=requestAnimationFrame(b),()=>cancelAnimationFrame(f)},[C]),s.useEffect(()=>()=>{v.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((f,x,b)=>{if(f){if(Array.isArray(f.children)&&f.children.length){c(w=>[...w.slice(0,h),{ci:x,ii:b}]);return}try{typeof f.onClick=="function"&&f.onClick()}catch{}try{f&&f.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(u.length>1||d.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[u.length>1?r.jsx(ge,{htmlType:"button",size:i,type:"dot",icon:"chevron-left",ariaLabel:n("common.back","\uB4A4\uB85C"),onClick:p,variant:"transparent-gray",useBorder:!1}):null,r.jsx("div",{className:"tooltip-menu__title button-1",children:d.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:d.columns&&d.columns.map((f,x)=>r.jsxs("div",{className:"tooltip-menu__column",children:[f.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:f.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(f.items||[]).map((b,w)=>r.jsxs(s.Fragment,{children:[b.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(ge,{htmlType:"button",className:"tooltip-menu__item",size:i,type:b.label?"bar":"dot",icon:b.selected?"check":b.icon||"none",rightIcon:Array.isArray(b.children)&&b.children.length?"chevron-right":b.badgeCount?r.jsx(Et,{type:"dot",position:"inline",number:Math.min(b.badgeCount,99),size:24,"aria-hidden":!0}):void 0,label:b.label,ariaLabel:b.label&&b.badgeCount&&b.badgeCount>0?n("nav.badgeLabel",{label:b.label,count:b.badgeCount,defaultValue:"{{label}}, {{count}}\uAC1C"}):b.label,onClick:()=>g(b,x,w),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},x))})]})}const _g=".content-area";function Nu(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(_g);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&ra("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${_g}) \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 Tu=52,Ni=10,yg=e=>e&&e>0?e:0;function ju({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=_e.useTranslation(),u=o==="manager"?"malgwi":"manager",d=o==="manager"?"arrow-left":"arrow-right",h=o==="manager"?c("nav.modeLabelMalgwi","\uB9D0\uADC0"):c("nav.modeLabelManager","\uB9D0\uADC0 \uB9E4\uB2C8\uC800"),p=s.useRef(null),[m,v]=s.useState(0),C=e.length;s.useEffect(()=>{const $=p.current;if(!$)return;const q=()=>{const M=typeof getComputedStyle=="function"?getComputedStyle($):null,F=$.clientWidth-(parseFloat(M?.paddingLeft??"")||0)-(parseFloat(M?.paddingRight??"")||0),H=$.querySelector(".bottom-nav__left"),Z=H?.nextElementSibling,ee=(H?.offsetWidth??0)+(H&&Z?.classList.contains("bottom-nav__divider")?Z.offsetWidth:0);v(Math.max(0,F-ee))};if(q(),typeof ResizeObserver>"u")return;const N=new ResizeObserver(q);N.observe($);const z=$.querySelector(".bottom-nav__left");return z&&N.observe(z),()=>N.disconnect()},[n]);const g=Tu+1,f=$=>Math.max(0,Math.floor(($+Ni)/(Tu+Ni))),x=C*(Tu+Ni)-Ni<=m,b=m<=0||i.length===0&&x?C:Math.min(C,f(m-g)),w=m>0&&b<C,_=w?b:C,A=e.slice(0,_),y=e.slice(_),B=w||i.length>0,k=s.useCallback(($,q)=>({position:"fixed",bottom:window.innerHeight-$.top+8,right:window.innerWidth-$.right,zIndex:fn(q)}),[]),S=s.useId(),{open:E,toggle:D,close:O,style:T,triggerRef:W,menuRef:j}=Ho({computeStyle:k,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback(($,q)=>q>0?c("nav.badgeLabel",{label:$,count:q,defaultValue:"{{label}}, {{count}}\uAC1C"}):$,[c]),I=s.useCallback(($,q)=>q>0?c("nav.badgeInsideLabel",{label:$,count:q,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):$,[c]),Y=s.useCallback(()=>n?.(u),[n,u]),X=s.useMemo(()=>y.find($=>!!$.key&&$.key===t)??i.find($=>$.selected||$.key&&$.key===t),[y,t,i]),P=s.useMemo(()=>[{items:[...y.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:!!$.key&&$.key===t,closeOnSelect:!0,disabled:$.state==="disabled",onClick:()=>{$.state!=="disabled"&&($.key&&a&&(a($.key),Nu(l,"BottomNav")),O())}})),...i.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===t),closeOnSelect:!0,onClick:()=>{$.onClick?.(),O()}}))]}],[y,i,t,a,O]),V=[...y,...i].reduce(($,q)=>$+yg(q.badgeCount),0);return r.jsxs("nav",{className:"bottom-nav",ref:p,"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(ge,{htmlType:"button",size:52,type:"dot",icon:d,ariaLabel:h,className:"bottom-nav-item",onClick:Y})}),r.jsx("div",{className:"bottom-nav__divider","aria-hidden":"true"})]}),r.jsx("div",{className:"bottom-nav__items",children:A.map(($,q)=>{const N=yg($.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(ge,{htmlType:"button",size:52,type:"dot",icon:$.icon,ariaLabel:L($.label,N),selected:!!$.key&&$.key===t,disabled:$.state==="disabled",className:"bottom-nav-item",onClick:()=>{$.key&&(a?.($.key),Nu(l,"BottomNav"))}}),N>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(N,99),size:24})})]},$.key??`__slot-${q}`)})}),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(ge,{htmlType:"button",size:52,type:"dot",icon:X?.icon??"ellipsis",ariaLabel:I(X?.label??c("nav.more","\uB354\uBCF4\uAE30"),V),selected:!!X,className:"bottom-nav-item",onClick:D,"aria-expanded":E,"aria-controls":E?S:void 0}),V>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(V,99),size:24})}),E&&pa.createPortal(r.jsx("div",{id:S,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:T,ref:j,children:r.jsx(Cr,{columns:P,onClose:O})}),document.body)]})})]})]})}var sk='.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;margin-bottom:var(--spacing-s);margin-top:4px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-left:calc(var(--spacing-s) - 1px);padding-right:calc(var(--spacing-s) - 1px);scrollbar-width:none}.ihabdevteam-core-scope .side-nav__menu::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .side-nav__scroll{height:0;margin-left:calc((var(--spacing-s) - 1px)*-1);margin-right:calc((var(--spacing-s) - 1px)*-1);overflow:visible;pointer-events:none;position:sticky;top:0;z-index:1}.ihabdevteam-core-scope .side-nav__scroll-thumb{background:var(--color-darkWhite);border-radius:3px;pointer-events:auto;position:absolute;right:calc(var(--spacing-s)/2 - 4.5px);touch-action:none;transition:background-color .16s ease,opacity .18s ease;width:6px}.ihabdevteam-core-scope .side-nav__scroll-thumb:before{content:"";inset:0 -4px;position:absolute}.ihabdevteam-core-scope .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .side-nav__scroll-thumb:hover{background:var(--color-lightGray)}.ihabdevteam-core-scope .side-nav__menu-list{display:flex;flex:1 0 auto;flex-direction:column;gap:4px;overflow:visible;padding:0 0 4px}.ihabdevteam-core-scope .side-nav__notification-wrap{display:inline-flex;position:relative;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .side-nav__footer{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-s);margin-top:var(--spacing-s);padding: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}';ce(sk);function wg(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 kg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function lk(e){const{t}=_e.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:u,onAccount:d}=e||{},h="default";return n||i||l||c||u||d?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,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(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:kg(t,t("nav.notifications","\uC54C\uB9BC"),o),onClick:i,selected:a==="notifications"}),!!o&&o>0&&r.jsx(Et,{type:"dot",number:Math.min(o,99),size:24,"aria-hidden":!0})]}),l&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"settings",ariaLabel:t("nav.settings","\uC124\uC815"),onClick:l,selected:a==="settings"}),c&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"message-circle-question-mark",ariaLabel:t("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:c,selected:a==="help"}),u&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:u,selected:a==="feedback"}),d&&r.jsx(ge,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:d,selected:a==="account"})]}):null}function Bg(e){const{t}=_e.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:u,state:d,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",v=a?.icon??i??"",C=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(ot,{icon:v,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),f=d==="disabled",x=`side-nav__item ${l?"active":""} ${d||""} ${f?"disabled":""} ${a?.child?"side-nav__item--child":""}`,b=s.useCallback(w=>{if(f)return;const _=w.detail>0;if(_)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,_)},[f,p,c]);return r.jsxs("button",{type:"button",className:x,onClick:b,"aria-label":typeof m=="string"?kg(t,m,C):void 0,"aria-current":l?"page":void 0,style:u,"aria-disabled":f,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),C>0&&r.jsx(Et,{type:"dot",position:"inline",number:Math.min(C,99),size:24,"aria-hidden":!0}),d==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Lu(e){const{t}=_e.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:C}=e||{},g=m==="manager",f=s.useCallback(()=>v?.(g?"malgwi":"manager"),[v,g]),x=s.useRef(null),[b,w]=s.useState(null);s.useEffect(()=>{const k=x.current;if(!k)return;let S=null;const E=()=>{const{scrollHeight:T,clientHeight:W,scrollTop:j}=k;if(T<=W+1){w(P=>P===null?P:null);return}const L=Math.max(24,W/T*W),I=W-L,Y=T-W,X={top:Math.round(j/Y*I),height:Math.round(L)};w(P=>P&&P.top===X.top&&P.height===X.height?P:X)},D=()=>{if(typeof requestAnimationFrame>"u"){E();return}S===null&&(S=requestAnimationFrame(()=>{S=null,E()}))};E(),k.addEventListener("scroll",D,{passive:!0});const O=typeof ResizeObserver<"u"?new ResizeObserver(D):null;O?.observe(k);for(const T of Array.from(k.children))O?.observe(T);return()=>{S!==null&&cancelAnimationFrame(S),k.removeEventListener("scroll",D),O?.disconnect()}},[a]);const _=s.useRef(null),A=s.useCallback(k=>{const S=x.current;S&&(k.preventDefault(),_.current={y:k.clientY,top:S.scrollTop},k.currentTarget.setPointerCapture(k.pointerId))},[]),y=s.useCallback(k=>{const S=x.current,E=_.current;!S||!E||(S.scrollTop=E.top+(k.clientY-E.y)*(S.scrollHeight/S.clientHeight))},[]),B=s.useCallback(k=>{_.current=null,k.currentTarget.hasPointerCapture(k.pointerId)&&k.currentTarget.releasePointerCapture(k.pointerId)},[]);return r.jsxs("nav",{ref:x,"aria-label":t("nav.mainMenu","\uBA54\uC778 \uBA54\uB274"),className:"side-nav__menu",children:[b&&r.jsx("div",{className:"side-nav__scroll","aria-hidden":"true",children:r.jsx("div",{className:"side-nav__scroll-thumb",style:{top:b.top,height:b.height},onPointerDown:A,onPointerMove:y,onPointerUp:B,onPointerCancel:B})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(k=>!k.section&&(k.key||k.label)).map((k,S)=>r.jsxs(s.Fragment,{children:[k.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(Bg,{item:k,active:!!k.key&&k.key===o,state:k.disabled?"disabled":void 0,onClick:(E,D,O)=>{if(k.disabled)return;if(k.href){if(wg(k.href)&&window.open(k.href,"_blank","noopener,noreferrer"),O)try{D?.blur()}catch{}return}if(n?.(k.key),Nu(C,"SideNav"),!O)return;try{D?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const T=document.querySelector(".header");if(T){const W=typeof T.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&W&&T.matches(":hover"))){T.classList.add("header--force-collapsed");const j=()=>{T.classList.remove("header--force-collapsed"),T.removeEventListener("mouseenter",j)};T.addEventListener("mouseenter",j)}}}})]},k.key??`side-nav__item-${S}`)),v&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),v&&r.jsx(Bg,{item:{key:"__mode-switch__",label:g?t("nav.goToMalgwi","\uB9D0\uADC0\uB85C \uC774\uB3D9"):t("nav.goToManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800\uB85C \uC774\uB3D9"),icon:g?"arrow-left":"arrow-right"},onClick:f})]}),r.jsx(lk,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p})]})}var Ti='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',Mu='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',ck='data:image/svg+xml,<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<g clip-path="url(%23clip0_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',uk='.ihabdevteam-core-scope .header{background:var(--color-deepWhite);border-left:1px solid var(--color-whiteLine);border-right:1px solid var(--color-whiteLine);bottom:0;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__scroll-thumb{background:hsla(0,0%,100%,.4)}.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:active,.ihabdevteam-core-scope .header--manager .side-nav__scroll-thumb:hover{background:hsla(0,0%,100%,.75)}.ihabdevteam-core-scope .header--manager .side-nav__icon,.ihabdevteam-core-scope .header--manager .side-nav__item,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled,.ihabdevteam-core-scope .header--manager .side-nav__item.disabled .side-nav__icon{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{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.header--force-collapsed,.ihabdevteam-core-scope .header.header--force-collapsed:focus-within,.ihabdevteam-core-scope .header.header--force-collapsed:hover{width:72px}.ihabdevteam-core-scope .header__branding{height:80px}.ihabdevteam-core-scope .header .side-nav__menu{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{transition:padding .18s ease,gap .18s ease,width .18s ease}.ihabdevteam-core-scope .header .side-nav__label{display:inline-block;overflow:hidden;transition:max-width .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.ihabdevteam-core-scope .header--force-collapsed .side-nav__menu,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__menu{padding:0 var(--spacing-xs)}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item{border-radius:var(--radius-card);gap:0;margin:0 auto;padding:0 14px;position:relative;width:52px}.ihabdevteam-core-scope .header--force-collapsed .side-nav__item>.circle-badge,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__item>.circle-badge{border:1px solid var(--color-pureWhite);position:absolute;right:0;top:0}.ihabdevteam-core-scope .header--force-collapsed .side-nav__footer,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__footer{align-items:center}.ihabdevteam-core-scope .header--force-collapsed .side-nav__separator--short,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__separator--short{margin-left:auto;margin-right:auto}.ihabdevteam-core-scope .header--force-collapsed .side-nav__label,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .side-nav__label{max-width:0;opacity:0;pointer-events:none;transform:translateX(-6px)}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--symbol,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--symbol{display:block}.ihabdevteam-core-scope .header--force-collapsed .brand-identity__image--logo,.ihabdevteam-core-scope .header:not(:hover):not(:focus-within) .brand-identity__image--logo{display:none}}@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}.ihabdevteam-core-scope .brand-identity__image--symbol{display:none}@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}}';ce(uk);function $u({appMode:e}){const{t}=_e.useTranslation(),a=e==="manager",o=a?Mu:Ti,n=ck;return r.jsxs("div",{className:"brand-identity__root","aria-label":t("header.biArea","BI \uC601\uC5ED"),children:[r.jsx("img",{src:n,alt:t("header.biSymbol","BI \uC2EC\uBCFC"),className:"brand-identity__image brand-identity__image--symbol"}),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 brand-identity__image--logo"})]})}function Ru({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v,scrollContainer:C}){const{t:g}=_e.useTranslation(),f=sa("(max-width: 767px)"),x=s.useMemo(()=>(a??[]).filter(T=>!T.section&&(T.key||T.label)).map(T=>({key:T.key,label:typeof T.label=="string"?T.label:void 0,icon:T.icon,state:T.disabled?"disabled":void 0,badgeCount:T.badge})),[a]),b=s.useCallback(T=>{const W=a?.find(j=>j.key===T);if(!W?.disabled){if(W?.href){wg(W.href)&&window.open(W.href,"_blank","noopener,noreferrer");return}t?.(T)}},[a,t]),w=s.useMemo(()=>{const T=[];return l&&T.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&T.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),d&&T.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:d}),h&&T.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&T.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),u&&T.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:u}),T},[g,l,c,d,h,p,u,i]),_=s.useCallback((T,W)=>({position:"fixed",top:T.bottom+8,right:Math.max(8,window.innerWidth-T.right),zIndex:fn(W)}),[]),A=s.useId(),{open:y,toggle:B,close:k,style:S,triggerRef:E,menuRef:D}=Ho({computeStyle:_,onScroll:"ignore",onResize:"reposition"}),O=s.useMemo(()=>[{items:w.map(T=>({label:T.label,icon:T.icon,badgeCount:T.badgeCount,selected:T.selected??(!!T.key&&T.key===e),closeOnSelect:!0,onClick:()=>{T.onClick?.(),k()}}))}],[w,e,k]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx($u,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:E,children:[r.jsx(ge,{htmlType:"button",size:48,type:"dot",shape:"pill",variant:"default",useBorder:!1,icon:"menu",ariaLabel:c&&i&&i>0?g("nav.badgeInsideLabel",{label:g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),count:i,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):g("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),onClick:B,"aria-expanded":y,"aria-controls":y?A:void 0}),!!c&&!!i&&i>0&&r.jsx(Et,{type:"dot",number:Math.min(i,99),size:24,"aria-hidden":!0}),y&&pa.createPortal(r.jsx("div",{id:A,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:S,ref:D,children:r.jsx(Cr,{columns:O,onClose:k})}),document.body)]})]}),r.jsx(Lu,{scrollContainer:C,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:u,onSetting:d,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:v}),f&&r.jsx(ju,{items:x,activeKey:e??void 0,onChange:b,scrollContainer:C,appMode:m,onAppModeChange:v})]})}const Ag=Ru;var dk='.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%}}';ce(dk);const pk=()=>yt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function Sg(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 dr(`${t.toLocaleString("ko-KR")}\uC6D0`)}return dr(typeof e=="number"?`${e.toLocaleString("ko-KR")}\uC6D0`:e)}}function hk(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function mk(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||pk()}function bk(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 Pu(e){return{type:e.type??hk(e),plan:mk(e),label:e.label,price:Sg(e.price),originalPrice:Sg(e.originalPrice),discountLabel:e.discountLabel}}var gk='.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}';ce(gk);var fk='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',vk='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>',Ck='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',xk='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',_k='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>',yk='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',wk=".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)}";ce(wk);var kk=".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)}";ce(kk);var Eg='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 _o={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},zu=new WeakMap;function Bk(e){if(e)return zu.get(e)}function Ha(e,t){e&&(e.style.setProperty(_o.text,t.text),e.style.setProperty(_o.sub,t.sub),t.copyrightColor&&e.style.setProperty(_o.copyright,t.copyrightColor),zu.set(e,t))}function Va(e){e&&(e.style.removeProperty(_o.text),e.style.removeProperty(_o.sub),e.style.removeProperty(_o.copyright),zu.delete(e))}const Iu={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ou(e={}){const t=Dt(Iu,Ha,Va);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("${Eg}")`}})]})}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 Ak=".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%}";ce(Ak);var vn='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 Sk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},Ek=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ng(e={}){const t=Dt(Sk,Ha,Va),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:Ek.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:l,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("${vn}")`}})]})}var Dk=".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%}";ce(Dk);const Nk={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Tk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function jk(e={}){const t=Dt(Nk,Ha,Va),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:Tk.map(({scale:i,opacity:l},c)=>r.jsx("g",{transform:`translate(${o} ${n}) scale(${i}) translate(-50 -50)`,opacity:l,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("${Eg}")`}})]})}var Lk=".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)}";ce(Lk);const Mk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function $k(e={}){const t=Dt(Mk,Ha,Va);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("${vn}")`}})]})}const Rk={Logo_speechear_kr:{"":Ti,_white:fk,_textWhite:vk,_black:Ck},Logo_speechearManager_kr:{"":Mu,_white:xk,_textWhite:_k,_black:yk}};function Pk(e,t){if(e)return Rk[e]?.[t??""]??void 0}const zk={speechear:Ti,manager:Mu},Ik={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Tg=10;function Ok(e){return e<=0?0:e>=86400?Math.floor(e/86400)*86400:e>=3600?Math.floor(e/3600)*3600:e>=60?Math.floor(e/60)*60:Math.floor(e)}function jg(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 Fk(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===yt.t("passCard.specialLabel");return o?r.jsx($k,{}):n?r.jsx(jk,{}):r.jsx(Ng,{})}return r.jsx(Ou,{})}function Fu({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:u="active",bg:d,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:v,logoSrc:C,label:g,price:f,originalPrice:x,discountLabel:b,onUse:w,onRefund:_,onDelete:A}){const{t:y}=_e.useTranslation(),B=t?Pu(t):void 0,k=n??B?.type??"speechear",S=o??B?.plan??y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),E=g??B?.label,D=f??(a?B?.price:void 0),O=x??(a?B?.originalPrice:void 0),T=b??B?.discountLabel,W=s.useMemo(()=>{if(D)return null;const U=t?.durationDays??bk(t?.code);if(!U||U<=0)return l!=null?{percent:null,remainingLabel:jg(l,y)}:null;const re=U*86400;let fe;if(l!=null)fe=l;else if((u==="active"||u==="expired")&&i){const ne=new Date(i).getTime();if(Number.isNaN(ne))return null;const he=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),be=/^(\d{4})-(\d{2})-(\d{2})/.exec(Ca()),G=Math.round(he&&be?(Date.UTC(+he[1],+he[2]-1,+he[3])-Date.UTC(+be[1],+be[2]-1,+be[3]))/864e5:(ne-Date.now())/864e5);fe=Math.max(0,c?G+1:G)*86400}else u==="expired"?fe=0:fe=re;const je=Ok(fe),Ce=Math.max(0,Math.min(100,Math.floor(Math.min(je,re)/re*100)));return u==="pending"&&Ce>=100?null:{percent:Ce,remainingLabel:u==="expired"?y("passCard.expired","\uB9CC\uB8CC\uB428"):jg(fe,y)}},[D,u,i,l,c,t?.durationDays,t?.code,y]),j=s.useRef(null),[L,I]=s.useState({}),[Y,X]=s.useState(null),P=!!(w||_||A),V=s.useRef(!1),$=s.useRef(void 0),[q,N]=s.useState(C);s.useLayoutEffect(()=>{N(C)},[C]),s.useLayoutEffect(()=>{const U=j.current;U&&(p!==void 0&&U.style.setProperty("--pass-card-text",p),m!==void 0&&U.style.setProperty("--pass-card-sub",m),v!==void 0&&U.style.setProperty("--pass-card-copyright",v))},[p,m,v]),s.useLayoutEffect(()=>{const U=j.current;if(!U)return;const re=Bk(U);if(!C){const fe=Ik[k],je=u==="expired"?"_black":re?.logoColor??"",Ce=Pk(fe,je);N(Ce)}},[d,C,k,u]);const z=U=>{const re=j.current;if(!re)return null;const{left:fe,top:je,width:Ce,height:ne}=re.getBoundingClientRect(),he=(U.clientX-fe)/Ce-.5;return{rotateX:-((U.clientY-je)/ne-.5)*Tg,rotateY:he*Tg}},M=(U,re)=>{const fe=re*-.7,je=U*.7+10,Ce=20+(Math.abs(U)+Math.abs(re))*.4;return`${fe}px ${je}px ${Ce}px rgba(0, 0, 0, 0.18)`},F=s.useCallback(U=>{if(br())return;V.current=!0,clearTimeout($.current),$.current=setTimeout(()=>{V.current=!1},200);const re=z(U);re&&I({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(re.rotateX,re.rotateY),transition:"transform 0.25s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),H=s.useCallback(U=>{if(br())return;const re=z(U);if(!re)return;const fe=V.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${re.rotateX}deg) rotateY(${re.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:M(re.rotateX,re.rotateY),transition:fe})},[]),Z=s.useCallback(()=>{clearTimeout($.current),V.current=!1,I({transform:"perspective(800px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)",boxShadow:"0px 4px 16px rgba(0, 0, 0, 0.08)",transition:"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1)"})},[]),ee=s.useCallback(()=>X(null),[]),se=s.useMemo(()=>{const U=y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),re=S.replace("\uC774\uC6A9\uAD8C","").replace(U==="\uC774\uC6A9\uAD8C"?"":U,"").trim(),fe=re.match(/^(.*?)(일|년)$/);return fe?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:fe[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:fe[2]==="\uB144"?y("passCard.unitYear","\uB144"):y("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:re})},[S,y]),le=s.useMemo(()=>{const U=dr(D);if(!U)return null;const re=U.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!re)return r.jsx("span",{className:"h1",children:U});const[,fe,je,Ce]=re;return r.jsxs(r.Fragment,{children:[fe&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:fe}),r.jsx("span",{className:"h1 pass-card__price-amount",children:je}),Ce.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Ce.trim()})]})},[D]),K=s.useCallback(()=>{P&&X(U=>{if(U)return null;const re=j.current?.getBoundingClientRect();if(!re)return null;const fe=50;return{left:re.left,right:re.right,width:re.width,height:re.height,x:re.x,y:re.y+fe,top:re.top+fe,bottom:re.bottom+fe}})},[P]),ue=s.useCallback(U=>{P&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),K())},[P,K]),Ne=[{items:[...w?[{label:y("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),X(null)},closeOnSelect:!0}]:[],..._?[{label:y("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{_(),X(null)},closeOnSelect:!0}]:[],...A?[{label:y("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{A(),X(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:j,className:`pass-card pass-card--${u}${P?" pass-card--clickable":""}`,style:L,onMouseEnter:F,onMouseMove:H,onMouseLeave:Z,onPointerUp:U=>{U.pointerType==="touch"&&Z()},onPointerCancel:U=>{U.pointerType==="touch"&&Z()},onClick:K,onKeyDown:P?ue:void 0,role:P?"button":void 0,tabIndex:P?0:void 0,"aria-label":e,"aria-haspopup":P?"menu":void 0,"aria-expanded":P?!!Y:void 0,children:[d??Fk(k,S,E),!h&&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:q??zk[k],className:"pass-card__logo",alt:k==="manager"?y("header.logoManager","\uB9D0\uADC0\uB9E4\uB2C8\uC800 \uB85C\uACE0"):y("header.logoMalgwi","\uB9D0\uADC0 \uB85C\uACE0")}),r.jsxs("div",{className:"pass-card__plan",children:[r.jsx("div",{children:se}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:E?y("passCard.labeledPlan",{label:E}):y("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),D?r.jsxs("div",{className:"pass-card__price-area",children:[T&&r.jsx("span",{className:"pass-card__discount body-3",children:T}),r.jsxs("div",{className:"pass-card__price",children:[O&&r.jsx("span",{className:"pass-card__price-original body-3",children:dr(O)}),le]})]}):W?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:W.remainingLabel}),W.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:W.percent}),r.jsx("span",{className:"h5b pass-card__usage-symbol",children:"%"})]})]}):r.jsx("div",{className:"pass-card__copyright caption-2","aria-hidden":"true",children:"\xA9 IHAB Corp. All rights reserved."})]})]})}),Y&&r.jsx(xa,{anchorRect:Y,onClose:ee,ariaLabel:y("tooltip.menu","\uBA54\uB274"),children:r.jsx(Cr,{columns:Ne,onClose:ee,size:"small"})})]})}var Hk=".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%}";ce(Hk);const Vk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Wk(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=Dt(Vk,Ha,Va);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("${vn}")`}})]})}var Gk=".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}";ce(Gk);const Uk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function qk(e={}){const t=Dt(Uk,Ha,Va);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("${vn}")`}})]})}function Yk(e,t){if(e){if(t==="manager_pro")return r.jsx(qk,{});if(t==="manager_standard")return r.jsx(Wk,{});if(t==="manager_lite")return r.jsx(Ng,{})}}function Kk(e){const t=dr(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 Lg(e){const{t}=_e.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:l="monthly",ownedCodes:c}=e||{},u=_=>!!_&&!!c?.includes(_),d=_=>_.onceOnly??/오픈\s*특가/.test(_.label??""),h=(n.tiers||[]).some(_=>d(_)&&u(_.code)),p=_=>{const A=_.prices?_.prices[l]:_.price;return A?(n.tiers||[]).some(y=>!!y.badge&&y.originals?.[l]===A):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",v=t("payment.plan.freePrice","\uBB34\uB8CC"),C=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=_=>_.prices?_.prices[l]:_.price,f=(n.tiers||[]).length>0&&(n.tiers||[]).every(_=>{const A=g(_);return A==="\uBB34\uB8CC"||A===v||A==="0\uC6D0"||typeof A=="string"&&/\d/.test(A)&&!/[1-9]/.test(A)}),x=(n.tiers||[]).length>0&&(n.tiers||[]).every(_=>{const A=g(_);return A==="\uBB38\uC758"||A===C}),b=n.group==="org",w=b?"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(Et,{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((_,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(ot,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),_]},A))})]}),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((_,A)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(ot,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),_]},A))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:f?null:x?r.jsx(ge,{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(_=>{const A=_.label||a,y=d(_),B=y||_.openPromo===!0,k=A.replace(/^오픈\s*특가\s*/,"")||a,S=_.prices?_.prices[l]:_.price,E=_.badge?B?`${o}
|
|
852
852
|
${_.badge}`:_.badge:void 0;if(y&&u(_.code))return null;if(!_.badge&&!h)return p(_)?null:r.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${_.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:_.label})}),r.jsx("div",{className:"payment-plan__pricing-row-price",children:r.jsx("span",{className:"payment-plan__pricing-current h1",children:Kk(S)})})]},_.id);const D=n.tier??(b?n.title:void 0),O=r.jsx(Fu,{showPrice:!0,product:{type:w,code:_.code,name:k,label:D,price:S,originalPrice:_.originals?.[l]??void 0,discountLabel:E},bg:Yk(b,n.id)}),T=()=>i?.({..._,productId:n.id,productTitle:n.title,preview:O});return r.jsx("div",{className:"payment-plan__pricing-card",onClick:T,onKeyDown:i?W=>{W.target===W.currentTarget&&(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),T())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:O},_.id)})})})})]})}function Mg({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 Zk=".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}";ce(Zk);var Hu='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 Vu={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function $g(){const e=Dt(Vu,Ha,Va);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("${Hu}")`}})})}var Xk=".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)}";ce(Xk);const Wu={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function Rg(e={}){const t=Dt(Wu,Ha,Va);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("${vn}")`}})]})}var Jk=".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}";ce(Jk);function Gu({keys:e,anchor:t="top-right",scale:a,className:o=""}){const n=Array.isArray(e)?e:[e];return r.jsx("span",{className:De("shortcut-badge",`shortcut-badge--${t}`,o),style:a===void 0?void 0:{"--shortcut-badge-scale":String(a)},children:n.map((i,l)=>r.jsxs("span",{className:"shortcut-badge__group",children:[l>0&&r.jsx("span",{className:"shortcut-badge__plus",children:"+"}),r.jsx("kbd",{className:"shortcut-badge__key",children:i})]},`${i}-${l}`))})}var Qk=".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}";ce(Qk);const Cn=(e,t,a)=>e+(t-e)*a;function Pg({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:o=null,playedIds:n,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:u=!1,pulseSelectedDuration:d,pulseScale:h,clickable:p=!1,onSelectSpeaker:m,buttonSize:v=40,showIcon:C=!0,onCenterClick:g,centerLabel:f,centerDisabled:x=!1,centerAttention:b=!1,shortcutAnchor:w="top-right",shortcutScale:_,scaleShortcut:A=!1}){const{t:y}=_e.useTranslation(),B=Math.max(0,Math.min(1,a)),k=t/2,S=110/300,E=.18,D=U=>t*(S+(U-1)*E),O=U=>{const re=D(U.row??1),fe=U.angleDeg*Math.PI/180;return{x:k+re*Math.cos(fe),y:k+re*Math.sin(fe)}},T=Math.max(...e.map(U=>U.row??1),1),W=t*.08,j=t*.1,L=t*.24,I=t-2*W,Y=t-j-L,X=t-L/2,P=s.useMemo(()=>[...new Set(e.map(U=>U.deg))].sort((U,re)=>U-re),[e]),V=P.length,$=Math.max(68,V>1?I/(V-1):0),q=s.useMemo(()=>new Map(P.map((U,re)=>[U,re])),[P]),N=U=>{const re=q.get(U.deg)??0,fe=k+(re-(V-1)/2)*$,je=T>1?Math.min(68,Y/(T-1)):0,Ce=je*(T-1),ne=j+(Y-Ce)/2,he=T===1?j+Y*.4:ne+(T-(U.row??1))*je;return{x:fe,y:he}},z=U=>{const re=O(U),fe=N(U);return{x:Cn(re.x,fe.x,B),y:Cn(re.y,fe.y,B)}},M={x:k,y:Cn(k,X,B)},F=Math.round(v*1.2),H=Math.round(Math.max(16,Math.min(80,v*.7))),Z=[],ee=new Map;for(const U of e){const re=U.row??1;ee.has(re)||ee.set(re,[]),ee.get(re).push(U)}for(const[U,re]of ee.entries()){if(re.length<2)continue;const fe=[...re].sort((Oe,ut)=>Oe.deg-ut.deg),je=fe.map(Oe=>z(Oe)),Ce=fe.map(Oe=>Oe.deg),ne=Ce[Ce.length-1]-Ce[0],he=ne/(Ce.length-1),be=360-ne,G=fe.length>=3&&he>0&&be<=he*1.5,oe=Math.round(D(U)*1e3)/1e3,xe=(Oe,ut,ct,at)=>{const pt=(ut.angleDeg-Oe.angleDeg+540)%360-180;if(pt===0)return`L ${at.x} ${at.y}`;if(B===0)return`A ${oe} ${oe} 0 0 ${pt>0?1:0} ${at.x} ${at.y}`;const Ee=(Oe.angleDeg+pt/2)*Math.PI/180,Ve={x:k+oe*Math.cos(Ee),y:k+oe*Math.sin(Ee)},Ae={x:(ct.x+at.x)/2,y:(ct.y+at.y)/2},Ke={x:Cn(Ve.x,Ae.x,B),y:Cn(Ve.y,Ae.y,B)},Q={x:2*Ke.x-Ae.x,y:2*Ke.y-Ae.y};return`Q ${Q.x} ${Q.y} ${at.x} ${at.y}`},ke=G?[...fe,fe[0]]:fe,Me=G?[...je,je[0]]:je;let Ie=`M ${Me[0].x} ${Me[0].y}`;for(let Oe=1;Oe<Me.length;Oe++)Ie+=" "+xe(ke[Oe-1],ke[Oe],Me[Oe-1],Me[Oe]);Z.push({key:`arc-${U}`,d:Ie})}const se=s.useMemo(()=>new Set(n??[]),[n]),le=U=>({idle:"",active:y("soundCompass.state.active","\uC18C\uB9AC \uB098\uB294 \uC911"),played:y("soundCompass.state.played","\uB4E4\uC74C"),correct:y("soundCompass.state.correct","\uC815\uB2F5"),wrong:y("soundCompass.state.wrong","\uC624\uB2F5")})[U],K=U=>{if(o===U.id)return"active";if(c){if(U.id===l)return"correct";if(U.id===i&&i!==l)return"wrong"}return se.has(U.id)?"played":"idle"},ue=U=>o===U.id?"loop":c?U.id===l?"loop":null:u&&U.id===i?"once":null,Ne=(U,re)=>{switch(U){case"played":case"correct":return r.jsx(bp,{size:re});case"wrong":return r.jsx(Bp,{size:re});default:return r.jsx(kp,{size:re})}};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(U=>{const{x:re,y:fe}=z(U);return r.jsx("line",{x1:M.x,y1:M.y,x2:re,y2:fe,stroke:"#dde3ec",strokeWidth:"1"},U.id)}),Z.map(U=>r.jsx("path",{d:U.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},U.key))]}),b&&!x&&r.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:F,height:F,left:M.x-F/2,top:M.y-F/2}}),g?r.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${x?" sound-compass__center--disabled":""}`,style:{width:F,height:F,left:M.x,top:M.y},"aria-label":f,"aria-disabled":x||void 0,tabIndex:x?-1:0,onClick:x?void 0:g,children:r.jsx(gs,{size:H,color:"currentColor",strokeWidth:1.5})}):r.jsx("div",{className:"sound-compass__center",style:{width:F,height:F,left:M.x,top:M.y},children:r.jsx(gs,{size:H,color:"currentColor",strokeWidth:1.5})}),e.map((U,re)=>{const{x:fe,y:je}=z(U),Ce=K(U),ne=ue(U),he={..._!==void 0||A?{"--shortcut-badge-scale":String(_??Math.max(.75,Math.min(3,v/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:Ce!=="idle"?10:1},be=v,G=Math.round(Math.max(10,Math.min(56,be*.38))),oe=Math.round(Math.max(7,Math.min(18,be*.2))),xe=Math.round(Math.max(10,Math.min(56,be*.4))),ke=C==="answered"&&(Ce==="played"||Ce==="correct"||Ce==="wrong"),Me=C===!0||ke,Ie=!ke;return r.jsxs("div",{className:"sound-compass__speaker-pos",style:{...he,left:fe-be/2,top:je-be/2},children:[ne&&r.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${Ce}`+(ne==="once"?" sound-compass__pulse--once":""),style:{width:be,height:be,...ne==="once"&&d!==void 0?{"--sc-pulse-duration-once":`${d}ms`}:null,...h!==void 0?{"--sc-pulse-scale":String(h)}:null}}),r.jsxs("button",{type:"button",tabIndex:p?0:-1,"aria-disabled":p?void 0:!0,onClick:p?()=>m?.(U.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${Ce}`,style:{width:be,height:be},"aria-label":le(Ce)?`${U.label}, ${le(Ce)}`:U.label,"aria-pressed":i!=null?U.id===i:void 0,children:[Me&&Ne(Ce,G),Ie&&r.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:C===!0?oe:xe},children:re+1})]}),U.shortcut&&r.jsx(Gu,{keys:U.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},U.id)})]})})}function zg({children:e,position:t="top-left",size:a=24,className:o=""}){return r.jsx("span",{className:De("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,o),children:e})}var e6=".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}";ce(e6);function Ig({orientation:e="horizontal",label:t,className:a=""}){const o=De("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 t6='.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}';ce(t6);function Uu({checked:e,onChange:t,name:a,value:o,disabled:n=!1,label:i,className:l=""}){const c=s.useId();return r.jsxs("label",{className:`radio${n?" radio--disabled":""} ${l}`.trim(),htmlFor:c,children:[r.jsx("input",{id:c,type:"radio",name:a,value:o,checked:e,disabled:n,onChange:u=>t?.(u.target.checked)}),r.jsx("span",{className:"radio__dot"}),i&&r.jsx("span",{className:"radio__label body-2",children:i})]})}var a6=".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)}";ce(a6);function Og({options:e,value:t,onChange:a,name:o,disabled:n=!1,direction:i="vertical",className:l="",ariaLabel:c}){const u=s.useId(),d=o??`radio-group-${u}`;return r.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(h=>r.jsx(Uu,{name:d,value:h.value,checked:t===h.value,disabled:n||h.disabled,label:h.label,onChange:p=>{p&&a?.(h.value)}},h.value))})}var o6=".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:24px;justify-content:center;line-height:1;padding:0;width:24px}.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)}";ce(o6);const r6={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Fg({tone:e="info",title:t,message:a,children:o,dismissible:n=!1,onDismiss:i,live:l,className:c=""}){const{t:u}=_e.useTranslation(),[d,h]=s.useState(!1),p=s.useRef(null),m=s.useCallback(()=>{const b=p.current;b&&b.contains(document.activeElement)&&hi(b),h(!0),i?.()},[i]);if(d)return null;const v=De("alert",`alert--${e}`,c),C=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=C==="assertive"?"alert":C==="polite"?"status":void 0,f=!!t,x=!!(a||o);return r.jsxs("div",{ref:p,className:v,role:g,children:[r.jsxs("div",{className:"alert__body",children:[r.jsxs("div",{className:"alert__header",children:[r.jsx(ot,{icon:r6[e],size:20,className:"alert__icon"}),f&&r.jsx("span",{className:"alert__title body-2",children:t}),!f&&x&&r.jsx("div",{className:"alert__message body-3",children:a||o})]}),f&&x&&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":u("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var n6=".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)}";ce(n6);const i6={ready:"search",guide:"info",error:"circle-alert"};function s6(e,t){const a=t.filter(Boolean);if(a.length===0)return e;const o=[];let n=0,i=0;for(const l of a){const c=e.indexOf(l,n);c<0||(c>n&&o.push(e.slice(n,c)),o.push(r.jsx("strong",{className:"search-summary__em body-2",children:l},i++)),n=c+l.length)}return n<e.length&&o.push(e.slice(n)),o}function Hg({status:e="guide",label:t,children:a,emphasis:o,icon:n,className:i=""}){const l=n===!1?null:n??i6[e],c=De("search-summary",`search-summary--${e}`,i),u=t??a,d=typeof u=="string"&&o&&o.length>0?s6(u,o):u;return r.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&r.jsx(ot,{icon:l,size:18,className:"search-summary__icon"}),r.jsx("span",{className:"search-summary__text body-2",children:d})]})}function xr({title:e,items:t}){const{t:a}=_e.useTranslation(),{anchorRect:o,openAt:n,close:i}=Fo(),l=s.useRef(null),c=wc(!!o,(u,d)=>{u&&d?n(l.current?.querySelector("button")??d):i()},l);return r.jsxs("span",{ref:l,style:{display:"contents"},children:[r.jsx(ge,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!o,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:u=>{mr(u)||n(u.currentTarget)},onPointerLeave:u=>{mr(u)||i()},onClick:u=>{c.touchPress(u.currentTarget)},onFocus:u=>{br()||n(u.currentTarget)},onBlur:i}),o&&r.jsx(xo,{title:e,items:t,showIndex:t.length>1,anchorRect:o,onClose:i})]})}var l6=".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}";ce(l6);function Vg({items:e=[],value:t,onChange:a,className:o="",size:n=40}){const i=s.useId(),{t:l}=_e.useTranslation(),c=s.useRef(null),u=e.find(g=>!g.disabled)?.key,d=e.some(g=>g.key===t)?t:u??e[0]?.key,h=e.find(g=>g.key===d&&!g.disabled)?.key??u,p=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,f=p())=>{if(f.length===0)return;const x=(g%f.length+f.length)%f.length;f[x]?.focus(),f[x]?.click()},v=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const f=p(),x=f.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(x+1,f):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(x-1,f):g.key==="Home"?m(0,f):m(f.length-1,f)},C=e.find(g=>g.key===d);return r.jsxs("div",{className:`tabs ${o}`.trim(),children:[r.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":l("tabs.ariaLabel","\uD0ED"),children:e.map(g=>r.jsx("button",{id:`tabs__tab-${i}-${g.key}`,type:"button",role:"tab","aria-selected":g.key===d,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===h?0:-1,className:`tabs__tab body-2${g.key===d?" tabs__tab--active":""}`,onClick:()=>{g.key!==t&&a?.(g.key)},onKeyDown:v,children:g.label},g.key))}),C&&r.jsx("div",{id:`tabs__panel-${i}-${C.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${C.key}`,tabIndex:0,className:"tabs__panel",children:C.panel},C.key)]})}var c6=".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}";ce(c6);const u6={xs:12,sm:16,md:20,lg:28,xl:36};function d6(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 Wg({src:e,name:t,size:a="md",shape:o="circle",className:n=""}){const{t:i}=_e.useTranslation(),[l,c]=s.useState(null),u=!!e&&l===e,d=t?d6(t):"",h=!!e&&!u,p=!h&&!!d,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:[h&&r.jsx("img",{className:"avatar__image",src:e,alt:m,onError:()=>c(e??null)}),!h&&p&&r.jsx("span",{className:"avatar__initials","aria-hidden":"true",children:d}),!h&&!p&&r.jsx(ot,{icon:"user-round",size:u6[a],className:"avatar__icon"})]})}var p6=".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;min-height:24px;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;min-height:24px;min-width:24px}.ihabdevteam-core-scope .file-upload__remove-button:hover{color:var(--color-error)}";ce(p6);function h6(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 l=i.toLowerCase();return l.startsWith(".")?o.endsWith(l):l.endsWith("/*")?n.startsWith(l.slice(0,-1)):n===l})}function Gg({onFilesSelected:e,accept:t,multiple:a=!1,disabled:o=!1,showFileList:n=!0,files:i,onRemove:l,className:c=""}){const{t:u}=_e.useTranslation(),d=s.useRef(null),[h,p]=s.useState(!1),[m,v]=s.useState([]),C=i??m,g=y=>{if(!y||y.length===0)return;const B=Array.from(y).filter(S=>h6(S,t));if(B.length===0)return;const k=a?B:B.slice(0,1);if(i===void 0){const S=a?[...C,...k]:k;v(S),e?.(S)}else e?.(k)},f=y=>{y.preventDefault(),!o&&p(!0)},x=y=>{y.preventDefault(),p(!1)},b=y=>{y.preventDefault(),p(!1),!o&&g(y.dataTransfer.files)},w=y=>{const B=y.target;try{g(B.files)}finally{B.value=""}},_=()=>{o||d.current?.click()},A=y=>{if(!o&&(l?.(y),i===void 0)){const B=C.filter((k,S)=>S!==y);v(B),l||e?.(B)}};return r.jsxs("div",{className:`file-upload ${c}`.trim(),children:[r.jsxs("div",{className:De("file-upload__dropzone",h&&"file-upload__dropzone--dragging",o&&"file-upload__dropzone--disabled"),role:"button",tabIndex:o?-1:0,"aria-disabled":o,onClick:_,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),_())},onDragOver:f,onDragLeave:x,onDrop:b,children:[r.jsx(ot,{icon:"upload",size:24,className:"file-upload__icon"}),r.jsx("span",{className:"file-upload__prompt body-2",children:u("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:y=>{y.stopPropagation(),_()},children:u("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),r.jsx("input",{ref:d,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:o,onChange:w,tabIndex:-1})]}),n&&C.length>0&&r.jsx("ul",{className:"file-upload__list",children:C.map((y,B)=>r.jsxs("li",{className:"file-upload__list-item body-3",children:[r.jsx("span",{className:"file-upload__file-name body-3",children:y.name}),r.jsx("button",{type:"button",className:"file-upload__remove-button","aria-label":u("fileUpload.removeAriaLabel",{name:y.name}),disabled:o,onClick:()=>A(B),children:r.jsx(ot,{icon:"x",size:14})})]},`${y.name}-${B}`))})]})}var m6=".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}";ce(m6);function Ug({items:e,className:t=""}){const{t:a}=_e.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(ot,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},n)})})})}var b6=".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)}";ce(b6);const g6={small:14,medium:20,large:28};function qg({value:e,onChange:t,max:a=5,readOnly:o=!1,size:n="medium",ariaLabel:i,className:l=""}){const{t:c}=_e.useTranslation(),u=o||!t,[d,h]=s.useState(null),p=u?e:Number.isFinite(e)?Math.round(e):0,m=d??p,v=g6[n],C=y=>{y!==e&&t?.(y)},g=y=>{u||C(y)},f=y=>{u||br()||h(y)},x=s.useRef(null),b=y=>{const B=Math.min(a,Math.max(1,y));C(B),Array.from(x.current?.querySelectorAll("[data-star]")??[]).find(k=>k.dataset.star===String(B))?.focus()},w=y=>{if(!u){switch(y.key){case"ArrowRight":case"ArrowUp":b((p||0)+1);break;case"ArrowLeft":case"ArrowDown":b((p||1)-1);break;case"Home":b(1);break;case"End":b(a);break;default:return}y.preventDefault()}},_=p>=1&&p<=a?Math.round(p):1,A=()=>{u||h(null)};return r.jsx("div",{className:`rating rating--${n}${u?" rating--readOnly":""} ${l}`.trim(),ref:x,onKeyDown:w,role:u?"img":"radiogroup","aria-label":u?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:A,onPointerUp:y=>{y.pointerType==="touch"&&A()},onPointerCancel:y=>{y.pointerType==="touch"&&A()},children:Array.from({length:a},(y,B)=>{const k=B+1,S=Math.max(0,Math.min(1,m-B)),E=S>0&&S<1,D=r.jsxs("span",{className:"rating__star-wrap",children:[r.jsx(ot,{icon:"star",size:v,className:"rating__star rating__star--empty"}),S>0&&r.jsx("span",{className:`rating__star-fill${E?" rating__star-fill--half":""}`,style:E?{width:`${S*100}%`}:void 0,children:r.jsx(ot,{icon:"star",size:v,className:"rating__star rating__star--filled"})})]});return u?r.jsx("span",{className:"rating__item","aria-hidden":"true",children:D},k):r.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===k,"aria-label":c("rating.starLabel",{n:k}),"data-star":k,tabIndex:k===_?0:-1,onClick:()=>g(k),onMouseEnter:()=>f(k),children:D},k)})})}var f6=".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}";ce(f6);const v6=20,C6=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function Yg({value:e,onChange:t,palette:a=C6,size:o=40,className:n="",ariaLabel:i}){const{t:l}=_e.useTranslation();return r.jsx("div",{className:`color-picker ${n}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const u=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":u,"aria-label":u?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:u&&r.jsx(ot,{icon:"check",size:v6,className:"color-picker__check"})},c)})})}var x6=".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--interactive:hover{background:var(--color-white);border-color:var(--color-lightGray)}.ihabdevteam-core-scope .count-tile--accent:hover{border-color:var(--color-main)}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}@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}}";ce(x6);var _6=".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}";ce(_6);var y6=".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__wrap--interactive:hover .category-icon{box-shadow:inset 0 0 0 1px var(--t-item-fg,var(--color-lightGray))}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";ce(y6);function Kg({icon:e,label:t,tooltip:a,wrapperStyle:o,color:n,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const{t:u}=_e.useTranslation(),d=c==="small",h=De("category-icon",d?"category-icon--small":""),p=d?16:20,m=s.useRef(null),[v,C]=s.useState(!1),g=s.useMemo(()=>{const k=o&&typeof o=="object"?{...o}:{};return!n&&!i?k:{...k,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[o,n,i]),f=a||t,x=l&&!!f,[b,w]=s.useState(null);s.useLayoutEffect(()=>{v&&w(m.current?.getBoundingClientRect()??null)},[v]),s.useEffect(()=>{if(!l&&v)try{C(!1)}catch{}},[l,v]),s.useEffect(()=>{if(!v)return;const k=S=>{const E=m.current;if(!E)return;const D=S.target;D&&!E.contains(D)&&C(!1)};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[v]);const _=s.useCallback(()=>{l&&C(!0)},[l]),A=s.useCallback(()=>{l&&C(!1)},[l]),y=s.useCallback(()=>C(!1),[]),B=s.useCallback(k=>{if(k.key==="Escape"){C(!1);return}(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),C(S=>!S))},[]);return r.jsxs("span",{ref:m,className:De("category-icon__wrap",x&&"category-icon__wrap--interactive"),onPointerEnter:_,onPointerLeave:A,onFocus:_,onBlur:A,onKeyDown:B,role:"button",tabIndex:0,"aria-label":typeof f=="string"?u("common.descriptionFor",{name:f,defaultValue:`${f} \uC124\uBA85`}):void 0,"aria-haspopup":!!f,"aria-expanded":v,"data-tooltip-ignore":!0,children:[r.jsx(ot,{icon:e,label:t,className:h,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:p}),v&&f&&r.jsx(Da,{anchorRect:b,text:typeof f=="string"?f:void 0,offset:8,onClose:y,className:"category-icon__tooltip",ariaLabel:typeof f=="string"?f:void 0})]})}var w6='.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}}';ce(w6);let yo=null;function ji(e){if(yo&&yo!==e)try{yo()}catch{}return yo=e,()=>{yo===e&&(yo=null)}}function Li(e){if(yo===e){yo=null;try{e()}catch{}}}function qu(e,t){let a=()=>{};const o=new Promise(c=>{a=c});let n=!1;const i=c=>{if(!n){n=!0;try{t?.(c)}catch{}a(c)}};let l;try{l=new Audio(e)}catch{return i(!1),{el:{},stop:()=>{},done:o}}l.onended=()=>i(!0),l.onerror=()=>i(!1);try{l.play().catch(()=>i(!1))}catch{i(!1)}return{el:l,stop:()=>{try{l.pause()}catch{}i(!1)},done:o}}function k6(e,t){if(!e)return{previewCodes:[],previewBucket:null};const a=e,o=l=>l.map(c=>c?.contextCode||c?.context_code).filter(Boolean).map(String);if(t==="LISTEN_IN_NOISE"){const l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];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 l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];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 l=a.items||a.sentences||[],c=Array.isArray(l)&&l.length>0?o(l):[];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 l=a.sentences||a.items||[],c=Array.isArray(l)&&l.length>0?o(l):[];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 B6(e,t){const[a,o]=s.useState(!1),[n,i]=s.useState(-1),[l,c]=s.useState({key:"",urls:[]}),u=s.useRef(null),d=s.useRef(!1),h=s.useRef(null),p=s.useRef(null),[m,v]=s.useState(!1),C=s.useRef([]),{previewCodes:g,previewBucket:f}=k6(e,t),x=`${g.join(",")}|${f??""}`,b=s.useMemo(()=>l.key===x?l.urls:[],[l,x]);s.useEffect(()=>{if(!g.length)return;let _=!1;return(async()=>{const A=[],y=[];for(const B of g)try{const k=Mn(B,f);if(!k){A.push("");continue}let S=null;try{S=await Pr(k)}catch{}if(!S)try{const E=await $n(k);E&&(S=URL.createObjectURL(E),y.push(S))}catch{}A.push(S??"")}catch{A.push("")}_?y.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}):(C.current.forEach(B=>{try{URL.revokeObjectURL(B)}catch{}}),C.current=y,c({key:x,urls:A}))})(),()=>{_=!0}},[g.join(","),f]),s.useEffect(()=>()=>{C.current.forEach(_=>{try{URL.revokeObjectURL(_)}catch{}}),C.current=[]},[]);const w=s.useCallback(async _=>{if(_.stopPropagation(),_.preventDefault(),d.current){h.current&&Li(h.current),d.current=!1;try{u.current?.pause()}catch{}o(!1),i(-1);return}if(!b.filter(Boolean).length)return;let A=null;const y=()=>{d.current=!1,A?.stop()};h.current=y;const B=ji(y);d.current=!0,o(!0);for(let k=0;k<b.length&&d.current;k++){const S=b[k];if(S&&(i(k),A=qu(S),u.current=A.el,!await A.done))break}B(),h.current===y&&(h.current=null,d.current=!1,o(!1),i(-1))},[b]);return s.useEffect(()=>()=>{h.current&&Li(h.current),d.current=!1;try{u.current?.pause()}catch{}u.current=null},[]),{playing:a,playingIndex:n,previewUrls:b,previewHover:m,setPreviewHover:v,previewBtnRef:p,handlePreview:w}}const A6=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 Mi(e){const{index:t,type:a,trainingData:o,ariaLabel:n,depth:i,renderPopup:l,completed:c,completedIds:u,selectedIds:d,tooltipText:h,useDescriptionTooltip:p=!1,onRemove:m,hideCheckBadge:v=!1,showTypeLabel:C=!1,onComplete:g,onSelect:f,onMore:x,countLabelOverride:b,size:w="square"}=e||{},{t:_}=_e.useTranslation(),[A,y]=s.useState(!1),B=s.useRef(null),[k,S]=s.useState(!1);s.useEffect(()=>{B.current?.matches(":hover")&&S(!0)},[]);const{playing:E,playingIndex:D,previewUrls:O,previewHover:T,setPreviewHover:W,previewBtnRef:j,handlePreview:L}=B6(o,a?.key),I=s.useCallback(()=>{f?f():y(!0)},[f]),Y=s.useCallback(()=>y(!1),[]),X=s.useCallback(()=>S(!0),[]),P=s.useCallback(()=>S(!1),[]),V=s.useCallback(()=>W(!0),[W]),$=s.useCallback(()=>W(!1),[W]),[q,N]=s.useState(null);s.useLayoutEffect(()=>{T&&N(j.current?.getBoundingClientRect()??null)},[T,j]);const[z,M]=s.useState(null);s.useLayoutEffect(()=>{k&&!A&&p&&M(B.current?.getBoundingClientRect()??null)},[k,A,p]);const F=s.useCallback(Ae=>{Ae.target===Ae.currentTarget&&(Ae.key==="Enter"||Ae.key===" ")&&(Ae.preventDefault(),I())},[I]),H=o||null,Z=s.useMemo(()=>{if(!p)return null;const Ae=h?(Array.isArray(h)?h:[h]).filter(Boolean):null,Ke=Ae&&Ae.length>0?Ae:A6(H);return Ke&&Ke.length>0?Ke:null},[p,h,H]),ee=s.useCallback(Ae=>{Ae.stopPropagation(),m?.()},[m]),se=s.useCallback(Ae=>Ae.stopPropagation(),[]),le=s.useCallback(Ae=>{typeof g=="function"&&g(Ae)},[g]),K=c||(u&&o?.id!=null?u.has(String(o.id)):!1),ue=!K&&(d!=null&&o?.id!=null?d.has(String(o.id)):!1);cn("speechear.popup.close",Y);const Ne=ri(),U=`${a?.label||""} ${t+1}`,re=H?.title||H?.name||U;let fe=a?.icon,je,Ce="",ne="";try{const Ae=H?.category_0||H?.category_main_code||H?.category_main,Ke=H?.category_1||H?.category_sub_code||H?.category_sub,Q=Ne.find(pe=>pe.key===Ae);Q?.icon&&(fe=Q.icon),!je&&Q?.color&&(je={"--t-item-fg":Q.color}),!je&&H?.iconColor&&(je={"--t-item-fg":H.iconColor}),Ce=Q?_(`topic.${Q.key}`,{defaultValue:Q.label||""}):"";try{const pe=Q?.subs?.find(Se=>Se.key===Ke);ne=pe?_(`topic.sub.${pe.key}`,{defaultValue:pe.label||""}):""}catch{}}catch{}const he=ne?`${Ce} / ${ne}`:Ce||a?.label||re,be=Ae=>_("training.countQuestions",{n:Ae}),G=Ae=>_("training.countSentences",{n:Ae});let oe="";try{if(H)if(a?.key==="LISTEN_IN_NOISE"){let Ae=0;Array.isArray(H.items)&&H.items.length>0?Ae=H.items.length:Array.isArray(H.sentences)&&H.sentences.length>0?Ae=H.sentences.length:H.sentences&&(Ae=1),oe=G(Ae)}else if(a?.key==="SHORT_STORY"){let Ae=1;Array.isArray(o?.items)?Ae=o.items.length:Array.isArray(o?.raw&&o.raw?.items)?Ae=o.raw.items.length:Array.isArray(H?.questions)?Ae=H.questions.length:Array.isArray(H?.sentences)&&(Ae=H.sentences.length),oe=be(Ae)}else if(a?.key==="LONG_STORY"){let Ae=1;if(Array.isArray(H.items)&&H.items.length>0){const Ke=H.items.reduce((Q,pe)=>{const Se=pe.questionItems;return Array.isArray(Se)?Q+Se.length:Array.isArray(pe.questions)?Q+pe.questions.length:Q},0);Ae=Ke>0?Ke:H.items.length}else Array.isArray(H.questions)&&H.questions.length>0?Ae=H.questions.length:Array.isArray(H.sentences)&&H.sentences.length>0&&(Ae=H.sentences.length);oe=be(Ae)}else if(a?.key==="ORDERING_SENTENCE"){let Ae=1;Array.isArray(H.items)&&H.items.length>0?Ae=H.items.length:Array.isArray(H.sentences)&&H.sentences.length>0&&(Ae=H.sentences.length),oe=G(Ae)}else Array.isArray(H.items)&&(oe=H.items.length>0?be(H.items.length):"")}catch{}const xe=w==="row",ke=w==="list"||xe,Me=w==="compact",Ie=w==="small",Oe=Ie&&a?.key?ec().find(Ae=>Ae.key===a.key):void 0,ut=Oe?ii[Oe.key]:void 0,ct=Oe?ut?_(`trainingType.${ut}.title`,{defaultValue:Oe.label}):Oe.label??"":"",at=C&&a?.label&&a.label!==String(re)?String(a.label):Ie&&ct&&ct!==String(re)?ct:"",pt=!!at,Ee=b!==void 0?b:oe,Ve=[at,typeof re=="string"?re:"",Ee].map(Ae=>String(Ae??"").trim()).filter(Boolean).join(" ");return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:B,className:`training-block-button${ke?" training-block-button--list":""}${xe?" training-block-button--row":""}${Me?" training-block-button--compact":""}${Ie?" training-block-button--small":""}${K?" training-block-button--completed":""}${ue?" training-block-button--selected":""}${pt&&!Ie?" training-block-button--withType":""}${Ie&&!pt?" training-block-button--no-type-label":""}`,onClick:I,onPointerEnter:X,onPointerLeave:P,role:"button",tabIndex:0,onKeyDown:F,"aria-label":typeof n=="string"?n:Ve||void 0,title:!p&&h&&(Array.isArray(h)?h.filter(Boolean).join(`
|
|
853
853
|
`):h)||void 0,children:[r.jsxs("div",{className:"training-block-button__left",children:[C&&a?.label&&a.label!==String(re)&&r.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Ie&&ct&&ct!==String(re)&&r.jsx("span",{className:"training-block-button__type-label caption-2",children:ct}),r.jsx(Kg,{icon:fe,label:re,tooltip:he,wrapperStyle:je,iconSize:Ie||Me?"small":"medium"}),!v&&(K||ue)&&!(m&&k)&&r.jsx(Et,{className:m?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":K?_("training.completed","\uD6C8\uB828 \uC644\uB8CC"):_("training.selected","\uC120\uD0DD\uB428")}),m&&r.jsx(Et,{className:`training-block-button__remove${k?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":_("common.remove","\uC81C\uAC70"),onClick:ee}),r.jsx("div",{className:`training-block-button__title ${Me?"body-3":Ie?"body-3b":"h3"}`,children:String(re)}),r.jsxs("div",{className:"training-block-button__description",children:[Ee?r.jsx("div",{className:`training-block-button__count ${Ie?"caption-2":"caption-1"}`,children:Ee}):null,r.jsx("div",{className:"training-block-button__chevron",children:r.jsx(ot,{icon:"chevron-right",label:_("training.next","\uB2E4\uC74C"),className:"training-block-button__chevron-icon",imgClassName:"training-block-button__chevron-icon-image",maskClassName:"training-block-button__chevron-icon-mask",svgClassName:"training-block-button__chevron-icon-svg",size:Ie?12:20})})]}),(ke&&!xe||Ie)&&O.length>0&&r.jsx("div",{ref:j,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:se,onPointerEnter:V,onPointerLeave:$,children:r.jsx(ge,{htmlType:"button",size:Ie?28:32,type:"dot",icon:E?"pause":"play",variant:Ie?"transparent-lightGray":"default",useBorder:!1,selected:E,ariaLabel:String(re).trim()?E?_("training.stopFor",{name:re,defaultValue:`${re} \uC815\uC9C0`}):_("training.previewFor",{name:re,defaultValue:`${re} \uBBF8\uB9AC \uB4E3\uAE30`}):E?_("training.stop","\uC815\uC9C0"):_("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:L})})]}),x&&r.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Ae=>{Ae.stopPropagation(),x(Ae)},children:r.jsx(ge,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(re).trim()?_("common.moreFor",{name:re}):_("common.more","\uB354\uBCF4\uAE30")})})]}),T&&r.jsx(Da,{anchorRect:q,text:E?_("training.stop","\uC815\uC9C0"):_("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:$}),k&&!A&&p&&(Z?r.jsx(xo,{anchorRect:z,items:Z,activeIndex:D,onClose:P}):H?.subTitle?r.jsx(Da,{anchorRect:z,text:H.subTitle,offset:8,onClose:P}):null),A&&l&&l({trainingData:H,typeKey:a?.key??"",onClose:Y,onComplete:le,popupTitle:String(re),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:fe,popupIconTooltip:String(he),popupWrapperStyle:je})]})}const Yu=200;function S6(e){return e.itemId?(sc()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function Ku({plan:e,groups:t,anchorRect:a,offset:o=12,onClose:n}){const{t:i}=_e.useTranslation(),l=s.useMemo(()=>t?t.map((u,d)=>({key:u.key??u.type?.key??String(d),label:u.label,type:u.type,data:u.items??[]})).filter(u=>u.data.length>0):Hm(i).map(u=>{const d=(e?.items??[]).filter(h=>h.trainingType===u.key);return{key:u.key,label:u.label,type:u,\uACE0\uB978\uC218:d.length,data:d.map(S6).filter(h=>h!=null)}}).filter(u=>u.\uACE0\uB978\uC218>0),[t,e?.items,i]);if(l.length===0)return null;const c=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:l.flatMap(({key:u,label:d,type:h,data:p},m)=>[m>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${u}`):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:d})}),r.jsx("div",{className:"tooltip-training__items",children:p.map((v,C)=>r.jsx(Mi,{index:C,type:h,trainingData:v,size:"compact",hideCheckBadge:!0},String(v.id??C)))})]},u)])})});return a?r.jsx(xa,{anchorRect:a,offset:o,onClose:n,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:i("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:c}):c}const E6=200;function Zg({icon:e,count:t,title:a,plan:o,tooltip:n=!0,hoverAccent:i=!1,className:l="",onClick:c,onMouseEnter:u,onMouseLeave:d}){const h=!!c||!!u||n&&!!o,p=De("count-tile",h&&"count-tile--interactive",h&&i&&"count-tile--accent",c&&"count-tile--clickable",l),m=s.useRef(null),[v,C]=s.useState(null),g=s.useRef(null),f=s.useRef(null),x=!!(v&&o&&n),b=s.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),f.current&&(clearTimeout(f.current),f.current=null)},[]),w=s.useCallback(()=>{b(),C(null)},[b]),_=s.useCallback(()=>{!n||!o||(b(),g.current=setTimeout(()=>{g.current=null,C(m.current?.getBoundingClientRect()??null)},Yu))},[n,o,b]),A=s.useCallback(()=>{g.current&&(clearTimeout(g.current),g.current=null),!f.current&&(f.current=setTimeout(()=>{f.current=null,C(null)},E6))},[]);return s.useEffect(()=>()=>{b()},[b]),s.useEffect(()=>{(!n||!o)&&w()},[n,o,w]),s.useEffect(()=>{if(!x)return;const y=k=>k instanceof Element&&(m.current?.contains(k)||!!k.closest(".tooltip-training")),B=k=>{y(k.target)?b():A()};return document.addEventListener("pointerover",B,!0),()=>document.removeEventListener("pointerover",B,!0)},[x,b,A]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:m,className:p,onClick:c?y=>{w(),c(y)}:void 0,onKeyDown:c?y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),y.currentTarget.click())}:void 0,onPointerEnter:y=>{y.pointerType==="touch"||y.pointerType==="pen"?w():_()},onMouseEnter:u,onMouseLeave:y=>{A(),d?.(y)},role:c?"button":"img",tabIndex:c?0:void 0,"aria-label":`${a} ${t}`,children:[r.jsx(ot,{icon:e,size:20,className:"count-tile__icon"}),r.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),v&&o&&r.jsx(Ku,{plan:o,anchorRect:v,onClose:w})]})}let xn=0,Xg="",Zu="",_n=0;function Jg(){return Qg(!1)}function D6(){return Qg(!0)}function Qg(e){const t=typeof document<"u";xn===0&&t&&(Xg=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(_n===0&&(Zu=document.body.style.paddingRight),_n++,document.body.style.paddingRight="0px"),xn++;let a=!1;return()=>{a||(a=!0,xn=Math.max(0,xn-1),e&&t&&(_n=Math.max(0,_n-1),_n===0&&(Zu?document.body.style.paddingRight=Zu:document.body.style.removeProperty("padding-right"))),xn===0&&t&&(document.body.style.overflow=Xg))}}var N6=".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}}";ce(N6);function T6(){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 e0({open:e,onClose:t,ariaLabel:a,title:o,children:n,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:u=!0,className:d,contentClassName:h}){const{t:p}=_e.useTranslation(),m=s.useId(),v=s.useRef(null),C=s.useCallback(()=>t(),[t]);s.useEffect(()=>{if(!e)return;const b=document.activeElement,w=Jg(),_=v.current;return Cc(_,b),_?.focus(),()=>{w();const A=document.activeElement;(!A||A===document.body||_&&_.contains(A))&&xc(b)?.focus?.()}},[e]);const g=s.useRef(C),f=s.useRef(c);s.useEffect(()=>{g.current=C,f.current=c}),s.useEffect(()=>{if(e)return zo(()=>{f.current&&g.current()})},[e]);const x=s.useRef(!1);return fc(v,e),!e||typeof document>"u"?null:pa.createPortal(r.jsx("div",{className:De("dialog",d),onPointerDown:l?b=>{x.current=b.target===b.currentTarget}:void 0,onMouseDown:b=>{b.target===b.currentTarget&&b.preventDefault()},onClick:l?b=>{const w=x.current;x.current=!1,w&&b.target===b.currentTarget&&C()}:void 0,children:r.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-label":o?void 0:a,"aria-labelledby":o?m:void 0,tabIndex:-1,className:De("dialog__surface",`dialog__surface--${i}`,h),onClick:b=>b.stopPropagation(),children:[o?r.jsx("div",{className:"dialog__header",children:r.jsx("h2",{id:m,className:"dialog__title h4b",children:o})}):null,u?r.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:C,children:r.jsx(T6,{})}):null,r.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var j6=".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}";ce(j6);function t0({columns:e,rows:t,rowKey:a,title:o,toolbar:n,empty:i,loading:l,caption:c,className:u=""}){const{t:d}=_e.useTranslation(),h=!l&&t.length===0;return r.jsxs("div",{className:De("board",u),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(p=>r.jsx("th",{scope:"col",className:De("board__th",`board__cell--${p.headerAlign??p.align??"left"}`),style:p.width?{width:p.width}:void 0,children:p.header},p.key))})}),r.jsx("tbody",{children:l?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:l})}):h?r.jsx("tr",{children:r.jsx("td",{className:"board__state",colSpan:e.length,children:i??d("board.empty","\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):t.map((p,m)=>r.jsx("tr",{className:"board__row",children:e.map(v=>r.jsx("td",{className:De("board__td",`board__cell--${v.align??"left"}`),children:v.render(p,m)},v.key))},a(p,m)))})]})]})}var L6=".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)}}";ce(L6);function a0({name:e,role:t,photo:a,media:o,credentials:n,size:i=190,className:l=""}){return r.jsxs("div",{className:De("person-card",l),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 M6=".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)}}";ce(M6);function o0({groups:e,className:t=""}){return r.jsx("div",{className:De("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,l)=>r.jsx("p",{children:i},l))})]},`${o.label??""}-${n}`))})]},a.title))})}var $6=".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)}";ce($6);function r0({title:e,kind:t,body:a,badge:o,badgeSrc:n,footer:i,width:l,className:c=""}){const u=o??(n?r.jsx("img",{src:n,alt:""}):null);return r.jsxs("div",{className:De("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[u?r.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:u}):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 R6="@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}}";ce(R6);function n0({logo:e,alt:t,onDone:a,durationMs:o=3e3}){const n=ln(a);return s.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 P6='.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)}';ce(P6);function i0({eyebrow:e,eyebrowIndex:t,title:a,description:o,level:n=2,tone:i="dark",className:l=""}){const c=n===1?"h1":"h2";return r.jsxs("div",{className:De("section-header",`section-header--${i}`,l),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 z6=".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}}";ce(z6);function s0({items:e,className:t=""}){return r.jsx("ul",{className:De("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 l0(e){return typeof e=="string"?e:e.label}function Xu({value:e,onChange:t,suggestions:a,openOnFocus:o=!1,filterSuggestions:n,onSelectSuggestion:i,autoActiveFirst:l=!1}){const c=s.useId(),[u,d]=s.useState(!1),[h,p]=s.useState(-1),m=s.useRef(null),v=s.useMemo(()=>{if(!a.length)return[];const D=e??"";return n===!1?a:D?typeof n=="function"?n(a,D):a.filter(O=>l0(O).toLowerCase().includes(D.toLowerCase())):o?a:[]},[a,e,o,n]),[C,g]=s.useState(!1),f=s.useRef([]),x=C&&v.length===0?f.current:v;s.useEffect(()=>{x.length&&(f.current=x)},[x]);const b=s.useCallback(()=>g(!0),[]),w=s.useCallback(()=>g(!1),[]),_=l?0:-1;s.useEffect(()=>{u||p(_)},[u,_]),s.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const A=h<x.length?h:_<x.length?_:-1,y=s.useCallback(D=>{i?i(D):t?.(l0(D)),d(!1)},[t,i]),B=s.useCallback(()=>d(!0),[]),k=s.useCallback(()=>{d(!0),p(_)},[_]),S=s.useCallback(()=>{m.current=setTimeout(()=>d(!1),120)},[]),E=s.useCallback(D=>{D.nativeEvent.isComposing||D.keyCode===229||(D.key==="ArrowDown"?(D.preventDefault(),d(!0),p(O=>Math.min(x.length-1,(O<x.length?O:_)+1))):D.key==="ArrowUp"?(D.preventDefault(),p(O=>Math.max(_,(O<x.length?O:x.length)-1))):D.key==="Enter"?A>=0&&y(x[A]):D.key==="Escape"&&u&&(D.preventDefault(),d(!1)))},[x,A,u,y,_]);return{listId:c,open:u,activeIdx:A,filtered:x,handleFocus:B,handleBlur:S,handleInput:k,handleKeyDown:E,handleSelect:y,handleCompositionStart:b,handleCompositionEnd:w}}const Ju=typeof window<"u"?s.useLayoutEffect:s.useEffect;var I6=".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__input:focus-visible{outline:none}@media (forced-colors:active){.ihabdevteam-core-scope .text-field__input:focus-visible{outline:2px solid Highlight;outline-offset:-2px}}.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{align-items:center;color:var(--color-darkGray);cursor:pointer;display:flex;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)}.ihabdevteam-core-scope .text-field__suggestion-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .text-field__suggestion-hint{color:var(--color-lightGray);flex-shrink:0;margin-left:8px;white-space:nowrap}.ihabdevteam-core-scope .text-field__status{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";ce(I6);function wo(e){const{value:t,defaultValue:a,name:o,inputRef:n,onChange:i,label:l,ariaLabel:c,ariaDescribedBy:u,required:d,placeholder:h,ghostText:p,ghostHint:m,type:v="text",disabled:C=!1,readOnly:g=!1,error:f,helperText:x,maxLength:b,size:w=48,variant:_="input",fullWidth:A=!1,newline:y=!1,multiline:B=!1,rows:k=3,leftIcon:S,rightIcon:E,clearable:D=!1,list:O,showCount:T=!0,className:W="",onFocus:j,onBlur:L,onKeyDown:I,onEnter:Y,inputMode:X,autoComplete:P,autoFocus:V,suggestions:$,filterSuggestions:q,onSelectSuggestion:N,autoActiveFirst:z,openOnFocus:M=!1}=e,F=g||C?void 0:$,{t:H}=_e.useTranslation(),Z=s.useId();!l&&!c&&ra(`TextField:unnamed:${Z}`,"[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 ee=`tf-${Z}`,se=`tf-helper-${Z}`,le=s.useRef(null),K=Xu({value:t??"",onChange:i,suggestions:F??[],openOnFocus:M,filterSuggestions:q,onSelectSuggestion:N,autoActiveFirst:z}),ue=!!F&&K.open&&K.filtered.length>0,Ne=s.useRef(null),[U,re]=s.useState(null),fe=s.useCallback(()=>{const Ee=Ne.current;if(!Ee||typeof window>"u")return;const Ve=Ee.getBoundingClientRect(),Ae=230,Ke=window.innerHeight-Ve.bottom<Ae+8&&Ve.top>Ae+8;re({position:"fixed",left:Ve.left,width:Ve.width,...Ke?{bottom:window.innerHeight-Ve.top+8}:{top:Ve.bottom+8},zIndex:fn(Ee)})},[]);Ju(()=>{if(!ue)return;fe();let Ee=null;const Ve=()=>{if(typeof requestAnimationFrame>"u"){fe();return}Ee===null&&(Ee=requestAnimationFrame(()=>{Ee=null,fe()}))},Ae=Ke=>{const Q=Ke.target;Q&&Q.nodeType===1&&Q.closest?.(".text-field__suggestions")||Ve()};return window.addEventListener("scroll",Ae,!0),window.addEventListener("resize",Ve),()=>{Ee!==null&&cancelAnimationFrame(Ee),window.removeEventListener("scroll",Ae,!0),window.removeEventListener("resize",Ve)}},[ue,fe]);const je=s.useCallback(Ee=>{le.current=Ee,typeof n=="function"?n(Ee):n&&(n.current=Ee)},[n]),Ce=p?`${p}${m??H("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:h,ne=t!==void 0,he=ne&&v==="password",[be,G]=s.useState((a??"").length),oe=ne?(t??"").length:be,xe=s.useRef(t);Ju(()=>{xe.current=t}),s.useEffect(()=>{const Ee=le.current;if(!he||!Ee)return;const Ve=t??"";Ee.value!==Ve&&(Ee.value=Ve)},[he,t]),s.useEffect(()=>{if(!y||!le.current)return;const Ee=le.current;Ee.style.height="",Ee.scrollHeight>Ee.clientHeight&&(Ee.style.height=`${Ee.scrollHeight}px`)},[t,be,y]);const ke=b!=null&&oe>b,Me=w===32?16:20,Ie=De("text-field",`text-field--s${w}`,_==="display"?"text-field--display":"",A?"text-field--full-width":"",C?"text-field--disabled":"",g?"text-field--readonly":"",f?"text-field--error":"",S?"text-field--has-left-icon":"",E||D?"text-field--has-right-icon":"",W),Oe={id:ee,...he?{}:ne?{value:t}:{defaultValue:a},ref:je,placeholder:Ce,name:o,disabled:C,readOnly:g,autoFocus:V,maxLength:b,list:O,inputMode:X,autoComplete:P,"aria-label":!l&&c?c:void 0,"aria-required":d,"aria-invalid":!!f,"aria-describedby":[x||f?se:null,u].filter(Boolean).join(" ")||void 0,role:F?"combobox":void 0,"aria-autocomplete":F?"list":void 0,"aria-haspopup":F?"listbox":void 0,"aria-expanded":F?ue:void 0,"aria-controls":ue?K.listId:void 0,"aria-activedescendant":ue&&K.activeIdx>=0?`${K.listId}-option-${K.activeIdx}`:void 0,onChange:Ee=>{const Ve=Ee.target;ne||G(Ve.value.length),i?.(Ve.value),F&&K.handleInput(),he&&queueMicrotask(()=>{const Ae=xe.current??"";Ve.value!==Ae&&(Ve.value=Ae)})},onCompositionStart:F?K.handleCompositionStart:void 0,onCompositionEnd:F?K.handleCompositionEnd:void 0,onFocus:(Ee=>{j?.(Ee),F&&K.handleFocus()}),onBlur:(Ee=>{L?.(Ee),F&&K.handleBlur()}),onKeyDown:(Ee=>{const Ve=(Ee.key==="Tab"&&!Ee.shiftKey||Ee.key===" ")&&!Ee.nativeEvent.isComposing;if(p&&Ve&&!g&&!C&&!(Ee.currentTarget.value??"").trim()){Ee.preventDefault();const Ae=Ee.currentTarget;ne||(Ae.value=p,G(p.length)),i?.(p);return}F&&Ee.key==="Enter"&&!Ee.nativeEvent.isComposing&&K.activeIdx>=0?Ee.preventDefault():Y&&Ee.key==="Enter"&&!Ee.nativeEvent.isComposing&&(Ee.preventDefault(),Y()),I?.(Ee),F&&K.handleKeyDown(Ee)})},ut=D&&!C&&!g&&oe>0,ct=()=>y?r.jsx("textarea",{...Oe,className:"text-field__input text-field__input--auto body-2",rows:1}):B?r.jsx("textarea",{...Oe,className:"text-field__input text-field__input--textarea body-2",rows:k}):r.jsx("input",{...Oe,type:v,className:"text-field__input body-2"}),at=_==="display"&&!y&&!B&&!!Ce,pt=()=>r.jsxs(r.Fragment,{children:[ct(),at&&r.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:Ce})]});return r.jsxs("div",{ref:Ne,className:Ie,children:[l&&r.jsxs("label",{htmlFor:ee,className:"text-field__label caption-1",children:[l,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(ot,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:Me})}),pt(),b!=null&&T&&r.jsxs("span",{className:`text-field__count caption-2${ke?" text-field__count--over":""}`,children:[oe,"/",b]}),ut&&r.jsx(ge,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:H("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Ee=>{Ee.preventDefault()},onClick:()=>{!ne&&le.current&&(le.current.value="",G(0)),i?.("")},tabIndex:-1}),E&&!ut&&r.jsx("span",{className:"text-field__icon text-field__icon--right",children:r.jsx(ot,{icon:E,label:"",className:"",svgClassName:"text-field__icon-svg",size:Me})})]}),!!F&&r.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:K.open&&(t??"").length>0&&K.filtered.length===0?H("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),ue&&(typeof document>"u"?null:pa.createPortal(r.jsx("ul",{id:K.listId,className:"text-field__suggestions",role:"listbox",style:U??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:K.filtered.map((Ee,Ve)=>r.jsx("li",{id:`${K.listId}-option-${Ve}`,role:"option","aria-selected":Ve===K.activeIdx,className:`text-field__suggestion body-2${Ve===K.activeIdx?" is-active":""}`,onMouseDown:Ae=>Ae.preventDefault(),onClick:()=>{K.handleSelect(Ee),le.current?.focus()},children:typeof Ee=="string"?Ee:r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-field__suggestion-label",children:Ee.label}),Ee.hint&&r.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Ee.hint})]})},typeof Ee=="string"?`${Ee}-${Ve}`:Ee.id))}),document.body)),(x||f)&&r.jsx("div",{className:"text-field__footer",children:r.jsx("span",{id:se,className:"text-field__helper caption-1",role:f?"alert":void 0,children:f||x})})]})}var O6=".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}";ce(O6);function _a({options:e,value:t,onChange:a,placeholder:o,disabled:n=!1,block:i=!1,size:l=48,error:c=!1,className:u="",ariaLabel:d,ariaDescribedBy:h}){const{t:p}=_e.useTranslation(),m=o??p("dropdown.placeholder","\uC120\uD0DD"),v=s.useId(),C=s.useId(),g=s.useRef(null),f=s.useCallback((j,L)=>{const I=window.innerHeight-j.bottom<260&&j.top>260;return{position:"fixed",left:j.left,minWidth:j.width,...I?{bottom:window.innerHeight-j.top+6}:{top:j.bottom+6},zIndex:fn(L)}},[]),{open:x,setOpen:b,toggle:w,style:_,triggerRef:A,menuRef:y}=Ho({computeStyle:f}),[B,k]=s.useState(-1),S=s.useCallback(()=>k(-1),[]),E=e.find(j=>j.value===t);s.useEffect(()=>{if(x){const j=e.findIndex(L=>L.value===t);k(j>=0?j:e.length?0:-1),requestAnimationFrame(()=>{const L=y.current;if(!L)return;const I=L.querySelectorAll(".dropdown__option")[j];I&&(L.scrollTop=Math.max(0,I.offsetTop-L.clientHeight/2+I.clientHeight/2))})}},[x]),s.useEffect(()=>{x&&k(j=>{if(j>=0&&j<e.length)return j;const L=e.findIndex(I=>I.value===t);return L>=0?L:e.length?0:-1})},[x,e.length]);const D=s.useCallback(()=>{n||w()},[n,w]),O=s.useCallback(j=>{j.disabled||n||(j.value!==t&&a?.(j.value),b(!1))},[a,b,n,t]);s.useEffect(()=>{n&&b(!1)},[n,b]);const T=s.useCallback(j=>{if(!n){if(!x){(j.key==="Enter"||j.key===" "||j.key==="ArrowDown")&&(j.preventDefault(),b(!0));return}if(j.key==="Escape"){j.preventDefault(),b(!1);return}j.key==="ArrowDown"?(j.preventDefault(),k(L=>{let I=L+1;for(;I<e.length&&e[I].disabled;)I++;return I<e.length?I:L})):j.key==="ArrowUp"?(j.preventDefault(),k(L=>{let I=L-1;for(;I>=0&&e[I].disabled;)I--;return I>=0?I:L})):(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),e[B]?O(e[B]):b(!1))}},[n,x,e,B,O,b]),W=x?r.jsx("div",{ref:y,id:v,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:_,onMouseLeave:S,onMouseDown:j=>j.preventDefault(),children:e.map((j,L)=>r.jsxs("button",{id:`${v}-option-${L}`,type:"button",role:"option","aria-selected":j.value===t,className:De("dropdown__option body-2",j.value===t?"dropdown__option--active":"",L===B?"dropdown__option--active":"",j.disabled?"dropdown__option--disabled":""),onMouseDown:I=>I.preventDefault(),onClick:()=>O(j),onMouseEnter:()=>k(L),disabled:j.disabled,children:[r.jsx("span",{className:"dropdown__option-check",children:j.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"})})}),j.label]},j.value))}):null;return r.jsxs("div",{ref:g,className:De("dropdown",`dropdown--s${l}`,x?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",u),onKeyDown:T,children:[r.jsxs("button",{ref:A,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":x,"aria-controls":x?v:void 0,"aria-activedescendant":x&&B>=0?`${v}-option-${B}`:void 0,"aria-label":d,"aria-describedby":[d&&E?C:"",h??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:n,onClick:D,onBlur:j=>{x&&!y.current?.contains(j.relatedTarget)&&b(!1)},children:[r.jsx("span",{id:C,className:`dropdown__trigger-label body-2${E?"":" dropdown__trigger-label--placeholder"}`,children:E?E.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"&&pa.createPortal(W,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var F6=".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}";ce(F6);function yn({page:e,totalPages:t,onChange:a,prevLabel:o,nextLabel:n,className:i=""}){const{t:l}=_e.useTranslation(),c=o??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),u=n??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),d=Math.max(1,t),h=()=>a(Math.max(1,Math.min(d,e-1))),p=()=>a(Math.min(d,e+1));return r.jsxs("div",{className:De("pagination",i),children:[r.jsx(ge,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-left",ariaLabel:c,disabled:e<=1,onClick:h}),r.jsxs("span",{className:"pagination__info body-3","aria-live":"polite","aria-atomic":"true",children:[Math.min(Math.max(1,e),d)," / ",d]}),r.jsx(ge,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:u,disabled:e>=t,onClick:p})]})}var H6=".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}}";ce(H6);const wn=new Map;function Wa(e){const{t}=_e.useTranslation(),{options:a=[],value:o=a.find(_=>!_.disabled)?.key??a[0]?.key,onChange:n=_=>{},className:i="",size:l=40,shape:c="pill",useBG:u=!0,fullWidth:d=!1,minButtonWidth:h,ariaLabel:p}=e||{},m=s.useRef(null),v=a.filter(_=>!_.disabled),C=s.useId(),g=a.map(_=>_.key).join("\xB7");s.useEffect(()=>{if(!(!Ko||p!=null&&p!=="")){if(wn.set(C,g||"(\uBCF4\uAE30 \uC5C6\uC74C)"),wn.size>1){const _=[...wn.values()].sort();ra(`segmented-control-unnamed:${_.join("|")}`,`[ihab/SegmentedControl] \uC774\uB984 \uC5C6\uB294 \uB77C\uB514\uC624\uADF8\uB8F9\uC774 \uD55C \uD654\uBA74\uC5D0 ${wn.size} \uAC1C \uC11C \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uB0AD\uB3C5\uAE30\uB294 \uBAA8\uB450 "\uC120\uD0DD \uD0ED" \uC73C\uB85C \uC77D\uC5B4 \uC5B4\uB290 \uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uAC00\uB9B4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. ariaLabel \uC744 \uC8FC\uC138\uC694. \uC9C0\uAE08 \uC120 \uAC83(\uBCF4\uAE30 \uC774\uB984\uC73C\uB85C \uC801\uC74C): ${_.join(" / ")}`)}return()=>{wn.delete(C)}}},[p,g,C]);const f=_=>{if(!v.length)return;const A=Math.max(0,v.findIndex(B=>B.key===o)),y=_==="first"?v[0]:_==="last"?v[v.length-1]:v[(A+_+v.length)%v.length];y&&(n(y.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(B=>B.dataset.segkey===y.key)?.focus())},x=_=>{switch(_.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}_.preventDefault()},b=_=>{const A=y=>typeof y=="string"||typeof y=="number";if(!(!A(_.label)||_.count==null||_.count===!1||!A(_.count)))return`${_.label}, ${_.count}`},w=v.some(_=>_.key===o)?o:v[0]?.key;return r.jsx("div",{ref:m,onKeyDown:x,className:De("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,d&&"segmented-control--full",!u&&"segmented-control--no-bg",h!=null&&"segmented-control--min",i),style:h!=null?{"--segmented-min-button-w":`${h}px`}:void 0,role:"radiogroup","aria-label":p??t("segmentedControl.ariaLabel","\uC120\uD0DD \uD0ED"),children:a.map(_=>r.jsx(ge,{htmlType:"button",role:"radio","aria-checked":_.key===o,"data-segkey":_.key,tabIndex:_.key===w?0:-1,label:_.label,count:_.count,ariaLabel:b(_),disabled:_.disabled,className:_.key===o?"is-selected":"",onClick:()=>{_.disabled||n(_.key)},size:l,shape:c,useBorder:!1,useBG:!1},_.key))})}var V6=".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)}";ce(V6);function $i({count:e,search:t,segment:a,filters:o,pageSize:n,pagination:i,actions:l,className:c}){const{t:u}=_e.useTranslation(),d=e!=null&&r.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??u("common.totalPrefix","\uCD1D "),r.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),h=!!(t||o?.length||n||i||l);return r.jsxs("div",{className:De("toolbar",c),children:[r.jsxs("div",{className:"toolbar__row",children:[d,a&&(Array.isArray(a)?a:[a]).map((p,m)=>r.jsx(Wa,{size:40,...p},p.ariaLabel??m))]}),h&&r.jsx("div",{className:"toolbar__row",children:r.jsxs("div",{className:"toolbar__row-end",children:[t&&r.jsx(wo,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??u("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??u("common.search","\uAC80\uC0C9"),autoFocus:t.autoFocus,clearable:!0}),o?.map((p,m)=>r.jsx(_a,{size:40,options:p.options,value:p.value,onChange:p.onChange,ariaLabel:p.ariaLabel},m)),(n||i)&&r.jsxs("div",{className:"toolbar__pager",children:[n&&r.jsx(_a,{size:40,options:n.options,value:n.value,onChange:n.onChange,ariaLabel:n.ariaLabel??u("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&r.jsx(yn,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}var W6=".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:var(--font-mono);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)}";ce(W6);function c0(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(c0).join(""):""}function G6(e){let t=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|