@ihabdevteam/core 0.294.0 → 0.295.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 +2 -2
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +2 -2
- package/dist/ihabdevteam-core.d.ts +7 -1
- package/dist/packages/core/src/utils/koreanSyllable.d.ts +6 -0
- package/dist/packages/core/src/utils/koreanSyllable.js +6 -0
- package/dist/packages/core/src/utils/wordContrast.js +22 -2
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +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"},Ev={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"}}},Dv={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},Nv={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"}},Tv={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},jv={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"},Lv={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},Mv={ariaLabel:"\uC120\uD0DD \uD0ED"},$v={ariaLabel:"\uD0ED"},Rv={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Pv={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},zv={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"}},Iv={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"}},Ov={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"}},Fv={manage:{unit:"\uAC74"}},Hv={cancelLabel:"\uCDE8\uC18C"},Vv={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},Wv={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"},Gv={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"},Uv={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"},qv={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Yv={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},Kv={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},Zv={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},Xv={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"}},Jv={clearSelection:"\uC120\uD0DD \uD574\uC81C"},Qv={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},ex={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},tx={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},ax={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},ox={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},rx={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},nx={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"},ix={common:G1,calendar:U1,passCard:q1,searchField:Y1,rating:K1,colorPicker:Z1,dropdown:X1,accordion:J1,header:Q1,nav:ev,settings:tv,usage:av,account:ov,help:rv,training:nv,trainingSettings:iv,customers:sv,payment:lv,coupons:cv,visits:dv,company:uv,trainingType:pv,myWordTraining:hv,myWordTable:mv,keyWords:bv,wordTable:gv,wordSearch:fv,wordPrint:vv,topic:xv,accessLinkManager:Cv,login:_v,trainingPlanRun:yv,device:wv,manager:kv,wordPairs:Bv,game:Av,footer:Sv,landing:Ev,date:Dv,trainingSetPage:Nv,wordTrainingPreview:Tv,wordData:jv,textField:Lv,segmentedControl:Mv,tabs:$v,fileUpload:Rv,avatar:Pv,myHomework:zv,trainingStatus:Iv,store:Ov,homework:Fv,inquiry:Hv,progress:Vv,trainingMiss:Wv,table:Gv,wordScore:Uv,topBanner:qv,datePicker:Yv,report:Kv,tooltip:Zv,phonemeProfile:Xv,bulkBar:Jv,debug:Qv,badge:ex,loader:tx,soundCompass:ax,breadcrumb:ox,board:rx,promoBannerBg:nx},sx={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."},lx={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}}"},cx={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"}},dx={clearAriaLabel:"Clear search"},ux={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},px={selected:"selected"},hx={placeholder:"Select"},mx={collapse:"Collapse",expand:"Expand"},bx={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},gx={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"},fx={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."}}},vx={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"}},xx={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"}}},Cx={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},_x={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"}},yx={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"},wx={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"}},kx={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},Bx={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"}},Ax={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Sx={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Ex={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."}},Dx={comingSoon:"Word training is coming soon."},Nx={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"},Tx={title:"Key Words",empty:"No key words available."},jx={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"}},Lx={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}}"}},Mx={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},$x={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"}},Rx={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"}},Px={passwordPlaceholder:"Enter password"},zx={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"}},Ix={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"}},Ox={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."]},Fx={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"}},Hx={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"},Vx={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"}}},Wx={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},Gx={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},Ux={answer:"Answer",distractor:"Distractor"},qx={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Yx={clearAriaLabel:"Clear input"},Kx={ariaLabel:"Select tab"},Zx={ariaLabel:"Tabs"},Xx={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Jx={ariaLabel:"User avatar"},Qx={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"}},eC={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"}},tC={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)"}},aC={manage:{unit:"item(s)"}},oC={cancelLabel:"Cancel"},rC={subtitle:"Select a topic to start listening practice."},nC={steps:"Step {{current}} of {{total}}"},iC={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"},sC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},lC={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}}"},cC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},dC={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},uC={previewRegion:"Report preview \u2014 scrollable sideways"},pC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},hC={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},mC={clearSelection:"Clear selection"},bC={showResult:"Show {{type}} result"},gC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},fC={loading:"Loading"},vC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},xC={ariaLabel:"Breadcrumb"},CC={empty:"No items yet."},_C={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"},yC={common:sx,calendar:lx,passCard:cx,searchField:dx,rating:ux,colorPicker:px,dropdown:hx,accordion:mx,header:bx,nav:gx,settings:fx,usage:vx,account:xx,help:Cx,training:_x,trainingSettings:yx,customers:wx,payment:kx,coupons:Bx,visits:Ax,company:Sx,trainingType:Ex,myWordTraining:Dx,myWordTable:Nx,keyWords:Tx,wordTable:jx,wordSearch:Lx,wordPrint:Mx,topic:$x,accessLinkManager:Rx,login:Px,device:zx,manager:Ix,wordPairs:Ox,game:Fx,footer:Hx,landing:Vx,date:Wx,trainingSetPage:Gx,wordTrainingPreview:Ux,wordData:qx,textField:Yx,segmentedControl:Kx,tabs:Zx,fileUpload:Xx,avatar:Jx,myHomework:Qx,trainingStatus:eC,store:tC,homework:aC,inquiry:oC,trainingPlanRun:rC,progress:nC,trainingMiss:iC,table:sC,wordScore:lC,topBanner:cC,datePicker:dC,report:uC,tooltip:pC,phonemeProfile:hC,bulkBar:mC,debug:bC,badge:gC,loader:fC,soundCompass:vC,breadcrumb:xC,board:CC,promoBannerBg:_C};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"},Vx={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"}}},Wx={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},Gx={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},Ux={answer:"Answer",distractor:"Distractor"},qx={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},Yx={clearAriaLabel:"Clear input"},Kx={ariaLabel:"Select tab"},Zx={ariaLabel:"Tabs"},Xx={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},Jx={ariaLabel:"User avatar"},Qx={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"}},eC={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"}},tC={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)"}},aC={manage:{unit:"item(s)"}},oC={cancelLabel:"Cancel"},rC={subtitle:"Select a topic to start listening practice."},nC={steps:"Step {{current}} of {{total}}"},iC={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"},sC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},lC={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}}"},cC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},dC={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},uC={previewRegion:"Report preview \u2014 scrollable sideways"},pC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},hC={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},mC={clearSelection:"Clear selection"},bC={showResult:"Show {{type}} result"},gC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},fC={loading:"Loading"},vC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},xC={ariaLabel:"Breadcrumb"},CC={empty:"No items yet."},_C={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"},yC={common:sx,calendar:lx,passCard:cx,searchField:dx,rating:ux,colorPicker:px,dropdown:hx,accordion:mx,header:bx,nav:gx,settings:fx,usage:vx,account:xx,help:Cx,training:_x,trainingSettings:yx,customers:wx,payment:kx,coupons:Bx,visits:Ax,company:Sx,trainingType:Ex,myWordTraining:Dx,myWordTable:Nx,keyWords:Tx,wordTable:jx,wordSearch:Lx,wordPrint:Mx,topic:$x,accessLinkManager:Rx,login:Px,device:zx,manager:Ix,wordPairs:Ox,game:Fx,footer:Hx,landing:Vx,date:Wx,trainingSetPage:Gx,wordTrainingPreview:Ux,wordData:qx,textField:Yx,segmentedControl:Kx,tabs:Zx,fileUpload:Xx,avatar:Jx,myHomework:Qx,trainingStatus:eC,store:tC,homework:aC,inquiry:oC,trainingPlanRun:rC,progress:nC,trainingMiss:iC,table:sC,wordScore:lC,topBanner:cC,datePicker:dC,report:uC,tooltip:pC,phonemeProfile:hC,bulkBar:mC,debug:bC,badge:gC,loader:fC,soundCompass:vC,breadcrumb:xC,board:CC,promoBannerBg:_C};const jn="0.295.0",Tr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Ao="ko",ms="ihab_display_language";function rp(){if(typeof window>"u")return Ao;try{const e=localStorage.getItem(ms);if(e&&Tr.some(t=>t.code===e))return e}catch{}return Ao}function wC(e){try{localStorage.setItem(ms,e)}catch{}}function np(e){try{document.documentElement.lang=e}catch{}}wt.on("languageChanged",np),np(rp()),wt.use(ye.initReactI18next).init({resources:{ko:{translation:ix},en:{translation:yC}},lng:rp(),fallbackLng:Ao,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ip=s.createContext({locale:Ao,supportedLocales:Tr});function kC(){return s.useContext(ip)}function BC(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:Ao}function AC({locale:e=Ao,children:t}){const a=BC(e);return s.useEffect(()=>{wt.language!==a&&wt.changeLanguage(a)},[a]),r.jsx(ip.Provider,{value:{locale:a,supportedLocales:Tr},children:t})}function Ee(...e){return e.filter(Boolean).join(" ")}var SC=".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}";ie(SC);const sp=new Set,Yo=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function na(e,...t){!Yo||sp.has(e)||(sp.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){J5(e)}function Mn(e,t){if(!e)return null;const a=Xo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ts(e){if(!e)return!1;const t=Xo();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=Xo();if(!t)throw new Ds("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function $n(e){const t=Xo();if(!t)throw new Ds("downloadSound");return t.download(e)}function js(){return Xo()?.noiseBaseUrl??"/sounds/noise"}function Ls(){const e=Number(Xo()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function Q5(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 Jp(e){globalThis[Ms]=e}function zr(){return globalThis[Ms]?.urlResolver??null}function $s(){return globalThis[Ms]?.fallbackUrlResolver??null}const e3=new Map;function Qp(){e3.clear()}const eh="__ihab_core_pronunciation_resolver__";function th(e){globalThis[eh]=e}function Rs(){return globalThis[eh]??null}let so=null;const Ir=new WeakMap,Ps=new WeakMap,zs=new WeakMap;let ah=!1;const oh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function t3(){if(ah||typeof document>"u")return;ah=!0;const e=()=>{try{so&&so.state!=="running"&&so.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function rh(){if(so)return so;try{const e=window.AudioContext||window.webkitAudioContext;return e?(so=new e,t3(),so):null}catch{return null}}function Or(){try{so?.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=oh(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 Jo(e){if(!e)return Promise.resolve(null);const t=Ir.get(e);if(t)return Promise.resolve(t.analyser);const a=rh();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=rh();return a?a.state==="running"?Is(a,e)?.analyser??null:(Jo(e),null):null}function La(e,t){const a=oh(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 Qo(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 nh="__ihab_core_image_config__";function ih(e){globalThis[nh]=e}function lo(){return globalThis[nh]??null}const Fr="word_image_existence_map_v1";let Ma=null,Do=0,sh=-1,Hr=null,lh=-1,ch=new Set;const Rn=new Map;function er(){if(Ma)return Ma;try{const e=typeof localStorage<"u"?localStorage.getItem(Fr):null,t=e?JSON.parse(e):null;Ma=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Ma={}}return Ma}let Hs=null;function a3(){Hs||(Hs=setTimeout(()=>{Hs=null;try{typeof localStorage<"u"&&Ma&&localStorage.setItem(Fr,JSON.stringify(Ma))}catch{}},200))}function Pn(e,t){return`${e}_${t??1}`}async function Vr(e,t){const a=er(),o=Pn(e,t);if(o in a)return a[o];if(Rn.has(o))return Rn.get(o);const n=lo();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:Q5(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Rn.delete(o),c===null?!1:(a[o]=c,Do++,a3(),c)));return Rn.set(o,l),l}function dh(e,t){const a=er(),o=Pn(e,t);return o in a?a[o]:void 0}async function uh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=er(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Pn(d)in i));let c=0;if(l.length>0){let d=0;const u=Array.from({length:Math.min(o,l.length)},async()=>{for(;d<l.length;){const h=d++,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(u)}try{typeof localStorage<"u"&&Ma&&localStorage.setItem(Fr,JSON.stringify(Ma))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function zn(){const e=er();if(sh===Do)return Hr?{...Hr}:null;const t=Object.values(e);return Hr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},sh=Do,Hr?{...Hr}:null}function ph(){const e=er();if(lh===Do)return ch;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return ch=t,lh=Do,t}function hh(e){const t=er();Object.assign(t,e),Do++;try{typeof localStorage<"u"&&localStorage.setItem(Fr,JSON.stringify(t))}catch{}}function Vs(){Ma={},Do++;try{typeof localStorage<"u"&&localStorage.removeItem(Fr)}catch{}}const o3={\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 r3(e,t){return(Ws[e]?.glide??"")!==(Ws[t]?.glide??"")}function No(e){return o3[e]??e}const bt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],kt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Pt=["","\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 Ue(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=>Ue(o)),e.set(t,a)),a}}function ya(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=Ue(e[n]),l=Ue(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,d=i.jung!==l.jung,u=i.jong!==l.jong;(c?1:0)+(d?1:0)+(u?1:0)>1?o="multi":c?o="cho":d?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function qs(e){const t=Ue(e[0]||"");return t?bt[t.cho]:""}function Ys(e){return[...e].map(t=>{const a=Ue(t);return a?bt[a.cho]:t}).join("")}function Ks(e){return!!e&&[...e].every(t=>bt.includes(t))}function mh(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 bh(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=>kt.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":Ue(l)?"syl":"other"),i=t.map(l=>Ue(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 d=0;d+t.length<=c.length;d++){let u=!0;for(let h=0;h<t.length;h++){const p=c[d+h],m=n[h];if(m==="cho"){if(qs(p)!==t[h]){u=!1;break}}else if(m==="jung"){const f=Ue(p);if(!f||kt[f.jung]!==t[h]){u=!1;break}}else{const f=i[h];if(f&&f.jong===0){const v=Ue(p);if(!v||v.cho!==f.cho||v.jung!==f.jung){u=!1;break}}else if(p!==t[h]){u=!1;break}}}if(u)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"]},gh=Object.fromEntries(Object.entries(In).map(([e,t])=>[t.join(""),Pt[Number(e)]]));function n3(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o){if(bt[o.cho]===t)return!0;if(o.jong>0){if(Pt[o.jong]===t)return!0;const n=In[o.jong];if(n&&n.includes(t))return!0}}}return!1}function fh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o&&bt[o.cho]===t)return!0}return!1}function vh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o&&kt[o.jung]===t)return!0}return!1}function xh(e,t,a){const o=Pt[e];return o===t?!0:a==="phoneme"&&No(o)===No(t)}function Ch(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ue(o);if(!(!n||n.jong<=0)&&xh(n.jong,t,a))return!0}return!1}function To(e){if(!e)return 0;let t=0;for(const a of e)Ue(a)&&t++;return t}function Xs(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ue(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=>xh(e.jong,o,a))}function Qs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=Ue(n[l]);if(!c||t.cho&&!t.cho.includes(bt[c.cho])||t.jung&&!t.jung.includes(kt[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 _h(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(Ue).filter(d=>!!d);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const d=bt[n[0].cho];return d!=="\u3147"&&t.cho.includes(d)}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((d,u)=>{if(u===0)return!1;const h=bt[d.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((d,u)=>u!==i&&d.jong===0):!t.jong||n.some((d,u)=>u!==i&&Js(d,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function el(e){return e.includes(",")||e.includes("_")}function yh(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=gh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ue(t)?{kind:"syllable",ch:t}:bt.includes(t)?{kind:"cho",jamo:t}:kt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function i3(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ue(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ue(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ue(e);return!!a&&bt[a.cho]===t.jamo}case"jung":{const a=Ue(e);return!!a&&kt[a.jung]===t.jamo}case"template":{const a=Ue(e);return!(!a||t.cho!=="_"&&bt[a.cho]!==t.cho||t.jung!=="_"&&kt[a.jung]!==t.jung||t.jong!=="_"&&Pt[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=>yh(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)=>i3(o[n+l],i)))return!0;return!1}function wh(e){const t=e.split(",").flatMap(i=>yh(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=Ue(i.ch);l&&(a.add(bt[l.cho]),o.add(kt[l.jung]),l.jong!==0&&n.add(Pt[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 s3(e){return!!Ue(e)||bt.includes(e)||kt.includes(e)}function kh(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(""),d=i===void 0||i==="_"||bt.includes(i),u=l===void 0||l==="_"||kt.includes(l),h=c===""||c==="_"||Pt.filter(Boolean).includes(c)||!!gh[c];if(d&&u&&h)continue;return{ok:!1}}if(![...o].every(s3))return{ok:!1}}}return{ok:!0}}const l3={cho:bt.length,jung:kt.length,jong:Pt.length};function c3(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>Ue(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const d=l3[t],u=new Set,h=[];(function p(m,f){if(f.length===a){h.push([...f]);return}for(let v=m;v<c;v++)f.push(v),p(v+1,f),f.pop()})(0,[]);for(const p of h)if((function m(f,v){if(u.size>=n)return;if(f===p.length){const _=v.map(b=>ya(b.cho,b.jung,b.jong)).join("");_!==e&&o.has(_)&&u.add(_);return}const g=p[f],x=l[g][t];for(let _=0;_<d;_++){if(_===x)continue;const b=v.slice();if(b[g]={...v[g],[t]:_},m(f+1,b),u.size>=n)return}})(0,l),u.size>=n)break;return[...u]}function d3(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ue(e[o]),i=Ue(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 Bh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(el(a))return e.filter(d=>tl(d.word,a));const o=Zs(a),n=[...a].length,i=d=>!!d&&o(d.normalize("NFC").slice(0,n)),l=[],c=[];for(const d of e)(o(d.word)||o(d.pronunciation??""))&&(i(d.word)||i(d.pronunciation??"")?l:c).push(d);return l.concat(c)}const al="word_pair_index_v2",ol="word_pair_index_sig_v2";let $a=null,Wr=null;function Ah(){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 u3(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(al,JSON.stringify(e)),localStorage.setItem(ol,t)}catch{}}function p3(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 h3(e,t){const a=new Set,o=[];for(const u of e){if(!u.word||a.has(u.word))continue;const h=u.pron||u.word,p=Array.from(h).map(Ue);p.some(m=>m===null)||p.length===Array.from(u.word).length&&(a.add(u.word),o.push({word:u.word,syls:p}))}const n={},i=o.length,l=new Map;for(const u of o){const h=u.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of l.values()){const h=u[0].syls.length;for(let p=0;p<h;p++)for(const m of d){const f=new Map;for(const v of u){let g="";for(let _=0;_<h;_++){_>0&&(g+="~");const b=v.syls[_];_===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 x=f.get(g);x||(x=[],f.set(g,x)),x.push(v)}for(const v of f.values())if(!(v.length<2))for(let g=0;g<v.length;g++){const x=v[g];for(let _=g+1;_<v.length;_++){const b=v[_];x.syls[p][m]!==b.syls[p][m]&&(n[x.word]||(n[x.word]={cho:[],jung:[],jong:[]}),n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[x.word][m].push(b.word),n[b.word][m].push(x.word))}}}c+=u.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let rl=0;async function Sh(e,t={}){const a=p3(e);if(!t.force){if($a&&Wr===a)return $a;const i=Ah();if(i&&i.sig===a)return $a=i.index,Wr=a,$a}const o=++rl,n=await h3(e,t.onProgress);return o===rl&&($a=n,Wr=a,u3(n,a)),n}function jo(){if($a)return $a;const e=Ah();return e?($a=e.index,Wr=e.sig,$a):null}function nl(){rl+=1,$a=null,Wr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(al),localStorage.removeItem(ol))}catch{}}const il={cho:bt,jung:kt,jong:Pt},zt=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&&r3(kt[o.jung],kt[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=>zt(e[m])),d={};for(const m of c){const f=e[m];d[m]=new Set(Array.isArray(f)?f:[f])}const u=n==="pron",h=new Map;for(const m of t){const f=a(i(m));if(f.some(_=>!_))continue;let v=f;if(!u&&(v=a(m),v.length!==f.length||v.some(_=>!_)))continue;const g=f.length,x=h.get(g);x?x.push({w:m,dPron:f,dPos:v}):h.set(g,[{w:m,dPron:f,dPos:v}])}const p=new Map;for(const[m,f]of h){const v=new Map,g=(x,_)=>{const b=x.dPos[_];return b!=null&&c.every(w=>d[w].has(il[w][b[w]]))};for(const x of f){let _;if(l==="head")_=g(x,0)?0:-1;else if(l==="tail")_=g(x,m-1)?m-1:-1;else if(l==="mid"){_=-1;for(let w=1;w<m-1;w++)if(g(x,w)){_=w;break}}else _=x.dPos.findIndex(w=>w!=null&&c.every(C=>d[C].has(il[C][w[C]])));if(_<0)continue;const b=v.get(_);b?b.push(x):v.set(_,[x])}for(const[x,_]of v){const b=c.includes("cho"),w=c.includes("jung"),C=c.includes("jong"),k=A=>{let B="";for(let S=0;S<m;S++){const D=A[S];S===x?B+=(b?"*":D.cho)+"."+(w?"*":D.jung)+"."+(C?"*":D.jong)+".":B+=D.cho+"."+D.jung+"."+D.jong+"."}return B},y=new Map;for(const A of f){const B=k(A.dPron),S=y.get(B);S?S.push(A):y.set(B,[A])}for(const A of _){const B=y.get(k(A.dPron))??[],S=[];for(const D of B){if(D.w===A.w)continue;let N=!0;for(const z of c){const j=A.dPron[x][z],U=D.dPron[x][z];if(U===j){N=!1;break}if(u&&d[z].has(il[z][U])){N=!1;break}}N&&(o&&Gr(A.dPron,D.dPron)||S.push(D.w))}p.set(A.w,S)}}}return p}const Fn=0,Eh=1,Lo=2,cl=3,m3=4,Hn=5,dl=6,Vn=7,b3=8,ul=9,tr=10,g3=11,Ur=12,f3=13,qr=14,Wn=15,Gn=16,Yr=17,v3=18,wa=0,Za=1,x3=3,co=4,pl=5,Kr=6,Ra=7,Ht=8,Dh=9,Nh=10,Un=11,Th=12,hl=13,ar=15,qn=16,Xa=17,jh=18,ml=21,bl=27,C3=20,_3={1:Fn,2:Eh,4:Lo,7:cl,8:Hn,16:dl,17:Vn,19:ul,20:tr,22:Ur,23:qr,24:Wn,25:Gn,26:Yr},y3={[x3]:[Za,tr],[pl]:[co,Ur],[Dh]:[Ht,Fn],[Nh]:[Ht,dl],[Un]:[Ht,Vn],[Th]:[Ht,tr],[hl]:[Ht,Gn],14:[Ht,Yr],[jh]:[Xa,tr]},w3={[Kr]:Lo,[ar]:Hn},gl={2:Za,24:Za,3:Za,9:Za,5:co,6:co,19:Ra,20:Ra,22:Ra,23:Ra,25:Ra,27:Ra,11:Ht,12:Ht,13:Ht,15:Ht,10:qn,14:Xa,18:Xa,26:Xa},Lh={[Fn]:Wn,[cl]:Gn,[Vn]:Yr,[Ur]:qr},Mh={[Fn]:Eh,[cl]:m3,[Vn]:b3,[ul]:tr,[Ur]:f3},k3=new Set([pl,Nh,Un,Th,hl,ar,jh]),B3=new Set(["\uBC1F"]);function $h(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ue);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],d=l.jong;if(!c){l.jong=gl[l.jong]??l.jong;break}if(l.jong===wa)continue;if(c.cho===g3){if(c.jung===C3){if(l.jong===Ra){l.jong=wa,c.cho=Ur;continue}if(l.jong===25){l.jong=wa,c.cho=qr;continue}if(l.jong===hl){l.jong=Ht,c.cho=qr;continue}}if(l.jong===bl){l.jong=wa;continue}const h=w3[l.jong];if(h!==void 0){l.jong=wa,c.cho=h;continue}const p=y3[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=_3[l.jong];m!==void 0&&(l.jong=wa,c.cho=m);continue}if((l.jong===bl||l.jong===Kr||l.jong===ar)&&Lh[c.cho]!==void 0){c.cho=Lh[c.cho],l.jong=l.jong===Kr?co:l.jong===ar?Ht:wa;continue}if((l.jong===bl||l.jong===Kr||l.jong===ar)&&c.cho===ul){c.cho=tr,l.jong=l.jong===Kr?co:l.jong===ar?Ht:wa;continue}if(c.cho===v3){if(l.jong===pl){l.jong=co,c.cho=qr;continue}if(l.jong===Dh){l.jong=Ht,c.cho=Wn;continue}if(l.jong===Un){l.jong=Ht,c.cho=Yr;continue}const h=gl[l.jong]??l.jong;if(h===Za){l.jong=wa,c.cho=Wn;continue}if(h===Ra){l.jong=wa,c.cho=Gn;continue}if(h===Xa){l.jong=wa,c.cho=Yr;continue}}let u=gl[l.jong]??l.jong;d===Un&&B3.has(a[i])&&(u=Xa),l.jong=u,Mh[c.cho]!==void 0&&(u===Za||u===Ra||u===Xa||k3.has(d))&&(c.cho=Mh[c.cho]),(c.cho===Lo||c.cho===dl)&&(l.jong===Za?l.jong=ml:l.jong===Ra?l.jong=co:l.jong===Xa&&(l.jong=qn)),c.cho===Hn?l.jong===co?l.jong=Ht:l.jong===qn||l.jong===ml?c.cho=Lo:l.jong===Za?(l.jong=ml,c.cho=Lo):l.jong===Xa&&(l.jong=qn,c.cho=Lo):l.jong===Ht&&c.cho===Lo&&(c.cho=Hn)}return n.map(i=>ya(i.cho,i.jung,i.jong)).join("")}const or=/[ㄱ-ㅎ]/,A3=/[ㅏ-ㅣ]/;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||or.test(a)||A3.test(a))return a}return null}function fl(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":or.test(t)?"\uC774":"\uAC00"}function vl(e){return`${e}${fl(e)}`}function xl(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":or.test(t)?"\uC744":"\uB97C"}function Cl(e){return`${e}${xl(e)}`}function _l(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":or.test(t)?"\uC740":"\uB294"}function Rh(e){return`${e}${_l(e)}`}function yl(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":or.test(t)?"\uACFC":"\uC640"}function Ph(e){return`${e}${yl(e)}`}function wl(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":or.test(t)?"\uC73C\uB85C":"\uB85C"}function zh(e){return`${e}${wl(e)}`}function kl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function nt(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 ka(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?nt(e,a):nt(e,a).slice(0,t)}const rr={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 S3(e){const t=e?rr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Bl=bt.indexOf("\u3147"),nr={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!==Bl},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!==Bl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!In[e.jong]&&e.cho!==Bl}},E3=new Set([]);function Ih(e){return e in nr}function Oh(e,t){const a=nr[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ue(o[0]);return!!n&&a.syllable(n)}function Fh(e){return E3.has(e)}function D3(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 Al(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 Hh(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 Sl={\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 Vh(e){if([...e].length!==1)return[e];const t=Ue(e);if(!t)return[e];const a=[bt[t.cho],kt[t.jung]];return t.jong!==0&&a.push(Pt[t.jong]),a}function El(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Sl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${D3(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 N3(e,t){return El(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Dl=e=>Sl[e]??e,T3={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function j3(e,t){const a=(d,u)=>{const h=[...d].length===1?Ue(d):null,p=[...u].length===1?Ue(u):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(f=>h[f]!==p[f]);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"?kt:Pt,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 L3(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=j3(l,n);if(c){const d=i?`"${a}"`:`"${a}"\uC758 "${l}"`,u=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${Xr(Dl(c.from))}`,p=`"${c.to}"${Al(Dl(c.to))}`;return c.kind==="add"?`${d}${u} \uBC1B\uCE68 "${c.to}"${Xr(Dl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${d}${u} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${d}${u} ${T3[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Xr(a)} "${n}"${Al(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Xr(o)} "${n}"${Al(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function M3(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}"${Hh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Hh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Wh(e,t,a){switch(S3(e)){case"synthesis":return N3(e,a);case"substitution":return L3(e,t);case"deletion":return M3(e,t);default:return""}}function Gh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Sl[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 $3=e=>e==null?[]:Array.isArray(e)?e:[e];function Jr(e){if([...e].length!==1)return"";const t=Ue(e);if(!t)return"";const a=No(Pt[t.jong]),o=a===""?0:Pt.indexOf(a);return ya(t.cho,t.jung,o<0?0:o)}function Yn(e,t){return t.get(e)||Jr(e)||e}function ir(e){return e?zt(e.cho)?"cho":zt(e.jung)?"jung":zt(e.jong)?"jong":null:null}function Ja(e,t){const a=(n,i)=>!zt(n)||$3(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Pt[e.jong]);return a(t.cho,bt[e.cho])&&a(t.jung,kt[e.jung])&&o}function Mo(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ue(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ue(i)):n.map(i=>Ue(i))}function $o(e,t,a,o,n){const i=t==="cho"?bt:t==="jung"?kt:Pt,l=e[t],c=[],d=p=>t==="jung"?P3(Yn(p,n)):Yn(p,n),u=new Map([[d(a),-1]]),h=nt(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"?ya(p,e.jung,e.jong):t==="jung"?ya(e.cho,p,e.jong):ya(e.cho,e.jung,p),f=d(m),v=u.get(f);if(v!==void 0){t==="jung"&&v>=0&&n.has(m)&&!n.has(c[v])&&(c[v]=m);continue}u.set(f,c.length),c.push(m)}return c}const R3={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function P3(e){if([...e].length!==1)return e;const t=Ue(e);if(!t)return e;const a=R3[kt[t.jung]];return a?ya(t.cho,kt.indexOf(a),t.jong):e}function Nl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>Ue(p));if(c.some(p=>!p))return null;const d=Mo(e,a,o);if(d.some(p=>!p))return null;const u=ir(t);let h=u&&t?d.map((p,m)=>Ja(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 nt(h)){const m=l[p];if(!n.has(m))continue;const f=$o(c[p],u??"cho",m,40,a),v=[];for(const g of f)if(g!==m&&n.has(g)&&!v.includes(g)&&v.push(g),v.length>=2)break;if(!(v.length<2))return{question:e,distractors:[m,...v]}}return null}function Tl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>Ue(p));if(c.some(p=>!p))return null;const d=Mo(e,a,o);if(d.some(p=>!p))return null;const u=ir(t),h=u&&t?d.map((p,m)=>Ja(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of nt(h))for(const m of nt([0,1,2].filter(f=>f!==p&&(i==null||f===i)))){const f=[0,1,2].filter(b=>b!==m),v=f.map(b=>l[b]).join("");if(!n.has(v))continue;const g=f.indexOf(p),x=$o(c[p],u??"cho",l[p],40,a),_=[];for(const b of x){const w=f.map(k=>l[k]);w[g]=b;const C=w.join("");if(C!==v&&n.has(C)&&!_.includes(C)&&_.push(C),_.length>=2)break}if(!(_.length<2))return{question:e,distractors:[v,..._]}}return null}function jl(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const d=[];for(let h=1;h<=c-1;h++)d.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),d.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const u=ir(t);for(const{remain:h,dropped:p,droppedEnd:m}of nt(d)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const f=[...h],v=f.map(_=>Ue(_));if(v.some(_=>!_))continue;const g=Mo(h,a,o);if(g.some(_=>!_))continue;const x=u&&t?g.map((_,b)=>Ja(_,t)?b:-1).filter(_=>_>=0):f.map((_,b)=>b);if(x.length)for(const _ of nt(x)){const b=$o(v[_],u??"cho",f[_],40,a),w=[];for(const C of b){const k=[...f];k[_]=C;const y=k.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 Ll(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ue(a.get(e)||e);if(!l||l.jong===0)return null;const c=ya(l.cho,l.jung,0),d=$o({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const Ml=bt.indexOf("\u3147");function $l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ue(a.get(e)||e);if(!l||l.jong!==0||l.cho===Ml)return null;const c=ya(Ml,l.jung,0),d=$o({cho:Ml,jung:l.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Rl(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 d=0;d<n;d++)l+=d===i?"*":o[d];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function Pl(e,t,a,o,n,i=null,l=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const h=d.map(b=>Ue(b));if(h.some(b=>!b))return null;const p=Mo(e,a,o);if(p.some(b=>!b))return null;const m=b=>a.get(b)??b,f=m(e),v=!!t&&(zt(t.cho)||zt(t.jung)||zt(t.jong)),g=!!l&&(zt(l.cho)||zt(l.jung)||zt(l.jong)),x=b=>{let w=u+"|"+b+"|";for(let C=0;C<u;C++)w+=C===b?"*":d[C];return w};let _;if(i!=null){if(i>=u||v&&!Ja(p[i],t))return null;_=[i]}else v?_=p.map((b,w)=>Ja(b,t)?w:-1).filter(b=>b>=0):_=Array.from({length:u},(b,w)=>w);for(const b of nt(_)){const w=n.get(x(b))??[],C=[],k=[];for(const D of w){if(D===e)continue;const N=[...D].map(T=>Ue(T)),z=h[b],j=N[b];if(!z||!j)continue;let U=0;if(z.cho!==j.cho&&U++,z.jung!==j.jung&&U++,z.jong!==j.jong&&U++,!(U<c||m(D)===f))if(g){const T=Mo(D,a,o)[b];T&&Ja(T,l)?C.push(D):k.push(D)}else C.push(D)}if(!C.length)continue;const y=nt(C)[0],A=[],B=new Set([f,m(y)]),S=g?k:C.filter(D=>D!==y);for(const D of nt(S)){const N=m(D);if(!B.has(N)&&(B.add(N),A.push(D),A.length>=2))break}if(!g&&A.length<2)for(const D of nt(w)){if(D===e||D===y)continue;const N=m(D);if(!B.has(N)&&(B.add(N),A.push(D),A.length>=2))break}if(!(A.length<2))return{question:e,distractors:[y,...A]}}return null}const z3=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof wt?.t=="function"?wt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Qr(e,t){if(t===void 0&&(t=z3()),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.",I3=()=>{const e=typeof wt?.t=="function"?wt.t("common.networkError",{defaultValue:Kn}):void 0;return typeof e=="string"&&e?e:Kn};function zl(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Uh(e){return zl(e)?I3():e}function qh(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Yh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Kh(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 O3=1e3;function Zh(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),O3)}const Xh="__ihab_core_word_pool__";function F3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Jh(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[Xh]=o,F3()}function Ro(){return globalThis[Xh]??null}const sr=globalThis;function Il(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Qh(e){sr.__ihabTrainingTimeLogger=e}function Ol(e){Il("time",()=>sr.__ihabTrainingTimeLogger?.(e))}function em(e){sr.__ihabTrainingCompletionLogger=e}function Fl(e){Il("completion",()=>sr.__ihabTrainingCompletionLogger?.(e))}function tm(e){sr.__ihabCrosswordLogger=e}function am(e){Il("crossword",()=>sr.__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 sa(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Hl(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 Vl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:sa(o.contextCode)??sa(o.itemId)??sa(o.itemCode)??sa(o.id),question:sa(o.question)??sa(o.q)??sa(o.sentence)??sa(o.text)??sa(o.prompt)??sa(o.word)??sa(o.targetSyllable),answer:sa(o.answer),selected:sa(o.selectedText)??sa(o.selected),correct:Hl(o),shownAt:Zn(o.shownAt)??Zn(o.shown_at),answeredAt:Zn(o.answeredAt)??Zn(o.answered_at)}}):[]}function om(e){return e.filter(t=>t.correct===!1)}let rm=null,nm=null,im=null;function sm(e){rm=e}function lm(e){nm=e}function cm(e){im=e}async function dm(e,t){try{return await rm?.(e,t)??null}catch{return null}}async function um(){try{return await nm?.()??null}catch{return null}}async function pm(e,t){try{return await im?.(e,t)??null}catch{return null}}const Xn=globalThis;function hm(e){Xn.__ihabNoiseSettingsStore=e}async function Wl(){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 lr(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 mm=en;function bm(e,t){return`${e}/${en(t)}.mp3`}function gm(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`,d=`${t}/${c}`;try{if(await Ts(d)){const u=await Pr(d);if(u)return u}}catch{}if(e.generator)try{const u=await e.generator(l,d,e);if(u)return u}catch{}try{const u=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function Gl(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 cr="Asia/Seoul",H3=/^(\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=H3.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 fm(e){const t=tn(e);return t?t.toLocaleDateString("ko-KR",{timeZone:cr,year:"numeric",month:"short",day:"numeric"}):""}function vm(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:cr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Ul(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleDateString(a,{timeZone:cr,year:"numeric",month:"short",day:"numeric"}):""}function xm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleString(a,{timeZone:cr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Cm(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:cr,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function _m(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:cr,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function va(){return Pa(new Date)}function ql(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:va()}function uo(){return Yl(va())}const V3=540*60*1e3;function ei(e,t,a){return new Date(Date.UTC(e,t,a)-V3)}function Yl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Pa(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),d=Math.floor(c/7),u=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}):d<5?t("store.time.weeksAgo",{n:d}):c<365?t("store.time.monthsAgo",{n:Math.min(u,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=Pa(e instanceof Date?e:String(e));if(!l)return i;const[c,d,u]=l.split("-"),h=o?d:String(Number(d)),p=o?u:String(Number(u));return`${c}${a}${h}${a}${p}${n?".":""}`}function ym(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 wm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,W3=String.raw`1[5-9]\d{2}-\d{4}`,Kl=new RegExp(`^(?:${wm}|${W3})$`),Zl=new RegExp(`^${wm}$`);function km(e){return Kl.test(e)}function Bm(e){return Zl.test(e)}function Am(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=Pa(e);return t?t.replace(/-/g,"."):void 0}}}function Sm(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 G3=[{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"}]}],U3=[{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 Xl=null;function Em(e){Xl=e}function ri(){return Xl?.topicTypes??G3}function Jl(){return Xl?.trainingTypes??U3}const Dm="ihab_theme",Nm="light";function Ql(){try{const e=localStorage.getItem(Dm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return Nm}function ec(e){const t=e==="light"||e==="dark"||e==="auto"?e:Nm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(Dm,t)}catch{}}function Tm(){ec(Ql())}const jm="ihab_font_scale",q3="medium",Y3=["medium","large1","large2","large3"];function tc(){try{const e=localStorage.getItem(jm);if(Y3.includes(e))return e}catch{}return q3}function ac(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(jm,e)}catch{}}function Lm(){ac(tc())}const po=[],ho=[],mo=[],bo=[],on={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},rn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},K3={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let oc=null,Mm=null,go=null;function rc({counts:e,forceRefresh:t}={}){const a=Object.assign({},K3,e||{}),o=va(),n=Pa(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&Mm===o&&oc===i&&go)return Object.assign(on,go.today),Object.assign(rn,go.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:on,yesterday:rn};const l={LISTEN_IN_NOISE:ka(po,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:ka(ho,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:ka(mo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:ka(bo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return go&&oc===i&&go.yesterday&&go.yesterday.date===n&&(c=go.yesterday.selection),c||(c={LISTEN_IN_NOISE:ka(po,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:ka(ho,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:ka(mo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:ka(bo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(on,l),Object.assign(rn,c),Mm=o,oc=i,go={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:on,yesterday:rn}}function $m(){return{today:on,yesterday:rn}}function nc(){return{LISTEN_IN_NOISE:po,SHORT_STORY:ho,LONG_STORY:mo,ORDERING_SENTENCE:bo}}let ni=!1,nn=null;async function Z3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:fa&&fa.tagName.toUpperCase()==="SCRIPT"&&fa.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 ic(){if(!ni)return nn||(nn=(async()=>{const e=await Z3();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||""),d=String(i.category_sub_code||i.category_sub||i.category_1||""),u=Object.assign({},i,{training_type:l,category_0:c,category_1:d});l==="LISTEN_IN_NOISE"?t.noise.push(u):l==="SHORT_STORY"?t.short.push(u):l==="LONG_STORY"?t.long.push(u):l==="ORDERING_SENTENCE"&&t.order.push(u)}}}catch{nn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}po.push(...t.noise),ho.push(...t.short),mo.push(...t.long),bo.push(...t.order),ni=!0;try{rc()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),nn)}function Rm(){return ni}async function sc(e=3e3){const t=ic();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return ni}const lc=[{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."}],Pm=[{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 zm(e){return lc.map(t=>{const a=ii[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let si=null,Im=null,Om=null;function X3(){const e=Ro();if(e&&e.entries.length>0){const t=jo();if(si&&Im===e&&Om===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,Im=e,Om=t,si}return[]}const Qa=new Proxy([],{get(e,t){const a=X3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function cc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ba(e,t){if(t>=e.length)return nt(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 dc=null,Fm=null;function fo(){const e=Ro();if(dc&&Fm===e)return dc;const t=new Map;for(const a of Qa)a.w&&t.set(a.w,a.pron);return dc=t,Fm=e,t}function Vt(e){return fo().get(e)||e}function li(e,t,a=new Set){const o=[];for(const n of nt(e)){if(o.length>=t)break;const i=Vt(n);a.has(i)||(a.add(i),o.push(n))}return o}let J3=0;function Yt(e){return`${e}-rt-${++J3}`}function ur(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=ph(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ci=new Map;let Hm=null,Vm=null;function sn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function uc(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 pc=new Map;function Q3(e){return uc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Ro(),a=jo();(t!==Hm||a!==Vm)&&(ci.clear(),pc.clear(),Hm=t,Vm=a);const o=uc(e);return ci.has(o)||ci.set(o,e8(e)),ci.get(o)}function Wm(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 Gm(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?[Wm(a),o?l=>o.has(To(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?Vt(l.w):l.w;return n.every(d=>d(c))}}async function e8(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,d=e.phonemeView==="pron"?"pron":"char",u=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&u>=2,m=t==="count",f=a?new Set(Array.isArray(a)?a:[a]):null,v=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Wm(o),v?P=>v.has(To(P)):null].filter(P=>P!=null):[],x=t==="random"||t===null,_=x||m,b=x||p||m;let w=Qa.filter(P=>!P.w||l&&(!P.grade||!l.has(P.grade))?!1:b?!0:Array.isArray(P.p)&&P.p.length>0);f&&(w=w.filter(P=>{for(const W of f)if(n3(P.w,W))return!0;return!1})),g.length>0&&(w=w.filter(P=>{const W=d==="pron"?Vt(P.w):P.w;return g.every($=>$(W))})),n&&(w=w.filter(P=>P.w[0]===n));let C;if(i){const P=new Set;for(const W of w)if(P.add(W.w),Array.isArray(W.p))for(const $ of W.p)P.add($);if(_)for(const W of Qa)W.w&&P.add(W.w);C=ur(P)}else{const P=new Set;for(const W of w)if(P.add(W.w),Array.isArray(W.p))for(const $ of W.p)P.add($);if(_)for(const W of Qa)W.w&&P.add(W.w);C=P}let k=null;if(p){const P=new Set;for(const W of Qa)W.w&&P.add(W.w);k=i?ur(P):P}const y=w.filter(P=>C.has(P.w)),A=600,B=Array.from(C),S=B.length>A?Ba(B,A):B,D=m&&o!=null&&(zt(o.cho)||zt(o.jung)||zt(o.jong)),N=2500,z=new Map;if(m&&!D&&u>=2){for(const P of B){const W=To(P),$=z.get(W);$?$.push(P):z.set(W,[P])}for(const[P,W]of z)W.length>N&&z.set(P,Ba(W,N))}const j=Gs();let U=null;if(D){const P=Q3(e),W=i?ph():null,$=pc.get(P);U=$&&$.\uC774\uBBF8\uC9C0\uC9D1\uD569===W?$.map:ll(o,B,j,c,d,Vt),pc.set(P,{\uC774\uBBF8\uC9C0\uC9D1\uD569:W,map:U})}const T=500,L=1500,I=e.fullCount?y:t==="random"?y.length>T?Ba(y,T):y:y.length>L?Ba(y,L):y,Y=jo(),Q=[];for(const P of I){let W;const $=Vt(P.w);if(p)W=c3(P.w,t,u,k,24).filter(F=>Vt(F)!==$);else if(m)D?W=(U.get(P.w)??[]).filter(F=>Vt(F)!==$):u<=1?W=On(P.w,Y,{okSet:C,pronOf:Vt,decompOf:j,sameStructureOnly:!1}):W=(z.get(To(P.w))??[]).filter(F=>{if(F===P.w||Vt(F)===$)return!1;const E=d3($,Vt(F));return u>=5?E>=5:E===u});else if(x){const F=E=>E!==P.w&&E.length===P.w.length&&Vt(E)!==$;if(e.fullCount){const E=Math.max(1,(e.choicesPerItem??3)-1),H=[],R=new Set;for(const O of S){if(!F(O))continue;const V=Vt(O);if(!R.has(V)&&(R.add(V),H.push(O),H.length>=E))break}W=H}else W=S.filter(F)}else{const F=t;W=On(P.w,Y,{kind:F,okSet:C,pronOf:Vt,decompOf:j,sameStructureOnly:!1}),W.length===0&&(W=(S.length>30?Ba(S,30):S).filter(E=>E!==P.w&&Us(P.w,E)===t&&Vt(E)!==$))}if(c&&W.length>0&&(h||m&&!D)){const F=j(Vt(P.w));W=W.filter(E=>!Gr(F,j(Vt(E))))}W.length!==0&&Q.push({word:P,usable:W})}return Q}async function Um(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 nt(i)){if(l.length>=o)break;const d=li(c.usable,n);if(d.length<n)continue;const u=nt([c.word.w,...d]);l.push({id:Yt(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:u,answerIndex:u.indexOf(c.word.w)})}return l}async function t8(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=nt([...n]);for(const d of c){if(l.length>=a)break;const u=d.word.w,h=[...d.word.pron||u],p=i&&ir(i)?h.filter(x=>{const _=Ue(x);return!!_&&Ja(_,i)}):[],m=cc(p.length?p:h);if(!m)continue;const f=n.filter(x=>x.word.w!==u&&x.word.s===d.word.s&&!(x.word.pron||x.word.w).includes(m)&&x.word.pron!==d.word.pron);if(f.length<o)continue;const v=li(f.map(x=>x.word.w),o);if(v.length<o)continue;const g=nt([u,...v]);l.push({id:Yt("HPI-item"),index:l.length+1,targetSyllable:m,word:u,choices:g,answerIndex:g.indexOf(u)})}return l}async function a8(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?Ba(a,t):nt(Array.from({length:t},(i,l)=>a[l%a.length])),n=nt(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let d;if(c)d=[i.word.w,i.word.w];else{const u=cc(i.usable);d=Math.random()<.5?[i.word.w,u]:[u,i.word.w]}return{id:Yt("SOD-item"),index:l+1,word:i.word.w,pair:d,same:c}})}async function o8(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]??"",d={};for(const m of n){const f=c(m.word.w);f&&(d[f]||(d[f]=[]),d[f].push(m.word.w))}const u=Object.entries(d).filter(([,m])=>m.length>=2).map(([m])=>m);if(u.length===0)return[];const h=[],p=nt([...u]);for(let m=0;h.length<a&&m<a*4;m++){const f=p[m%p.length],v=d[f];if(v.length<2)continue;const g=nt([...v]),x=g[0],_=g[1];if(!x||!_||x===_||(l.get(x)||x)===(l.get(_)||_))continue;const b=l.get(_)||_,w=i.filter(y=>c(y)!==f&&y!==x&&y!==_&&y.length===_.length&&(l.get(y)||y)!==b);if(w.length<o)continue;const C=li(w,o);if(C.length<o)continue;const k=nt([_,...C]);h.push({id:Yt("SWS-item"),index:h.length+1,sourceWord:x,targetSyllable:f,word:_,choices:k,answerIndex:k.indexOf(_)})}return h}function qm(e,t,a){const o=fo(),n=d=>o.get(d)||d,i=(d,u)=>{const h=[...d],p=[...u];if(h.length!==p.length)return-1;let m=-1;for(let f=0;f<h.length;f++)if(h[f]!==p[f]){if(m>=0)return-1;m=f}return m},l=e.map(d=>({e:d,swaps:d.usable.filter(u=>!!u&&i(d.word.w,u)>=0&&n(u)!==n(d.word.w))})).filter(d=>d.swaps.length>0),c=[];for(const{e:d,swaps:u}of nt(l)){if(c.length>=t)break;const h=cc(u)??"",p=[...d.word.w],m=[...h],f=i(d.word.w,h),v=li(d.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(d.word.w)]));v.length<2||c.push({id:Yt(a),index:c.length+1,word:d.word.w,original:d.word.w,changed:h,changedFrom:f>=0?p[f]:"",changedTo:f>=0?m[f]:"",distractors:v})}return c}async function Ym(e,t,a){const{count:o=10}=t,n=fo(),i=Qa.filter(v=>v.w&&v.s===e),l=t.excludeNoImage?ur(i.map(v=>v.w)):null,c=l?i.filter(v=>l.has(v.w)):i,d=new Set(c.map(v=>v.w)),u=Rl(d),h=t.phonemeView??"char",p=t.composition??null,m=Gm(t),f=[];for(const v of nt(c)){if(f.length>=o)break;if(m&&!m(v))continue;const g=Pl(v.w,p,n,h,u,null,null);if(!g)continue;const x=g.distractors[0],_=[...v.w],b=[...x],w=_.findIndex((C,k)=>C!==b[k]);f.push({id:Yt(a),index:f.length+1,word:v.w,original:v.w,changed:x,changedFrom:w>=0?_[w]:"",changedTo:w>=0?b[w]:"",distractors:g.distractors.slice(1)})}return f}async function r8(e){return Ym(2,e,"CS2-item")}async function n8(e){return Ym(3,e,"CS3-item")}async function i8(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return qm(t,e.count??10,"CP1-item")}async function s8(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 qm(a,e.count??10,"CP2-item")}async function l8(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ba(a,t).map((o,n)=>({id:Yt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function c8(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ba(a,t).map((o,n)=>({id:Yt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function hc(e){const t=Qa.map(a=>a.w);return e.excludeNoImage?ur(t):new Set(t)}async function d8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=Nl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=[...c.word.w],m=p[0]===u?p[1]:p[0];l.push({id:Yt("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:h})}return l}async function u8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=Tl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=[...c.word.w];let m="";for(let f=0;f<p.length;f++)if(p.filter((v,g)=>g!==f).join("")===u){m=p[f];break}l.push({id:Yt("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:h})}return l}async function p8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=jl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=c.word.w,m=d.dropped??(p.startsWith(u)?p.slice(u.length):p.endsWith(u)?p.slice(0,p.length-u.length):"");l.push({id:Yt("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:u,distractors:h})}return l}async function h8(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=Ba(a,3);return{id:Yt("LRO-item"),index:n+1,sequence:i,choices:nt(i)}})}function di(e,t,a){const o=Qa.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?ur(o.map(c=>c.w)):null,i=Gm(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const d=Ue(c.w);if(!d||!a(d))continue}l.push(c)}return l}function m8(e){const t=di(1,e,nr.MERGE_2_PHONEMES.syllable);return Ba(t,e.count??10).map((a,o)=>{const n=Ue(a.w);return{id:Yt("M2P-item"),index:o+1,parts:[bt[n.cho],kt[n.jung]],answer:a.w,word:a.w}})}function b8(e){const t=di(1,e,nr.MERGE_3_PHONEMES.syllable);return Ba(t,e.count??10).map((a,o)=>{const n=Ue(a.w);return{id:Yt("M3P-item"),index:o+1,parts:[bt[n.cho],kt[n.jung],Pt[n.jong]],answer:a.w,word:a.w}})}function g8(e){const t=nr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=di(t.syllables,e,t.syllable),o=fo(),n=[];for(const i of nt(a)){if(n.length>=(e.count??10))break;const l=Ll(i.w,null,o);if(!l)continue;const[c,...d]=l.distractors;n.push({id:Yt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function f8(e){const t=nr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=di(t.syllables,e,t.syllable),o=fo(),n=[];for(const i of nt(a)){if(n.length>=(e.count??10))break;const l=$l(i.w,null,o);if(!l)continue;const c=Ue(o.get(i.w)||i.w);if(!c)continue;const[d,...u]=l.distractors;n.push({id:Yt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:bt[c.cho],remaining:d,distractors:u})}return n}const ui=new Map;let Km=null,Zm=null;async function Xm(e,t={}){const a=Ro(),o=jo();(a!==Km||o!==Zm)&&(ui.clear(),Km=a,Zm=o);const n=`${e}:${uc(t)}`;if(ui.has(n))return ui.get(n);const i=await x8(e,t);return ui.set(n,i),i}const v8={SAME_SOUND_PICK:e=>Um("SSP",e),HEAR_AND_PICK_SAME:e=>Um("HPS",e),HEAR_AND_PICK_INCLUDED:e=>t8(e),SAME_OR_DIFF:e=>a8(e),STARTS_WITH_SAME_SOUND:e=>o8(e),LISTEN_AND_REMEMBER_ORDER:e=>h8(e),MERGE_2_SYLLABLES:e=>l8(e),MERGE_3_SYLLABLES:e=>c8(e),MERGE_2_PHONEMES:e=>m8(e),MERGE_3_PHONEMES:e=>b8(e),DROP_1_FROM_2SYLL:e=>d8(e),DROP_1_FROM_3SYLL:e=>u8(e),DROP_PART_FROM_COMPOUND:e=>p8(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>g8(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>f8(e),CHANGE_1_SYLL_IN_2SYLL:e=>r8(e),CHANGE_1_SYLL_IN_3SYLL:e=>n8(e),CHANGE_1_PHONEME_IN_1SYLL:e=>i8(e),CHANGE_1_PHONEME_IN_2SYLL:e=>s8(e)};async function x8(e,t={}){const a=v8[e];return a?await a(t):[]}async function C8(e){const t=["random","count"],a=Object.keys(rr);let o=0;for(const n of t)for(const i of a){const l=rr[i];Xm(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 _8(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=>Vt(n))).size>=a).length}async function y8(e={}){const t=[];for(const c of Qa)c.w&&t.push(c.w);const a=e.excludeNoImage?ur(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(To(c));for(const d of c){const u=Ue(d);if(u&&(bt[u.cho]!=="\u3147"&&o.add(bt[u.cho]),n.add(kt[u.jung]),u.jong>0)){i.add(Pt[u.jong]);const h=In[u.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const Jm={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}},Qm={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},w8=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function eb(e){return w8.has(e)}const tb={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 ab(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 ob=5,rb=5;function nb({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const ib={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},sb="chunk-reload-ts";function lb(){try{return Number(sessionStorage.getItem(sb)||0)}catch{return 0}}function pi(e=Date.now()){if(e-lb()<=1e4)return!1;try{sessionStorage.setItem(sb,String(e))}catch{}return window.location.reload(),!0}function mc(e=Date.now()){const t=lb();return t>0&&e-t<=1e4}function cb(){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 db(e,t){return e?!!t&&t.access_token===e.access_token:!0}function ub(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(mc())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 pb(...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 hb=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 k8=Object.freeze({__proto__:null,CAPABILITY:rr,CHOSEONG:bt,CORE_VERSION:jn,JONGSEONG:Pt,JUNGSEONG:kt,LONG_STORIES:mo,NETWORK_ERROR_MESSAGE:Kn,NOISE_DATAS:po,ORDER_SETS:bo,PERSONAL_PHONE_REGEX:Zl,PHONE_REGEX:Kl,PLAN_FEATURES:Jm,PLAN_LIMITS:tb,SHORT_STORIES:ho,TIER_RANK:Qm,TOPIC_TYPES:Pm,TRAINING_TYPES:lc,TRAINING_TYPE_I18N_KEY:ii,WORD_SUGGESTION_ACCOUNT_LIMIT:rb,WORD_SUGGESTION_EXISTING_ERROR:ib,WORD_SUGGESTION_WEEKLY_QUOTA:ob,applyFontScale:ac,applyTheme:ec,buildChangeWholeSyllableProblem:Pl,buildDropCompoundProblem:jl,buildDropContrast3Problem:Tl,buildDropContrastProblem:Nl,buildDropFinalConsonantProblem:Ll,buildMultiPartPosContrast:ll,buildPairIndex:Sh,buildRemoveConsonantProblem:$l,buildSyllableMaskIndex:Rl,bulkSetImageExistence:hh,cardQuestionTitle:Wh,checkImageExists:Vr,classifyPairDifficulty:Us,clearAudioExistsCache:Qp,clearImageExistenceCache:Vs,clearPairIndexCache:nl,composeSyllable:ya,computeDailySelection:rc,configureImageResolver:ih,configureNoiseSettingsStore:hm,configurePronunciationResolver:th,configureStorage:Ns,configureTTS:Jp,configureTrainingCategories:Em,copyText:Gl,createDecompCache:Gs,createTTSUrlResolver:gm,dateToDb:Sm,downloadCsvText:Zh,downloadSound:$n,ensureTrainingDataLoaded:sc,escapeCsvField:Kh,fileExists:Ts,filterContrastCandidates:sl,finalToPhoneme:No,firstChoseongOf:qs,formatCount:an,formatDateKo:fm,formatDateLocale:Ul,formatDateLongKo:vm,formatDateLongLocale:xm,formatDatetimeKo:Cm,formatPhone:ym,formatRelativeTime:ti,formatTimeHM:oi,formatYmd:ai,getAssetBaseUrl:Es,getDailySelection:$m,getElementAnalyser:Os,getElementVolume:Qo,getErrorMessage:Qr,getImageExistenceStats:zn,getImageExistsCached:dh,getImageResolver:lo,getNoiseBaseUrl:js,getNoiseFileGain:Ls,getPairIndex:jo,getPlanTier:ab,getPronunciationResolver:Rs,getSavedFontScale:tc,getSavedTheme:Ql,getSignedOrPublicUrl:Pr,getTTSFallbackUrlResolver:$s,getTTSUrlResolver:zr,getTodayKst:va,getTodayKstDate:uo,getTopicTypes:ri,getTrainingPools:nc,getTrainingTypes:Jl,getWordPool:Ro,hasQuestionWordConstraint:Ih,hasSel:zt,hasStructureContrast:Gr,initFontScale:Lm,initTheme:Tm,installSkewRecovery:cb,isAllChoseong:Ks,isManagerTier:eb,isManualOnlyType:Fh,isNetworkErrorMessage:zl,isPersonalPhone:Bm,isSessionForThisTab:db,isSyllablePattern:el,isThisWeekPick:nb,isTrainingDataLoaded:Rm,isValidPhone:km,isValidQuestionWord:Oh,itemCorrectness:Hl,jamoToNamesForSpeech:Gh,kstStartOfDay:ei,lazyPage:ub,loadGameLeaderboard:pm,loadMyGameRanks:um,loadNoiseSettings:Wl,loadTrainingData:ic,logCrossword:am,logTrainingCompletion:Fl,logTrainingTime:Ol,matchSyllables:Mo,matchesChoseongSearch:mh,matchesSyllablePattern:tl,matchesWordQuery:bh,mergeQuestionText:El,minimalPairDistractors:On,normalizeDate:Am,officialSoundPath:bm,parseLocalYmd:Yl,parseSortValue:Yh,parseSyllable:Ue,patternToComposition:wh,phonemePartsOf:Vh,pickEuRo:wl,pickEulReul:xl,pickEunNeun:_l,pickIga:fl,pickWaGwa:yl,prefetchChunk:pb,prewarmImageCache:uh,primarySelPart:ir,readLevel:Fs,recoverFromSkew:pi,reorderArray:kl,reportAppliedNoiseSettings:lr,resolveAssetUrl:Rr,resolveSoundPath:Mn,resumeAudioMeter:Or,routeElementAudio:Jo,sample:ka,saveNoiseSettings:Jn,searchAndRankWords:Bh,setAssetBaseUrl:Zp,setCrosswordLogger:tm,setElementVolume:La,setGameLeaderboardLoader:cm,setGameRanksLoader:lm,setGameScoreSubmitter:sm,setTrainingCompletionLogger:em,setTrainingTimeLogger:Qh,setWordPool:Jh,shuffle:nt,skewReloadPending:mc,sortToValue:qh,soundOf:Yn,speak:qp,stopSpeaking:Yp,submitGameScore:dm,syllMatchesComp:Ja,syllableContrasts:$o,syllableLength:To,syllablePron:Jr,toBase64UrlSafe:mm,toChoseong:Ys,toItemResults:Vl,toKstHm:_m,toKstYmd:Pa,toStandardPronunciation:$h,toStorageName:en,toUserErrorMessage:Uh,toWordEntry:hb,validateSyllableSearchInput:kh,withEuRo:zh,withEulReul:Cl,withEunNeun:Rh,withIga:vl,withWaGwa:Ph,wordContainsChoseong:fh,wordContainsJongseong:Ch,wordContainsJungseong:vh,wordHasConsonantAt:_h,wordHasNoCoda:Xs,wordHasSyllableMatching:Qs,wrongItems:om});function B8(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 A8(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&B8(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 S8(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,d]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const u=e.split("/").pop();let h=e;u&&(e.startsWith("/")?h=Rr(e):/^(Logo|Symbol)/i.test(u)?h=Rr(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let u=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(u)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const f=await fetch(t);if(!f.ok)throw new Error("not ok");const v=await f.text();if(u)return;if(/^\s*<svg[\s>]/i.test(v)){const g=A8(v);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{u||n("none")}}return h(),()=>{u=!0}},[t]),s.useEffect(()=>{let u=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{u||(h=URL.createObjectURL(p),d(h))}).catch(()=>{u||n("img")}),()=>{u=!0,h&&URL.revokeObjectURL(h),d(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var E8=".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)}";ie(E8);function at(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:d}=e||{},u=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",f=typeof t=="string"?t:null,v=m5(f),{iconToUse:g,mode:x,svgText:_,blobUrl:b}=S8(f),w=(B,S={})=>r.jsx("span",{className:u,style:c,...S,children:B}),C=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,k=(B,S={})=>r.jsx("img",{src:B,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...S,style:C?{...S.style,...C}: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(v)try{return w(s.createElement(v,{className:m,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(x==="mask"){const B={"--icon-url":b?`url(${b})`:`url(${g})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return w(r.jsx("span",{className:p,style:B}),{"aria-hidden":"true"})}return x==="img"?w(k(g,{onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):x==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Rr(t),{style:c,onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}});const y=typeof d=="number"?d:20,A=`<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:A}}),{"aria-hidden":"true"})}function mb(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 bb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=mb(o?.onClick);return r.jsxs("div",{className:Ee("empty-state",n),children:[e&&r.jsx(at,{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(at,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var D8=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";ie(D8);function gb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=ye.useTranslation(),{pending:c,press:d}=mb(o);return r.jsxs("div",{className:Ee("empty-state","error-state",i),role:"alert",children:[r.jsx(at,{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:d,disabled:c,"aria-busy":c||void 0,children:[r.jsx(at,{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 N8=".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)}";ie(N8);function fb({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const d=s.useId(),u=`${d}-title`,h=`${d}-desc`,p=`${d}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":u,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m())},className:Ee("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(at,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:u,className:"action-card__title",children:t}),r.jsx("p",{id: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(at,{icon:"arrow-right",size:18})})]})]})})}function vb({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=Ee("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function bc(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(za)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],d=document.activeElement,u=d===a;n.shiftKey&&(d===l||u)?(n.preventDefault(),c.focus()):!n.shiftKey&&d===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const za='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',gc=new WeakMap;function fc(e,t){e&&gc.set(e,t)}function vc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!gc.has(o);)o=o.parentElement;if(!o)return t;t=gc.get(o)??null}return t}function xb(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(xb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(za)).filter(d=>!(e&&e.contains(d))&&xb(d));let i=null,l=null;for(const d of n)o.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:l||(l=d);const c=i??l;return c?.focus(),c}var T8=".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)}}";ie(T8);function Cb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=ye.useTranslation(),[d,u]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&hi(g),u(!0)},[]);if(d)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),f=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,x)=>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((_,b)=>r.jsx("span",{className:"notice-box__line body-3",children:_},b))}):g.children??null})]},x)),f]});const v=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,x)=>r.jsx("li",{className:"notice-box__line",children:g},x))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[v,f]})}var j8=".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}}";ie(j8);var L8=".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}";ie(L8);const pr=[];let mi=!1;function _b(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=pr[pr.length-1];t&&(e.stopPropagation(),t())}function Po(e){return pr.push(e),!mi&&typeof document<"u"&&(document.addEventListener("keydown",_b),mi=!0),()=>{const t=pr.lastIndexOf(e);t>=0&&pr.splice(t,1),pr.length===0&&mi&&typeof document<"u"&&(document.removeEventListener("keydown",_b),mi=!1)}}const bi=s.createContext(null);function M8(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const yb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function $8(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 op.useSyncExternalStore(t,()=>yb(e),()=>!1)}function R8(e){const[t,a]=s.useState(yb(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 P8=typeof op.useSyncExternalStore=="function"?$8:R8;function la(e){const t=s.useContext(bi),a=P8(e);return t&&typeof t.mobile=="boolean"&&M8(e)?t.mobile:a}const z8="(prefers-reduced-motion: reduce)";function xc(){return la(z8)}function xa(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:d="dialog",ariaLabel:u="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:f=!0,header:v,focusOnOpen:g}=e||{},x=s.useRef(null),[_,b]=s.useState({position:"fixed",left:0,top:-9999}),[w,C]=s.useState(!1),[k,y]=s.useState("bottom"),[A,B]=s.useState(!1),[S,D]=s.useState(!1),N=!t&&!a,z=s.useCallback((W=!1)=>{if(S&&m)return;const $=a?a.getBoundingClientRect():t;if(!$||!x.current)return;const F=x.current,{offsetWidth:E,offsetHeight:H}=F,R=window.innerWidth,O=window.innerHeight,V=R-$.right,Z=$.left,ee=$.top,X=O-$.bottom;let ne=0,ae=0,pe="top";if(ee>=H+o)pe="top",ae=$.top-o-H,ne=$.left+$.width/2-E/2;else if(X>=H+o)pe="bottom",ae=$.bottom+o,ne=$.left+$.width/2-E/2;else if(V>=E+o)pe="right",ne=$.right+o,ae=$.top+$.height/2-H/2;else if(Z>=E+o)pe="left",ne=$.left-o-E,ae=$.top+$.height/2-H/2;else{const Ce=Math.max(ee,X,V,Z);Ce===ee?(pe="top",ae=$.top-o-H,ne=$.left+$.width/2-E/2):Ce===X?(pe="bottom",ae=$.bottom+o,ne=$.left+$.width/2-E/2):Ce===V?(pe="right",ne=$.right+o,ae=$.top+$.height/2-H/2):(pe="left",ne=$.left-o-E,ae=$.top+$.height/2-H/2)}const De=Number.isFinite(Number(n))?Number(n):8;ne=Math.min(Math.max(ne,De),R-E-De),ae=Math.min(Math.max(ae,De),O-H-De);const q=Math.round(ne),le=Math.round(ae);W&&x.current?(x.current.style.left=`${q}px`,x.current.style.top=`${le}px`,x.current.dataset.placement=pe):(y(pe||k),b({position:"fixed",left:q,top:le}),B(!0))},[S,m,a,t,o,n,k]);s.useLayoutEffect(()=>{if(N)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const W=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(W)},[t,a,o,h,n,N,S,m,z]),s.useEffect(()=>{if(N||S&&m||!x.current||typeof ResizeObserver>"u")return;const W=new ResizeObserver(()=>{t&&z()});return W.observe(x.current),()=>W.disconnect()},[t,h,n,N,S,m,z]),s.useEffect(()=>{if(N||S&&m)return;const W=()=>z(!0),$=F=>{if(!a&&i){const E=F.target;if(E&&x.current&&x.current.contains(E))return;try{if(E&&E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}W()};return window.addEventListener("resize",W),document.addEventListener("scroll",$,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",W),document.removeEventListener("scroll",$,{capture:!0})}},[t,a,i,o,h,n,N,S,m,z]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const W=window.matchMedia("(max-width: 768px)"),$=()=>D(!!W.matches);$();try{W.addEventListener?W.addEventListener("change",$):W.addListener($)}catch{try{W.addListener($)}catch{}}return()=>{try{W.removeEventListener?W.removeEventListener("change",$):W.removeListener($)}catch{}}},[]);const j=s.useRef(!1),U=s.useRef(null),T=xc(),L=s.useCallback((W=!1)=>{if(i&&!(w||j.current)){if(j.current=!0,W){C(!0);try{i&&i()}catch{j.current=!1,C(!1)}return}C(!0),U.current=setTimeout(()=>{U.current=null;try{i&&i()}catch{j.current=!1,C(!1)}},T?0:200)}},[w,i,C,T]);s.useEffect(()=>()=>{U.current&&clearTimeout(U.current)},[]),s.useEffect(()=>{if(N)return;const W=E=>{const H=x.current;if(!H)return;const R=E.target;if(R&&!H.contains(R)){try{if(R.closest&&R.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},$=E=>{const H=x.current;if(!H)return;const R=E.target;if(R&&!H.contains(R)){try{if(R.closest&&R.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},F=E=>{if(E.key==="Tab"){const H=x.current;if(!H)return;const R=H.querySelectorAll(za);if(!R||R.length===0)return;const O=R[0],V=R[R.length-1],Z=document.activeElement;E.shiftKey?Z===O&&(E.preventDefault(),V.focus()):Z===V&&(E.preventDefault(),O.focus())}};return document.addEventListener("pointerdown",W,!0),document.addEventListener("click",$,!0),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",W,!0),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",F)}},[i,l,L,N]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const Y=!!i;s.useEffect(()=>{if(!(N||!Y))return Po(()=>I.current())},[N,Y]),s.useEffect(()=>{const W=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",W),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",W)}},[L]);const Q=s.useRef(null);s.useEffect(()=>{if(N||g===!1||!A)return;const W=x.current;if(!W)return;const $=W.querySelector(za);if($)return Q.current=document.activeElement,$.focus(),()=>{const F=Q.current;Q.current=null,F&&document.contains(F)&&F.focus()}},[N,g,A]),s.useEffect(()=>{d==="dialog"&&!u&&na("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.')},[d,u]);const P=r.jsxs("div",{ref:x,className:`tooltip-content ${N?"tooltip-content--inline":""} ${f?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:N?{}:{..._,visibility:A?"visible":"hidden"},tabIndex:-1,"data-placement":k,"data-left":N?"":_.left,"data-top":N?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[v!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:v}),h]});if(N||typeof document>"u")return P;if(p||S&&m){const W=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),P]});return pa.createPortal(W,document.body)}return pa.createPortal(P,document.body)}var I8='.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}';ie(I8);function Aa(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 O8=".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)}";ie(O8);function vo(e){const{t}=ye.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!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:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children: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 Cc=0,wb=!1;function kb(){wb||typeof document>"u"||(wb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Cc=Date.now())},!0),document.addEventListener("touchstart",()=>{Cc=Date.now()},{capture:!0,passive:!0}))}kb();function hr(e){return!!e&&e.pointerType==="touch"}function mr(e=1e3){return kb(),Date.now()-Cc<e}function _c(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=ln(e),l=ln(t),c=s.useRef(null),d=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,f=p.target,v=a.current,g=!!(f&&v&&v.contains(f));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(f&&f.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const u=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,d.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 f=x=>{const _=x.changedTouches?.[0];if(!_)return!1;const b=h.getBoundingClientRect();return _.clientX>=b.left&&_.clientX<=b.right&&_.clientY>=b.top&&_.clientY<=b.bottom},v=x=>{m=f(x)?i.current:null},g=x=>{const _=m;m=null,!(_===null||Date.now()-d.current<700||!f(x))&&(c.current=null,d.current=Date.now(),l.current(!_,h))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:u}}function F8(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:d,rightIcon:u,label:h,count:p,subLabel:m,children:f,ariaLabel:v,variant:g="default",align:x="center",nowrap:_=!1,selected:b,toggleable:w=!1,ariaExpanded:C,ariaControls:k,disabled:y=!1,useLabel:A=!0,useBorder:B=!0,useBG:S=!0,useDisabledCovered:D=!1,useDisabledInvisible:N=!1,width:z,minWidth:j,onClick:U,onDisabledClick:T,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:Y=null,tooltipOnly:Q=!1,iconSize:P="medium",iconColor:W,shape:$="rounded",color:F,className:E,...H}=e,R=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),O=R.match(/^\d+$/)?`button${R}`:`button-${R}`,V=Number(a),Z=!isNaN(V)&&V<40?"button-2":"button-1",ee=h??f,X=y||!!H.disabled,ne=X?D?"disabled-covered":N?"disabled-invisibled":"disabled":g,ae=ne?`button--variant-${ne}`:"",pe=x?`button--align-${x}`:"",De=_?"button--nowrap":"",q=$?`button--shape-${$}`:"",le=typeof W=="string"&&W.startsWith("--")?`var(${W})`:W,Ce={...z?{width:typeof z=="number"?`${z}px`:z}:{},...j?{minWidth:typeof j=="number"?`${j}px`:j}:{},...B?{}:{"--button-border":X?"0":"1px solid transparent"},...le?{"--button-icon-color":le}:{},...F?{"--color-main":F}:{}},Ne=A===!1?"":ee,_e=Array.isArray(Ne)?Ne.length>0:!!Ne,re=!!u,me=o??(_e||d||re?"bar":"dot"),ge=`${O}--${me}`,G=s.useRef(null);s.useEffect(()=>{!Yo||n!==void 0||G.current?.closest("form")&&na(`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 he=s.useCallback(Ve=>{G.current=Ve;const ut=oe.current;typeof ut=="function"?ut(Ve):ut&&(ut.current=Ve)},[]),Te=s.useRef(X),[Me,Pe]=s.useState(!!b),[Ie,pt]=s.useState(!1),[it,Qe]=s.useState(null),dt=s.useCallback(()=>pt(!1),[]),[Se,He]=s.useState(!1),Be=s.useId();s.useEffect(()=>{typeof b=="boolean"&&Pe(b)},[b]),s.useEffect(()=>{if(Te.current&&!X&&G.current){const Ve=G.current;let ut=!1;try{ut=Ve.matches(":focus:not(:focus-visible)")}catch{ut=!1}ut&&Ve.blur(),Ve.style.pointerEvents="none";const Ot=requestAnimationFrame(()=>{requestAnimationFrame(()=>{G.current&&(G.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Ot)}Te.current=X},[X]);const Je=typeof b=="boolean"?!!b:Me,J=typeof C=="boolean"?void 0:w||typeof b=="boolean"?Je?"true":"false":H["aria-pressed"],ue=Ee("button",O,ge,ae,pe,De,q,Je?"is-selected":null,S?null:"button--no-bg",Q?"button--tooltip-only":null,E),xe=`button__icon button__icon--${P}`,je=Array.isArray(m)?m:m!==void 0?[m]:[],ot=()=>{if(Array.isArray(Ne))return Ne.map((ut,Ot)=>{const Qt=je[Ot];return r.jsxs("span",{className:`button__label-text${Qt!==void 0?" button__label-text--has-sub":""}`,children:[ut,Qt!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:Qt})]},Ot)});const Ve=m!==void 0;return r.jsxs("span",{className:`button__label-text${Ve?" button__label-text--has-sub":""}`,children:[Ne,p!=null&&r.jsx("span",{className:"button__count",children:p}),Ve&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},et=Ve=>{typeof b!="boolean"&&!w&&Pe(!1),Ve.currentTarget.blur()},Ct=Ve=>{X||(typeof H.onMouseLeave=="function"&&H.onMouseLeave(Ve),et(Ve))},gt=Ve=>{if(Q&&ct&&rt.touchPress(Ve.currentTarget),X){ct&&rt.touchPress(Ve.currentTarget),Ve.preventDefault(),T?.(Ve);return}typeof b!="boolean"&&w&&Pe(ut=>!ut),U?.(Ve)},st=s.useCallback(()=>{(L||Y)&&(pt(!0),Qe(G.current?.getBoundingClientRect()??null))},[L,Y]),lt=s.useCallback(()=>{(L||Y)&&(pt(!1),Qe(null))},[L,Y]),ct=!!(L||Y),rt=_c(Ie,Ve=>{Ve?st():lt()},G,{enabled:ct&&(X||Q),fallbackOnParent:ct&&X}),Oe={...H};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,X&&(Object.keys(Oe).forEach(Ve=>{/^on[A-Z]/.test(Ve)&&typeof Oe[Ve]=="function"&&delete Oe[Ve]}),Oe["aria-disabled"]="true");const Ye=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof v=="string"?v:null)??(typeof ee=="string"?ee:null)??void 0,We=typeof v=="string"?v:typeof ee=="string"?ee:Ye,vt=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):L&&Ye&&Ye!==We?Ye:"",Lt=[typeof H["aria-describedby"]=="string"?H["aria-describedby"]:void 0,vt?Be:null].filter(Boolean).join(" ")||void 0,It=(Ve,ut)=>r.jsx(at,{icon:Ve,label:ut??We,className:xe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),_t=()=>me==="dot"?r.jsxs(r.Fragment,{children:[It(d),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()})]}):x==="center"&&d?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:It(d)}),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()})]}),re&&r.jsx("span",{className:"button__right",children:It(u)})]}):r.jsxs(r.Fragment,{children:[d&&r.jsx("span",{className:"button__left",children:It(d,v??ee)}),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()}),re&&r.jsx("span",{className:"button__right",children:It(u)})]}),At=!!i&&!X;return r.jsxs(r.Fragment,{children:[r.jsxs(At?"a":"button",{...Oe,ref:he,...At?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:X&&!T&&!Se},className:ue,"aria-pressed":J,"aria-expanded":typeof C=="boolean"?C:H["aria-expanded"],"aria-controls":k??H["aria-controls"],"aria-label":We,"aria-disabled":X&&(At||T||Se)?!0:void 0,"aria-describedby":Lt,style:Ce,onClick:gt,onMouseLeave:Ct,onPointerEnter:Ve=>{hr(Ve)||st(),!X&&typeof H.onPointerEnter=="function"&&H.onPointerEnter(Ve)},onPointerLeave:Ve=>{hr(Ve)||lt(),!X&&typeof H.onPointerLeave=="function"&&H.onPointerLeave(Ve)},onPointerUp:Ve=>{X&&ct&&rt.touchPress(Ve.currentTarget),!X&&typeof H.onPointerUp=="function"&&H.onPointerUp(Ve)},onFocus:Ve=>{He(!0),mr()||st(),!X&&typeof H.onFocus=="function"&&H.onFocus(Ve)},onBlur:Ve=>{He(!1),X||et(Ve),lt(),!X&&typeof H.onBlur=="function"&&H.onBlur(Ve)},children:[_t(),vt?r.jsx("span",{id:Be,hidden:!0,"aria-label":vt}):null]}),Ie&&Y?r.jsx(vo,{anchorRect:it,title:Y.title,items:Y.items,onClose:dt}):Ie&&Ye?r.jsx(Aa,{anchorRect:it,text:Ye,onClose:dt}):null]})}const fe=s.forwardRef(F8);fe.displayName="Button";function Nt(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 H8=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";ie(H8);var V8=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";ie(V8);const br={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},yc=new WeakMap;function gi(e){if(e)return yc.get(e)}function Kt(e,t){e&&(e.style.setProperty(br.title,t.title),e.style.setProperty(br.description,t.description),yc.set(e,t))}function Zt(e){e&&(e.style.removeProperty(br.title),e.style.removeProperty(br.description),yc.delete(e))}const wc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function kc(){const e=Nt(wc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var W8=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";ie(W8);const Bc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ac(){const e=Nt(Bc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var G8=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";ie(G8);const Sc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ec(){const e=Nt(Sc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var U8=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";ie(U8);const Dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Nc(){const e=Nt(Dc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var q8=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";ie(q8);const Tc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function jc(){const e=Nt(Tc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var Y8=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";ie(Y8);const Lc={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Mc(){const e=Nt(Lc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var K8=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";ie(K8);const $c={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Rc(){const e=Nt($c,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var Z8=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";ie(Z8);const Pc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function zc(){const e=Nt(Pc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var X8=".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)}";ie(X8);const Ic={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Oc(){const e=Nt(Ic,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var J8=".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}";ie(J8);const Fc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Hc(){const e=Nt(Fc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var Q8=".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}";ie(Q8);const Vc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Wc(){const e=Nt(Vc,Kt,Zt);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 e7=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";ie(e7);const Gc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Uc(){const e=Nt(Gc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var t7=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";ie(t7);const qc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Yc(){const e=Nt(qc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var a7=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";ie(a7);const Kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Zc(){const e=Nt(Kc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const ca=(e,t,a)=>({key:e,get label(){return wt.t(`promoBannerBg.${e}`,t)},textTone:a}),Bb=[ca("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("soft","\uC18C\uD504\uD2B8","dark"),ca("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),ca("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),ca("warm","\uC6DC(\uAC15\uC870)","dark"),ca("dark","\uB2E4\uD06C","light"),ca("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),ca("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),ca("outline","\uC544\uC6C3\uB77C\uC778","dark"),ca("success","\uC131\uACF5/\uC644\uB8CC","light"),ca("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),ca("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Xc={main:kc,soft:Ac,sub:Ec,deep:Nc,softSub:jc,warm:Mc,dark:Rc,radial:zc,diagonal:Oc,dots:Hc,outline:Wc,success:Uc,naver:Yc,instagram:Zc};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 C=localStorage.getItem(w),k=C?Number(C):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[d,u]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),u(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const m=w=>{u(typeof w=="function"?C=>l(w(C)):l(w))},f=()=>m(w=>+(w+n).toFixed(6)),v=()=>m(w=>+(w-n).toFixed(6)),g=d<o-Number.EPSILON,x=d>a+Number.EPSILON,_=Math.round(t*d),b=Math.round(_*i);return{scale:d,setScale:m,increase:f,decrease:v,canIncrease:g,canDecrease:x,fontSize:_,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 Jc=" \xB7 ",Ab=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Jc)?e.split(Jc).pop()??e:e})(),Qc=s.createContext(!1),zo=[];let Sb=null;function ed(e){const t=s.useContext(Qc);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;zo.length===0&&(Sb=document.title);const a={text:Ab?`${e}${Jc}${Ab}`:e};return zo.push(a),document.title=a.text,()=>{const o=zo.lastIndexOf(a);o>=0&&zo.splice(o,1),document.title=zo.length?zo[zo.length-1].text:Sb??document.title}},[e,t])}function o7(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 Eb(){const{t:e}=ye.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Pa(t);if(!a)return"";const o=o7(a,va());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 Db(e){const{t}=ye.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),d=s.useRef(null),u=s.useRef(!1);s.useEffect(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(u.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),u.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(f){m=Qr(f)}finally{u.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),d.current!==null&&clearTimeout(d.current),d.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const td=[{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 ad(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 Nb(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 Tb(e){const{t}=ye.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[d,u]=s.useState(null),h=s.useCallback(()=>{const m={};td.forEach(f=>{m[f.id]=ad([...f.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(f=>{u({usage:f.usage??0,quota:f.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:d,refreshCacheSizes:h,handleClearCache:p}}function jb(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=jo();if(l){const d=Object.values(l),u=d.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:u,total:d.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 Io(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function Lb(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[d,u]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const _=p.current;_!==null&&_.length===t.length&&_.every((b,w)=>b===t[w])||(p.current=t,o(t),i(b=>b==null?b:t.find(w=>Io(w,b))??b))},[t,l]),s.useEffect(()=>{!l&&n!=null&&u({...n})},[l,n]);const m=s.useCallback(_=>{i(_),c(!1),u({..._})},[]),f=s.useCallback(()=>c(!0),[]),v=s.useCallback(()=>c(!1),[]),g=s.useCallback((_,b)=>{o(_),i(b),c(w=>(w&&(h.current=!0),!1))},[]),x=s.useCallback(_=>{o(b=>b.filter(w=>!Io(w,_))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:d,setEditForm:u,openDetail:m,startEditing:f,cancelEditing:v,commitEdit:g,remove:x}}const gr=()=>{const[e,t,a]=va().split("-");return{year:e,month:t,day:a}},r7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Mb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:d,openDetail:u,commitEdit:h}=Lb(r7,e),{year:p,month:m,day:f}=gr(),[v,g]=s.useState({year:p,month:m,day:f,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:v,setVisitForm:g,setVisit:x=>_=>g(b=>({...b,[x]:_})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:x=>{a(C=>[v,...C]);const{year:_,month:b,day:w}=gr();g({year:_,month:b,day:w,hour:"09",minute:"00",memo:""}),x?.()},handleVisitEditSave:()=>{h(x=>x.map(_=>o!=null&&Io(_,o)?c:_),c)},addVisit:x=>{a(_=>[x,..._])},removeVisit:x=>{a(_=>_.filter(b=>!Io(b,x)))},revertVisitEdit:(x,_)=>{a(b=>b.map(w=>w===_?x:w)),n(b=>b===_?x:b)}}}const $b=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")}`,dn=e=>[...e].sort((t,a)=>{const o=$b(t),n=$b(a);return o<n?-1:o>n?1:0}),n7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Rb(e,t=[]){const a=s.useMemo(()=>dn(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:d,editForm:u,setEditForm:h,openDetail:p,commitEdit:m,remove:f}=Lb(n7,a),[v,g]=s.useState([]),{year:x,month:_,day:b}=gr(),[w,C]=s.useState({year:x,month:_,day:b,hour:"09",minute:"00",memo:""}),k=U=>T=>C(L=>({...L,[U]:T})),y=U=>{n(Y=>dn([...Y,w]));const{year:T,month:L,day:I}=gr();C({year:T,month:L,day:I,hour:"09",minute:"00",memo:""}),U?.()},A=()=>{m(U=>dn(U.map(T=>i!=null&&Io(T,i)?u:T)),u)},B=s.useCallback(U=>{f(U)},[f]),S=s.useCallback(U=>{e({year:U.year,month:U.month,day:U.day,hour:U.hour,minute:U.minute,memo:U.memo,...U.id!=null?{id:U.id}:{}}),f(U)},[e,f]),D=s.useCallback(U=>{n(T=>T.filter(L=>!Io(L,U))),g(T=>[U,...T]),l(null)},[n,l]),N=s.useCallback(U=>{n(T=>dn([...T,U]))},[n]),z=s.useCallback(U=>{n(T=>T.filter(L=>!Io(L,U)))},[n]),j=s.useCallback((U,T)=>{n(L=>dn(L.map(I=>I===T?U:I))),l(L=>L===T?U:L)},[n,l]);return{scheduleList:o,noShowList:v,addSchedule:N,removeSchedule:z,revertScheduleEdit:j,scheduleForm:w,setScheduleForm:C,setSchedule:k,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:y,handleScheduleEditSave:A,handleScheduleDelete:B,handleScheduleToVisit:S,handleScheduleNoVisit:D}}const un=[{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 Pb(e){const{t}=ye.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[d,u]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:x})=>!(a&&!g.memo.includes(a)||l!=="all"&&x!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(d,p),f=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),v=s.useMemo(()=>un.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:v,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:u,vapFiltered:h,vapTotal:p,vapPageItems:f}}const i7=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function fr(e,t){return i7().compare(e,t)}const vi=new Map;function s7(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 l7(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 c7(e,t){const a=u=>u==null||typeof u=="number"&&Number.isNaN(u)?"":String(u).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(u,h)=>{if(typeof u=="number"&&!Number.isNaN(u))return[u];const p=l7(h);return p!==null?[p]:s7(h)},l=i(e,o),c=i(t,n),d=Math.min(l.length,c.length);for(let u=0;u<d;u++){const h=l[u],p=c[u];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=fr(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:fr(o,n)}const zb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function od(e,t,a){const o=zb(e),n=zb(t);if(o||n)return o===n?0:o?1:-1;const i=c7(e,t);return a?i:-i}function rd(e,t,a){const{t:o}=ye.useTranslation(),[n,i]=s.useState(()=>{const v=a?.initialPageSize;return v&&un.some(g=>g.value===v)?v:"25"}),[l,c]=s.useState(1),[d,u]=s.useState(t);Object.is(d,t)||(u(t),l!==1&&c(1));const h=s.useMemo(()=>un.map(v=>({...v,label:o("visits.showN",{n:v.value})})),[o]),p=s.useCallback(v=>{i(v),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 f=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((f-1)*Number(n),f*Number(n)),[e,f,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:f,total:m,onChange:c},setPage:c}}function nd(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(d=>{const u=o.current,h=u?.key===d?{key:d,asc:!u.asc}:{key:d,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((d,u)=>({label:d,sortDir:t?.key===u?t.asc?"asc":"desc":null,onClick:()=>i(u)}),[t,i]),c=s.useCallback((d,u)=>{if(!t)return d;const{key:h,asc:p}=t;return[...d].sort((m,f)=>od(u(m,h),u(f,h),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const Ib=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Ob(){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:[]}),[d,u]=s.useState(!1),[h,p]=s.useState("\uC88C"),m=s.useCallback(v=>{const g=Ib(v.direction);g&&(i(x=>({...x,[g]:v})),c(x=>({...x,[g]:[v,...x[g]]})),t(!1))},[]),f=s.useCallback(v=>{const g=Ib(v.direction);g&&(i(x=>({...x,[g]:v})),u(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:f}}const Tt="\uC804\uCCB4",pn=["grade","syllables","pos","wordType"],Fb=["1","2","3","4"],d7=["1","2","3","4","5+"],u7=["noun","verb","modifier"],p7=["native","sino","foreign","mixed"],h7={grade:Fb,syllables:d7,pos:u7,wordType:p7},m7={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},b7={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},g7={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},f7={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)"]}},id=new Map;try{wt.store?.on?.("added",()=>id.clear())}catch{}function xi(e){const t=id.get(e);if(t)return t;const a=wt.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(Fb.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 id.set(e,o),o}const sd=()=>Array.from(new Set([wt.language,"ko","en"].filter(e=>!!e)));function hn(e){if(pn.includes(e))return e;for(const t of sd()){const a=xi(t);for(const o of pn)if(a.\uC139\uC158[o]===e)return o}for(const t of pn)if(g7[t]?.includes(e))return t;return null}function vr(e,t){if(h7[e].includes(t))return t;for(const a of sd()){const o=xi(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(f7[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 v7=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function Ci(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=hn(a);if(n)for(const i of v7(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=wt.language){const a=xi(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 Hb(e,t=wt.language){const a={};for(const[o,n]of Object.entries(e??{}))hn(o)||(a[o]=n);return{...a,..._i(Ci(e),t)}}function x7(e){for(const t of sd()){const a=xi(t);if(pn.some(o=>a.\uC139\uC158[o]===e))return t}return wt.language||"ko"}function ld(){const{t:e}=ye.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 cd(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 dd(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function ud(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function Vb(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 Wb(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 Gb(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:d,tailDisabled:u,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:d}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:u}]}}function Ub(e,t,a){const o=hn(a),n=o&&t!==Tt?vr(o,t):null;if(o&&(t===Tt||n)){const c={},d={};for(const[f,v]of Object.entries(e))(hn(f)===o?d:c)[f]=v;if(t===Tt)return c;const u=Ci(d)[o]??[],h=u.includes(n)?u.filter(f=>f!==n):[...u,n];if(h.length===0)return c;const p=_i({[o]:h},x7(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Tt){const{[a]:c,...d}=e;return d}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...d}=e;return d}return{...e,[a]:l}}Object.fromEntries(Object.entries(Ws).map(([e,{nucleus:t}])=>[e,t]));const C7={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},_7={"\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"]},y7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:_7,typeMap:C7},qb=new WeakMap;function w7(e,t){const a=qb.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 d of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(d)||n[c].push(d)}return qb.set(e,{keys:t,\uAC12:o}),o}function k7(e,t,a=y7){const{grades:o,syls:n,poses:i,types:l}=w7(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(d=>{const u=d===a.syllable5plus?"5+":vr("syllables",d);return u==="5+"?c>=5:c===parseInt(u??d)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??m7[vr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??b7[vr("wordType",c)??""])))}const B7={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"})},A7={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"})},S7={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 Yb(e,t){if("place"in t)return B7[t.place](e);const a=A7[t.vowel](e);return t.glide?`${a} \xB7 ${S7[t.glide](e)}`:a}const E7=(e,{defaultValue:t})=>t,Kb=(e,t)=>({jamos:e,phonetic:t,tooltip:Yb(E7,t)}),eo=(e,t)=>t.map(a=>Kb([a],{place:e})),Wt=(e,t,a)=>Kb([...e],a?{vowel:t,glide:a}:{vowel:t}),pd={cho:[eo("labial",["\u3142","\u3143","\u314D","\u3141"]),eo("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),eo("alveolar",["\u3145","\u3146"]),eo("palatal",["\u3148","\u3149","\u314A"]),eo("velar",["\u3131","\u3132","\u314B"]),eo("glottal",["\u314E"])],jung:[[Wt("\u3163","frontHigh"),Wt("\u315F","frontHigh","w"),Wt("\u3162","frontHigh","velar")],[Wt("\u3161","backHighUnrounded")],[Wt("\u315C","backHighRounded"),Wt("\u3160","backHighRounded","j")],[Wt("\u3154\u3150","frontMid"),Wt("\u3156\u3152","frontMid","j"),Wt("\u3159\u315A\u315E","frontMid","w")],[Wt("\u3153","backMidUnrounded"),Wt("\u3155","backMidUnrounded","j"),Wt("\u315D","backMidUnrounded","w")],[Wt("\u3157","backMidRounded"),Wt("\u315B","backMidRounded","j")],[Wt("\u314F","low"),Wt("\u3151","low","j"),Wt("\u3158","low","w")]],jong:[eo("labial",["\u3142","\u3141"]),eo("alveolar",["\u3137","\u3134","\u3139"]),eo("velar",["\u3131","\u3147"])]},D7=[...bt],N7=[...kt],T7=Pt.filter(e=>e!==""),Ia=e=>e===Sa?[]:Array.from(e),Sa="__NO_CODA__",Zb=[1,2,3,4],Ea=5,j7=12,Xb="SYL_",hd=e=>`${Xb}${e}`,L7=e=>Number(e.slice(Xb.length));function yi(e){return e>=Ea?Array.from({length:j7-Ea+1},(t,a)=>Ea+a):[e]}const Jb={cho:D7,jung:N7,jong:T7},md=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),bd={cho:md(pd.cho),jung:md(pd.jung),jong:md(pd.jong)},Qb={};bd.jung.flat().forEach(({v:e})=>{for(const t of Ia(e))Qb[t]=e});const M7=new Set(bd.cho.flat().map(e=>e.v));function gd(e,t){return e==="cho"?M7.has(t)?t:null:e==="jung"?Qb[t]??t:No(t)}function fd(e,t,a){if(e==="jung"){const o=Ia(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&No(a)===t?a:t}function vd(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Sa?Sa:t==="pron"?gd(i,l):fd(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},$7="wt_filter",eg=e=>`wt_filter_${e}`,xd=["noun","verb","modifier"],Cd=["native","sino","foreign","mixed"];function tg(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(d=>n.some(u=>o(u,a(d))===l));c&&!i.includes(c)&&i.push(c)}return i}function ag(e){try{const t=localStorage.getItem(eg(e))??localStorage.getItem($7);if(t)return JSON.parse(t)}catch{}return null}function og(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function R7(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 rg(e,t,a){const{t:o,i18n:n}=ye.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:ag(e)),[l,c]=s.useState(og(i)),[d,u]=s.useState(()=>R7(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Sa,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Sa:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||u(G=>G.cho||G.jung||G.syllable!=null||G.jong?G:h())},[]);const p=s.useMemo(()=>zt(d.cho)||zt(d.jung)||zt(d.jong)?"count":"random",[d.cho,d.jung,d.jong]),m=s.useRef(l==="char"?d.jung:null),f=s.useRef(l==="char"?d.jong:null);s.useEffect(()=>{l==="char"&&(m.current=d.jung,f.current=d.jong)},[l,d.jung,d.jong]);const[v,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[x,_]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[b,w]=s.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),C=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),k=(G,oe)=>n.getFixedT(G)(oe),y=G=>tg(G,xd,oe=>`wordSearch.filter.pos.${oe}`,k,C),A=G=>tg(G,Cd,oe=>`wordSearch.filter.type.${oe}`,k,C),[B,S]=s.useState(()=>y(i?.posFilter)),[D,N]=s.useState(()=>A(i?.wordTypeFilter)),z=s.useRef(a?.resetKey);s.useEffect(()=>{z.current!==a?.resetKey&&(z.current=a?.resetKey,u(h()),g(!!a?.defaultImageOnly),_(!1),w([]),S([]),N([]))},[a?.resetKey]);const j=ld(),U=s.useMemo(()=>Object.keys(j.posMap),[j]),T=s.useMemo(()=>Object.keys(j.typeMap),[j]),L=s.useMemo(()=>B.map(G=>U[xd.indexOf(G)]).filter(Boolean),[B,U]),I=s.useMemo(()=>D.map(G=>T[Cd.indexOf(G)]).filter(Boolean),[D,T]),[Y,Q]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[P,W]=s.useState(!1),[$,F]=s.useState(null),E=1,H=Math.max(1,[d.cho,d.jung,d.jong].filter(Boolean).length),[R,O]=s.useState(e);s.useEffect(()=>{if(R!==e){if(!a?.resetOnMount){const G=ag(e);u(G?.composition??h()),g(G?.excludeNoImage??!0),_(G?.sameStructureOnly??!0),c(og(G)),w(Array.isArray(G?.gradeFilter)?G.gradeFilter:[]),S(y(G?.posFilter)),N(A(G?.wordTypeFilter))}O(e)}},[e,R,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&R===e)try{localStorage.setItem(eg(e),JSON.stringify({contrastCount:H,composition:d,excludeNoImage:v,sameStructureOnly:x,phonemeView:l,gradeFilter:b,posFilter:B,wordTypeFilter:D}))}catch{}},[a?.resetOnMount,e,R,H,d,v,x,l,b,B,D]);const[V,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 y8({difficulty:p,excludeNoImage:v}).then(oe=>{G||(Q(oe),oe.cho.size+oe.jung.size+oe.jong.size>0&&W(!0))}).catch(()=>{G||Q({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{G=!0}},[t.choseong,p,v,V]),s.useEffect(()=>{let G=!1;const oe=d,he=oe.cho?Ia(oe.cho):null,Te=oe.jung?Ia(oe.jung):null,Me=oe.jong===Sa,Pe=Me?null:oe.jong?Ia(oe.jong):null,Ie=oe.syllable!=null?yi(oe.syllable):null,pt=!!(he||Te||Pe||Me||Ie);return _8({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?H:1,composition:t.choseong&&pt?{cho:he,jung:Te,jong:Pe,jongNone:Me,syllable:Ie}:null,excludeNoImage:v,sameStructureOnly:x,phonemeView:l==="pron"?"pron":"char",grade:b.length>0?b:null}).then(it=>{G||F(it)}).catch(()=>{G||F(null)}),()=>{G=!0}},[t.choseong,t.difficulty,p,H,d,l,v,x,V,b]),s.useEffect(()=>{P&&u(G=>{const oe={...G};let he=!1;return["cho","jung","jong"].forEach(Te=>{const Me=G[Te];!Me||Me===Sa||Ia(Me).some(Pe=>Y[Te].has(Pe))||(oe[Te]=null,he=!0)}),G.syllable!=null&&t.fixedSyllable==null&&(G.syllable>=Ea?[...Y.syllable].some(Te=>Te>=Ea)||(oe.syllable=null,he=!0):(!Y.syllable.has(G.syllable)||G.syllable<E)&&(oe.syllable=null,he=!0)),he?oe:G})},[Y,P,E,t.fixedSyllable]);const X=s.useMemo(()=>{const G=oe=>{const he=new Set;for(const Te of Jb[oe])Y[oe].has(Te)&&he.add(Te);return he};return{cho:G("cho"),jung:G("jung"),jong:G("jong")}},[Y]),ne=s.useMemo(()=>({exact:new Set(Zb.filter(G=>Y.syllable.has(G))),min:[...Y.syllable].some(G=>G>=Ea)}),[Y]),ae=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]),pe=s.useMemo(()=>({[ae.trainOnset]:"cho",[ae.trainVowel]:"jung",[ae.trainCoda]:"jong"}),[ae]),De=s.useCallback((G,oe)=>({title:oe,items:G}),[]),q=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]),le=s.useMemo(()=>{const G=[];if(t.choseong){const oe={value:Sa,displayLabel:ae.codaExclude},he=t.fixedNoCoda===!0,Te=(Me,Pe)=>{const Ie=he&&Me==="jong",pt={label:Pe,groupLabel:ae.phonemeGroup,allOption:!t.requireSyllable,allLabel:ae.noLimit,allOptionDisabled:Ie};if(l==="pron"){const Qe=bd[Me].map(dt=>dt.map(({v:Se,phonetic:He})=>{const Be=Ia(Se),Je=Yb(o,He),J=Ie||!Be.some(ue=>Y[Me].has(ue));return Be.length>1?{value:Se,labels:Be,tooltip:Je,disabled:J}:{value:Se,tooltip:Je,disabled:J}}));return Me==="jong"&&!t.requireCoda&&Qe.unshift([oe]),{...pt,groups:Qe}}const it=Jb[Me].map(Qe=>!Ie&&X[Me].has(Qe)?Qe:{value:Qe,disabled:!0});return{...pt,items:Me==="jong"&&!t.requireCoda?[oe,...it]:it}};G.push(Te("cho",ae.trainOnset)),G.push(Te("jung",ae.trainVowel)),G.push(Te("jong",ae.trainCoda))}if(G.push({...cd(o,j,{labelInfo:De([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:ae.gradeLabel}),t.partOfSpeech&&G.push(dd(j)),t.wordType&&G.push(ud(j)),t.choseong||t.fixedSyllable!=null){const oe=t.fixedSyllable;G.push({label:ae.syllableCount,items:[...Zb.map(he=>({value:hd(he),displayLabel:o("wordPairs.syllableN",{n:he,defaultValue:"{{n}}\uC74C\uC808"}),disabled:oe!=null?he!==oe:!ne.exact.has(he)||he<E})),{value:hd(Ea),displayLabel:o("wordPairs.syllableNPlus",{n:Ea,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:oe!=null?Ea!==oe:!ne.min}],allOption:!0,allOptionDisabled:oe!=null})}return t.choseong?G.push({label:ae.exclude,displayLabel:ae.selectLabel,multiple:!0,items:[ae.excludeImage,ae.sameStructure],labelInfo:De(q)}):G.push({label:ae.exclude,displayLabel:ae.selectLabel,multiple:!0,items:[ae.excludeImage],labelInfo:De([q[0]])}),G},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,E,X,Y,l,ne,ae,o,De,q,j]),Ce={...(t.choseong||t.fixedSyllable!=null)&&d.syllable!=null?{[ae.syllableCount]:hd(d.syllable)}:{},...t.choseong&&d.cho?{[ae.trainOnset]:d.cho}:{},...t.choseong&&d.jung?{[ae.trainVowel]:d.jung}:{},...t.choseong&&d.jong?{[ae.trainCoda]:d.jong}:{},[ae.exclude]:[...v?[ae.excludeImage]:[],...x?[ae.sameStructure]:[]],[ae.gradeLabel]:b.map(G=>o("wordSearch.filter.grade",{n:Number(G),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},Ne=s.useCallback((G,oe)=>{if(oe===ae.exclude)G===ae.excludeImage?g(he=>!he):G===ae.sameStructure&&_(he=>!he);else if(oe===ae.syllableCount)u(he=>{if(!G||G===Tt)return{...he,syllable:null};const Te=L7(G);return{...he,syllable:he.syllable===Te?null:Te}});else if(oe===ae.gradeLabel){if(!G||G===Tt){w([]);return}const he=G.replace(/\D/g,"");w(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else if(oe===j.partOfSpeech){if(!G||G===Tt){S([]);return}const he=xd[U.indexOf(G)]??y([G])[0];if(!he)return;S(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else if(oe===j.wordType){if(!G||G===Tt){N([]);return}const he=Cd[T.indexOf(G)]??A([G])[0];if(!he)return;N(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else{const he=pe[oe];if(!he)return;u(Te=>t.requireSyllable?G&&G!==Tt?{...Te,[he]:G}:Te:!G||G===Tt||Te[he]===G?{...Te,[he]:null}:{...Te,[he]:G})}},[ae,pe,j,U,T,t.requireSyllable]),_e=s.useCallback(G=>!t.partOfSpeech&&!t.wordType?!0:k7(G,{...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},j),[t.partOfSpeech,t.wordType,L,I,j]),re=s.useCallback(G=>{G!==l&&(G!=="direct"&&l!=="direct"&&u(oe=>vd(oe,G,m.current,f.current)),c(G))},[l]),me=s.useCallback(()=>({composition:d,contrastCount:H,excludeNoImage:v,sameStructureOnly:x,phonemeView:l,gradeFilter:b,posFilter:B,wordTypeFilter:D}),[d,H,v,x,l,b,B,D]),ge=s.useCallback(G=>{u(G.composition),g(G.excludeNoImage),_(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)&&N(A(G.wordTypeFilter))},[]);return{difficulty:p,contrastCount:H,composition:d,choseong:d.cho,excludeNoImage:v,sameStructureOnly:x,gradeFilter:b,posFilter:L,wordTypeFilter:I,matchesWordAttributes:_e,poolVersion:V,filterSections:le,filterSelected:Ce,handleFilterSelect:Ne,phonemeView:l,setPhonemeView:re,phonemeGroupLabel:ae.phonemeGroup,wordCount:$,getFilterSnapshot:me,restoreFilterSnapshot:ge}}function P7(e){const t=c=>c?Ia(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Sa,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 ng(e,t,a,o,n,i,l=!0,c="char",d=[]){const[u,h]=s.useState({}),[p,m]=s.useState(!1),{cho:f=null,jung:v=null,jong:g=null,syllable:x=null}=o??{},_=d.length>0?d.slice().sort().join(","):"",b=e.map(C=>C.key).join("|");s.useEffect(()=>{i>0&&C8(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let C=!1;return m(!0),(async()=>{const k=P7({cho:f,jung:v,jong:g,syllable:x}),y=`${f??""}_${v??""}_${g??""}_${x??""}_${_}`,A={};await Promise.all(e.map(async B=>{const S=rr[B.key];try{const D=await Xm(B.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?k:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:d.length>0?d:null});D&&D.length>0?A[B.key]={id:`wt-${B.key}-${t}-${y}-${Date.now()}`,name:B.label,training_type:B.key,category_main_code:"WORD",iconColor:B.color,subTitle:B.subTitle,items:D,itemCount:D.length}:A[B.key]={id:`wt-${B.key}-empty`,name:B.label,training_type:B.key,category_main_code:"WORD",iconColor:B.color,subTitle:B.subTitle,items:[],itemCount:0,__empty:!0}}catch{A[B.key]=null}})),C||(h(A),m(!1))})(),()=>{C=!0}},[t,a,f,v,g,x,n,l,c,i,_,b]);const w=JSON.stringify(e.map(C=>[C.key,C.label,C.color,C.subTitle]));return{perTypeData:s.useMemo(()=>{const C={};for(const[k,y]of Object.entries(u)){const A=e.find(B=>B.key===k);C[k]=y&&A?{...y,name:A.label,iconColor:A.color,subTitle:A.subTitle}:y}return C},[u,w]),generating:p}}function ig(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 z7(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 I7=ka,O7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},F7=(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=z7(ig(`${a}|${o}|${n}`)),l=O7(o)&1,c=e.filter((u,h)=>(ig(`${a}|${n}|${F7(u,h)}`)>>>7&1)===l),d=c.length>=t&&e.length-c.length>=t;return I7(d?c:e,t,i)}function _d(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:ki(po,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:ki(ho,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:ki(mo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:ki(bo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function yd(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const H7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function wd(e=!1,t=H7,a){const o=Pa(Date.now()),n=Pa(Date.now()-864e5),i=a??"";return po.length>0||ho.length>0||mo.length>0||bo.length>0?{today:_d(t,i,o),yesterday:_d(t,i,n)}:{today:_d(t,i,o),yesterday:null}}function sg(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,d]=s.useState(0),[u,h]=s.useState(!1),[p,m]=s.useState(()=>va());s.useEffect(()=>{const v=()=>{const x=Date.now(),_=new Date(x+9*36e5),b=Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate()+1)-9*36e5;return Math.max(1e3,b-x+1e3)};let g=setTimeout(function x(){m(va()),g=setTimeout(x,v())},v());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let v=!1,g=!1,x=!1,_,b=0,w=null,C=0;const k=40,y=()=>{_!==void 0&&(clearInterval(_),_=void 0)};let A=!1;try{const z=new URLSearchParams(window.location.search),j=z.get("forceRefresh")||z.get("force");A=j==="1"||j==="true"}catch{}const B=z=>{g||(x=!0,t.current=z.today,a.current=z.yesterday,n(!0),h(!0),d(j=>j+1),v=!0,y())},S=async()=>{if(v)return;if(!A){const j=wd(!1,void 0,e);if(yd(j.today)){B(j);return}}if(w){++b>=k&&D();return}if(b>=C){C=b+8,w=sc(3e3).catch(()=>!1);try{await w}finally{w=null}if(v)return}const z=wd(A,void 0,e);if(yd(z.today)){B(z);return}++b>=k&&D()};function D(){n(!0),h(!1),v=!0,y()}const N=()=>{if(g||x)return;const z=wd(A,void 0,e);yd(z.today)&&B(z)};try{window.addEventListener("speechear.data.updated",N)}catch{}return S(),_=setInterval(S,250),()=>{v=!0,g=!0,y();try{window.removeEventListener("speechear.data.updated",N)}catch{}}},[e,p]);const f=s.useCallback(v=>{const g=i?a.current:t.current,x=i?t.current:a.current;return g?.[v]?.length?g[v]:x?.[v]?.length?x[v]:void 0},[i,c]);return{loaded:o,hasData:u,showYesterday:i,setShowYesterday:l,getTrainingPerType:f}}function kd(e,t=!0){const a=ln(e);s.useEffect(()=>{if(t)return Po(()=>{a.current?.()})},[t,a])}const Bi=(e,t)=>`${e}:${t??1}`,Ai=new Map,lg=new Set,cg=new Map,V7=6e4;function dg(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)&&!lg.has(h)&&!(l-(cg.get(h)??-1/0)<V7));if(c.length===0)return;let d=!1;const u=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(u).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)||lg.add(p);else{const p=Date.now();for(const m of c)cg.set(m,p)}d||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{d=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const d=Ai.get(c);d!=null&&l.set(c,d)}return l},[n,a])}function Oo(){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 Bd(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((d,u)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),n(u)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function ug(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 Ad(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function pg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,d]=s.useState(1),u=Number(t)||25,h=Number(i)||u;return Ad([o,i,...a??[]].map(String).join("|"),d),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:d}}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(f=>f+1)},[]),d=s.useCallback(p=>c(p,"warning"),[c]),u=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:d,showNormal:u,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,W7=mn.pink,G7=[{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:W7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function hg(){const{t:e}=ye.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(zm(e).map(o=>[o.key,o.label])),a={...t};return G7.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 Fo({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),d=s.useRef(null),u=s.useRef(null),h=s.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect(),d.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let f=u.current?.offsetHeight??0;f>0&&h();let v=0,g=null;typeof ResizeObserver<"u"&&u.current&&(g=new ResizeObserver(()=>{const k=u.current?.offsetHeight??0;if(k!==f){if(f=k,++v>4){g?.disconnect(),g=null;return}h()}}),g.observe(u.current));const x=k=>{const y=k.target;o&&y.closest?.(o)||d.current?.contains(y)||u.current?.contains(y)||i(!1)};document.addEventListener("mousedown",x),document.addEventListener("pointerdown",x);const _=k=>{u.current?.contains(k.target)||(t==="reposition"?h():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",_,!0);const b=()=>{a==="reposition"?h():a==="close"&&i(!1)};let w=null;const C=()=>{b(),w&&clearTimeout(w),w=setTimeout(()=>{w=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",C)),()=>{g?.disconnect(),document.removeEventListener("mousedown",x),document.removeEventListener("pointerdown",x),t!=="ignore"&&window.removeEventListener("scroll",_,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",C)),w&&clearTimeout(w)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return Po(()=>i(!1))},[n]);const p=s.useCallback(()=>i(f=>!f),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:d,menuRef:u}}function Sd(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,d]=s.useState([]),[u,h]=s.useState(0),[p,m]=s.useState("idle"),[f,v]=s.useState(null),[g,x]=s.useState([]),[_,b]=s.useState(null),[w,C]=s.useState(0),k=s.useRef(0),y=s.useCallback($=>{k.current=typeof $=="function"?$(k.current):$,C(k.current)},[]),A=s.useRef(o),B=s.useRef(n);s.useEffect(()=>{A.current=o,B.current=n},[o,n]);const S=s.useRef([]),D=()=>{S.current.forEach(clearTimeout),S.current=[]},N=($,F)=>{S.current.push(setTimeout(F,$))};s.useEffect(()=>()=>D(),[]);const z=c[u]?.id??null,j=s.useRef(null),U=s.useCallback(()=>{D(),m("playing"),x([]),b(null),y(0);let $=0;e.forEach((F,E)=>{N($,()=>{h(E),v(F.id),A.current?.(F)}),N($+1e3,()=>{v(null),x(H=>[...H,F.id])}),$+=1300}),N($,()=>{m("done"),B.current?.({score:0,total:e.length})})},[e,y]),T=s.useCallback(($,F)=>{if(F>=$.length){m("done"),B.current?.({score:k.current,total:$.length});return}j.current=null,h(F),b(null),m("playing"),v($[F].id),A.current?.($[F]),N(i,()=>{v(null),m("waiting")})},[i]),L=s.useCallback(()=>{D();const $=nt(e);d($),y(0),x([]),T($,0)},[e,T,y]),I=s.useCallback(()=>{t==="playback"?(d(e),U()):L()},[t,e,U,L]),Y=s.useCallback(()=>{D(),m("idle"),v(null),x([]),b(null),h(0),y(0),d([])},[y]),Q=e.map($=>$.id).join("|");s.useEffect(()=>(a?I():Y(),()=>D()),[t,Q,a]);const P=s.useCallback($=>{p!=="waiting"||t==="playback"||j.current===u||(j.current=u,b($),$===c[u]?.id&&y(F=>F+1),t==="exam"?(m("playing"),N(400,()=>T(c,u+1))):(m("feedback"),N(l,()=>T(c,u+1))))},[p,t,c,u,T,l,y]),W=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:f,playedIds:g,selectedId:_,answerId:z,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:P},index:u,total:W,score:w,phase:p,done:p==="done",start:I,reset:Y}}var U7=Object.freeze({__proto__:null,CACHE_GROUPS:td,CORE_VERSION:jn,DocumentTitleSuppressContext:Qc,EMPTY_COMPOSITION:wi,MediaQueryOverrideContext:bi,NO_CODA:Sa,SYLLABLE_MIN:Ea,VAP_PAGE_SIZE_OPTIONS:un,buildGradeSection:cd,buildPartOfSpeechSection:dd,buildPositionSection:Gb,buildSelectSection:Wb,buildSyllableSection:Vb,buildWordTypeSection:ud,charToPronValue:gd,convertComposition:vd,fmtBytes:Nb,lsBytes:ad,meaningKey:Bi,normalizeWordAttributeFilter:Hb,pronToCharValue:fd,syllableToFilter:yi,toWordAttributeFilterCodes:Ci,today:gr,toggleAttributeFilter:Ub,useAnchoredMenu:Fo,useCacheManagement:Tb,useDailyTrainingSelection:sg,useDelayedHoverAnchor:Bd,useDeviceManagement:Ob,useDocumentTitle:ed,useEscToClose:kd,useFontScale:fi,useHoverAnchor:Oo,useListControls:pg,useMediaQuery:la,usePageResetOnChange:Ad,usePagedList:ug,usePasswordChange:Db,useRelativeDay:Eb,useSoundCompassExam:Sd,useTablePaging:rd,useTableSort:nd,useToastState:Si,useTrainingTypeLabels:hg,useVisitAllPanel:Pb,useVisitHistory:Mb,useVisitSchedule:Rb,useWindowEvent:cn,useWordAttributeFilterKeys:ld,useWordDataStats:jb,useWordMeanings:dg,useWordTrainingDataGeneration:ng,useWordTrainingFilter:rg,valueToJamos:Ia,wordAttributeFilterFromCodes:_i}),q7=".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}";ie(q7);function mg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:h=""}){const p=n??i??"main",m=s.useRef(null),[f,v]=s.useState("main"),g=la("(max-width: 767px)"),x=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const C=gi(w),k=(y,A,B)=>{if(B!==void 0)w.style.setProperty(A,B),x.current[y]=!0;else if(x.current[y]){const S=C?.[y];S?w.style.setProperty(A,S):w.style.removeProperty(A),x.current[y]=!1}};k("title","--promo-banner-bg-title",d),k("description","--promo-banner-bg-description",u)},[d,u,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const C=gi(w);v(C?.actionVariant??"main")},[p]);const _=Ee("promo-banner",`promo-banner--${l}`,h),b=Xc[p];return r.jsxs("div",{ref:m,className:_,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(fe,{htmlType:"button",size:40,variant:c??f,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var Y7='.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)}';ie(Y7);function bg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=ye.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),d=c.length,[u,h]=s.useState(0),[p,m]=s.useState(!1),[f,v]=s.useState(!1),[g,x]=s.useState(!1),_=s.useRef(null),b=s.useRef(null),w=s.useRef(null),C=xc(),k=p||f||g,y=d>0?Math.min(u,d-1):0;s.useEffect(()=>{if(d<2||t<=0||k||C)return;const B=window.setInterval(()=>h(S=>(Math.min(S,d-1)+1)%d),t);return()=>window.clearInterval(B)},[d,t,k,C]);const A=B=>{b.current!=null&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,x(!1)},B)};return s.useEffect(()=>()=>{b.current!=null&&window.clearTimeout(b.current)},[]),s.useEffect(()=>{if(!g)return;const B=S=>{S.pointerType==="touch"&&(w.current&&w.current.contains(S.target)||(b.current!=null&&(window.clearTimeout(b.current),b.current=null),x(!1)))};return document.addEventListener("pointerdown",B,!0),()=>document.removeEventListener("pointerdown",B,!0)},[g]),d===0?null:r.jsxs("section",{ref:w,className:Ee("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:B=>{_.current=B.pointerType},onPointerDown:B=>{_.current=B.pointerType,B.pointerType==="touch"&&(b.current!=null&&(window.clearTimeout(b.current),b.current=null),x(!0))},onPointerUp:B=>{B.pointerType==="touch"&&A(5e3)},onPointerCancel:B=>{B.pointerType==="touch"&&A(5e3)},onMouseEnter:()=>{_.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:B=>{let S=!0;try{S=B.target.matches(":focus-visible")}catch{S=!0}v(S)},onBlur:B=>{B.currentTarget.contains(B.relatedTarget)||v(!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((B,S)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":S!==y,...S!==y?{inert:!0}:{},children:B},S))})}),d>1&&r.jsx("div",{className:`top-banner__dots${(a?.[y]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((B,S)=>r.jsx("button",{type:"button",className:`top-banner__dot${S===y?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:S+1,defaultValue:`${d}\uAC1C \uC911 ${S+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":S===y,onClick:()=>h(S)},S))})]})}var K7=".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)}";ie(K7);function Z7({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:d}=ye.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),o?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const h=u.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(u.currentTarget);(u.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(at,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function gg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(d,u)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&u===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((d,u)=>r.jsx(Z7,{title:d.title,body:d.body,avatar:d.avatar,open:c(d,u),onToggle:()=>l(c(d,u)?{index:-1}:{index:u,id:d.id}),bodyClassName:n},d.id??u))})}var X7=".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)}}";ie(X7);var J7=".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}";ie(J7);function Q7(){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 ek(){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 tk(){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}=ye.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:y,position:A="top-right",onClick:B,animate:S=!1}=e,D=k??"check",N=y!==void 0?"number":D,z=typeof o=="number"?o:32,j=Ee("circle-badge",`circle-badge--${N}`,`circle-badge--${A}`,`circle-badge--${z}`,S?"circle-badge--animate":"",B?"circle-badge--clickable":"",n),U=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")}[D];return r.jsxs("span",{className:j,onClick:B,onKeyDown:B?T=>{T.key!=="Enter"&&T.key!==" "||(T.preventDefault(),T.currentTarget.click())}:void 0,"aria-label":l?void 0:i??U,"aria-hidden":l||void 0,role:B?"button":l?void 0:"img",tabIndex:B?0:void 0,children:[y!==void 0&&y,y===void 0&&D==="check"&&r.jsx(Q7,{}),y===void 0&&D==="remove"&&r.jsx(ek,{}),y===void 0&&D==="minus"&&r.jsx(tk,{})]})}const{label:c,children:d,variant:u="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:f,color:v}=e,g=typeof o=="number"?"medium":o??"medium",x={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",_={small:12,medium:14,large:16}[g]??14,b=Ee("badge",`badge--${u}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",x,n),w=v?.startsWith("--")?`var(${v})`:v,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:C,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(at,{icon:m,size:_,className:"badge__icon"}),c??d,f&&r.jsx(at,{icon:f,size:_,className:"badge__icon"})]})}var ak=".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}}";ie(ak);function xr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=ye.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),d=s.useMemo(()=>{const x=[{title:null,columns:e}];let _=e;for(const b of l){const w=_?.[b.ci]?.items?.[b.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;_=[{title:null,items:w.children}],x.push({title:w.label||null,columns:_})}return x},[e,l]),u=d[d.length-1],h=d.length-1,p=s.useCallback(()=>c(x=>x.slice(0,Math.max(0,Math.min(x.length,h)-1))),[h]),m=s.useRef(null),f=s.useRef(null),v=d.length;s.useEffect(()=>{f.current||(f.current=document.activeElement);let x=0,_=0;const b=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(x=requestAnimationFrame(b))};return x=requestAnimationFrame(b),()=>cancelAnimationFrame(x)},[v]),s.useEffect(()=>()=>{f.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((x,_,b)=>{if(x){if(Array.isArray(x.children)&&x.children.length){c(w=>[...w.slice(0,h),{ci:_,ii:b}]);return}try{typeof x.onClick=="function"&&x.onClick()}catch{}try{x&&x.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(d.length>1||u.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?r.jsx(fe,{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:u.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:u.columns&&u.columns.map((x,_)=>r.jsxs("div",{className:"tooltip-menu__column",children:[x.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:x.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(x.items||[]).map((b,w)=>r.jsxs(s.Fragment,{children:[b.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(fe,{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,_,w),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const fg=".content-area";function Ed(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(fg);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&na("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${fg}) \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 Dd=52,Ni=10,vg=e=>e&&e>0?e:0;function Nd({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=ye.useTranslation(),d=o==="manager"?"malgwi":"manager",u=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,f]=s.useState(0),v=e.length;s.useEffect(()=>{const $=p.current;if(!$)return;const F=()=>{const R=typeof getComputedStyle=="function"?getComputedStyle($):null,O=$.clientWidth-(parseFloat(R?.paddingLeft??"")||0)-(parseFloat(R?.paddingRight??"")||0),V=$.querySelector(".bottom-nav__left"),Z=V?.nextElementSibling,ee=(V?.offsetWidth??0)+(V&&Z?.classList.contains("bottom-nav__divider")?Z.offsetWidth:0);f(Math.max(0,O-ee))};if(F(),typeof ResizeObserver>"u")return;const E=new ResizeObserver(F);E.observe($);const H=$.querySelector(".bottom-nav__left");return H&&E.observe(H),()=>E.disconnect()},[n]);const g=Dd+1,x=$=>Math.max(0,Math.floor(($+Ni)/(Dd+Ni))),_=v*(Dd+Ni)-Ni<=m,b=m<=0||i.length===0&&_?v:Math.min(v,x(m-g)),w=m>0&&b<v,C=w?b:v,k=e.slice(0,C),y=e.slice(C),A=w||i.length>0,B=s.useCallback(($,F)=>({position:"fixed",bottom:window.innerHeight-$.top+8,right:window.innerWidth-$.right,zIndex:fn(F)}),[]),S=s.useId(),{open:D,toggle:N,close:z,style:j,triggerRef:U,menuRef:T}=Fo({computeStyle:B,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback(($,F)=>F>0?c("nav.badgeLabel",{label:$,count:F,defaultValue:"{{label}}, {{count}}\uAC1C"}):$,[c]),I=s.useCallback(($,F)=>F>0?c("nav.badgeInsideLabel",{label:$,count:F,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):$,[c]),Y=s.useCallback(()=>n?.(d),[n,d]),Q=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),Ed(l,"BottomNav")),z())}})),...i.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===t),closeOnSelect:!0,onClick:()=>{$.onClick?.(),z()}}))]}],[y,i,t,a,z]),W=[...y,...i].reduce(($,F)=>$+vg(F.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(fe,{htmlType:"button",size:52,type:"dot",icon:u,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:k.map(($,F)=>{const E=vg($.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(fe,{htmlType:"button",size:52,type:"dot",icon:$.icon,ariaLabel:L($.label,E),selected:!!$.key&&$.key===t,disabled:$.state==="disabled",className:"bottom-nav-item",onClick:()=>{$.key&&(a?.($.key),Ed(l,"BottomNav"))}}),E>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(E,99),size:24})})]},$.key??`__slot-${F}`)})}),A&&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:U,className:"bottom-nav__slot",children:[r.jsx(fe,{htmlType:"button",size:52,type:"dot",icon:Q?.icon??"ellipsis",ariaLabel:I(Q?.label??c("nav.more","\uB354\uBCF4\uAE30"),W),selected:!!Q,className:"bottom-nav-item",onClick:N,"aria-expanded":D,"aria-controls":D?S:void 0}),W>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(W,99),size:24})}),D&&pa.createPortal(r.jsx("div",{id:S,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:j,ref:T,children:r.jsx(xr,{columns:P,onClose:z})}),document.body)]})})]})]})}var ok='.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}';ie(ok);function xg(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 Cg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function rk(e){const{t}=ye.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:d,onAccount:u}=e||{},h="default";return n||i||l||c||d||u?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(fe,{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(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:Cg(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(fe,{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(fe,{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"}),d&&r.jsx(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),u&&r.jsx(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function _g(e){const{t}=ye.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:d,state:u,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",f=a?.icon??i??"",v=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(at,{icon:f,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),x=u==="disabled",_=`side-nav__item ${l?"active":""} ${u||""} ${x?"disabled":""} ${a?.child?"side-nav__item--child":""}`,b=s.useCallback(w=>{if(x)return;const C=w.detail>0;if(C)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,C)},[x,p,c]);return r.jsxs("button",{type:"button",className:_,onClick:b,"aria-label":typeof m=="string"?Cg(t,m,v):void 0,"aria-current":l?"page":void 0,style:d,"aria-disabled":x,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),v>0&&r.jsx(Et,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),u==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Td(e){const{t}=ye.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f,scrollContainer:v}=e||{},g=m==="manager",x=s.useCallback(()=>f?.(g?"malgwi":"manager"),[f,g]),_=s.useRef(null),[b,w]=s.useState(null);s.useEffect(()=>{const B=_.current;if(!B)return;const S=()=>{const{scrollHeight:N,clientHeight:z,scrollTop:j}=B;if(N<=z+1){w(null);return}const U=Math.max(24,z/N*z),T=z-U,L=N-z;w({top:Math.round(j/L*T),height:Math.round(U)})};S(),B.addEventListener("scroll",S,{passive:!0});const D=typeof ResizeObserver<"u"?new ResizeObserver(S):null;D?.observe(B);for(const N of Array.from(B.children))D?.observe(N);return()=>{B.removeEventListener("scroll",S),D?.disconnect()}},[a]);const C=s.useRef(null),k=s.useCallback(B=>{const S=_.current;S&&(B.preventDefault(),C.current={y:B.clientY,top:S.scrollTop},B.currentTarget.setPointerCapture(B.pointerId))},[]),y=s.useCallback(B=>{const S=_.current,D=C.current;!S||!D||(S.scrollTop=D.top+(B.clientY-D.y)*(S.scrollHeight/S.clientHeight))},[]),A=s.useCallback(B=>{C.current=null,B.currentTarget.hasPointerCapture(B.pointerId)&&B.currentTarget.releasePointerCapture(B.pointerId)},[]);return r.jsxs("nav",{ref:_,"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:k,onPointerMove:y,onPointerUp:A,onPointerCancel:A})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(B=>!B.section&&(B.key||B.label)).map((B,S)=>r.jsxs(s.Fragment,{children:[B.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(_g,{item:B,active:!!B.key&&B.key===o,state:B.disabled?"disabled":void 0,onClick:(D,N,z)=>{if(B.disabled)return;if(B.href){if(xg(B.href)&&window.open(B.href,"_blank","noopener,noreferrer"),z)try{N?.blur()}catch{}return}if(n?.(B.key),Ed(v,"SideNav"),!z)return;try{N?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const j=document.querySelector(".header");if(j){const U=typeof j.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&U&&j.matches(":hover"))){j.classList.add("header--force-collapsed");const T=()=>{j.classList.remove("header--force-collapsed"),j.removeEventListener("mouseenter",T)};j.addEventListener("mouseenter",T)}}}})]},B.key??`side-nav__item-${S}`)),f&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),f&&r.jsx(_g,{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:x})]}),r.jsx(rk,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,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',jd='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',nk='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',ik='.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}}';ie(ik);function Ld({appMode:e}){const{t}=ye.useTranslation(),a=e==="manager",o=a?jd:Ti,n=nk;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 Md({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f,scrollContainer:v}){const{t:g}=ye.useTranslation(),x=la("(max-width: 767px)"),_=s.useMemo(()=>(a??[]).filter(j=>!j.section&&(j.key||j.label)).map(j=>({key:j.key,label:typeof j.label=="string"?j.label:void 0,icon:j.icon,state:j.disabled?"disabled":void 0,badgeCount:j.badge})),[a]),b=s.useCallback(j=>{const U=a?.find(T=>T.key===j);if(!U?.disabled){if(U?.href){xg(U.href)&&window.open(U.href,"_blank","noopener,noreferrer");return}t?.(j)}},[a,t]),w=s.useMemo(()=>{const j=[];return l&&j.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&j.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&j.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),h&&j.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&j.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),d&&j.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),j},[g,l,c,u,h,p,d,i]),C=s.useCallback((j,U)=>({position:"fixed",top:j.bottom+8,right:Math.max(8,window.innerWidth-j.right),zIndex:fn(U)}),[]),k=s.useId(),{open:y,toggle:A,close:B,style:S,triggerRef:D,menuRef:N}=Fo({computeStyle:C,onScroll:"ignore",onResize:"reposition"}),z=s.useMemo(()=>[{items:w.map(j=>({label:j.label,icon:j.icon,badgeCount:j.badgeCount,selected:j.selected??(!!j.key&&j.key===e),closeOnSelect:!0,onClick:()=>{j.onClick?.(),B()}}))}],[w,e,B]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(Ld,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:D,children:[r.jsx(fe,{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:A,"aria-expanded":y,"aria-controls":y?k: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:k,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:S,ref:N,children:r.jsx(xr,{columns:z,onClose:B})}),document.body)]})]}),r.jsx(Td,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f}),x&&r.jsx(Nd,{items:_,activeKey:e??void 0,onChange:b,scrollContainer:v,appMode:m,onAppModeChange:f})]})}const yg=Md;var sk='.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%}}';ie(sk);const lk=()=>wt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function wg(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 ck(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function dk(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||lk()}function uk(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function $d(e){return{type:e.type??ck(e),plan:dk(e),label:e.label,price:wg(e.price),originalPrice:wg(e.originalPrice),discountLabel:e.discountLabel}}var pk='.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}';ie(pk);var hk='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',mk='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>',bk='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',gk='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',fk='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>',vk='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',xk=".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)}";ie(xk);var Ck=".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)}";ie(Ck);var kg='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 xo={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Rd=new WeakMap;function _k(e){if(e)return Rd.get(e)}function Oa(e,t){e&&(e.style.setProperty(xo.text,t.text),e.style.setProperty(xo.sub,t.sub),t.copyrightColor&&e.style.setProperty(xo.copyright,t.copyrightColor),Rd.set(e,t))}function Fa(e){e&&(e.style.removeProperty(xo.text),e.style.removeProperty(xo.sub),e.style.removeProperty(xo.copyright),Rd.delete(e))}const Pd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function zd(e={}){const t=Nt(Pd,Oa,Fa);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("${kg}")`}})]})}const Bg="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 yk=".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%}";ie(yk);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 wk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},kk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ag(e={}){const t=Nt(wk,Oa,Fa),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:kk.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:Bg,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 Bk=".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%}";ie(Bk);const Ak={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Sk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ek(e={}){const t=Nt(Ak,Oa,Fa),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:Sk.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:Bg,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("${kg}")`}})]})}var Dk=".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)}";ie(Dk);const Nk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Tk(e={}){const t=Nt(Nk,Oa,Fa);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 jk={Logo_speechear_kr:{"":Ti,_white:hk,_textWhite:mk,_black:bk},Logo_speechearManager_kr:{"":jd,_white:gk,_textWhite:fk,_black:vk}};function Lk(e,t){if(e)return jk[e]?.[t??""]??void 0}const Mk={speechear:Ti,manager:jd},$k={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Sg=10;function Rk(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 Eg(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 Pk(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===wt.t("passCard.specialLabel");return o?r.jsx(Tk,{}):n?r.jsx(Ek,{}):r.jsx(Ag,{})}return r.jsx(zd,{})}function Id({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:d="active",bg:u,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:f,logoSrc:v,label:g,price:x,originalPrice:_,discountLabel:b,onUse:w,onRefund:C,onDelete:k}){const{t:y}=ye.useTranslation(),A=t?$d(t):void 0,B=n??A?.type??"speechear",S=o??A?.plan??y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),D=g??A?.label,N=x??(a?A?.price:void 0),z=_??(a?A?.originalPrice:void 0),j=b??A?.discountLabel,U=s.useMemo(()=>{if(N)return null;const q=t?.durationDays??uk(t?.code);if(!q||q<=0)return l!=null?{percent:null,remainingLabel:Eg(l,y)}:null;const le=q*86400;let Ce;if(l!=null)Ce=l;else if((d==="active"||d==="expired")&&i){const re=new Date(i).getTime();if(Number.isNaN(re))return null;const me=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ge=/^(\d{4})-(\d{2})-(\d{2})/.exec(va()),G=Math.round(me&&ge?(Date.UTC(+me[1],+me[2]-1,+me[3])-Date.UTC(+ge[1],+ge[2]-1,+ge[3]))/864e5:(re-Date.now())/864e5);Ce=Math.max(0,c?G+1:G)*86400}else d==="expired"?Ce=0:Ce=le;const Ne=Rk(Ce),_e=Math.max(0,Math.min(100,Math.floor(Math.min(Ne,le)/le*100)));return d==="pending"&&_e>=100?null:{percent:_e,remainingLabel:d==="expired"?y("passCard.expired","\uB9CC\uB8CC\uB428"):Eg(Ce,y)}},[N,d,i,l,c,t?.durationDays,t?.code,y]),T=s.useRef(null),[L,I]=s.useState({}),[Y,Q]=s.useState(null),P=!!(w||C||k),W=s.useRef(!1),$=s.useRef(void 0),[F,E]=s.useState(v);s.useLayoutEffect(()=>{E(v)},[v]),s.useLayoutEffect(()=>{const q=T.current;q&&(p!==void 0&&q.style.setProperty("--pass-card-text",p),m!==void 0&&q.style.setProperty("--pass-card-sub",m),f!==void 0&&q.style.setProperty("--pass-card-copyright",f))},[p,m,f]),s.useLayoutEffect(()=>{const q=T.current;if(!q)return;const le=_k(q);if(!v){const Ce=$k[B],Ne=d==="expired"?"_black":le?.logoColor??"",_e=Lk(Ce,Ne);E(_e)}},[u,v,B,d]);const H=q=>{const le=T.current;if(!le)return null;const{left:Ce,top:Ne,width:_e,height:re}=le.getBoundingClientRect(),me=(q.clientX-Ce)/_e-.5;return{rotateX:-((q.clientY-Ne)/re-.5)*Sg,rotateY:me*Sg}},R=(q,le)=>{const Ce=le*-.7,Ne=q*.7+10,_e=20+(Math.abs(q)+Math.abs(le))*.4;return`${Ce}px ${Ne}px ${_e}px rgba(0, 0, 0, 0.18)`},O=s.useCallback(q=>{if(mr())return;W.current=!0,clearTimeout($.current),$.current=setTimeout(()=>{W.current=!1},200);const le=H(q);le&&I({transform:`perspective(800px) rotateX(${le.rotateX}deg) rotateY(${le.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:R(le.rotateX,le.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)"})},[]),V=s.useCallback(q=>{if(mr())return;const le=H(q);if(!le)return;const Ce=W.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${le.rotateX}deg) rotateY(${le.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:R(le.rotateX,le.rotateY),transition:Ce})},[]),Z=s.useCallback(()=>{clearTimeout($.current),W.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(()=>Q(null),[]),X=s.useMemo(()=>{const q=y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),le=S.replace("\uC774\uC6A9\uAD8C","").replace(q==="\uC774\uC6A9\uAD8C"?"":q,"").trim(),Ce=le.match(/^(.*?)(일|년)$/);return Ce?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:Ce[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:Ce[2]==="\uB144"?y("passCard.unitYear","\uB144"):y("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:le})},[S,y]),ne=s.useMemo(()=>{const q=dr(N);if(!q)return null;const le=q.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!le)return r.jsx("span",{className:"h1",children:q});const[,Ce,Ne,_e]=le;return r.jsxs(r.Fragment,{children:[Ce&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Ce}),r.jsx("span",{className:"h1 pass-card__price-amount",children:Ne}),_e.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:_e.trim()})]})},[N]),ae=s.useCallback(()=>{P&&Q(q=>{if(q)return null;const le=T.current?.getBoundingClientRect();if(!le)return null;const Ce=50;return{left:le.left,right:le.right,width:le.width,height:le.height,x:le.x,y:le.y+Ce,top:le.top+Ce,bottom:le.bottom+Ce}})},[P]),pe=s.useCallback(q=>{P&&(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),ae())},[P,ae]),De=[{items:[...w?[{label:y("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),Q(null)},closeOnSelect:!0}]:[],...C?[{label:y("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{C(),Q(null)},closeOnSelect:!0}]:[],...k?[{label:y("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{k(),Q(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:T,className:`pass-card pass-card--${d}${P?" pass-card--clickable":""}`,style:L,onMouseEnter:O,onMouseMove:V,onMouseLeave:Z,onPointerUp:q=>{q.pointerType==="touch"&&Z()},onPointerCancel:q=>{q.pointerType==="touch"&&Z()},onClick:ae,onKeyDown:P?pe: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:[u??Pk(B,S,D),!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:F??Mk[B],className:"pass-card__logo",alt:B==="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:X}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:D?y("passCard.labeledPlan",{label:D}):y("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?r.jsxs("div",{className:"pass-card__price-area",children:[j&&r.jsx("span",{className:"pass-card__discount body-3",children:j}),r.jsxs("div",{className:"pass-card__price",children:[z&&r.jsx("span",{className:"pass-card__price-original body-3",children:dr(z)}),ne]})]}):U?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:U.remainingLabel}),U.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:U.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(xr,{columns:De,onClose:ee,size:"small"})})]})}var zk=".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%}";ie(zk);const Ik={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ok(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=Nt(Ik,Oa,Fa);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 Fk=".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}";ie(Fk);const Hk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Vk(e={}){const t=Nt(Hk,Oa,Fa);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 Wk(e,t){if(e){if(t==="manager_pro")return r.jsx(Vk,{});if(t==="manager_standard")return r.jsx(Ok,{});if(t==="manager_lite")return r.jsx(Ag,{})}}function Gk(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 Dg(e){const{t}=ye.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||{},d=C=>!!C&&!!c?.includes(C),u=C=>C.onceOnly??/오픈\s*특가/.test(C.label??""),h=(n.tiers||[]).some(C=>u(C)&&d(C.code)),p=C=>{const k=C.prices?C.prices[l]:C.price;return k?(n.tiers||[]).some(y=>!!y.badge&&y.originals?.[l]===k):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",f=t("payment.plan.freePrice","\uBB34\uB8CC"),v=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=C=>C.prices?C.prices[l]:C.price,x=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const k=g(C);return k==="\uBB34\uB8CC"||k===f||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),_=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const k=g(C);return k==="\uBB38\uC758"||k===v}),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((C,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(at,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),C]},k))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((C,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(at,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),C]},k))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:x?null:_?r.jsx(fe,{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(C=>{const k=C.label||a,y=u(C),A=y||C.openPromo===!0,B=k.replace(/^오픈\s*특가\s*/,"")||a,S=C.prices?C.prices[l]:C.price,D=C.badge?A?`${o}
|
|
851
|
+
`),this.name="StorageNotConfiguredError"}};function Ns(e){J5(e)}function Mn(e,t){if(!e)return null;const a=Xo();return a?.resolvePath?a.resolvePath(e,t):t?`${t}/${e}.mp3`:null}async function Ts(e){if(!e)return!1;const t=Xo();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=Xo();if(!t)throw new Ds("getSignedOrPublicUrl");try{return await t.resolveUrl(e)}catch{return null}}async function $n(e){const t=Xo();if(!t)throw new Ds("downloadSound");return t.download(e)}function js(){return Xo()?.noiseBaseUrl??"/sounds/noise"}function Ls(){const e=Number(Xo()?.noiseFileGain);return Number.isFinite(e)&&e>0?e:1}function Q5(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 Jp(e){globalThis[Ms]=e}function zr(){return globalThis[Ms]?.urlResolver??null}function $s(){return globalThis[Ms]?.fallbackUrlResolver??null}const e3=new Map;function Qp(){e3.clear()}const eh="__ihab_core_pronunciation_resolver__";function th(e){globalThis[eh]=e}function Rs(){return globalThis[eh]??null}let so=null;const Ir=new WeakMap,Ps=new WeakMap,zs=new WeakMap;let ah=!1;const oh=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function t3(){if(ah||typeof document>"u")return;ah=!0;const e=()=>{try{so&&so.state!=="running"&&so.resume()}catch{}};for(const t of["pointerdown","touchend","keydown"])document.addEventListener(t,e,{capture:!0,passive:!0})}function rh(){if(so)return so;try{const e=window.AudioContext||window.webkitAudioContext;return e?(so=new e,t3(),so):null}catch{return null}}function Or(){try{so?.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=oh(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 Jo(e){if(!e)return Promise.resolve(null);const t=Ir.get(e);if(t)return Promise.resolve(t.analyser);const a=rh();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=rh();return a?a.state==="running"?Is(a,e)?.analyser??null:(Jo(e),null):null}function La(e,t){const a=oh(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 Qo(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 nh="__ihab_core_image_config__";function ih(e){globalThis[nh]=e}function lo(){return globalThis[nh]??null}const Fr="word_image_existence_map_v1";let Ma=null,Do=0,sh=-1,Hr=null,lh=-1,ch=new Set;const Rn=new Map;function er(){if(Ma)return Ma;try{const e=typeof localStorage<"u"?localStorage.getItem(Fr):null,t=e?JSON.parse(e):null;Ma=t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{Ma={}}return Ma}let Hs=null;function a3(){Hs||(Hs=setTimeout(()=>{Hs=null;try{typeof localStorage<"u"&&Ma&&localStorage.setItem(Fr,JSON.stringify(Ma))}catch{}},200))}function Pn(e,t){return`${e}_${t??1}`}async function Vr(e,t){const a=er(),o=Pn(e,t);if(o in a)return a[o];if(Rn.has(o))return Rn.get(o);const n=lo();if(!n)return!1;const i=n(e,t);if(!i)return!1;const l=fetch(i,{method:"HEAD",signal:Q5(8e3)}).then(c=>c.status>=500?null:c.ok,()=>null).then(c=>(Rn.delete(o),c===null?!1:(a[o]=c,Do++,a3(),c)));return Rn.set(o,l),l}function dh(e,t){const a=er(),o=Pn(e,t);return o in a?a[o]:void 0}async function uh(e,t={}){const{force:a=!1,concurrency:o=16,onProgress:n}=t,i=er(),l=a?Array.from(new Set(e)):Array.from(new Set(e)).filter(d=>!(Pn(d)in i));let c=0;if(l.length>0){let d=0;const u=Array.from({length:Math.min(o,l.length)},async()=>{for(;d<l.length;){const h=d++,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(u)}try{typeof localStorage<"u"&&Ma&&localStorage.setItem(Fr,JSON.stringify(Ma))}catch{}return{checked:l.length,cached:Object.keys(i).length,total:e.length}}function zn(){const e=er();if(sh===Do)return Hr?{...Hr}:null;const t=Object.values(e);return Hr=t.length===0?null:{total:t.length,exists:t.filter(Boolean).length},sh=Do,Hr?{...Hr}:null}function ph(){const e=er();if(lh===Do)return ch;const t=new Set;for(const a in e)e[a]===!0&&a.endsWith("_1")&&t.add(a.slice(0,-2));return ch=t,lh=Do,t}function hh(e){const t=er();Object.assign(t,e),Do++;try{typeof localStorage<"u"&&localStorage.setItem(Fr,JSON.stringify(t))}catch{}}function Vs(){Ma={},Do++;try{typeof localStorage<"u"&&localStorage.removeItem(Fr)}catch{}}const o3={\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 r3(e,t){return(Ws[e]?.glide??"")!==(Ws[t]?.glide??"")}function No(e){return o3[e]??e}const bt=["\u3131","\u3132","\u3134","\u3137","\u3138","\u3139","\u3141","\u3142","\u3143","\u3145","\u3146","\u3147","\u3148","\u3149","\u314A","\u314B","\u314C","\u314D","\u314E"],kt=["\u314F","\u3150","\u3151","\u3152","\u3153","\u3154","\u3155","\u3156","\u3157","\u3158","\u3159","\u315A","\u315B","\u315C","\u315D","\u315E","\u315F","\u3160","\u3161","\u3162","\u3163"],Pt=["","\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 Ue(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=>Ue(o)),e.set(t,a)),a}}function ya(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=Ue(e[n]),l=Ue(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,d=i.jung!==l.jung,u=i.jong!==l.jong;(c?1:0)+(d?1:0)+(u?1:0)>1?o="multi":c?o="cho":d?o="jung":o="jong"}return a!==1?"random":o==="cho"?"cho":o==="jung"?"jung":o==="jong"?"jong":"random"}function qs(e){const t=Ue(e[0]||"");return t?bt[t.cho]:""}function Ys(e){return[...e].map(t=>{const a=Ue(t);return a?bt[a.cho]:t}).join("")}function Ks(e){return!!e&&[...e].every(t=>bt.includes(t))}function mh(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 bh(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=>kt.includes(l),n=t.map(l=>a(l)?"cho":o(l)?"jung":Ue(l)?"syl":"other"),i=t.map(l=>Ue(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 d=0;d+t.length<=c.length;d++){let u=!0;for(let h=0;h<t.length;h++){const p=c[d+h],m=n[h];if(m==="cho"){if(qs(p)!==t[h]){u=!1;break}}else if(m==="jung"){const f=Ue(p);if(!f||kt[f.jung]!==t[h]){u=!1;break}}else{const f=i[h];if(f&&f.jong===0){const v=Ue(p);if(!v||v.cho!==f.cho||v.jung!==f.jung){u=!1;break}}else if(p!==t[h]){u=!1;break}}}if(u)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"]},gh=Object.fromEntries(Object.entries(In).map(([e,t])=>[t.join(""),Pt[Number(e)]]));function n3(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o){if(bt[o.cho]===t)return!0;if(o.jong>0){if(Pt[o.jong]===t)return!0;const n=In[o.jong];if(n&&n.includes(t))return!0}}}return!1}function fh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o&&bt[o.cho]===t)return!0}return!1}function vh(e,t){if(!e||!t)return!1;for(const a of e){const o=Ue(a);if(o&&kt[o.jung]===t)return!0}return!1}function xh(e,t,a){const o=Pt[e];return o===t?!0:a==="phoneme"&&No(o)===No(t)}function Ch(e,t,a="glyph"){if(!e||!t)return!1;for(const o of e){const n=Ue(o);if(!(!n||n.jong<=0)&&xh(n.jong,t,a))return!0}return!1}function To(e){if(!e)return 0;let t=0;for(const a of e)Ue(a)&&t++;return t}function Xs(e){if(!e)return!1;let t=!1;for(const a of e){const o=Ue(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=>xh(e.jong,o,a))}function Qs(e,t,a,o="glyph"){if(!e)return!1;const n=[...e],i=l=>{const c=Ue(n[l]);if(!c||t.cho&&!t.cho.includes(bt[c.cho])||t.jung&&!t.jung.includes(kt[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 _h(e,t,a,o="glyph"){if(!e)return!1;const n=[...e].map(Ue).filter(d=>!!d);if(n.length===0)return!1;const i=n.length-1;if(a==="head"){if(!t.cho)return!1;const d=bt[n[0].cho];return d!=="\u3147"&&t.cho.includes(d)}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((d,u)=>{if(u===0)return!1;const h=bt[d.cho];return h!=="\u3147"&&t.cho.includes(h)}),c=t.jongNone?n.some((d,u)=>u!==i&&d.jong===0):!t.jong||n.some((d,u)=>u!==i&&Js(d,t.jong,o));return!t.cho&&!t.jong&&!t.jongNone?!1:l&&c}function el(e){return e.includes(",")||e.includes("_")}function yh(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=gh[n];if(!i)return[{kind:"invalid"}];n=i}return[{kind:"template",cho:a,jung:o,jong:n||"_"}]}return[...e].map(t=>Ue(t)?{kind:"syllable",ch:t}:bt.includes(t)?{kind:"cho",jamo:t}:kt.includes(t)?{kind:"jung",jamo:t}:{kind:"invalid"})}function i3(e,t){switch(t.kind){case"any":return!0;case"syllable":{const a=Ue(t.ch);if(!a)return e===t.ch;if(a.jong===0){const o=Ue(e);return!!o&&o.cho===a.cho&&o.jung===a.jung}return e===t.ch}case"cho":{const a=Ue(e);return!!a&&bt[a.cho]===t.jamo}case"jung":{const a=Ue(e);return!!a&&kt[a.jung]===t.jamo}case"template":{const a=Ue(e);return!(!a||t.cho!=="_"&&bt[a.cho]!==t.cho||t.jung!=="_"&&kt[a.jung]!==t.jung||t.jong!=="_"&&Pt[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=>yh(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)=>i3(o[n+l],i)))return!0;return!1}function wh(e){const t=e.split(",").flatMap(i=>yh(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=Ue(i.ch);l&&(a.add(bt[l.cho]),o.add(kt[l.jung]),l.jong!==0&&n.add(Pt[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 s3(e){return!!Ue(e)||bt.includes(e)||kt.includes(e)}function kh(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(""),d=i===void 0||i==="_"||bt.includes(i),u=l===void 0||l==="_"||kt.includes(l),h=c===""||c==="_"||Pt.filter(Boolean).includes(c)||!!gh[c];if(d&&u&&h)continue;return{ok:!1}}if(![...o].every(s3))return{ok:!1}}}return{ok:!0}}const l3={cho:bt.length,jung:kt.length,jong:Pt.length};function c3(e,t,a,o,n=1/0){if(!e||a<1)return[];const i=[...e].map(p=>Ue(p));if(i.some(p=>!p))return[];const l=i,c=l.length;if(a>c)return[];const d=l3[t],u=new Set,h=[];(function p(m,f){if(f.length===a){h.push([...f]);return}for(let v=m;v<c;v++)f.push(v),p(v+1,f),f.pop()})(0,[]);for(const p of h)if((function m(f,v){if(u.size>=n)return;if(f===p.length){const _=v.map(b=>ya(b.cho,b.jung,b.jong)).join("");_!==e&&o.has(_)&&u.add(_);return}const g=p[f],x=l[g][t];for(let _=0;_<d;_++){if(_===x)continue;const b=v.slice();if(b[g]={...v[g],[t]:_},m(f+1,b),u.size>=n)return}})(0,l),u.size>=n)break;return[...u]}function d3(e,t){if(!e||!t||e.length!==t.length)return-1;let a=0;for(let o=0;o<e.length;o++){const n=Ue(e[o]),i=Ue(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 Bh(e,t){const a=t.normalize("NFC").trim();if(!a||!/[^\s,_]/.test(a))return e;if(el(a))return e.filter(d=>tl(d.word,a));const o=Zs(a),n=[...a].length,i=d=>!!d&&o(d.normalize("NFC").slice(0,n)),l=[],c=[];for(const d of e)(o(d.word)||o(d.pronunciation??""))&&(i(d.word)||i(d.pronunciation??"")?l:c).push(d);return l.concat(c)}const al="word_pair_index_v2",ol="word_pair_index_sig_v2";let $a=null,Wr=null;function Ah(){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 u3(e,t){try{if(typeof localStorage>"u")return;localStorage.setItem(al,JSON.stringify(e)),localStorage.setItem(ol,t)}catch{}}function p3(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 h3(e,t){const a=new Set,o=[];for(const u of e){if(!u.word||a.has(u.word))continue;const h=u.pron||u.word,p=Array.from(h).map(Ue);p.some(m=>m===null)||p.length===Array.from(u.word).length&&(a.add(u.word),o.push({word:u.word,syls:p}))}const n={},i=o.length,l=new Map;for(const u of o){const h=u.syls.length;l.has(h)||l.set(h,[]),l.get(h).push(u)}let c=0;const d=["cho","jung","jong"];for(const u of l.values()){const h=u[0].syls.length;for(let p=0;p<h;p++)for(const m of d){const f=new Map;for(const v of u){let g="";for(let _=0;_<h;_++){_>0&&(g+="~");const b=v.syls[_];_===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 x=f.get(g);x||(x=[],f.set(g,x)),x.push(v)}for(const v of f.values())if(!(v.length<2))for(let g=0;g<v.length;g++){const x=v[g];for(let _=g+1;_<v.length;_++){const b=v[_];x.syls[p][m]!==b.syls[p][m]&&(n[x.word]||(n[x.word]={cho:[],jung:[],jong:[]}),n[b.word]||(n[b.word]={cho:[],jung:[],jong:[]}),n[x.word][m].push(b.word),n[b.word][m].push(x.word))}}}c+=u.length,t?.(c,i),await new Promise(p=>setTimeout(p,0))}return i>0&&t?.(i,i),n}let rl=0;async function Sh(e,t={}){const a=p3(e);if(!t.force){if($a&&Wr===a)return $a;const i=Ah();if(i&&i.sig===a)return $a=i.index,Wr=a,$a}const o=++rl,n=await h3(e,t.onProgress);return o===rl&&($a=n,Wr=a,u3(n,a)),n}function jo(){if($a)return $a;const e=Ah();return e?($a=e.index,Wr=e.sig,$a):null}function nl(){rl+=1,$a=null,Wr=null;try{typeof localStorage<"u"&&(localStorage.removeItem(al),localStorage.removeItem(ol))}catch{}}const il={cho:bt,jung:kt,jong:Pt},zt=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&&r3(kt[o.jung],kt[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=>zt(e[m])),d={};for(const m of c){const f=e[m];d[m]=new Set(Array.isArray(f)?f:[f])}const u=n==="pron",h=new Map;for(const m of t){const f=a(i(m));if(f.some(_=>!_))continue;let v=f;if(!u&&(v=a(m),v.length!==f.length||v.some(_=>!_)))continue;const g=f.length,x=h.get(g);x?x.push({w:m,dPron:f,dPos:v}):h.set(g,[{w:m,dPron:f,dPos:v}])}const p=new Map;for(const[m,f]of h){const v=new Map,g=(x,_)=>{const b=x.dPos[_];return b!=null&&c.every(w=>d[w].has(il[w][b[w]]))};for(const x of f){let _;if(l==="head")_=g(x,0)?0:-1;else if(l==="tail")_=g(x,m-1)?m-1:-1;else if(l==="mid"){const w=c.includes("cho")?1:0,C=c.includes("jong")?m-2:m-1;_=-1;for(let k=w;k<=C;k++)if(g(x,k)){_=k;break}}else _=x.dPos.findIndex(w=>w!=null&&c.every(C=>d[C].has(il[C][w[C]])));if(_<0)continue;const b=v.get(_);b?b.push(x):v.set(_,[x])}for(const[x,_]of v){const b=c.includes("cho"),w=c.includes("jung"),C=c.includes("jong"),k=A=>{let B="";for(let S=0;S<m;S++){const D=A[S];S===x?B+=(b?"*":D.cho)+"."+(w?"*":D.jung)+"."+(C?"*":D.jong)+".":B+=D.cho+"."+D.jung+"."+D.jong+"."}return B},y=new Map;for(const A of f){const B=k(A.dPron),S=y.get(B);S?S.push(A):y.set(B,[A])}for(const A of _){const B=y.get(k(A.dPron))??[],S=[];for(const D of B){if(D.w===A.w)continue;let N=!0;for(const z of c){const j=A.dPron[x][z],U=D.dPron[x][z];if(U===j){N=!1;break}if(u&&d[z].has(il[z][U])){N=!1;break}}N&&(o&&Gr(A.dPron,D.dPron)||S.push(D.w))}p.set(A.w,S)}}}return p}const Fn=0,Eh=1,Lo=2,cl=3,m3=4,Hn=5,dl=6,Vn=7,b3=8,ul=9,tr=10,g3=11,Ur=12,f3=13,qr=14,Wn=15,Gn=16,Yr=17,v3=18,wa=0,Za=1,x3=3,co=4,pl=5,Kr=6,Ra=7,Ht=8,Dh=9,Nh=10,Un=11,Th=12,hl=13,ar=15,qn=16,Xa=17,jh=18,ml=21,bl=27,C3=20,_3={1:Fn,2:Eh,4:Lo,7:cl,8:Hn,16:dl,17:Vn,19:ul,20:tr,22:Ur,23:qr,24:Wn,25:Gn,26:Yr},y3={[x3]:[Za,tr],[pl]:[co,Ur],[Dh]:[Ht,Fn],[Nh]:[Ht,dl],[Un]:[Ht,Vn],[Th]:[Ht,tr],[hl]:[Ht,Gn],14:[Ht,Yr],[jh]:[Xa,tr]},w3={[Kr]:Lo,[ar]:Hn},gl={2:Za,24:Za,3:Za,9:Za,5:co,6:co,19:Ra,20:Ra,22:Ra,23:Ra,25:Ra,27:Ra,11:Ht,12:Ht,13:Ht,15:Ht,10:qn,14:Xa,18:Xa,26:Xa},Lh={[Fn]:Wn,[cl]:Gn,[Vn]:Yr,[Ur]:qr},Mh={[Fn]:Eh,[cl]:m3,[Vn]:b3,[ul]:tr,[Ur]:f3},k3=new Set([pl,Nh,Un,Th,hl,ar,jh]),B3=new Set(["\uBC1F"]);function $h(e){const t=(e??"").trim();if(!t)return"";const a=[...t],o=a.map(Ue);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],d=l.jong;if(!c){l.jong=gl[l.jong]??l.jong;break}if(l.jong===wa)continue;if(c.cho===g3){if(c.jung===C3){if(l.jong===Ra){l.jong=wa,c.cho=Ur;continue}if(l.jong===25){l.jong=wa,c.cho=qr;continue}if(l.jong===hl){l.jong=Ht,c.cho=qr;continue}}if(l.jong===bl){l.jong=wa;continue}const h=w3[l.jong];if(h!==void 0){l.jong=wa,c.cho=h;continue}const p=y3[l.jong];if(p){l.jong=p[0],c.cho=p[1];continue}const m=_3[l.jong];m!==void 0&&(l.jong=wa,c.cho=m);continue}if((l.jong===bl||l.jong===Kr||l.jong===ar)&&Lh[c.cho]!==void 0){c.cho=Lh[c.cho],l.jong=l.jong===Kr?co:l.jong===ar?Ht:wa;continue}if((l.jong===bl||l.jong===Kr||l.jong===ar)&&c.cho===ul){c.cho=tr,l.jong=l.jong===Kr?co:l.jong===ar?Ht:wa;continue}if(c.cho===v3){if(l.jong===pl){l.jong=co,c.cho=qr;continue}if(l.jong===Dh){l.jong=Ht,c.cho=Wn;continue}if(l.jong===Un){l.jong=Ht,c.cho=Yr;continue}const h=gl[l.jong]??l.jong;if(h===Za){l.jong=wa,c.cho=Wn;continue}if(h===Ra){l.jong=wa,c.cho=Gn;continue}if(h===Xa){l.jong=wa,c.cho=Yr;continue}}let u=gl[l.jong]??l.jong;d===Un&&B3.has(a[i])&&(u=Xa),l.jong=u,Mh[c.cho]!==void 0&&(u===Za||u===Ra||u===Xa||k3.has(d))&&(c.cho=Mh[c.cho]),(c.cho===Lo||c.cho===dl)&&(l.jong===Za?l.jong=ml:l.jong===Ra?l.jong=co:l.jong===Xa&&(l.jong=qn)),c.cho===Hn?l.jong===co?l.jong=Ht:l.jong===qn||l.jong===ml?c.cho=Lo:l.jong===Za?(l.jong=ml,c.cho=Lo):l.jong===Xa&&(l.jong=qn,c.cho=Lo):l.jong===Ht&&c.cho===Lo&&(c.cho=Hn)}return n.map(i=>ya(i.cho,i.jung,i.jong)).join("")}const or=/[ㄱ-ㅎ]/,A3=/[ㅏ-ㅣ]/;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||or.test(a)||A3.test(a))return a}return null}function fl(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":or.test(t)?"\uC774":"\uAC00"}function vl(e){return`${e}${fl(e)}`}function xl(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":or.test(t)?"\uC744":"\uB97C"}function Cl(e){return`${e}${xl(e)}`}function _l(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":or.test(t)?"\uC740":"\uB294"}function Rh(e){return`${e}${_l(e)}`}function yl(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":or.test(t)?"\uACFC":"\uC640"}function Ph(e){return`${e}${yl(e)}`}function wl(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":or.test(t)?"\uC73C\uB85C":"\uB85C"}function zh(e){return`${e}${wl(e)}`}function kl(e,t,a){const o=e.slice(),[n]=o.splice(t,1);return o.splice(a,0,n),o}function nt(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 ka(e,t,a=Math.random){return!Array.isArray(e)||e.length===0||t<=0?[]:t>=e.length?nt(e,a):nt(e,a).slice(0,t)}const rr={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 S3(e){const t=e?rr[e]?.group:void 0;return t==="synthesis"||t==="deletion"||t==="substitution"?t:null}const Bl=bt.indexOf("\u3147"),nr={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!==Bl},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!==Bl},MERGE_3_PHONEMES:{syllables:1,syllable:e=>e.jong>0&&!In[e.jong]&&e.cho!==Bl}},E3=new Set([]);function Ih(e){return e in nr}function Oh(e,t){const a=nr[e];if(!a)return!0;const o=[...t];if(o.length!==a.syllables)return!1;const n=Ue(o[0]);return!!n&&a.syllable(n)}function Fh(e){return E3.has(e)}function D3(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 Al(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 Hh(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 Sl={\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 Vh(e){if([...e].length!==1)return[e];const t=Ue(e);if(!t)return[e];const a=[bt[t.cho],kt[t.jung]];return t.jong!==0&&a.push(Pt[t.jong]),a}function El(e,t=!1){const a=e.filter(Boolean);if(a.length<2)return"";const o=c=>Sl[c]??c,n=a.slice(0,-1).map(c=>`"${c}"${D3(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 N3(e,t){return El(t,e==="MERGE_2_PHONEMES"||e==="MERGE_3_PHONEMES")}const Dl=e=>Sl[e]??e,T3={cho:"\uCD08\uC131",jung:"\uBAA8\uC74C",jong:"\uBC1B\uCE68"};function j3(e,t){const a=(d,u)=>{const h=[...d].length===1?Ue(d):null,p=[...u].length===1?Ue(u):null;if(!h||!p)return null;const m=["cho","jung","jong"].filter(f=>h[f]!==p[f]);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"?kt:Pt,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 L3(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=j3(l,n);if(c){const d=i?`"${a}"`:`"${a}"\uC758 "${l}"`,u=c.kind==="add"?"\uC5D0":"\uC5D0\uC11C",h=`"${c.from}"${Xr(Dl(c.from))}`,p=`"${c.to}"${Al(Dl(c.to))}`;return c.kind==="add"?`${d}${u} \uBC1B\uCE68 "${c.to}"${Xr(Dl(c.to))} \uB354\uD558\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:c.kind==="remove"?`${d}${u} \uBC1B\uCE68 ${h} \uBE7C\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`${d}${u} ${T3[c.part]} ${h} ${p} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}}return e==="CHANGE_1_PHONEME_IN_1SYLL"?`"${a}"${Xr(a)} "${n}"${Al(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`:`"${a}"\uC5D0\uC11C "${o}"${Xr(o)} "${n}"${Al(n)} \uBC14\uAFB8\uBA74 \uBB34\uC5C7\uC774 \uB418\uB098\uC694?`}function M3(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}"${Hh(n)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uC18C\uB9AC\uAC00 \uB418\uB098\uC694?`}return`"${a}"\uC5D0\uC11C "${o}"${Hh(o)} \uC5C6\uC5B4\uC9C0\uBA74 \uC5B4\uB5A4 \uB9D0\uC774 \uB418\uB098\uC694?`}function Wh(e,t,a){switch(S3(e)){case"synthesis":return N3(e,a);case"substitution":return L3(e,t);case"deletion":return M3(e,t);default:return""}}function Gh(e){return e.replace(/"([ㄱ-ㅣ])"(으로|와|과|을|를|이|가|은|는|로)?/g,(t,a,o)=>{const n=Sl[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 $3=e=>e==null?[]:Array.isArray(e)?e:[e];function Jr(e){if([...e].length!==1)return"";const t=Ue(e);if(!t)return"";const a=No(Pt[t.jong]),o=a===""?0:Pt.indexOf(a);return ya(t.cho,t.jung,o<0?0:o)}function Yn(e,t){return t.get(e)||Jr(e)||e}function ir(e){return e?zt(e.cho)?"cho":zt(e.jung)?"jung":zt(e.jong)?"jong":null:null}function Ja(e,t){const a=(n,i)=>!zt(n)||$3(n).includes(i),o=t.jongNone?e.jong===0:a(t.jong,Pt[e.jong]);return a(t.cho,bt[e.cho])&&a(t.jung,kt[e.jung])&&o}function Mo(e,t,a){const o=[...e];if(a!=="pron")return o.map(i=>Ue(i));const n=[...t.get(e)||e];return n.length!==o.length?o.map(i=>Ue(i)):n.map(i=>Ue(i))}function $o(e,t,a,o,n){const i=t==="cho"?bt:t==="jung"?kt:Pt,l=e[t],c=[],d=p=>t==="jung"?P3(Yn(p,n)):Yn(p,n),u=new Map([[d(a),-1]]),h=nt(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"?ya(p,e.jung,e.jong):t==="jung"?ya(e.cho,p,e.jong):ya(e.cho,e.jung,p),f=d(m),v=u.get(f);if(v!==void 0){t==="jung"&&v>=0&&n.has(m)&&!n.has(c[v])&&(c[v]=m);continue}u.set(f,c.length),c.push(m)}return c}const R3={\u3154:"\u3150",\u3156:"\u3152",\u315A:"\u3159",\u315E:"\u3159"};function P3(e){if([...e].length!==1)return e;const t=Ue(e);if(!t)return e;const a=R3[kt[t.jung]];return a?ya(t.cho,kt.indexOf(a),t.jong):e}function Nl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==2)return null;const c=l.map(p=>Ue(p));if(c.some(p=>!p))return null;const d=Mo(e,a,o);if(d.some(p=>!p))return null;const u=ir(t);let h=u&&t?d.map((p,m)=>Ja(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 nt(h)){const m=l[p];if(!n.has(m))continue;const f=$o(c[p],u??"cho",m,40,a),v=[];for(const g of f)if(g!==m&&n.has(g)&&!v.includes(g)&&v.push(g),v.length>=2)break;if(!(v.length<2))return{question:e,distractors:[m,...v]}}return null}function Tl(e,t,a,o,n,i=null){const l=[...e];if(l.length!==3)return null;const c=l.map(p=>Ue(p));if(c.some(p=>!p))return null;const d=Mo(e,a,o);if(d.some(p=>!p))return null;const u=ir(t),h=u&&t?d.map((p,m)=>Ja(p,t)?m:-1).filter(p=>p>=0):[0,1,2];if(!h.length)return null;for(const p of nt(h))for(const m of nt([0,1,2].filter(f=>f!==p&&(i==null||f===i)))){const f=[0,1,2].filter(b=>b!==m),v=f.map(b=>l[b]).join("");if(!n.has(v))continue;const g=f.indexOf(p),x=$o(c[p],u??"cho",l[p],40,a),_=[];for(const b of x){const w=f.map(k=>l[k]);w[g]=b;const C=w.join("");if(C!==v&&n.has(C)&&!_.includes(C)&&_.push(C),_.length>=2)break}if(!(_.length<2))return{question:e,distractors:[v,..._]}}return null}function jl(e,t,a,o,n,i=null){const l=[...e],c=l.length;if(c<2)return null;const d=[];for(let h=1;h<=c-1;h++)d.push({remain:l.slice(0,h).join(""),dropped:l.slice(h).join(""),droppedEnd:1}),d.push({remain:l.slice(c-h).join(""),dropped:l.slice(0,c-h).join(""),droppedEnd:0});const u=ir(t);for(const{remain:h,dropped:p,droppedEnd:m}of nt(d)){if(i!=null&&m!==i||[...h].length===1&&[...p].length===1||h===e||!n.has(h)||!n.has(p))continue;const f=[...h],v=f.map(_=>Ue(_));if(v.some(_=>!_))continue;const g=Mo(h,a,o);if(g.some(_=>!_))continue;const x=u&&t?g.map((_,b)=>Ja(_,t)?b:-1).filter(_=>_>=0):f.map((_,b)=>b);if(x.length)for(const _ of nt(x)){const b=$o(v[_],u??"cho",f[_],40,a),w=[];for(const C of b){const k=[...f];k[_]=C;const y=k.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 Ll(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ue(a.get(e)||e);if(!l||l.jong===0)return null;const c=ya(l.cho,l.jung,0),d=$o({cho:l.cho,jung:l.jung,jong:0},"cho",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}const Ml=bt.indexOf("\u3147");function $l(e,t,a,o,n,i=null){if([...e].length!==1)return null;const l=Ue(a.get(e)||e);if(!l||l.jong!==0||l.cho===Ml)return null;const c=ya(Ml,l.jung,0),d=$o({cho:Ml,jung:l.jung,jong:0},"jung",c,2,a);return d.length<2?null:{question:e,distractors:[c,...d]}}function Rl(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 d=0;d<n;d++)l+=d===i?"*":o[d];const c=t.get(l);c?c.push(a):t.set(l,[a])}}return t}function Pl(e,t,a,o,n,i=null,l=null,c=2){const d=[...e],u=d.length;if(u<2||u>3)return null;const h=d.map(b=>Ue(b));if(h.some(b=>!b))return null;const p=Mo(e,a,o);if(p.some(b=>!b))return null;const m=b=>a.get(b)??b,f=m(e),v=!!t&&(zt(t.cho)||zt(t.jung)||zt(t.jong)),g=!!l&&(zt(l.cho)||zt(l.jung)||zt(l.jong)),x=b=>{let w=u+"|"+b+"|";for(let C=0;C<u;C++)w+=C===b?"*":d[C];return w};let _;if(i!=null){if(i>=u||v&&!Ja(p[i],t))return null;_=[i]}else v?_=p.map((b,w)=>Ja(b,t)?w:-1).filter(b=>b>=0):_=Array.from({length:u},(b,w)=>w);for(const b of nt(_)){const w=n.get(x(b))??[],C=[],k=[];for(const D of w){if(D===e)continue;const N=[...D].map(T=>Ue(T)),z=h[b],j=N[b];if(!z||!j)continue;let U=0;if(z.cho!==j.cho&&U++,z.jung!==j.jung&&U++,z.jong!==j.jong&&U++,!(U<c||m(D)===f))if(g){const T=Mo(D,a,o)[b];T&&Ja(T,l)?C.push(D):k.push(D)}else C.push(D)}if(!C.length)continue;const y=nt(C)[0],A=[],B=new Set([f,m(y)]),S=g?k:C.filter(D=>D!==y);for(const D of nt(S)){const N=m(D);if(!B.has(N)&&(B.add(N),A.push(D),A.length>=2))break}if(!g&&A.length<2)for(const D of nt(w)){if(D===e||D===y)continue;const N=m(D);if(!B.has(N)&&(B.add(N),A.push(D),A.length>=2))break}if(!(A.length<2))return{question:e,distractors:[y,...A]}}return null}const z3=()=>{const e="\uC54C \uC218 \uC5C6\uB294 \uC624\uB958",t=typeof wt?.t=="function"?wt.t("common.unknownError",{defaultValue:e}):void 0;return typeof t=="string"&&t?t:e};function Qr(e,t){if(t===void 0&&(t=z3()),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.",I3=()=>{const e=typeof wt?.t=="function"?wt.t("common.networkError",{defaultValue:Kn}):void 0;return typeof e=="string"&&e?e:Kn};function zl(e){return e?/failed to fetch|load failed|networkerror|network request failed|fetcherror/i.test(e):!1}function Uh(e){return zl(e)?I3():e}function qh(e,t){return e==="id"?void 0:`${e}|${t?"asc":"desc"}`}function Yh(e){const[t,a]=e.split("|");return{key:t,asc:a==="asc"}}function Kh(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 O3=1e3;function Zh(e,t){const a=new Blob([t.startsWith("\uFEFF")?t:"\uFEFF"+t],{type:"text/csv;charset=utf-8"}),o=URL.createObjectURL(a),n=document.createElement("a");n.href=o,n.download=e,n.click(),setTimeout(()=>URL.revokeObjectURL(o),O3)}const Xh="__ihab_core_word_pool__";function F3(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("wordpool:update"))}function Jh(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[Xh]=o,F3()}function Ro(){return globalThis[Xh]??null}const sr=globalThis;function Il(e,t){const a=o=>{};try{const o=t();o&&typeof o.catch=="function"&&o.catch(a)}catch(o){a(o)}}function Qh(e){sr.__ihabTrainingTimeLogger=e}function Ol(e){Il("time",()=>sr.__ihabTrainingTimeLogger?.(e))}function em(e){sr.__ihabTrainingCompletionLogger=e}function Fl(e){Il("completion",()=>sr.__ihabTrainingCompletionLogger?.(e))}function tm(e){sr.__ihabCrosswordLogger=e}function am(e){Il("crossword",()=>sr.__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 sa(e){return typeof e=="string"?e.trim()||null:typeof e=="number"?String(e):null}function Hl(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 Vl(e){return Array.isArray(e)?e.map((t,a)=>{const o=t??{};return{index:a,itemId:sa(o.contextCode)??sa(o.itemId)??sa(o.itemCode)??sa(o.id),question:sa(o.question)??sa(o.q)??sa(o.sentence)??sa(o.text)??sa(o.prompt)??sa(o.word)??sa(o.targetSyllable),answer:sa(o.answer),selected:sa(o.selectedText)??sa(o.selected),correct:Hl(o),shownAt:Zn(o.shownAt)??Zn(o.shown_at),answeredAt:Zn(o.answeredAt)??Zn(o.answered_at)}}):[]}function om(e){return e.filter(t=>t.correct===!1)}let rm=null,nm=null,im=null;function sm(e){rm=e}function lm(e){nm=e}function cm(e){im=e}async function dm(e,t){try{return await rm?.(e,t)??null}catch{return null}}async function um(){try{return await nm?.()??null}catch{return null}}async function pm(e,t){try{return await im?.(e,t)??null}catch{return null}}const Xn=globalThis;function hm(e){Xn.__ihabNoiseSettingsStore=e}async function Wl(){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 lr(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 mm=en;function bm(e,t){return`${e}/${en(t)}.mp3`}function gm(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`,d=`${t}/${c}`;try{if(await Ts(d)){const u=await Pr(d);if(u)return u}}catch{}if(e.generator)try{const u=await e.generator(l,d,e);if(u)return u}catch{}try{const u=`/api/tts?word=${encodeURIComponent(l)}&voice=${encodeURIComponent(a)}&speed=${encodeURIComponent(String(o))}`;return await fetch(u,{method:"GET"}),`/audio-cache/${c}`}catch{return`/audio-cache/${c}`}}}async function Gl(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 cr="Asia/Seoul",H3=/^(\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=H3.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 fm(e){const t=tn(e);return t?t.toLocaleDateString("ko-KR",{timeZone:cr,year:"numeric",month:"short",day:"numeric"}):""}function vm(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:cr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Ul(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleDateString(a,{timeZone:cr,year:"numeric",month:"short",day:"numeric"}):""}function xm(e,t){const a=t.startsWith("ko")?"ko-KR":"en-US",o=tn(e);return o?o.toLocaleString(a,{timeZone:cr,year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Cm(e){const t=tn(e);return t?t.toLocaleString("ko-KR",{timeZone:cr,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}function _m(e){if(e==null||e==="")return"";const t=Qn(e);return t?new Intl.DateTimeFormat("en-GB",{timeZone:cr,hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):""}function va(){return Pa(new Date)}function ql(e){return e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?e:va()}function uo(){return Yl(va())}const V3=540*60*1e3;function ei(e,t,a){return new Date(Date.UTC(e,t,a)-V3)}function Yl(e){const[t,a,o]=e.split("-").map(Number);return new Date(t,(a||1)-1,o||1)}function Pa(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),d=Math.floor(c/7),u=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}):d<5?t("store.time.weeksAgo",{n:d}):c<365?t("store.time.monthsAgo",{n:Math.min(u,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=Pa(e instanceof Date?e:String(e));if(!l)return i;const[c,d,u]=l.split("-"),h=o?d:String(Number(d)),p=o?u:String(Number(u));return`${c}${a}${h}${a}${p}${n?".":""}`}function ym(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 wm=String.raw`(?:0\d{1,2}|050\d|0303)-\d{3,4}-\d{4}`,W3=String.raw`1[5-9]\d{2}-\d{4}`,Kl=new RegExp(`^(?:${wm}|${W3})$`),Zl=new RegExp(`^${wm}$`);function km(e){return Kl.test(e)}function Bm(e){return Zl.test(e)}function Am(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=Pa(e);return t?t.replace(/-/g,"."):void 0}}}function Sm(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 G3=[{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"}]}],U3=[{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 Xl=null;function Em(e){Xl=e}function ri(){return Xl?.topicTypes??G3}function Jl(){return Xl?.trainingTypes??U3}const Dm="ihab_theme",Nm="light";function Ql(){try{const e=localStorage.getItem(Dm);if(e==="light"||e==="dark"||e==="auto")return e}catch{}return Nm}function ec(e){const t=e==="light"||e==="dark"||e==="auto"?e:Nm;try{document.documentElement.setAttribute("data-theme",t),localStorage.setItem(Dm,t)}catch{}}function Tm(){ec(Ql())}const jm="ihab_font_scale",q3="medium",Y3=["medium","large1","large2","large3"];function tc(){try{const e=localStorage.getItem(jm);if(Y3.includes(e))return e}catch{}return q3}function ac(e){try{document.documentElement.setAttribute("data-font-scale",e),localStorage.setItem(jm,e)}catch{}}function Lm(){ac(tc())}const po=[],ho=[],mo=[],bo=[],on={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},rn={LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]},K3={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};let oc=null,Mm=null,go=null;function rc({counts:e,forceRefresh:t}={}){const a=Object.assign({},K3,e||{}),o=va(),n=Pa(new Date(`${o}T00:00:00+09:00`).getTime()-864e5),i=JSON.stringify(a);if(!t&&Mm===o&&oc===i&&go)return Object.assign(on,go.today),Object.assign(rn,go.yesterday?.selection||{LISTEN_IN_NOISE:[],SHORT_STORY:[],LONG_STORY:[],ORDERING_SENTENCE:[]}),{today:on,yesterday:rn};const l={LISTEN_IN_NOISE:ka(po,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:ka(ho,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:ka(mo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:ka(bo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))};let c=null;return go&&oc===i&&go.yesterday&&go.yesterday.date===n&&(c=go.yesterday.selection),c||(c={LISTEN_IN_NOISE:ka(po,Math.max(0,Number(a.LISTEN_IN_NOISE)||0)),SHORT_STORY:ka(ho,Math.max(0,Number(a.SHORT_STORY)||0)),LONG_STORY:ka(mo,Math.max(0,Number(a.LONG_STORY)||0)),ORDERING_SENTENCE:ka(bo,Math.max(0,Number(a.ORDERING_SENTENCE)||0))}),Object.assign(on,l),Object.assign(rn,c),Mm=o,oc=i,go={today:l,yesterday:{date:n,countsKey:i,selection:c}},{today:on,yesterday:rn}}function $m(){return{today:on,yesterday:rn}}function nc(){return{LISTEN_IN_NOISE:po,SHORT_STORY:ho,LONG_STORY:mo,ORDERING_SENTENCE:bo}}let ni=!1,nn=null;async function Z3(){try{const e={url:typeof document>"u"?require("url").pathToFileURL(__filename).href:fa&&fa.tagName.toUpperCase()==="SCRIPT"&&fa.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 ic(){if(!ni)return nn||(nn=(async()=>{const e=await Z3();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||""),d=String(i.category_sub_code||i.category_sub||i.category_1||""),u=Object.assign({},i,{training_type:l,category_0:c,category_1:d});l==="LISTEN_IN_NOISE"?t.noise.push(u):l==="SHORT_STORY"?t.short.push(u):l==="LONG_STORY"?t.long.push(u):l==="ORDERING_SENTENCE"&&t.order.push(u)}}}catch{nn=null;try{window.dispatchEvent(new Event("speechear.data.error"))}catch{}return}po.push(...t.noise),ho.push(...t.short),mo.push(...t.long),bo.push(...t.order),ni=!0;try{rc()}catch{}try{window.dispatchEvent(new Event("speechear.data.updated"))}catch{}})(),nn)}function Rm(){return ni}async function sc(e=3e3){const t=ic();let a;try{await Promise.race([t,new Promise(o=>{a=setTimeout(o,e)})])}finally{a!==void 0&&clearTimeout(a)}return ni}const lc=[{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."}],Pm=[{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 zm(e){return lc.map(t=>{const a=ii[t.key];return a?{...t,label:e(`trainingType.${a}.title`),desc:e(`trainingType.${a}.desc`)}:t})}let si=null,Im=null,Om=null;function X3(){const e=Ro();if(e&&e.entries.length>0){const t=jo();if(si&&Im===e&&Om===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,Im=e,Om=t,si}return[]}const Qa=new Proxy([],{get(e,t){const a=X3(),o=a[t];return typeof o=="function"?o.bind(a):o}});function cc(e){return e.length?e[Math.floor(Math.random()*e.length)]:void 0}function Ba(e,t){if(t>=e.length)return nt(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 dc=null,Fm=null;function fo(){const e=Ro();if(dc&&Fm===e)return dc;const t=new Map;for(const a of Qa)a.w&&t.set(a.w,a.pron);return dc=t,Fm=e,t}function Vt(e){return fo().get(e)||e}function li(e,t,a=new Set){const o=[];for(const n of nt(e)){if(o.length>=t)break;const i=Vt(n);a.has(i)||(a.add(i),o.push(n))}return o}let J3=0;function Yt(e){return`${e}-rt-${++J3}`}function ur(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=ph(),o=new Set;for(const n of e)a.has(n)&&o.add(n);return o}const ci=new Map;let Hm=null,Vm=null;function sn(e){return e==null?"":Array.isArray(e)?e.slice().sort().join(","):e}function uc(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 pc=new Map;function Q3(e){return uc({...e,count:void 0,choicesPerItem:void 0,fullCount:!1})}async function ba(e){const t=Ro(),a=jo();(t!==Hm||a!==Vm)&&(ci.clear(),pc.clear(),Hm=t,Vm=a);const o=uc(e);return ci.has(o)||ci.set(o,e8(e)),ci.get(o)}function Wm(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 Gm(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?[Wm(a),o?l=>o.has(To(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?Vt(l.w):l.w;return n.every(d=>d(c))}}async function e8(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,d=e.phonemeView==="pron"?"pron":"char",u=Math.max(1,e.contrastCount??1),h=t==="cho"||t==="jung"||t==="jong",p=h&&u>=2,m=t==="count",f=a?new Set(Array.isArray(a)?a:[a]):null,v=o?.syllable!=null?new Set(Array.isArray(o.syllable)?o.syllable:[o.syllable]):null,g=o?[Wm(o),v?P=>v.has(To(P)):null].filter(P=>P!=null):[],x=t==="random"||t===null,_=x||m,b=x||p||m;let w=Qa.filter(P=>!P.w||l&&(!P.grade||!l.has(P.grade))?!1:b?!0:Array.isArray(P.p)&&P.p.length>0);f&&(w=w.filter(P=>{for(const W of f)if(n3(P.w,W))return!0;return!1})),g.length>0&&(w=w.filter(P=>{const W=d==="pron"?Vt(P.w):P.w;return g.every($=>$(W))})),n&&(w=w.filter(P=>P.w[0]===n));let C;if(i){const P=new Set;for(const W of w)if(P.add(W.w),Array.isArray(W.p))for(const $ of W.p)P.add($);if(_)for(const W of Qa)W.w&&P.add(W.w);C=ur(P)}else{const P=new Set;for(const W of w)if(P.add(W.w),Array.isArray(W.p))for(const $ of W.p)P.add($);if(_)for(const W of Qa)W.w&&P.add(W.w);C=P}let k=null;if(p){const P=new Set;for(const W of Qa)W.w&&P.add(W.w);k=i?ur(P):P}const y=w.filter(P=>C.has(P.w)),A=600,B=Array.from(C),S=B.length>A?Ba(B,A):B,D=m&&o!=null&&(zt(o.cho)||zt(o.jung)||zt(o.jong)),N=2500,z=new Map;if(m&&!D&&u>=2){for(const P of B){const W=To(P),$=z.get(W);$?$.push(P):z.set(W,[P])}for(const[P,W]of z)W.length>N&&z.set(P,Ba(W,N))}const j=Gs();let U=null;if(D){const P=Q3(e),W=i?ph():null,$=pc.get(P);U=$&&$.\uC774\uBBF8\uC9C0\uC9D1\uD569===W?$.map:ll(o,B,j,c,d,Vt),pc.set(P,{\uC774\uBBF8\uC9C0\uC9D1\uD569:W,map:U})}const T=500,L=1500,I=e.fullCount?y:t==="random"?y.length>T?Ba(y,T):y:y.length>L?Ba(y,L):y,Y=jo(),Q=[];for(const P of I){let W;const $=Vt(P.w);if(p)W=c3(P.w,t,u,k,24).filter(F=>Vt(F)!==$);else if(m)D?W=(U.get(P.w)??[]).filter(F=>Vt(F)!==$):u<=1?W=On(P.w,Y,{okSet:C,pronOf:Vt,decompOf:j,sameStructureOnly:!1}):W=(z.get(To(P.w))??[]).filter(F=>{if(F===P.w||Vt(F)===$)return!1;const E=d3($,Vt(F));return u>=5?E>=5:E===u});else if(x){const F=E=>E!==P.w&&E.length===P.w.length&&Vt(E)!==$;if(e.fullCount){const E=Math.max(1,(e.choicesPerItem??3)-1),H=[],R=new Set;for(const O of S){if(!F(O))continue;const V=Vt(O);if(!R.has(V)&&(R.add(V),H.push(O),H.length>=E))break}W=H}else W=S.filter(F)}else{const F=t;W=On(P.w,Y,{kind:F,okSet:C,pronOf:Vt,decompOf:j,sameStructureOnly:!1}),W.length===0&&(W=(S.length>30?Ba(S,30):S).filter(E=>E!==P.w&&Us(P.w,E)===t&&Vt(E)!==$))}if(c&&W.length>0&&(h||m&&!D)){const F=j(Vt(P.w));W=W.filter(E=>!Gr(F,j(Vt(E))))}W.length!==0&&Q.push({word:P,usable:W})}return Q}async function Um(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 nt(i)){if(l.length>=o)break;const d=li(c.usable,n);if(d.length<n)continue;const u=nt([c.word.w,...d]);l.push({id:Yt(e+"-item"),index:l.length+1,word:c.word.w,syllables:c.word.s,choices:u,answerIndex:u.indexOf(c.word.w)})}return l}async function t8(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=nt([...n]);for(const d of c){if(l.length>=a)break;const u=d.word.w,h=[...d.word.pron||u],p=i&&ir(i)?h.filter(x=>{const _=Ue(x);return!!_&&Ja(_,i)}):[],m=cc(p.length?p:h);if(!m)continue;const f=n.filter(x=>x.word.w!==u&&x.word.s===d.word.s&&!(x.word.pron||x.word.w).includes(m)&&x.word.pron!==d.word.pron);if(f.length<o)continue;const v=li(f.map(x=>x.word.w),o);if(v.length<o)continue;const g=nt([u,...v]);l.push({id:Yt("HPI-item"),index:l.length+1,targetSyllable:m,word:u,choices:g,answerIndex:g.indexOf(u)})}return l}async function a8(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?Ba(a,t):nt(Array.from({length:t},(i,l)=>a[l%a.length])),n=nt(Array.from({length:t},(i,l)=>l<Math.ceil(t/2)));return o.map((i,l)=>{const c=n[l];let d;if(c)d=[i.word.w,i.word.w];else{const u=cc(i.usable);d=Math.random()<.5?[i.word.w,u]:[u,i.word.w]}return{id:Yt("SOD-item"),index:l+1,word:i.word.w,pair:d,same:c}})}async function o8(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]??"",d={};for(const m of n){const f=c(m.word.w);f&&(d[f]||(d[f]=[]),d[f].push(m.word.w))}const u=Object.entries(d).filter(([,m])=>m.length>=2).map(([m])=>m);if(u.length===0)return[];const h=[],p=nt([...u]);for(let m=0;h.length<a&&m<a*4;m++){const f=p[m%p.length],v=d[f];if(v.length<2)continue;const g=nt([...v]),x=g[0],_=g[1];if(!x||!_||x===_||(l.get(x)||x)===(l.get(_)||_))continue;const b=l.get(_)||_,w=i.filter(y=>c(y)!==f&&y!==x&&y!==_&&y.length===_.length&&(l.get(y)||y)!==b);if(w.length<o)continue;const C=li(w,o);if(C.length<o)continue;const k=nt([_,...C]);h.push({id:Yt("SWS-item"),index:h.length+1,sourceWord:x,targetSyllable:f,word:_,choices:k,answerIndex:k.indexOf(_)})}return h}function qm(e,t,a){const o=fo(),n=d=>o.get(d)||d,i=(d,u)=>{const h=[...d],p=[...u];if(h.length!==p.length)return-1;let m=-1;for(let f=0;f<h.length;f++)if(h[f]!==p[f]){if(m>=0)return-1;m=f}return m},l=e.map(d=>({e:d,swaps:d.usable.filter(u=>!!u&&i(d.word.w,u)>=0&&n(u)!==n(d.word.w))})).filter(d=>d.swaps.length>0),c=[];for(const{e:d,swaps:u}of nt(l)){if(c.length>=t)break;const h=cc(u)??"",p=[...d.word.w],m=[...h],f=i(d.word.w,h),v=li(d.usable.filter(g=>g&&g!==h),2,new Set([n(h),n(d.word.w)]));v.length<2||c.push({id:Yt(a),index:c.length+1,word:d.word.w,original:d.word.w,changed:h,changedFrom:f>=0?p[f]:"",changedTo:f>=0?m[f]:"",distractors:v})}return c}async function Ym(e,t,a){const{count:o=10}=t,n=fo(),i=Qa.filter(v=>v.w&&v.s===e),l=t.excludeNoImage?ur(i.map(v=>v.w)):null,c=l?i.filter(v=>l.has(v.w)):i,d=new Set(c.map(v=>v.w)),u=Rl(d),h=t.phonemeView??"char",p=t.composition??null,m=Gm(t),f=[];for(const v of nt(c)){if(f.length>=o)break;if(m&&!m(v))continue;const g=Pl(v.w,p,n,h,u,null,null);if(!g)continue;const x=g.distractors[0],_=[...v.w],b=[...x],w=_.findIndex((C,k)=>C!==b[k]);f.push({id:Yt(a),index:f.length+1,word:v.w,original:v.w,changed:x,changedFrom:w>=0?_[w]:"",changedTo:w>=0?b[w]:"",distractors:g.distractors.slice(1)})}return f}async function r8(e){return Ym(2,e,"CS2-item")}async function n8(e){return Ym(3,e,"CS3-item")}async function i8(e){const t=(await ba({...e,difficulty:"count",contrastCount:1})).filter(a=>a.word.s===1&&a.usable.length>=1);return qm(t,e.count??10,"CP1-item")}async function s8(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 qm(a,e.count??10,"CP2-item")}async function l8(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===2);return Ba(a,t).map((o,n)=>({id:Yt("M2S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}async function c8(e){const{count:t=10}=e,a=(await ba({...e})).filter(o=>o.word.s===3);return Ba(a,t).map((o,n)=>({id:Yt("M3S-item"),index:n+1,word:o.word.w,answer:o.word.w,parts:[...o.word.w]}))}function hc(e){const t=Qa.map(a=>a.w);return e.excludeNoImage?ur(t):new Set(t)}async function d8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===2),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=Nl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=[...c.word.w],m=p[0]===u?p[1]:p[0];l.push({id:Yt("D2-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:h})}return l}async function u8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s===3),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=Tl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=[...c.word.w];let m="";for(let f=0;f<p.length;f++)if(p.filter((v,g)=>g!==f).join("")===u){m=p[f];break}l.push({id:Yt("D3-item"),index:l.length+1,original:c.word.w,word:c.word.w,dropped:m,missingResult:u,distractors:h})}return l}async function p8(e){const{count:t=10}=e,a=(await ba({...e})).filter(c=>c.word.s>=3),o=fo(),n=hc(e),i=e.phonemeView??"char",l=[];for(const c of nt(a)){if(l.length>=t)break;const d=jl(c.word.w,e.composition??null,o,i,n);if(!d)continue;const[u,...h]=d.distractors,p=c.word.w,m=d.dropped??(p.startsWith(u)?p.slice(u.length):p.endsWith(u)?p.slice(0,p.length-u.length):"");l.push({id:Yt("DPC-item"),index:l.length+1,original:p,word:p,dropped:m,missingResult:u,distractors:h})}return l}async function h8(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=Ba(a,3);return{id:Yt("LRO-item"),index:n+1,sequence:i,choices:nt(i)}})}function di(e,t,a){const o=Qa.filter(c=>c.w&&c.s===e),n=t.excludeNoImage?ur(o.map(c=>c.w)):null,i=Gm(t),l=[];for(const c of o)if(!(n&&!n.has(c.w))&&!(i&&!i(c))){if(a){const d=Ue(c.w);if(!d||!a(d))continue}l.push(c)}return l}function m8(e){const t=di(1,e,nr.MERGE_2_PHONEMES.syllable);return Ba(t,e.count??10).map((a,o)=>{const n=Ue(a.w);return{id:Yt("M2P-item"),index:o+1,parts:[bt[n.cho],kt[n.jung]],answer:a.w,word:a.w}})}function b8(e){const t=di(1,e,nr.MERGE_3_PHONEMES.syllable);return Ba(t,e.count??10).map((a,o)=>{const n=Ue(a.w);return{id:Yt("M3P-item"),index:o+1,parts:[bt[n.cho],kt[n.jung],Pt[n.jong]],answer:a.w,word:a.w}})}function g8(e){const t=nr.DROP_FINAL_CONSONANT_FROM_1SYLL,a=di(t.syllables,e,t.syllable),o=fo(),n=[];for(const i of nt(a)){if(n.length>=(e.count??10))break;const l=Ll(i.w,null,o);if(!l)continue;const[c,...d]=l.distractors;n.push({id:Yt("DFC-item"),index:n.length+1,original:i.w,word:i.w,result:c,distractors:d})}return n}function f8(e){const t=nr.REMOVE_CONSONANT_AND_IDENTIFY_PHONEME,a=di(t.syllables,e,t.syllable),o=fo(),n=[];for(const i of nt(a)){if(n.length>=(e.count??10))break;const l=$l(i.w,null,o);if(!l)continue;const c=Ue(o.get(i.w)||i.w);if(!c)continue;const[d,...u]=l.distractors;n.push({id:Yt("RCP-item"),index:n.length+1,base:i.w,word:i.w,missingConsonant:bt[c.cho],remaining:d,distractors:u})}return n}const ui=new Map;let Km=null,Zm=null;async function Xm(e,t={}){const a=Ro(),o=jo();(a!==Km||o!==Zm)&&(ui.clear(),Km=a,Zm=o);const n=`${e}:${uc(t)}`;if(ui.has(n))return ui.get(n);const i=await x8(e,t);return ui.set(n,i),i}const v8={SAME_SOUND_PICK:e=>Um("SSP",e),HEAR_AND_PICK_SAME:e=>Um("HPS",e),HEAR_AND_PICK_INCLUDED:e=>t8(e),SAME_OR_DIFF:e=>a8(e),STARTS_WITH_SAME_SOUND:e=>o8(e),LISTEN_AND_REMEMBER_ORDER:e=>h8(e),MERGE_2_SYLLABLES:e=>l8(e),MERGE_3_SYLLABLES:e=>c8(e),MERGE_2_PHONEMES:e=>m8(e),MERGE_3_PHONEMES:e=>b8(e),DROP_1_FROM_2SYLL:e=>d8(e),DROP_1_FROM_3SYLL:e=>u8(e),DROP_PART_FROM_COMPOUND:e=>p8(e),DROP_FINAL_CONSONANT_FROM_1SYLL:e=>g8(e),REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:e=>f8(e),CHANGE_1_SYLL_IN_2SYLL:e=>r8(e),CHANGE_1_SYLL_IN_3SYLL:e=>n8(e),CHANGE_1_PHONEME_IN_1SYLL:e=>i8(e),CHANGE_1_PHONEME_IN_2SYLL:e=>s8(e)};async function x8(e,t={}){const a=v8[e];return a?await a(t):[]}async function C8(e){const t=["random","count"],a=Object.keys(rr);let o=0;for(const n of t)for(const i of a){const l=rr[i];Xm(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 _8(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=>Vt(n))).size>=a).length}async function y8(e={}){const t=[];for(const c of Qa)c.w&&t.push(c.w);const a=e.excludeNoImage?ur(t):t,o=new Set,n=new Set,i=new Set,l=new Set;for(const c of a){l.add(To(c));for(const d of c){const u=Ue(d);if(u&&(bt[u.cho]!=="\u3147"&&o.add(bt[u.cho]),n.add(kt[u.jung]),u.jong>0)){i.add(Pt[u.jong]);const h=In[u.jong];h&&h.forEach(p=>i.add(p))}}}return{cho:o,jung:n,jong:i,syllable:l}}const Jm={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}},Qm={none:0,free:1,personal_standard:2,mgr_free:10,lite_word:11,lite_sentence:11,lite:12,standard:13,pro:14,enterprise:15},w8=new Set(["mgr_free","lite_word","lite_sentence","lite","standard","pro","enterprise"]);function eb(e){return w8.has(e)}const tb={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 ab(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 ob=5,rb=5;function nb({rank:e,voteCount:t,quota:a=5}){return e<a&&t>0}const ib={selected:"ALREADY_SELECTED",added:"ALREADY_ADDED",rejected:"ALREADY_REJECTED"},sb="chunk-reload-ts";function lb(){try{return Number(sessionStorage.getItem(sb)||0)}catch{return 0}}function pi(e=Date.now()){if(e-lb()<=1e4)return!1;try{sessionStorage.setItem(sb,String(e))}catch{}return window.location.reload(),!0}function mc(e=Date.now()){const t=lb();return t>0&&e-t<=1e4}function cb(){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 db(e,t){return e?!!t&&t.access_token===e.access_token:!0}function ub(e,t){return s.lazy(async()=>{const a=await t();if(a&&typeof a=="object"&&"default"in a)return a;if(mc())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 pb(...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 hb=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 k8=Object.freeze({__proto__:null,CAPABILITY:rr,CHOSEONG:bt,CORE_VERSION:jn,JONGSEONG:Pt,JUNGSEONG:kt,LONG_STORIES:mo,NETWORK_ERROR_MESSAGE:Kn,NOISE_DATAS:po,ORDER_SETS:bo,PERSONAL_PHONE_REGEX:Zl,PHONE_REGEX:Kl,PLAN_FEATURES:Jm,PLAN_LIMITS:tb,SHORT_STORIES:ho,TIER_RANK:Qm,TOPIC_TYPES:Pm,TRAINING_TYPES:lc,TRAINING_TYPE_I18N_KEY:ii,WORD_SUGGESTION_ACCOUNT_LIMIT:rb,WORD_SUGGESTION_EXISTING_ERROR:ib,WORD_SUGGESTION_WEEKLY_QUOTA:ob,applyFontScale:ac,applyTheme:ec,buildChangeWholeSyllableProblem:Pl,buildDropCompoundProblem:jl,buildDropContrast3Problem:Tl,buildDropContrastProblem:Nl,buildDropFinalConsonantProblem:Ll,buildMultiPartPosContrast:ll,buildPairIndex:Sh,buildRemoveConsonantProblem:$l,buildSyllableMaskIndex:Rl,bulkSetImageExistence:hh,cardQuestionTitle:Wh,checkImageExists:Vr,classifyPairDifficulty:Us,clearAudioExistsCache:Qp,clearImageExistenceCache:Vs,clearPairIndexCache:nl,composeSyllable:ya,computeDailySelection:rc,configureImageResolver:ih,configureNoiseSettingsStore:hm,configurePronunciationResolver:th,configureStorage:Ns,configureTTS:Jp,configureTrainingCategories:Em,copyText:Gl,createDecompCache:Gs,createTTSUrlResolver:gm,dateToDb:Sm,downloadCsvText:Zh,downloadSound:$n,ensureTrainingDataLoaded:sc,escapeCsvField:Kh,fileExists:Ts,filterContrastCandidates:sl,finalToPhoneme:No,firstChoseongOf:qs,formatCount:an,formatDateKo:fm,formatDateLocale:Ul,formatDateLongKo:vm,formatDateLongLocale:xm,formatDatetimeKo:Cm,formatPhone:ym,formatRelativeTime:ti,formatTimeHM:oi,formatYmd:ai,getAssetBaseUrl:Es,getDailySelection:$m,getElementAnalyser:Os,getElementVolume:Qo,getErrorMessage:Qr,getImageExistenceStats:zn,getImageExistsCached:dh,getImageResolver:lo,getNoiseBaseUrl:js,getNoiseFileGain:Ls,getPairIndex:jo,getPlanTier:ab,getPronunciationResolver:Rs,getSavedFontScale:tc,getSavedTheme:Ql,getSignedOrPublicUrl:Pr,getTTSFallbackUrlResolver:$s,getTTSUrlResolver:zr,getTodayKst:va,getTodayKstDate:uo,getTopicTypes:ri,getTrainingPools:nc,getTrainingTypes:Jl,getWordPool:Ro,hasQuestionWordConstraint:Ih,hasSel:zt,hasStructureContrast:Gr,initFontScale:Lm,initTheme:Tm,installSkewRecovery:cb,isAllChoseong:Ks,isManagerTier:eb,isManualOnlyType:Fh,isNetworkErrorMessage:zl,isPersonalPhone:Bm,isSessionForThisTab:db,isSyllablePattern:el,isThisWeekPick:nb,isTrainingDataLoaded:Rm,isValidPhone:km,isValidQuestionWord:Oh,itemCorrectness:Hl,jamoToNamesForSpeech:Gh,kstStartOfDay:ei,lazyPage:ub,loadGameLeaderboard:pm,loadMyGameRanks:um,loadNoiseSettings:Wl,loadTrainingData:ic,logCrossword:am,logTrainingCompletion:Fl,logTrainingTime:Ol,matchSyllables:Mo,matchesChoseongSearch:mh,matchesSyllablePattern:tl,matchesWordQuery:bh,mergeQuestionText:El,minimalPairDistractors:On,normalizeDate:Am,officialSoundPath:bm,parseLocalYmd:Yl,parseSortValue:Yh,parseSyllable:Ue,patternToComposition:wh,phonemePartsOf:Vh,pickEuRo:wl,pickEulReul:xl,pickEunNeun:_l,pickIga:fl,pickWaGwa:yl,prefetchChunk:pb,prewarmImageCache:uh,primarySelPart:ir,readLevel:Fs,recoverFromSkew:pi,reorderArray:kl,reportAppliedNoiseSettings:lr,resolveAssetUrl:Rr,resolveSoundPath:Mn,resumeAudioMeter:Or,routeElementAudio:Jo,sample:ka,saveNoiseSettings:Jn,searchAndRankWords:Bh,setAssetBaseUrl:Zp,setCrosswordLogger:tm,setElementVolume:La,setGameLeaderboardLoader:cm,setGameRanksLoader:lm,setGameScoreSubmitter:sm,setTrainingCompletionLogger:em,setTrainingTimeLogger:Qh,setWordPool:Jh,shuffle:nt,skewReloadPending:mc,sortToValue:qh,soundOf:Yn,speak:qp,stopSpeaking:Yp,submitGameScore:dm,syllMatchesComp:Ja,syllableContrasts:$o,syllableLength:To,syllablePron:Jr,toBase64UrlSafe:mm,toChoseong:Ys,toItemResults:Vl,toKstHm:_m,toKstYmd:Pa,toStandardPronunciation:$h,toStorageName:en,toUserErrorMessage:Uh,toWordEntry:hb,validateSyllableSearchInput:kh,withEuRo:zh,withEulReul:Cl,withEunNeun:Rh,withIga:vl,withWaGwa:Ph,wordContainsChoseong:fh,wordContainsJongseong:Ch,wordContainsJungseong:vh,wordHasConsonantAt:_h,wordHasNoCoda:Xs,wordHasSyllableMatching:Qs,wrongItems:om});function B8(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 A8(e){if(typeof window>"u")return"";const t=(a,o)=>{typeof o.attrValue=="string"&&B8(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 S8(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),[i,l]=s.useState(null),[c,d]=s.useState(null);return s.useEffect(()=>{if(!e||typeof e!="string"||!e.endsWith(".svg")){a(null),n(null),l(null);return}const u=e.split("/").pop();let h=e;u&&(e.startsWith("/")?h=Rr(e):/^(Logo|Symbol)/i.test(u)?h=Rr(`logo/${u}`):(/^https?:\/\//i.test(e)||e.startsWith("data:"),h=e)),n(null),l(null),a(h)},[e]),s.useEffect(()=>{if(!t)return;let u=!1;async function h(){try{let p=await fetch(t);p.ok||(p=await fetch(t));const m=p.headers.get("content-type")||"";if(u)return;if(m.includes("svg")){n("mask");return}if(m.startsWith("image/")){n("img");return}const f=await fetch(t);if(!f.ok)throw new Error("not ok");const v=await f.text();if(u)return;if(/^\s*<svg[\s>]/i.test(v)){const g=A8(v);if(!g){n("none");return}l(g),n("inline");return}n("none")}catch{u||n("none")}}return h(),()=>{u=!0}},[t]),s.useEffect(()=>{let u=!1,h=null;return o==="mask"&&t&&fetch(t).then(p=>{if(!p.ok)throw new Error("fetch failed");return p.blob()}).then(p=>{u||(h=URL.createObjectURL(p),d(h))}).catch(()=>{u||n("img")}),()=>{u=!0,h&&URL.revokeObjectURL(h),d(null)}},[o,t]),{iconToUse:t,mode:o,svgText:i,blobUrl:c}}var E8=".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)}";ie(E8);function at(e){const{icon:t,label:a,className:o,imgClassName:n,maskClassName:i,svgClassName:l,wrapperStyle:c,size:d}=e||{},u=o??"iconRenderer-icon",h=n??"iconRenderer-icon-image",p=i??"iconRenderer-icon-mask",m=l??"iconRenderer-icon-svg",f=typeof t=="string"?t:null,v=m5(f),{iconToUse:g,mode:x,svgText:_,blobUrl:b}=S8(f),w=(B,S={})=>r.jsx("span",{className:u,style:c,...S,children:B}),C=typeof d=="number"?{width:d,height:d,objectFit:"contain"}:null,k=(B,S={})=>r.jsx("img",{src:B,alt:typeof a=="string"?a:typeof a=="number"?String(a):"",className:h,...S,style:C?{...S.style,...C}: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(v)try{return w(s.createElement(v,{className:m,size:typeof d=="number"?d:20}),{"aria-hidden":"true"})}catch{}if(g&&g.endsWith(".svg")){if(x==="mask"){const B={"--icon-url":b?`url(${b})`:`url(${g})`,...typeof d=="number"?{"--icon-size":`${d}px`}:null};return w(r.jsx("span",{className:p,style:B}),{"aria-hidden":"true"})}return x==="img"?w(k(g,{onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}}),{"aria-hidden":"true"}):x==="inline"?w(r.jsx("span",{className:m,dangerouslySetInnerHTML:_?{__html:_}:void 0}),{"aria-hidden":"true"}):w(null,{"aria-hidden":"true"})}if(t.startsWith("/")||t.includes("/assets/")||t.match(/\.(png|jpg|jpeg|webp|gif)$/i))return k(Rr(t),{style:c,onError:B=>{B.currentTarget.onerror=null,B.currentTarget.style.display="none"}});const y=typeof d=="number"?d:20,A=`<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:A}}),{"aria-hidden":"true"})}function mb(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 bb({icon:e,title:t,message:a,action:o,className:n}){const{pending:i,press:l}=mb(o?.onClick);return r.jsxs("div",{className:Ee("empty-state",n),children:[e&&r.jsx(at,{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(at,{icon:o.icon,className:"button__icon"}),r.jsx("span",{className:"button__label button-1",children:o.label})]})]})}var D8=".ihabdevteam-core-scope .error-state__icon{color:var(--color-error)}.ihabdevteam-core-scope .error-state__hint{color:var(--color-lightGray);margin:0}";ie(D8);function gb({message:e,hint:t,icon:a="triangle-alert",onRetry:o,retryLabel:n,className:i}){const{t:l}=ye.useTranslation(),{pending:c,press:d}=mb(o);return r.jsxs("div",{className:Ee("empty-state","error-state",i),role:"alert",children:[r.jsx(at,{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:d,disabled:c,"aria-busy":c||void 0,children:[r.jsx(at,{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 N8=".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)}";ie(N8);function fb({icon:e,title:t,description:a,cta:o,tone:n="main",disabled:i=!1,onClick:l,className:c=""}){const d=s.useId(),u=`${d}-title`,h=`${d}-desc`,p=`${d}-cta`,m=()=>{i||l?.()};return r.jsx("section",{role:"button",tabIndex:i?-1:0,"aria-disabled":i||void 0,"aria-labelledby":u,"aria-describedby":`${h} ${p}`,onClick:m,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m())},className:Ee("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(at,{icon:e,size:34})}),r.jsxs("div",{className:"action-card__text",children:[r.jsx("h2",{id:u,className:"action-card__title",children:t}),r.jsx("p",{id: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(at,{icon:"arrow-right",size:18})})]})]})})}function vb({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=Ee("ihabdevteam-core-scope",t);return r.jsx(e,{className:i,...n,children:a})}function bc(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(za)).filter(h=>!h.closest('[aria-hidden="true"]'));if(!i.length){n.preventDefault();return}const l=i[0],c=i[i.length-1],d=document.activeElement,u=d===a;n.shiftKey&&(d===l||u)?(n.preventDefault(),c.focus()):!n.shiftKey&&d===c&&(n.preventDefault(),l.focus())};return a.addEventListener("keydown",o),()=>a.removeEventListener("keydown",o)},[e,t])}const za='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',gc=new WeakMap;function fc(e,t){e&&gc.set(e,t)}function vc(e){let t=e;for(let a=0;t&&!t.isConnected&&a<10;a++){let o=t;for(;o&&!gc.has(o);)o=o.parentElement;if(!o)return t;t=gc.get(o)??null}return t}function xb(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(xb(t)&&!(e&&e.contains(t)))return t.focus(),t;if(!o)return null;const n=Array.from(document.querySelectorAll(za)).filter(d=>!(e&&e.contains(d))&&xb(d));let i=null,l=null;for(const d of n)o.compareDocumentPosition(d)&Node.DOCUMENT_POSITION_PRECEDING?i=d:l||(l=d);const c=i??l;return c?.focus(),c}var T8=".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)}}";ie(T8);function Cb({title:e="",lines:t=[],notices:a=null,children:o,variant:n="default",dismissible:i=!1,className:l=""}){const{t:c}=ye.useTranslation(),[d,u]=s.useState(!1),h=s.useRef(null),p=s.useCallback(()=>{const g=h.current;g&&g.contains(document.activeElement)&&hi(g),u(!0)},[]);if(d)return null;const m=`notice-box notice-box--${n} body-2 ${l}`.trim(),f=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,x)=>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((_,b)=>r.jsx("span",{className:"notice-box__line body-3",children:_},b))}):g.children??null})]},x)),f]});const v=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,x)=>r.jsx("li",{className:"notice-box__line",children:g},x))}):o})]}):r.jsx("div",{className:"notice-box__inner",children:o});return r.jsxs("div",{ref:h,className:m,role:"note",children:[v,f]})}var j8=".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}}";ie(j8);var L8=".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}";ie(L8);const pr=[];let mi=!1;function _b(e){if(e.key!=="Escape"||e.defaultPrevented||e.isComposing||e.keyCode===229)return;const t=pr[pr.length-1];t&&(e.stopPropagation(),t())}function Po(e){return pr.push(e),!mi&&typeof document<"u"&&(document.addEventListener("keydown",_b),mi=!0),()=>{const t=pr.lastIndexOf(e);t>=0&&pr.splice(t,1),pr.length===0&&mi&&typeof document<"u"&&(document.removeEventListener("keydown",_b),mi=!1)}}const bi=s.createContext(null);function M8(e){return/max-width:\s*7[0-9][0-9]px/.test(e)}const yb=e=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches;function $8(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 op.useSyncExternalStore(t,()=>yb(e),()=>!1)}function R8(e){const[t,a]=s.useState(yb(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 P8=typeof op.useSyncExternalStore=="function"?$8:R8;function la(e){const t=s.useContext(bi),a=P8(e);return t&&typeof t.mobile=="boolean"&&M8(e)?t.mobile:a}const z8="(prefers-reduced-motion: reduce)";function xc(){return la(z8)}function xa(e){const{anchorRect:t,anchorEl:a,offset:o=20,edgeMargin:n=20,onClose:i,closeOnOutsideClick:l=!0,className:c="",role:d="dialog",ariaLabel:u="",children:h,backdrop:p=!1,isMobilePopup:m=!1,useBorder:f=!0,header:v,focusOnOpen:g}=e||{},x=s.useRef(null),[_,b]=s.useState({position:"fixed",left:0,top:-9999}),[w,C]=s.useState(!1),[k,y]=s.useState("bottom"),[A,B]=s.useState(!1),[S,D]=s.useState(!1),N=!t&&!a,z=s.useCallback((W=!1)=>{if(S&&m)return;const $=a?a.getBoundingClientRect():t;if(!$||!x.current)return;const F=x.current,{offsetWidth:E,offsetHeight:H}=F,R=window.innerWidth,O=window.innerHeight,V=R-$.right,Z=$.left,ee=$.top,X=O-$.bottom;let ne=0,ae=0,pe="top";if(ee>=H+o)pe="top",ae=$.top-o-H,ne=$.left+$.width/2-E/2;else if(X>=H+o)pe="bottom",ae=$.bottom+o,ne=$.left+$.width/2-E/2;else if(V>=E+o)pe="right",ne=$.right+o,ae=$.top+$.height/2-H/2;else if(Z>=E+o)pe="left",ne=$.left-o-E,ae=$.top+$.height/2-H/2;else{const Ce=Math.max(ee,X,V,Z);Ce===ee?(pe="top",ae=$.top-o-H,ne=$.left+$.width/2-E/2):Ce===X?(pe="bottom",ae=$.bottom+o,ne=$.left+$.width/2-E/2):Ce===V?(pe="right",ne=$.right+o,ae=$.top+$.height/2-H/2):(pe="left",ne=$.left-o-E,ae=$.top+$.height/2-H/2)}const De=Number.isFinite(Number(n))?Number(n):8;ne=Math.min(Math.max(ne,De),R-E-De),ae=Math.min(Math.max(ae,De),O-H-De);const q=Math.round(ne),le=Math.round(ae);W&&x.current?(x.current.style.left=`${q}px`,x.current.style.top=`${le}px`,x.current.dataset.placement=pe):(y(pe||k),b({position:"fixed",left:q,top:le}),B(!0))},[S,m,a,t,o,n,k]);s.useLayoutEffect(()=>{if(N)return;if(S&&m){b({position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100% - 40px)",maxWidth:"calc(100% - 40px)"}),B(!0);return}z();const W=requestAnimationFrame(()=>z());return()=>cancelAnimationFrame(W)},[t,a,o,h,n,N,S,m,z]),s.useEffect(()=>{if(N||S&&m||!x.current||typeof ResizeObserver>"u")return;const W=new ResizeObserver(()=>{t&&z()});return W.observe(x.current),()=>W.disconnect()},[t,h,n,N,S,m,z]),s.useEffect(()=>{if(N||S&&m)return;const W=()=>z(!0),$=F=>{if(!a&&i){const E=F.target;if(E&&x.current&&x.current.contains(E))return;try{if(E&&E.closest&&E.closest("[data-tooltip-ignore]"))return}catch{}I.current(!0);return}W()};return window.addEventListener("resize",W),document.addEventListener("scroll",$,{passive:!0,capture:!0}),()=>{window.removeEventListener("resize",W),document.removeEventListener("scroll",$,{capture:!0})}},[t,a,i,o,h,n,N,S,m,z]),s.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const W=window.matchMedia("(max-width: 768px)"),$=()=>D(!!W.matches);$();try{W.addEventListener?W.addEventListener("change",$):W.addListener($)}catch{try{W.addListener($)}catch{}}return()=>{try{W.removeEventListener?W.removeEventListener("change",$):W.removeListener($)}catch{}}},[]);const j=s.useRef(!1),U=s.useRef(null),T=xc(),L=s.useCallback((W=!1)=>{if(i&&!(w||j.current)){if(j.current=!0,W){C(!0);try{i&&i()}catch{j.current=!1,C(!1)}return}C(!0),U.current=setTimeout(()=>{U.current=null;try{i&&i()}catch{j.current=!1,C(!1)}},T?0:200)}},[w,i,C,T]);s.useEffect(()=>()=>{U.current&&clearTimeout(U.current)},[]),s.useEffect(()=>{if(N)return;const W=E=>{const H=x.current;if(!H)return;const R=E.target;if(R&&!H.contains(R)){try{if(R.closest&&R.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},$=E=>{const H=x.current;if(!H)return;const R=E.target;if(R&&!H.contains(R)){try{if(R.closest&&R.closest("[data-tooltip-ignore]"))return}catch{}l&&L(!0)}},F=E=>{if(E.key==="Tab"){const H=x.current;if(!H)return;const R=H.querySelectorAll(za);if(!R||R.length===0)return;const O=R[0],V=R[R.length-1],Z=document.activeElement;E.shiftKey?Z===O&&(E.preventDefault(),V.focus()):Z===V&&(E.preventDefault(),O.focus())}};return document.addEventListener("pointerdown",W,!0),document.addEventListener("click",$,!0),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",W,!0),document.removeEventListener("click",$,!0),document.removeEventListener("keydown",F)}},[i,l,L,N]);const I=s.useRef(L);s.useEffect(()=>{I.current=L});const Y=!!i;s.useEffect(()=>{if(!(N||!Y))return Po(()=>I.current())},[N,Y]),s.useEffect(()=>{const W=()=>{L(!0)};return typeof document<"u"&&document.addEventListener("speechear-close-tooltips",W),()=>{typeof document<"u"&&document.removeEventListener("speechear-close-tooltips",W)}},[L]);const Q=s.useRef(null);s.useEffect(()=>{if(N||g===!1||!A)return;const W=x.current;if(!W)return;const $=W.querySelector(za);if($)return Q.current=document.activeElement,$.focus(),()=>{const F=Q.current;Q.current=null,F&&document.contains(F)&&F.focus()}},[N,g,A]),s.useEffect(()=>{d==="dialog"&&!u&&na("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.')},[d,u]);const P=r.jsxs("div",{ref:x,className:`tooltip-content ${N?"tooltip-content--inline":""} ${f?"tooltip-content--bordered":""} ${w?"is-closing":""} ${c} ${S&&m?"is-mobile":""}`,role:d,"aria-label":u||void 0,style:N?{}:{..._,visibility:A?"visible":"hidden"},tabIndex:-1,"data-placement":k,"data-left":N?"":_.left,"data-top":N?"":_.top,"data-anchor-left":t?Math.round(t.left):"","data-anchor-top":t?Math.round(t.top):"","data-anchor-width":t?Math.round(t.width):"","data-anchor-height":t?Math.round(t.height):"",children:[v!=null&&r.jsx("div",{className:"tooltip-content__header h5",children:v}),h]});if(N||typeof document>"u")return P;if(p||S&&m){const W=r.jsxs("div",{className:"tooltip-portal",children:[r.jsx("div",{className:"tooltip-backdrop",onClick:()=>{l&&L(!0)}}),P]});return pa.createPortal(W,document.body)}return pa.createPortal(P,document.body)}var I8='.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}';ie(I8);function Aa(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 O8=".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)}";ie(O8);function vo(e){const{t}=ye.useTranslation(),{anchorRect:a,title:o,items:n,activeIndex:i=-1,showIndex:l=!0,onClose:c,offset:d=12,closeOnOutsideClick:u=!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:d,onClose:c,closeOnOutsideClick:u,useBorder:!1,className:"tooltip-description",ariaLabel:o||t("tooltip.description","\uC124\uBA85"),children:r.jsxs("div",{className:"tooltip-description__box",children:[o&&r.jsx("span",{className:"tooltip-description__title body-2",children:o}),r.jsx("ol",{className:"tooltip-description__items",children: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 Cc=0,wb=!1;function kb(){wb||typeof document>"u"||(wb=!0,document.addEventListener("pointerdown",e=>{e.pointerType==="touch"&&(Cc=Date.now())},!0),document.addEventListener("touchstart",()=>{Cc=Date.now()},{capture:!0,passive:!0}))}kb();function hr(e){return!!e&&e.pointerType==="touch"}function mr(e=1e3){return kb(),Date.now()-Cc<e}function _c(e,t,a,{enabled:o=!0,fallbackOnParent:n=!1}={}){const i=ln(e),l=ln(t),c=s.useRef(null),d=s.useRef(0);s.useEffect(()=>{if(!o||typeof document>"u")return;const h=p=>{const m=p,f=p.target,v=a.current,g=!!(f&&v&&v.contains(f));if(m.pointerType!=="touch"){g&&(c.current=null);return}if(g){c.current=i.current;return}c.current=null,i.current&&!(f&&f.closest?.(".tooltip-content"))&&l.current(!1,v)};return document.addEventListener("pointerdown",h,!0),()=>document.removeEventListener("pointerdown",h,!0)},[o,a,i,l]);const u=s.useCallback(h=>{const p=c.current;return p===null?!1:(c.current=null,d.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 f=x=>{const _=x.changedTouches?.[0];if(!_)return!1;const b=h.getBoundingClientRect();return _.clientX>=b.left&&_.clientX<=b.right&&_.clientY>=b.top&&_.clientY<=b.bottom},v=x=>{m=f(x)?i.current:null},g=x=>{const _=m;m=null,!(_===null||Date.now()-d.current<700||!f(x))&&(c.current=null,d.current=Date.now(),l.current(!_,h))};return p.addEventListener("touchstart",v,{passive:!0}),p.addEventListener("touchend",g),()=>{p.removeEventListener("touchstart",v),p.removeEventListener("touchend",g)}},[o,n,a,i,l]),{touchPress:u}}function F8(e,t){const{size:a=48,type:o,htmlType:n,href:i,target:l,rel:c,icon:d,rightIcon:u,label:h,count:p,subLabel:m,children:f,ariaLabel:v,variant:g="default",align:x="center",nowrap:_=!1,selected:b,toggleable:w=!1,ariaExpanded:C,ariaControls:k,disabled:y=!1,useLabel:A=!0,useBorder:B=!0,useBG:S=!0,useDisabledCovered:D=!1,useDisabledInvisible:N=!1,width:z,minWidth:j,onClick:U,onDisabledClick:T,showTooltipInfo:L=!1,tooltipInfoText:I=null,tooltipDescription:Y=null,tooltipOnly:Q=!1,iconSize:P="medium",iconColor:W,shape:$="rounded",color:F,className:E,...H}=e,R=typeof a=="string"&&isNaN(Number(a))?a.toLowerCase():String(Number(a)||48),O=R.match(/^\d+$/)?`button${R}`:`button-${R}`,V=Number(a),Z=!isNaN(V)&&V<40?"button-2":"button-1",ee=h??f,X=y||!!H.disabled,ne=X?D?"disabled-covered":N?"disabled-invisibled":"disabled":g,ae=ne?`button--variant-${ne}`:"",pe=x?`button--align-${x}`:"",De=_?"button--nowrap":"",q=$?`button--shape-${$}`:"",le=typeof W=="string"&&W.startsWith("--")?`var(${W})`:W,Ce={...z?{width:typeof z=="number"?`${z}px`:z}:{},...j?{minWidth:typeof j=="number"?`${j}px`:j}:{},...B?{}:{"--button-border":X?"0":"1px solid transparent"},...le?{"--button-icon-color":le}:{},...F?{"--color-main":F}:{}},Ne=A===!1?"":ee,_e=Array.isArray(Ne)?Ne.length>0:!!Ne,re=!!u,me=o??(_e||d||re?"bar":"dot"),ge=`${O}--${me}`,G=s.useRef(null);s.useEffect(()=>{!Yo||n!==void 0||G.current?.closest("form")&&na(`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 he=s.useCallback(Ve=>{G.current=Ve;const ut=oe.current;typeof ut=="function"?ut(Ve):ut&&(ut.current=Ve)},[]),Te=s.useRef(X),[Me,Pe]=s.useState(!!b),[Ie,pt]=s.useState(!1),[it,Qe]=s.useState(null),dt=s.useCallback(()=>pt(!1),[]),[Se,He]=s.useState(!1),Be=s.useId();s.useEffect(()=>{typeof b=="boolean"&&Pe(b)},[b]),s.useEffect(()=>{if(Te.current&&!X&&G.current){const Ve=G.current;let ut=!1;try{ut=Ve.matches(":focus:not(:focus-visible)")}catch{ut=!1}ut&&Ve.blur(),Ve.style.pointerEvents="none";const Ot=requestAnimationFrame(()=>{requestAnimationFrame(()=>{G.current&&(G.current.style.pointerEvents="")})});return()=>cancelAnimationFrame(Ot)}Te.current=X},[X]);const Je=typeof b=="boolean"?!!b:Me,J=typeof C=="boolean"?void 0:w||typeof b=="boolean"?Je?"true":"false":H["aria-pressed"],ue=Ee("button",O,ge,ae,pe,De,q,Je?"is-selected":null,S?null:"button--no-bg",Q?"button--tooltip-only":null,E),xe=`button__icon button__icon--${P}`,je=Array.isArray(m)?m:m!==void 0?[m]:[],ot=()=>{if(Array.isArray(Ne))return Ne.map((ut,Ot)=>{const Qt=je[Ot];return r.jsxs("span",{className:`button__label-text${Qt!==void 0?" button__label-text--has-sub":""}`,children:[ut,Qt!==void 0&&r.jsx("span",{className:"button__sub-label-text caption-1",children:Qt})]},Ot)});const Ve=m!==void 0;return r.jsxs("span",{className:`button__label-text${Ve?" button__label-text--has-sub":""}`,children:[Ne,p!=null&&r.jsx("span",{className:"button__count",children:p}),Ve&&r.jsx("span",{className:"button__sub-label-text caption-1",children:m})]})},et=Ve=>{typeof b!="boolean"&&!w&&Pe(!1),Ve.currentTarget.blur()},Ct=Ve=>{X||(typeof H.onMouseLeave=="function"&&H.onMouseLeave(Ve),et(Ve))},gt=Ve=>{if(Q&&ct&&rt.touchPress(Ve.currentTarget),X){ct&&rt.touchPress(Ve.currentTarget),Ve.preventDefault(),T?.(Ve);return}typeof b!="boolean"&&w&&Pe(ut=>!ut),U?.(Ve)},st=s.useCallback(()=>{(L||Y)&&(pt(!0),Qe(G.current?.getBoundingClientRect()??null))},[L,Y]),lt=s.useCallback(()=>{(L||Y)&&(pt(!1),Qe(null))},[L,Y]),ct=!!(L||Y),rt=_c(Ie,Ve=>{Ve?st():lt()},G,{enabled:ct&&(X||Q),fallbackOnParent:ct&&X}),Oe={...H};delete Oe.disabled,delete Oe.className,delete Oe.faded,delete Oe.useFaded,delete Oe.loading,delete Oe.onMouseLeave,delete Oe.onPointerEnter,delete Oe.onPointerLeave,delete Oe.onPointerUp,delete Oe.onFocus,delete Oe.onBlur,X&&(Object.keys(Oe).forEach(Ve=>{/^on[A-Z]/.test(Ve)&&typeof Oe[Ve]=="function"&&delete Oe[Ve]}),Oe["aria-disabled"]="true");const Ye=(typeof L=="string"?L:null)??(typeof I=="string"?I:null)??(typeof v=="string"?v:null)??(typeof ee=="string"?ee:null)??void 0,We=typeof v=="string"?v:typeof ee=="string"?ee:Ye,vt=Y?[Y.title,...Y.items??[]].filter(Boolean).join(". "):L&&Ye&&Ye!==We?Ye:"",Lt=[typeof H["aria-describedby"]=="string"?H["aria-describedby"]:void 0,vt?Be:null].filter(Boolean).join(" ")||void 0,It=(Ve,ut)=>r.jsx(at,{icon:Ve,label:ut??We,className:xe,imgClassName:"button__icon-img",maskClassName:"button__icon-mask",svgClassName:"button__icon-svg"}),_t=()=>me==="dot"?r.jsxs(r.Fragment,{children:[It(d),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()})]}):x==="center"&&d?r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"button__center-group",children:[r.jsx("span",{className:"button__left",children:It(d)}),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()})]}),re&&r.jsx("span",{className:"button__right",children:It(u)})]}):r.jsxs(r.Fragment,{children:[d&&r.jsx("span",{className:"button__left",children:It(d,v??ee)}),_e&&r.jsx("span",{className:`button__label ${Z}`,children:ot()}),re&&r.jsx("span",{className:"button__right",children:It(u)})]}),At=!!i&&!X;return r.jsxs(r.Fragment,{children:[r.jsxs(At?"a":"button",{...Oe,ref:he,...At?{href:i,target:l,rel:c??(l==="_blank"?"noreferrer":void 0)}:{type:n??"button",disabled:X&&!T&&!Se},className:ue,"aria-pressed":J,"aria-expanded":typeof C=="boolean"?C:H["aria-expanded"],"aria-controls":k??H["aria-controls"],"aria-label":We,"aria-disabled":X&&(At||T||Se)?!0:void 0,"aria-describedby":Lt,style:Ce,onClick:gt,onMouseLeave:Ct,onPointerEnter:Ve=>{hr(Ve)||st(),!X&&typeof H.onPointerEnter=="function"&&H.onPointerEnter(Ve)},onPointerLeave:Ve=>{hr(Ve)||lt(),!X&&typeof H.onPointerLeave=="function"&&H.onPointerLeave(Ve)},onPointerUp:Ve=>{X&&ct&&rt.touchPress(Ve.currentTarget),!X&&typeof H.onPointerUp=="function"&&H.onPointerUp(Ve)},onFocus:Ve=>{He(!0),mr()||st(),!X&&typeof H.onFocus=="function"&&H.onFocus(Ve)},onBlur:Ve=>{He(!1),X||et(Ve),lt(),!X&&typeof H.onBlur=="function"&&H.onBlur(Ve)},children:[_t(),vt?r.jsx("span",{id:Be,hidden:!0,"aria-label":vt}):null]}),Ie&&Y?r.jsx(vo,{anchorRect:it,title:Y.title,items:Y.items,onClose:dt}):Ie&&Ye?r.jsx(Aa,{anchorRect:it,text:Ye,onClose:dt}):null]})}const fe=s.forwardRef(F8);fe.displayName="Button";function Nt(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 H8=".ihabdevteam-core-scope .promo-banner-bg{border-radius:inherit;inset:0;pointer-events:none;position:absolute}";ie(H8);var V8=".ihabdevteam-core-scope .promo-banner-bg-main{background:linear-gradient(45deg,var(--color-main),var(--color-sub))}";ie(V8);const br={title:"--promo-banner-bg-title",description:"--promo-banner-bg-description"},yc=new WeakMap;function gi(e){if(e)return yc.get(e)}function Kt(e,t){e&&(e.style.setProperty(br.title,t.title),e.style.setProperty(br.description,t.description),yc.set(e,t))}function Zt(e){e&&(e.style.removeProperty(br.title),e.style.removeProperty(br.description),yc.delete(e))}const wc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"default"};function kc(){const e=Nt(wc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-main","aria-hidden":"true"})}var W8=".ihabdevteam-core-scope .promo-banner-bg-soft{background:var(--color-main-a10)}";ie(W8);const Bc={title:"var(--color-main)",description:"var(--color-gray)",actionVariant:"main"};function Ac(){const e=Nt(Bc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft","aria-hidden":"true"})}var G8=".ihabdevteam-core-scope .promo-banner-bg-sub{background:var(--color-sub)}";ie(G8);const Sc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Ec(){const e=Nt(Sc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-sub","aria-hidden":"true"})}var U8=".ihabdevteam-core-scope .promo-banner-bg-deep{background:linear-gradient(135deg,var(--color-darkMain),var(--color-darkSub))}";ie(U8);const Dc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Nc(){const e=Nt(Dc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-deep","aria-hidden":"true"})}var q8=".ihabdevteam-core-scope .promo-banner-bg-soft-sub{background:var(--color-sub-a10)}";ie(q8);const Tc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function jc(){const e=Nt(Tc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-soft-sub","aria-hidden":"true"})}var Y8=".ihabdevteam-core-scope .promo-banner-bg-warm{background:var(--color-warn)}";ie(Y8);const Lc={title:"var(--color-black)",description:"var(--color-darkGray)",actionVariant:"main"};function Mc(){const e=Nt(Lc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-warm","aria-hidden":"true"})}var K8=".ihabdevteam-core-scope .promo-banner-bg-dark{background:var(--color-lightBlack)}";ie(K8);const $c={title:"var(--color-white)",description:"var(--color-lightGray)",actionVariant:"main"};function Rc(){const e=Nt($c,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dark","aria-hidden":"true"})}var Z8=".ihabdevteam-core-scope .promo-banner-bg-radial{background:radial-gradient(circle at 15% 20%,var(--color-main) 0,var(--color-sub) 100%)}";ie(Z8);const Pc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function zc(){const e=Nt(Pc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-radial","aria-hidden":"true"})}var X8=".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)}";ie(X8);const Ic={title:"var(--color-darkMain)",description:"var(--color-gray)",actionVariant:"main"};function Oc(){const e=Nt(Ic,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-diagonal","aria-hidden":"true"})}var J8=".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}";ie(J8);const Fc={title:"var(--color-darkSub)",description:"var(--color-gray)",actionVariant:"main"};function Hc(){const e=Nt(Fc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-dots","aria-hidden":"true"})}var Q8=".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}";ie(Q8);const Vc={title:"var(--color-black)",description:"var(--color-gray)",actionVariant:"main"};function Wc(){const e=Nt(Vc,Kt,Zt);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 e7=".ihabdevteam-core-scope .promo-banner-bg-success{background:var(--color-success)}";ie(e7);const Gc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"main"};function Uc(){const e=Nt(Gc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-success","aria-hidden":"true"})}var t7=".ihabdevteam-core-scope .promo-banner-bg-naver{background:linear-gradient(90deg,#03c75a 0,var(--color-main) 100%)}";ie(t7);const qc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"sub"};function Yc(){const e=Nt(qc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-naver","aria-hidden":"true"})}var a7=".ihabdevteam-core-scope .promo-banner-bg-instagram{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}";ie(a7);const Kc={title:"#ffffff",description:"rgba(255, 255, 255, 0.85)",actionVariant:"transparent-white"};function Zc(){const e=Nt(Kc,Kt,Zt);return r.jsx("div",{ref:e,className:"promo-banner-bg promo-banner-bg-instagram","aria-hidden":"true"})}const ca=(e,t,a)=>({key:e,get label(){return wt.t(`promoBannerBg.${e}`,t)},textTone:a}),Bb=[ca("main","\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("soft","\uC18C\uD504\uD2B8","dark"),ca("sub","\uC11C\uBE0C \uCEEC\uB7EC","light"),ca("deep","\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("softSub","\uC18C\uD504\uD2B8 \uC11C\uBE0C","dark"),ca("warm","\uC6DC(\uAC15\uC870)","dark"),ca("dark","\uB2E4\uD06C","light"),ca("radial","\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8","light"),ca("diagonal","\uB300\uAC01\uC120 \uD328\uD134","dark"),ca("dots","\uB3C4\uD2B8 \uD328\uD134","dark"),ca("outline","\uC544\uC6C3\uB77C\uC778","dark"),ca("success","\uC131\uACF5/\uC644\uB8CC","light"),ca("naver","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4","light"),ca("instagram","\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4","light")],Xc={main:kc,soft:Ac,sub:Ec,deep:Nc,softSub:jc,warm:Mc,dark:Rc,radial:zc,diagonal:Oc,dots:Hc,outline:Wc,success:Uc,naver:Yc,instagram:Zc};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 C=localStorage.getItem(w),k=C?Number(C):1;return Number.isFinite(k)?l(k):l(1)}catch{return l(1)}},[d,u]=s.useState(()=>c(e)),[h,p]=s.useState(e);h!==e&&(p(e),u(c(e))),s.useEffect(()=>{try{localStorage.setItem(e,String(d))}catch{}},[e,d]);const m=w=>{u(typeof w=="function"?C=>l(w(C)):l(w))},f=()=>m(w=>+(w+n).toFixed(6)),v=()=>m(w=>+(w-n).toFixed(6)),g=d<o-Number.EPSILON,x=d>a+Number.EPSILON,_=Math.round(t*d),b=Math.round(_*i);return{scale:d,setScale:m,increase:f,decrease:v,canIncrease:g,canDecrease:x,fontSize:_,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 Jc=" \xB7 ",Ab=(()=>{if(typeof document>"u")return"";const e=document.title;return e.includes(Jc)?e.split(Jc).pop()??e:e})(),Qc=s.createContext(!1),zo=[];let Sb=null;function ed(e){const t=s.useContext(Qc);s.useEffect(()=>{if(t||typeof e!="string"||!e)return;zo.length===0&&(Sb=document.title);const a={text:Ab?`${e}${Jc}${Ab}`:e};return zo.push(a),document.title=a.text,()=>{const o=zo.lastIndexOf(a);o>=0&&zo.splice(o,1),document.title=zo.length?zo[zo.length-1].text:Sb??document.title}},[e,t])}function o7(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 Eb(){const{t:e}=ye.useTranslation();return s.useCallback(t=>{if(!t)return"";const a=Pa(t);if(!a)return"";const o=o7(a,va());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 Db(e){const{t}=ye.useTranslation(),[a,o]=s.useState({current:"",next:"",confirm:""}),[n,i]=s.useState(null),[l,c]=s.useState(!1),d=s.useRef(null),u=s.useRef(!1);s.useEffect(()=>()=>{d.current!==null&&clearTimeout(d.current)},[]);const h=s.useCallback(()=>{o({current:"",next:"",confirm:""}),i(null)},[]),p=s.useCallback(async()=>{if(u.current)return;if(!a.current){i({type:"error",text:t("account.security.password.currentRequired","\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(!a.next){i({type:"error",text:t("account.security.password.newRequired","\uC0C8 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.")});return}if(a.next!==a.confirm){i({type:"error",text:t("account.security.password.mismatch","\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")});return}c(!0),u.current=!0;let m;try{m=e?await e(a.current,a.next):null}catch(f){m=Qr(f)}finally{u.current=!1,c(!1)}if(m){i({type:"error",text:m});return}i({type:"success",text:t("account.security.password.changed","\uBE44\uBC00\uBC88\uD638\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.")}),o({current:"",next:"",confirm:""}),d.current!==null&&clearTimeout(d.current),d.current=setTimeout(()=>i(null),1500)},[a,e,t]);return{pw:a,setPw:o,pwMsg:n,setPwMsg:i,pwLoading:l,handleChangePw:p,reset:h}}const td=[{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 ad(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 Nb(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 Tb(e){const{t}=ye.useTranslation(),[a,o]=s.useState({}),[n,i]=s.useState(null),[l,c]=s.useState(null),[d,u]=s.useState(null),h=s.useCallback(()=>{const m={};td.forEach(f=>{m[f.id]=ad([...f.keys])}),o(m),typeof navigator<"u"&&navigator.storage?.estimate&&navigator.storage.estimate().then(f=>{u({usage:f.usage??0,quota:f.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:d,refreshCacheSizes:h,handleClearCache:p}}function jb(e){const[t,a]=s.useState(null),[o,n]=s.useState(null),i=s.useCallback(()=>{const l=jo();if(l){const d=Object.values(l),u=d.filter(h=>h.cho.length+h.jung.length+h.jong.length>0).length;a({matched:u,total:d.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 Io(e,t){if(e===t)return!0;const a=e?.id,o=t?.id;return a!=null&&a!==""&&a===o}function Lb(e,t=[]){const[a,o]=s.useState(t),[n,i]=s.useState(null),[l,c]=s.useState(!1),[d,u]=s.useState(e),h=s.useRef(!1),p=s.useRef(null);s.useEffect(()=>{if(l)return;if(h.current){h.current=!1;return}const _=p.current;_!==null&&_.length===t.length&&_.every((b,w)=>b===t[w])||(p.current=t,o(t),i(b=>b==null?b:t.find(w=>Io(w,b))??b))},[t,l]),s.useEffect(()=>{!l&&n!=null&&u({...n})},[l,n]);const m=s.useCallback(_=>{i(_),c(!1),u({..._})},[]),f=s.useCallback(()=>c(!0),[]),v=s.useCallback(()=>c(!1),[]),g=s.useCallback((_,b)=>{o(_),i(b),c(w=>(w&&(h.current=!0),!1))},[]),x=s.useCallback(_=>{o(b=>b.filter(w=>!Io(w,_))),i(null)},[]);return{list:a,setList:o,selected:n,setSelected:i,isEditing:l,setIsEditing:c,editForm:d,setEditForm:u,openDetail:m,startEditing:f,cancelEditing:v,commitEdit:g,remove:x}}const gr=()=>{const[e,t,a]=va().split("-");return{year:e,month:t,day:a}},r7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Mb(e=[]){const{list:t,setList:a,selected:o,setSelected:n,isEditing:i,setIsEditing:l,editForm:c,setEditForm:d,openDetail:u,commitEdit:h}=Lb(r7,e),{year:p,month:m,day:f}=gr(),[v,g]=s.useState({year:p,month:m,day:f,hour:"09",minute:"00",memo:""});return{visitHistory:t,visitForm:v,setVisitForm:g,setVisit:x=>_=>g(b=>({...b,[x]:_})),selectedVisit:o,setSelectedVisit:n,isEditingVisit:i,setIsEditingVisit:l,editVisitForm:c,setEditVisitForm:d,openVisitDetail:u,handleVisitSave:x=>{a(C=>[v,...C]);const{year:_,month:b,day:w}=gr();g({year:_,month:b,day:w,hour:"09",minute:"00",memo:""}),x?.()},handleVisitEditSave:()=>{h(x=>x.map(_=>o!=null&&Io(_,o)?c:_),c)},addVisit:x=>{a(_=>[x,..._])},removeVisit:x=>{a(_=>_.filter(b=>!Io(b,x)))},revertVisitEdit:(x,_)=>{a(b=>b.map(w=>w===_?x:w)),n(b=>b===_?x:b)}}}const $b=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")}`,dn=e=>[...e].sort((t,a)=>{const o=$b(t),n=$b(a);return o<n?-1:o>n?1:0}),n7={year:"",month:"",day:"",hour:"09",minute:"00",memo:""};function Rb(e,t=[]){const a=s.useMemo(()=>dn(t),[t]),{list:o,setList:n,selected:i,setSelected:l,isEditing:c,setIsEditing:d,editForm:u,setEditForm:h,openDetail:p,commitEdit:m,remove:f}=Lb(n7,a),[v,g]=s.useState([]),{year:x,month:_,day:b}=gr(),[w,C]=s.useState({year:x,month:_,day:b,hour:"09",minute:"00",memo:""}),k=U=>T=>C(L=>({...L,[U]:T})),y=U=>{n(Y=>dn([...Y,w]));const{year:T,month:L,day:I}=gr();C({year:T,month:L,day:I,hour:"09",minute:"00",memo:""}),U?.()},A=()=>{m(U=>dn(U.map(T=>i!=null&&Io(T,i)?u:T)),u)},B=s.useCallback(U=>{f(U)},[f]),S=s.useCallback(U=>{e({year:U.year,month:U.month,day:U.day,hour:U.hour,minute:U.minute,memo:U.memo,...U.id!=null?{id:U.id}:{}}),f(U)},[e,f]),D=s.useCallback(U=>{n(T=>T.filter(L=>!Io(L,U))),g(T=>[U,...T]),l(null)},[n,l]),N=s.useCallback(U=>{n(T=>dn([...T,U]))},[n]),z=s.useCallback(U=>{n(T=>T.filter(L=>!Io(L,U)))},[n]),j=s.useCallback((U,T)=>{n(L=>dn(L.map(I=>I===T?U:I))),l(L=>L===T?U:L)},[n,l]);return{scheduleList:o,noShowList:v,addSchedule:N,removeSchedule:z,revertScheduleEdit:j,scheduleForm:w,setScheduleForm:C,setSchedule:k,selectedSchedule:i,setSelectedSchedule:l,isEditingSchedule:c,setIsEditingSchedule:d,editScheduleForm:u,setEditScheduleForm:h,openScheduleDetail:p,handleScheduleSave:y,handleScheduleEditSave:A,handleScheduleDelete:B,handleScheduleToVisit:S,handleScheduleNoVisit:D}}const un=[{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 Pb(e){const{t}=ye.useTranslation(),[a,o]=s.useState(""),[n,i]=s.useState("25"),[l,c]=s.useState("all"),[d,u]=s.useState(1),h=s.useMemo(()=>e.filter(({item:g,status:x})=>!(a&&!g.memo.includes(a)||l!=="all"&&x!==l)),[e,a,l]),p=Math.max(1,Math.ceil(h.length/Number(n))),m=Math.min(d,p),f=s.useMemo(()=>h.slice((m-1)*Number(n),m*Number(n)),[h,m,n]),v=s.useMemo(()=>un.map(g=>({...g,label:t("common.pageSizeLabel",{n:g.value,defaultValue:g.label})})),[t]);return{vapSearch:a,setVapSearch:o,vapPageSize:n,setVapPageSize:i,vapPageSizeOptions:v,vapStatus:l,setVapStatus:c,vapPage:m,setVapPage:u,vapFiltered:h,vapTotal:p,vapPageItems:f}}const i7=(()=>{let e=null;return()=>(e||(e=new Intl.Collator("ko")),e)})();function fr(e,t){return i7().compare(e,t)}const vi=new Map;function s7(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 l7(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 c7(e,t){const a=u=>u==null||typeof u=="number"&&Number.isNaN(u)?"":String(u).trim(),o=a(e),n=a(t);if(o===n)return 0;const i=(u,h)=>{if(typeof u=="number"&&!Number.isNaN(u))return[u];const p=l7(h);return p!==null?[p]:s7(h)},l=i(e,o),c=i(t,n),d=Math.min(l.length,c.length);for(let u=0;u<d;u++){const h=l[u],p=c[u];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=fr(h,p);if(m!==0)return m}return l.length!==c.length?l.length-c.length:fr(o,n)}const zb=e=>e==null||typeof e=="number"&&Number.isNaN(e)||typeof e=="string"&&e.trim()==="";function od(e,t,a){const o=zb(e),n=zb(t);if(o||n)return o===n?0:o?1:-1;const i=c7(e,t);return a?i:-i}function rd(e,t,a){const{t:o}=ye.useTranslation(),[n,i]=s.useState(()=>{const v=a?.initialPageSize;return v&&un.some(g=>g.value===v)?v:"25"}),[l,c]=s.useState(1),[d,u]=s.useState(t);Object.is(d,t)||(u(t),l!==1&&c(1));const h=s.useMemo(()=>un.map(v=>({...v,label:o("visits.showN",{n:v.value})})),[o]),p=s.useCallback(v=>{i(v),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 f=Math.min(Math.max(1,Number.isFinite(l)?l:1),m);return{pageRows:s.useMemo(()=>e.slice((f-1)*Number(n),f*Number(n)),[e,f,n]),pageSizeProps:{options:h,value:n,onChange:p},paginationProps:{page:f,total:m,onChange:c},setPage:c}}function nd(e){const[t,a]=s.useState(null),o=s.useRef(t),n=s.useRef(e?.onSortChange);n.current=e?.onSortChange;const i=s.useCallback(d=>{const u=o.current,h=u?.key===d?{key:d,asc:!u.asc}:{key:d,asc:!0};o.current=h,a(h),n.current?.(h)},[]),l=s.useCallback((d,u)=>({label:d,sortDir:t?.key===u?t.asc?"asc":"desc":null,onClick:()=>i(u)}),[t,i]),c=s.useCallback((d,u)=>{if(!t)return d;const{key:h,asc:p}=t;return[...d].sort((m,f)=>od(u(m,h),u(f,h),p))},[t]);return{\uC815\uB82C:t,\uCE78:l,sortRows:c}}const Ib=e=>e==="\uC88C"||e==="\uC6B0"?e:null;function Ob(){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:[]}),[d,u]=s.useState(!1),[h,p]=s.useState("\uC88C"),m=s.useCallback(v=>{const g=Ib(v.direction);g&&(i(x=>({...x,[g]:v})),c(x=>({...x,[g]:[v,...x[g]]})),t(!1))},[]),f=s.useCallback(v=>{const g=Ib(v.direction);g&&(i(x=>({...x,[g]:v})),u(!1))},[]);return{showDevice:e,setShowDevice:t,deviceDirection:a,setDeviceDirection:o,devices:n,setDevices:i,deviceHistory:l,setDeviceHistory:c,showDeviceList:d,setShowDeviceList:u,listForSide:h,setListForSide:p,handleDeviceSubmit:m,handleSelectFromList:f}}const Tt="\uC804\uCCB4",pn=["grade","syllables","pos","wordType"],Fb=["1","2","3","4"],d7=["1","2","3","4","5+"],u7=["noun","verb","modifier"],p7=["native","sino","foreign","mixed"],h7={grade:Fb,syllables:d7,pos:u7,wordType:p7},m7={noun:["\uBA85","\uC218"],verb:["\uB3D9","\uD615"],modifier:["\uBD80","\uAD00"]},b7={native:"\uACE0\uC720",sino:"\uD55C\uC790",foreign:"\uC678\uB798",mixed:"\uD63C\uC885"},g7={grade:["\uB09C\uC774\uB3C4 \uB4F1\uAE09"]},f7={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)"]}},id=new Map;try{wt.store?.on?.("added",()=>id.clear())}catch{}function xi(e){const t=id.get(e);if(t)return t;const a=wt.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(Fb.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 id.set(e,o),o}const sd=()=>Array.from(new Set([wt.language,"ko","en"].filter(e=>!!e)));function hn(e){if(pn.includes(e))return e;for(const t of sd()){const a=xi(t);for(const o of pn)if(a.\uC139\uC158[o]===e)return o}for(const t of pn)if(g7[t]?.includes(e))return t;return null}function vr(e,t){if(h7[e].includes(t))return t;for(const a of sd()){const o=xi(a).\uAC12[e];for(const[n,i]of Object.entries(o))if(i===t)return n}for(const[a,o]of Object.entries(f7[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 v7=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):typeof e=="string"&&e?[e]:[];function Ci(e){const t={};for(const[a,o]of Object.entries(e??{})){const n=hn(a);if(n)for(const i of v7(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=wt.language){const a=xi(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 Hb(e,t=wt.language){const a={};for(const[o,n]of Object.entries(e??{}))hn(o)||(a[o]=n);return{...a,..._i(Ci(e),t)}}function x7(e){for(const t of sd()){const a=xi(t);if(pn.some(o=>a.\uC139\uC158[o]===e))return t}return wt.language||"ko"}function ld(){const{t:e}=ye.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 cd(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 dd(e){return{label:e.partOfSpeech,items:Object.keys(e.posMap),multiple:!0,allOption:!0}}function ud(e){return{label:e.wordType,items:Object.keys(e.typeMap),multiple:!0,allOption:!0}}function Vb(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 Wb(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 Gb(e,t){const{label:a,headValue:o,midValue:n,tailValue:i,includeMid:l=!0,headDisabled:c,midDisabled:d,tailDisabled:u,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:d}]:[],{value:i,displayLabel:e("wordSearch.filter.positionTail",{defaultValue:"\uC5B4\uB9D0"}),disabled:u}]}}function Ub(e,t,a){const o=hn(a),n=o&&t!==Tt?vr(o,t):null;if(o&&(t===Tt||n)){const c={},d={};for(const[f,v]of Object.entries(e))(hn(f)===o?d:c)[f]=v;if(t===Tt)return c;const u=Ci(d)[o]??[],h=u.includes(n)?u.filter(f=>f!==n):[...u,n];if(h.length===0)return c;const p=_i({[o]:h},x7(a)),m=Object.values(p)[0]??[];return{...c,[a]:m}}if(t===Tt){const{[a]:c,...d}=e;return d}const i=e[a]??[],l=i.includes(t)?i.filter(c=>c!==t):[...i,t];if(l.length===0){const{[a]:c,...d}=e;return d}return{...e,[a]:l}}Object.fromEntries(Object.entries(Ws).map(([e,{nucleus:t}])=>[e,t]));const C7={\uACE0\uC720\uC5B4:"\uACE0\uC720",\uD55C\uC790\uC5B4:"\uD55C\uC790",\uC678\uB798\uC5B4:"\uC678\uB798",\uD63C\uC885\uC5B4:"\uD63C\uC885"},_7={"\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"]},y7={difficulty:"\uB09C\uC774\uB3C4 \uB4F1\uAE09",syllables:"\uC74C\uC808 \uC218",syllable5plus:"5\uC74C\uC808 \uC774\uC0C1",partOfSpeech:"\uD488\uC0AC",wordType:"\uC720\uD615",posMap:_7,typeMap:C7},qb=new WeakMap;function w7(e,t){const a=qb.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 d of Array.isArray(l)?l:typeof l=="string"?[l]:[])n[c].includes(d)||n[c].push(d)}return qb.set(e,{keys:t,\uAC12:o}),o}function k7(e,t,a=y7){const{grades:o,syls:n,poses:i,types:l}=w7(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(d=>{const u=d===a.syllable5plus?"5+":vr("syllables",d);return u==="5+"?c>=5:c===parseInt(u??d)}))return!1}return!(i.length&&!i.flatMap(c=>a.posMap[c]??m7[vr("pos",c)??""]??[c]).some(c=>(e.pos??"").includes(c))||l.length&&!l.some(c=>e.wordType===(a.typeMap[c]??b7[vr("wordType",c)??""])))}const B7={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"})},A7={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"})},S7={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 Yb(e,t){if("place"in t)return B7[t.place](e);const a=A7[t.vowel](e);return t.glide?`${a} \xB7 ${S7[t.glide](e)}`:a}const E7=(e,{defaultValue:t})=>t,Kb=(e,t)=>({jamos:e,phonetic:t,tooltip:Yb(E7,t)}),eo=(e,t)=>t.map(a=>Kb([a],{place:e})),Wt=(e,t,a)=>Kb([...e],a?{vowel:t,glide:a}:{vowel:t}),pd={cho:[eo("labial",["\u3142","\u3143","\u314D","\u3141"]),eo("alveolar",["\u3137","\u3138","\u314C","\u3134","\u3139"]),eo("alveolar",["\u3145","\u3146"]),eo("palatal",["\u3148","\u3149","\u314A"]),eo("velar",["\u3131","\u3132","\u314B"]),eo("glottal",["\u314E"])],jung:[[Wt("\u3163","frontHigh"),Wt("\u315F","frontHigh","w"),Wt("\u3162","frontHigh","velar")],[Wt("\u3161","backHighUnrounded")],[Wt("\u315C","backHighRounded"),Wt("\u3160","backHighRounded","j")],[Wt("\u3154\u3150","frontMid"),Wt("\u3156\u3152","frontMid","j"),Wt("\u3159\u315A\u315E","frontMid","w")],[Wt("\u3153","backMidUnrounded"),Wt("\u3155","backMidUnrounded","j"),Wt("\u315D","backMidUnrounded","w")],[Wt("\u3157","backMidRounded"),Wt("\u315B","backMidRounded","j")],[Wt("\u314F","low"),Wt("\u3151","low","j"),Wt("\u3158","low","w")]],jong:[eo("labial",["\u3142","\u3141"]),eo("alveolar",["\u3137","\u3134","\u3139"]),eo("velar",["\u3131","\u3147"])]},D7=[...bt],N7=[...kt],T7=Pt.filter(e=>e!==""),Ia=e=>e===Sa?[]:Array.from(e),Sa="__NO_CODA__",Zb=[1,2,3,4],Ea=5,j7=12,Xb="SYL_",hd=e=>`${Xb}${e}`,L7=e=>Number(e.slice(Xb.length));function yi(e){return e>=Ea?Array.from({length:j7-Ea+1},(t,a)=>Ea+a):[e]}const Jb={cho:D7,jung:N7,jong:T7},md=e=>e.map(t=>t.map(({jamos:a,phonetic:o,tooltip:n})=>({v:a.join(""),phonetic:o,tooltip:n}))),bd={cho:md(pd.cho),jung:md(pd.jung),jong:md(pd.jong)},Qb={};bd.jung.flat().forEach(({v:e})=>{for(const t of Ia(e))Qb[t]=e});const M7=new Set(bd.cho.flat().map(e=>e.v));function gd(e,t){return e==="cho"?M7.has(t)?t:null:e==="jung"?Qb[t]??t:No(t)}function fd(e,t,a){if(e==="jung"){const o=Ia(t);return a&&o.includes(a)?a:o[0]??t}return e==="jong"&&a&&No(a)===t?a:t}function vd(e,t,a,o){const n=(i,l)=>l?i==="jong"&&l===Sa?Sa:t==="pron"?gd(i,l):fd(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},$7="wt_filter",eg=e=>`wt_filter_${e}`,xd=["noun","verb","modifier"],Cd=["native","sino","foreign","mixed"];function tg(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(d=>n.some(u=>o(u,a(d))===l));c&&!i.includes(c)&&i.push(c)}return i}function ag(e){try{const t=localStorage.getItem(eg(e))??localStorage.getItem($7);if(t)return JSON.parse(t)}catch{}return null}function og(e){const t=e?.phonemeView;return t==="pron"?"pron":t==="direct"?"direct":"char"}function R7(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 rg(e,t,a){const{t:o,i18n:n}=ye.useTranslation(),[i]=s.useState(()=>a?.resetOnMount?null:ag(e)),[l,c]=s.useState(og(i)),[d,u]=s.useState(()=>R7(i)),h=s.useCallback(()=>t.requireSyllable?{cho:"\u3131",jung:"\u314F",jong:Sa,syllable:t.fixedSyllable??null}:{cho:null,jung:null,jong:t.fixedNoCoda?Sa:null,syllable:t.fixedSyllable??null},[t.requireSyllable,t.fixedSyllable,t.fixedNoCoda]);s.useEffect(()=>{!t.requireSyllable&&t.fixedSyllable==null&&!t.fixedNoCoda||u(G=>G.cho||G.jung||G.syllable!=null||G.jong?G:h())},[]);const p=s.useMemo(()=>zt(d.cho)||zt(d.jung)||zt(d.jong)?"count":"random",[d.cho,d.jung,d.jong]),m=s.useRef(l==="char"?d.jung:null),f=s.useRef(l==="char"?d.jong:null);s.useEffect(()=>{l==="char"&&(m.current=d.jung,f.current=d.jong)},[l,d.jung,d.jong]);const[v,g]=s.useState(a?.resetOnMount?!!a?.defaultImageOnly:i?.excludeNoImage??!0),[x,_]=s.useState(a?.resetOnMount?!1:i?.sameStructureOnly??!0),[b,w]=s.useState(Array.isArray(i?.gradeFilter)?i.gradeFilter:[]),C=Array.from(new Set([n.language,"ko","en"].filter(Boolean))),k=(G,oe)=>n.getFixedT(G)(oe),y=G=>tg(G,xd,oe=>`wordSearch.filter.pos.${oe}`,k,C),A=G=>tg(G,Cd,oe=>`wordSearch.filter.type.${oe}`,k,C),[B,S]=s.useState(()=>y(i?.posFilter)),[D,N]=s.useState(()=>A(i?.wordTypeFilter)),z=s.useRef(a?.resetKey);s.useEffect(()=>{z.current!==a?.resetKey&&(z.current=a?.resetKey,u(h()),g(!!a?.defaultImageOnly),_(!1),w([]),S([]),N([]))},[a?.resetKey]);const j=ld(),U=s.useMemo(()=>Object.keys(j.posMap),[j]),T=s.useMemo(()=>Object.keys(j.typeMap),[j]),L=s.useMemo(()=>B.map(G=>U[xd.indexOf(G)]).filter(Boolean),[B,U]),I=s.useMemo(()=>D.map(G=>T[Cd.indexOf(G)]).filter(Boolean),[D,T]),[Y,Q]=s.useState({cho:new Set,jung:new Set,jong:new Set,syllable:new Set}),[P,W]=s.useState(!1),[$,F]=s.useState(null),E=1,H=Math.max(1,[d.cho,d.jung,d.jong].filter(Boolean).length),[R,O]=s.useState(e);s.useEffect(()=>{if(R!==e){if(!a?.resetOnMount){const G=ag(e);u(G?.composition??h()),g(G?.excludeNoImage??!0),_(G?.sameStructureOnly??!0),c(og(G)),w(Array.isArray(G?.gradeFilter)?G.gradeFilter:[]),S(y(G?.posFilter)),N(A(G?.wordTypeFilter))}O(e)}},[e,R,a?.resetOnMount]),s.useEffect(()=>{if(!a?.resetOnMount&&R===e)try{localStorage.setItem(eg(e),JSON.stringify({contrastCount:H,composition:d,excludeNoImage:v,sameStructureOnly:x,phonemeView:l,gradeFilter:b,posFilter:B,wordTypeFilter:D}))}catch{}},[a?.resetOnMount,e,R,H,d,v,x,l,b,B,D]);const[V,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 y8({difficulty:p,excludeNoImage:v}).then(oe=>{G||(Q(oe),oe.cho.size+oe.jung.size+oe.jong.size>0&&W(!0))}).catch(()=>{G||Q({cho:new Set,jung:new Set,jong:new Set,syllable:new Set})}),()=>{G=!0}},[t.choseong,p,v,V]),s.useEffect(()=>{let G=!1;const oe=d,he=oe.cho?Ia(oe.cho):null,Te=oe.jung?Ia(oe.jung):null,Me=oe.jong===Sa,Pe=Me?null:oe.jong?Ia(oe.jong):null,Ie=oe.syllable!=null?yi(oe.syllable):null,pt=!!(he||Te||Pe||Me||Ie);return _8({difficulty:t.difficulty?p:null,contrastCount:t.difficulty?H:1,composition:t.choseong&&pt?{cho:he,jung:Te,jong:Pe,jongNone:Me,syllable:Ie}:null,excludeNoImage:v,sameStructureOnly:x,phonemeView:l==="pron"?"pron":"char",grade:b.length>0?b:null}).then(it=>{G||F(it)}).catch(()=>{G||F(null)}),()=>{G=!0}},[t.choseong,t.difficulty,p,H,d,l,v,x,V,b]),s.useEffect(()=>{P&&u(G=>{const oe={...G};let he=!1;return["cho","jung","jong"].forEach(Te=>{const Me=G[Te];!Me||Me===Sa||Ia(Me).some(Pe=>Y[Te].has(Pe))||(oe[Te]=null,he=!0)}),G.syllable!=null&&t.fixedSyllable==null&&(G.syllable>=Ea?[...Y.syllable].some(Te=>Te>=Ea)||(oe.syllable=null,he=!0):(!Y.syllable.has(G.syllable)||G.syllable<E)&&(oe.syllable=null,he=!0)),he?oe:G})},[Y,P,E,t.fixedSyllable]);const X=s.useMemo(()=>{const G=oe=>{const he=new Set;for(const Te of Jb[oe])Y[oe].has(Te)&&he.add(Te);return he};return{cho:G("cho"),jung:G("jung"),jong:G("jong")}},[Y]),ne=s.useMemo(()=>({exact:new Set(Zb.filter(G=>Y.syllable.has(G))),min:[...Y.syllable].some(G=>G>=Ea)}),[Y]),ae=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]),pe=s.useMemo(()=>({[ae.trainOnset]:"cho",[ae.trainVowel]:"jung",[ae.trainCoda]:"jong"}),[ae]),De=s.useCallback((G,oe)=>({title:oe,items:G}),[]),q=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]),le=s.useMemo(()=>{const G=[];if(t.choseong){const oe={value:Sa,displayLabel:ae.codaExclude},he=t.fixedNoCoda===!0,Te=(Me,Pe)=>{const Ie=he&&Me==="jong",pt={label:Pe,groupLabel:ae.phonemeGroup,allOption:!t.requireSyllable,allLabel:ae.noLimit,allOptionDisabled:Ie};if(l==="pron"){const Qe=bd[Me].map(dt=>dt.map(({v:Se,phonetic:He})=>{const Be=Ia(Se),Je=Yb(o,He),J=Ie||!Be.some(ue=>Y[Me].has(ue));return Be.length>1?{value:Se,labels:Be,tooltip:Je,disabled:J}:{value:Se,tooltip:Je,disabled:J}}));return Me==="jong"&&!t.requireCoda&&Qe.unshift([oe]),{...pt,groups:Qe}}const it=Jb[Me].map(Qe=>!Ie&&X[Me].has(Qe)?Qe:{value:Qe,disabled:!0});return{...pt,items:Me==="jong"&&!t.requireCoda?[oe,...it]:it}};G.push(Te("cho",ae.trainOnset)),G.push(Te("jung",ae.trainVowel)),G.push(Te("jong",ae.trainCoda))}if(G.push({...cd(o,j,{labelInfo:De([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:ae.gradeLabel}),t.partOfSpeech&&G.push(dd(j)),t.wordType&&G.push(ud(j)),t.choseong||t.fixedSyllable!=null){const oe=t.fixedSyllable;G.push({label:ae.syllableCount,items:[...Zb.map(he=>({value:hd(he),displayLabel:o("wordPairs.syllableN",{n:he,defaultValue:"{{n}}\uC74C\uC808"}),disabled:oe!=null?he!==oe:!ne.exact.has(he)||he<E})),{value:hd(Ea),displayLabel:o("wordPairs.syllableNPlus",{n:Ea,defaultValue:"{{n}}\uC74C\uC808 \uC774\uC0C1"}),disabled:oe!=null?Ea!==oe:!ne.min}],allOption:!0,allOptionDisabled:oe!=null})}return t.choseong?G.push({label:ae.exclude,displayLabel:ae.selectLabel,multiple:!0,items:[ae.excludeImage,ae.sameStructure],labelInfo:De(q)}):G.push({label:ae.exclude,displayLabel:ae.selectLabel,multiple:!0,items:[ae.excludeImage],labelInfo:De([q[0]])}),G},[t.choseong,t.partOfSpeech,t.wordType,t.requireSyllable,t.fixedSyllable,t.fixedNoCoda,t.requireCoda,E,X,Y,l,ne,ae,o,De,q,j]),Ce={...(t.choseong||t.fixedSyllable!=null)&&d.syllable!=null?{[ae.syllableCount]:hd(d.syllable)}:{},...t.choseong&&d.cho?{[ae.trainOnset]:d.cho}:{},...t.choseong&&d.jung?{[ae.trainVowel]:d.jung}:{},...t.choseong&&d.jong?{[ae.trainCoda]:d.jong}:{},[ae.exclude]:[...v?[ae.excludeImage]:[],...x?[ae.sameStructure]:[]],[ae.gradeLabel]:b.map(G=>o("wordSearch.filter.grade",{n:Number(G),defaultValue:"{{n}}\uB4F1\uAE09"})),...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},Ne=s.useCallback((G,oe)=>{if(oe===ae.exclude)G===ae.excludeImage?g(he=>!he):G===ae.sameStructure&&_(he=>!he);else if(oe===ae.syllableCount)u(he=>{if(!G||G===Tt)return{...he,syllable:null};const Te=L7(G);return{...he,syllable:he.syllable===Te?null:Te}});else if(oe===ae.gradeLabel){if(!G||G===Tt){w([]);return}const he=G.replace(/\D/g,"");w(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else if(oe===j.partOfSpeech){if(!G||G===Tt){S([]);return}const he=xd[U.indexOf(G)]??y([G])[0];if(!he)return;S(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else if(oe===j.wordType){if(!G||G===Tt){N([]);return}const he=Cd[T.indexOf(G)]??A([G])[0];if(!he)return;N(Te=>Te.includes(he)?Te.filter(Me=>Me!==he):[...Te,he])}else{const he=pe[oe];if(!he)return;u(Te=>t.requireSyllable?G&&G!==Tt?{...Te,[he]:G}:Te:!G||G===Tt||Te[he]===G?{...Te,[he]:null}:{...Te,[he]:G})}},[ae,pe,j,U,T,t.requireSyllable]),_e=s.useCallback(G=>!t.partOfSpeech&&!t.wordType?!0:k7(G,{...t.partOfSpeech?{[j.partOfSpeech]:L}:{},...t.wordType?{[j.wordType]:I}:{}},j),[t.partOfSpeech,t.wordType,L,I,j]),re=s.useCallback(G=>{G!==l&&(G!=="direct"&&l!=="direct"&&u(oe=>vd(oe,G,m.current,f.current)),c(G))},[l]),me=s.useCallback(()=>({composition:d,contrastCount:H,excludeNoImage:v,sameStructureOnly:x,phonemeView:l,gradeFilter:b,posFilter:B,wordTypeFilter:D}),[d,H,v,x,l,b,B,D]),ge=s.useCallback(G=>{u(G.composition),g(G.excludeNoImage),_(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)&&N(A(G.wordTypeFilter))},[]);return{difficulty:p,contrastCount:H,composition:d,choseong:d.cho,excludeNoImage:v,sameStructureOnly:x,gradeFilter:b,posFilter:L,wordTypeFilter:I,matchesWordAttributes:_e,poolVersion:V,filterSections:le,filterSelected:Ce,handleFilterSelect:Ne,phonemeView:l,setPhonemeView:re,phonemeGroupLabel:ae.phonemeGroup,wordCount:$,getFilterSnapshot:me,restoreFilterSnapshot:ge}}function P7(e){const t=c=>c?Ia(c):null,a=t(e.cho),o=t(e.jung),n=e.jong===Sa,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 ng(e,t,a,o,n,i,l=!0,c="char",d=[]){const[u,h]=s.useState({}),[p,m]=s.useState(!1),{cho:f=null,jung:v=null,jong:g=null,syllable:x=null}=o??{},_=d.length>0?d.slice().sort().join(","):"",b=e.map(C=>C.key).join("|");s.useEffect(()=>{i>0&&C8(n).catch(()=>{})},[i,n]),s.useEffect(()=>{let C=!1;return m(!0),(async()=>{const k=P7({cho:f,jung:v,jong:g,syllable:x}),y=`${f??""}_${v??""}_${g??""}_${x??""}_${_}`,A={};await Promise.all(e.map(async B=>{const S=rr[B.key];try{const D=await Xm(B.key,{difficulty:S.difficulty?t:null,contrastCount:S.difficulty?a:1,composition:S.choseong?k:null,count:5,excludeNoImage:n,sameStructureOnly:l,phonemeView:c,grade:d.length>0?d:null});D&&D.length>0?A[B.key]={id:`wt-${B.key}-${t}-${y}-${Date.now()}`,name:B.label,training_type:B.key,category_main_code:"WORD",iconColor:B.color,subTitle:B.subTitle,items:D,itemCount:D.length}:A[B.key]={id:`wt-${B.key}-empty`,name:B.label,training_type:B.key,category_main_code:"WORD",iconColor:B.color,subTitle:B.subTitle,items:[],itemCount:0,__empty:!0}}catch{A[B.key]=null}})),C||(h(A),m(!1))})(),()=>{C=!0}},[t,a,f,v,g,x,n,l,c,i,_,b]);const w=JSON.stringify(e.map(C=>[C.key,C.label,C.color,C.subTitle]));return{perTypeData:s.useMemo(()=>{const C={};for(const[k,y]of Object.entries(u)){const A=e.find(B=>B.key===k);C[k]=y&&A?{...y,name:A.label,iconColor:A.color,subTitle:A.subTitle}:y}return C},[u,w]),generating:p}}function ig(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 z7(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 I7=ka,O7=e=>{const[t,a,o]=e.split("-").map(Number);return Math.round(Date.UTC(t,(a||1)-1,o||1)/864e5)},F7=(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=z7(ig(`${a}|${o}|${n}`)),l=O7(o)&1,c=e.filter((u,h)=>(ig(`${a}|${n}|${F7(u,h)}`)>>>7&1)===l),d=c.length>=t&&e.length-c.length>=t;return I7(d?c:e,t,i)}function _d(e,t,a){const o=n=>Math.max(0,e[n]||0);return{LISTEN_IN_NOISE:ki(po,o("LISTEN_IN_NOISE"),t,a,"LISTEN_IN_NOISE"),SHORT_STORY:ki(ho,o("SHORT_STORY"),t,a,"SHORT_STORY"),LONG_STORY:ki(mo,o("LONG_STORY"),t,a,"LONG_STORY"),ORDERING_SENTENCE:ki(bo,o("ORDERING_SENTENCE"),t,a,"ORDERING_SENTENCE")}}function yd(e){return e?!!(e.LISTEN_IN_NOISE?.length||e.SHORT_STORY?.length||e.LONG_STORY?.length||e.ORDERING_SENTENCE?.length):!1}const H7={LISTEN_IN_NOISE:3,SHORT_STORY:2,LONG_STORY:1,ORDERING_SENTENCE:2};function wd(e=!1,t=H7,a){const o=Pa(Date.now()),n=Pa(Date.now()-864e5),i=a??"";return po.length>0||ho.length>0||mo.length>0||bo.length>0?{today:_d(t,i,o),yesterday:_d(t,i,n)}:{today:_d(t,i,o),yesterday:null}}function sg(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,d]=s.useState(0),[u,h]=s.useState(!1),[p,m]=s.useState(()=>va());s.useEffect(()=>{const v=()=>{const x=Date.now(),_=new Date(x+9*36e5),b=Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),_.getUTCDate()+1)-9*36e5;return Math.max(1e3,b-x+1e3)};let g=setTimeout(function x(){m(va()),g=setTimeout(x,v())},v());return()=>clearTimeout(g)},[]),s.useEffect(()=>{let v=!1,g=!1,x=!1,_,b=0,w=null,C=0;const k=40,y=()=>{_!==void 0&&(clearInterval(_),_=void 0)};let A=!1;try{const z=new URLSearchParams(window.location.search),j=z.get("forceRefresh")||z.get("force");A=j==="1"||j==="true"}catch{}const B=z=>{g||(x=!0,t.current=z.today,a.current=z.yesterday,n(!0),h(!0),d(j=>j+1),v=!0,y())},S=async()=>{if(v)return;if(!A){const j=wd(!1,void 0,e);if(yd(j.today)){B(j);return}}if(w){++b>=k&&D();return}if(b>=C){C=b+8,w=sc(3e3).catch(()=>!1);try{await w}finally{w=null}if(v)return}const z=wd(A,void 0,e);if(yd(z.today)){B(z);return}++b>=k&&D()};function D(){n(!0),h(!1),v=!0,y()}const N=()=>{if(g||x)return;const z=wd(A,void 0,e);yd(z.today)&&B(z)};try{window.addEventListener("speechear.data.updated",N)}catch{}return S(),_=setInterval(S,250),()=>{v=!0,g=!0,y();try{window.removeEventListener("speechear.data.updated",N)}catch{}}},[e,p]);const f=s.useCallback(v=>{const g=i?a.current:t.current,x=i?t.current:a.current;return g?.[v]?.length?g[v]:x?.[v]?.length?x[v]:void 0},[i,c]);return{loaded:o,hasData:u,showYesterday:i,setShowYesterday:l,getTrainingPerType:f}}function kd(e,t=!0){const a=ln(e);s.useEffect(()=>{if(t)return Po(()=>{a.current?.()})},[t,a])}const Bi=(e,t)=>`${e}:${t??1}`,Ai=new Map,lg=new Set,cg=new Map,V7=6e4;function dg(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)&&!lg.has(h)&&!(l-(cg.get(h)??-1/0)<V7));if(c.length===0)return;let d=!1;const u=Array.from(new Set(c.map(h=>h.slice(0,h.lastIndexOf(":")))));return t(u).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)||lg.add(p);else{const p=Date.now();for(const m of c)cg.set(m,p)}d||h.length===0||o(p=>p+1)}).catch(()=>{}),()=>{d=!0}},[n,t]),s.useMemo(()=>{const i=n?n.split("|"):[],l=new Map;for(const c of i){const d=Ai.get(c);d!=null&&l.set(c,d)}return l},[n,a])}function Oo(){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 Bd(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((d,u)=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{a(d),n(u)},e)},[e]),c=s.useCallback(()=>{i.current&&clearTimeout(i.current),a(null),n(null)},[]);return{payload:t,anchorRect:o,openAfterDelay:l,close:c}}function ug(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 Ad(e,t){const[a,o]=s.useState(e);a!==e&&(o(e),t(1))}function pg(e={}){const{defaultPageSize:t="25",resetOn:a}=e,[o,n]=s.useState(""),[i,l]=s.useState(t),[c,d]=s.useState(1),u=Number(t)||25,h=Number(i)||u;return Ad([o,i,...a??[]].map(String).join("|"),d),{query:o,setQuery:n,pageSize:i,setPageSize:l,perPage:h,page:c,setPage:d}}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(f=>f+1)},[]),d=s.useCallback(p=>c(p,"warning"),[c]),u=s.useCallback(p=>c(p,"normal"),[c]),h=s.useCallback(()=>a(""),[]);return{toastMessage:t,toastType:o,toastKey:i,showToast:c,showWarning:d,showNormal:u,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,W7=mn.pink,G7=[{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:W7,subTitle:"\uC138 \uB2E8\uC5B4\uB97C \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694."}]}];function hg(){const{t:e}=ye.useTranslation();return s.useMemo(()=>{const t=Object.fromEntries(zm(e).map(o=>[o.key,o.label])),a={...t};return G7.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 Fo({computeStyle:e,onScroll:t="close",onResize:a="close",ignoreOutsideClickSelector:o}){const[n,i]=s.useState(!1),[l,c]=s.useState({position:"fixed"}),d=s.useRef(null),u=s.useRef(null),h=s.useCallback(()=>{d.current&&c(e(d.current.getBoundingClientRect(),d.current))},[e]);s.useLayoutEffect(()=>{n&&h()},[n,h]),s.useEffect(()=>{if(!n)return;let f=u.current?.offsetHeight??0;f>0&&h();let v=0,g=null;typeof ResizeObserver<"u"&&u.current&&(g=new ResizeObserver(()=>{const k=u.current?.offsetHeight??0;if(k!==f){if(f=k,++v>4){g?.disconnect(),g=null;return}h()}}),g.observe(u.current));const x=k=>{const y=k.target;o&&y.closest?.(o)||d.current?.contains(y)||u.current?.contains(y)||i(!1)};document.addEventListener("mousedown",x),document.addEventListener("pointerdown",x);const _=k=>{u.current?.contains(k.target)||(t==="reposition"?h():t==="close"&&i(!1))};t!=="ignore"&&window.addEventListener("scroll",_,!0);const b=()=>{a==="reposition"?h():a==="close"&&i(!1)};let w=null;const C=()=>{b(),w&&clearTimeout(w),w=setTimeout(()=>{w=null,a==="reposition"&&h()},250)};return a!=="ignore"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",C)),()=>{g?.disconnect(),document.removeEventListener("mousedown",x),document.removeEventListener("pointerdown",x),t!=="ignore"&&window.removeEventListener("scroll",_,!0),a!=="ignore"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",C)),w&&clearTimeout(w)}},[n,h,t,a,o]),s.useEffect(()=>{if(n)return Po(()=>i(!1))},[n]);const p=s.useCallback(()=>i(f=>!f),[]),m=s.useCallback(()=>i(!1),[]);return{open:n,setOpen:i,toggle:p,close:m,style:l,triggerRef:d,menuRef:u}}function Sd(e,{mode:t="playback",autoStart:a=!1,onPlaySpeaker:o,onComplete:n,playMs:i=1100,feedbackMs:l=1500}={}){const[c,d]=s.useState([]),[u,h]=s.useState(0),[p,m]=s.useState("idle"),[f,v]=s.useState(null),[g,x]=s.useState([]),[_,b]=s.useState(null),[w,C]=s.useState(0),k=s.useRef(0),y=s.useCallback($=>{k.current=typeof $=="function"?$(k.current):$,C(k.current)},[]),A=s.useRef(o),B=s.useRef(n);s.useEffect(()=>{A.current=o,B.current=n},[o,n]);const S=s.useRef([]),D=()=>{S.current.forEach(clearTimeout),S.current=[]},N=($,F)=>{S.current.push(setTimeout(F,$))};s.useEffect(()=>()=>D(),[]);const z=c[u]?.id??null,j=s.useRef(null),U=s.useCallback(()=>{D(),m("playing"),x([]),b(null),y(0);let $=0;e.forEach((F,E)=>{N($,()=>{h(E),v(F.id),A.current?.(F)}),N($+1e3,()=>{v(null),x(H=>[...H,F.id])}),$+=1300}),N($,()=>{m("done"),B.current?.({score:0,total:e.length})})},[e,y]),T=s.useCallback(($,F)=>{if(F>=$.length){m("done"),B.current?.({score:k.current,total:$.length});return}j.current=null,h(F),b(null),m("playing"),v($[F].id),A.current?.($[F]),N(i,()=>{v(null),m("waiting")})},[i]),L=s.useCallback(()=>{D();const $=nt(e);d($),y(0),x([]),T($,0)},[e,T,y]),I=s.useCallback(()=>{t==="playback"?(d(e),U()):L()},[t,e,U,L]),Y=s.useCallback(()=>{D(),m("idle"),v(null),x([]),b(null),h(0),y(0),d([])},[y]),Q=e.map($=>$.id).join("|");s.useEffect(()=>(a?I():Y(),()=>D()),[t,Q,a]);const P=s.useCallback($=>{p!=="waiting"||t==="playback"||j.current===u||(j.current=u,b($),$===c[u]?.id&&y(F=>F+1),t==="exam"?(m("playing"),N(400,()=>T(c,u+1))):(m("feedback"),N(l,()=>T(c,u+1))))},[p,t,c,u,T,l,y]),W=t==="playback"?e.length:c.length;return{bind:{activeSpeakerId:f,playedIds:g,selectedId:_,answerId:z,showFeedback:p==="feedback",clickable:p==="waiting",onSelectSpeaker:P},index:u,total:W,score:w,phase:p,done:p==="done",start:I,reset:Y}}var U7=Object.freeze({__proto__:null,CACHE_GROUPS:td,CORE_VERSION:jn,DocumentTitleSuppressContext:Qc,EMPTY_COMPOSITION:wi,MediaQueryOverrideContext:bi,NO_CODA:Sa,SYLLABLE_MIN:Ea,VAP_PAGE_SIZE_OPTIONS:un,buildGradeSection:cd,buildPartOfSpeechSection:dd,buildPositionSection:Gb,buildSelectSection:Wb,buildSyllableSection:Vb,buildWordTypeSection:ud,charToPronValue:gd,convertComposition:vd,fmtBytes:Nb,lsBytes:ad,meaningKey:Bi,normalizeWordAttributeFilter:Hb,pronToCharValue:fd,syllableToFilter:yi,toWordAttributeFilterCodes:Ci,today:gr,toggleAttributeFilter:Ub,useAnchoredMenu:Fo,useCacheManagement:Tb,useDailyTrainingSelection:sg,useDelayedHoverAnchor:Bd,useDeviceManagement:Ob,useDocumentTitle:ed,useEscToClose:kd,useFontScale:fi,useHoverAnchor:Oo,useListControls:pg,useMediaQuery:la,usePageResetOnChange:Ad,usePagedList:ug,usePasswordChange:Db,useRelativeDay:Eb,useSoundCompassExam:Sd,useTablePaging:rd,useTableSort:nd,useToastState:Si,useTrainingTypeLabels:hg,useVisitAllPanel:Pb,useVisitHistory:Mb,useVisitSchedule:Rb,useWindowEvent:cn,useWordAttributeFilterKeys:ld,useWordDataStats:jb,useWordMeanings:dg,useWordTrainingDataGeneration:ng,useWordTrainingFilter:rg,valueToJamos:Ia,wordAttributeFilterFromCodes:_i}),q7=".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}";ie(q7);function mg({title:e,description:t,actionLabel:a,onAction:o,bg:n,color:i,size:l="medium",actionVariant:c,titleColor:d,descriptionColor:u,className:h=""}){const p=n??i??"main",m=s.useRef(null),[f,v]=s.useState("main"),g=la("(max-width: 767px)"),x=s.useRef({title:!1,description:!1});s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const C=gi(w),k=(y,A,B)=>{if(B!==void 0)w.style.setProperty(A,B),x.current[y]=!0;else if(x.current[y]){const S=C?.[y];S?w.style.setProperty(A,S):w.style.removeProperty(A),x.current[y]=!1}};k("title","--promo-banner-bg-title",d),k("description","--promo-banner-bg-description",u)},[d,u,p]),s.useLayoutEffect(()=>{const w=m.current;if(!w)return;const C=gi(w);v(C?.actionVariant??"main")},[p]);const _=Ee("promo-banner",`promo-banner--${l}`,h),b=Xc[p];return r.jsxs("div",{ref:m,className:_,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(fe,{htmlType:"button",size:40,variant:c??f,shape:"pill",useBorder:!0,onClick:o,ariaLabel:a,...g?{type:"dot",icon:"arrow-right"}:{rightIcon:"arrow-right",label:a,minWidth:140}})]})}var Y7='.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)}';ie(Y7);function bg({children:e,interval:t=5e3,dotTone:a,className:o="","aria-label":n}){const{t:i}=ye.useTranslation(),l=n??i("topBanner.ariaLabel","\uBC30\uB108"),c=s.Children.toArray(e),d=c.length,[u,h]=s.useState(0),[p,m]=s.useState(!1),[f,v]=s.useState(!1),[g,x]=s.useState(!1),_=s.useRef(null),b=s.useRef(null),w=s.useRef(null),C=xc(),k=p||f||g,y=d>0?Math.min(u,d-1):0;s.useEffect(()=>{if(d<2||t<=0||k||C)return;const B=window.setInterval(()=>h(S=>(Math.min(S,d-1)+1)%d),t);return()=>window.clearInterval(B)},[d,t,k,C]);const A=B=>{b.current!=null&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,x(!1)},B)};return s.useEffect(()=>()=>{b.current!=null&&window.clearTimeout(b.current)},[]),s.useEffect(()=>{if(!g)return;const B=S=>{S.pointerType==="touch"&&(w.current&&w.current.contains(S.target)||(b.current!=null&&(window.clearTimeout(b.current),b.current=null),x(!1)))};return document.addEventListener("pointerdown",B,!0),()=>document.removeEventListener("pointerdown",B,!0)},[g]),d===0?null:r.jsxs("section",{ref:w,className:Ee("top-banner",o),"aria-label":l,"aria-roledescription":"carousel",onPointerEnter:B=>{_.current=B.pointerType},onPointerDown:B=>{_.current=B.pointerType,B.pointerType==="touch"&&(b.current!=null&&(window.clearTimeout(b.current),b.current=null),x(!0))},onPointerUp:B=>{B.pointerType==="touch"&&A(5e3)},onPointerCancel:B=>{B.pointerType==="touch"&&A(5e3)},onMouseEnter:()=>{_.current!=="touch"&&m(!0)},onMouseLeave:()=>m(!1),onFocus:B=>{let S=!0;try{S=B.target.matches(":focus-visible")}catch{S=!0}v(S)},onBlur:B=>{B.currentTarget.contains(B.relatedTarget)||v(!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((B,S)=>r.jsx("div",{className:"top-banner__slide","aria-hidden":S!==y,...S!==y?{inert:!0}:{},children:B},S))})}),d>1&&r.jsx("div",{className:`top-banner__dots${(a?.[y]??"light")==="dark"?" top-banner__dots--dark":""}`,children:c.map((B,S)=>r.jsx("button",{type:"button",className:`top-banner__dot${S===y?" top-banner__dot--active":""}`,"aria-label":i("topBanner.dotAriaLabel",{count:d,index:S+1,defaultValue:`${d}\uAC1C \uC911 ${S+1}\uBC88\uC9F8 \uBC30\uB108`}),"aria-current":S===y,onClick:()=>h(S)},S))})]})}var K7=".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)}";ie(K7);function Z7({title:e,body:t,open:a=!1,onToggle:o,avatar:n,titleClassName:i="body-2",bodyClassName:l="body-2",className:c=""}){const{t:d}=ye.useTranslation();return r.jsxs("div",{className:`accordion-item ${a?"accordion-item--open":""} ${c}`.trim(),role:"listitem",children:[r.jsxs("div",{className:"accordion-item__header",role:"button",tabIndex:0,"aria-expanded":a,"data-accordion-header":!0,onClick:o,onKeyDown:u=>{if(u.key==="Enter"||u.key===" ")u.preventDefault(),o?.();else if(u.key==="ArrowDown"||u.key==="ArrowUp"){u.preventDefault();const h=u.currentTarget.closest('[role="list"]');if(!h)return;const p=Array.from(h.querySelectorAll("[data-accordion-header]")),m=p.indexOf(u.currentTarget);(u.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(at,{icon:a?"chevron-up":"chevron-down",label:a?d("accordion.collapse","\uC811\uAE30"):d("accordion.expand","\uD3BC\uCE58\uAE30"),className:"accordion-item__chevron-icon",imgClassName:"accordion-item__chevron-image"})})]}),a&&r.jsx("div",{className:`accordion-item__body ${l}`,children:typeof t=="string"?r.jsx("p",{children:t}):t})]})}function gg({items:e=[],defaultOpenIndex:t=0,size:a=72,className:o="",bodyClassName:n}){const[i,l]=s.useState({index:t}),c=(d,u)=>i.id!=null&&d.id!=null?d.id===i.id:i.id==null&&u===i.index;return r.jsx("div",{className:`accordion-group accordion-group--s${a} ${o}`.trim(),role:"list",children:e.map((d,u)=>r.jsx(Z7,{title:d.title,body:d.body,avatar:d.avatar,open:c(d,u),onToggle:()=>l(c(d,u)?{index:-1}:{index:u,id:d.id}),bodyClassName:n},d.id??u))})}var X7=".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)}}";ie(X7);var J7=".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}";ie(J7);function Q7(){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 ek(){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 tk(){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}=ye.useTranslation(),{type:a="bar",size:o,className:n="","aria-label":i,"aria-hidden":l}=e;if(a==="dot"){const{icon:k,number:y,position:A="top-right",onClick:B,animate:S=!1}=e,D=k??"check",N=y!==void 0?"number":D,z=typeof o=="number"?o:32,j=Ee("circle-badge",`circle-badge--${N}`,`circle-badge--${A}`,`circle-badge--${z}`,S?"circle-badge--animate":"",B?"circle-badge--clickable":"",n),U=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")}[D];return r.jsxs("span",{className:j,onClick:B,onKeyDown:B?T=>{T.key!=="Enter"&&T.key!==" "||(T.preventDefault(),T.currentTarget.click())}:void 0,"aria-label":l?void 0:i??U,"aria-hidden":l||void 0,role:B?"button":l?void 0:"img",tabIndex:B?0:void 0,children:[y!==void 0&&y,y===void 0&&D==="check"&&r.jsx(Q7,{}),y===void 0&&D==="remove"&&r.jsx(ek,{}),y===void 0&&D==="minus"&&r.jsx(tk,{})]})}const{label:c,children:d,variant:u="default",fill:h="filled",minWidth:p,iconLeft:m,iconRight:f,color:v}=e,g=typeof o=="number"?"medium":o??"medium",x={small:"caption-2b",medium:"body-3b",large:"body-2b"}[g]??"body-2b",_={small:12,medium:14,large:16}[g]??14,b=Ee("badge",`badge--${u}`,`badge--${g}`,h!=="filled"?`badge--${h}`:"",x,n),w=v?.startsWith("--")?`var(${v})`:v,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:C,"aria-label":l?void 0:i,role:i&&!l?"img":void 0,"aria-hidden":l||void 0,children:[m&&r.jsx(at,{icon:m,size:_,className:"badge__icon"}),c??d,f&&r.jsx(at,{icon:f,size:_,className:"badge__icon"})]})}var ak=".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}}";ie(ak);function xr({columns:e=[],onClose:t,className:a="",size:o="medium"}){const{t:n}=ye.useTranslation(),i=o==="small"?40:48,[l,c]=s.useState([]),d=s.useMemo(()=>{const x=[{title:null,columns:e}];let _=e;for(const b of l){const w=_?.[b.ci]?.items?.[b.ii];if(!w||!Array.isArray(w.children)||!w.children.length)break;_=[{title:null,items:w.children}],x.push({title:w.label||null,columns:_})}return x},[e,l]),u=d[d.length-1],h=d.length-1,p=s.useCallback(()=>c(x=>x.slice(0,Math.max(0,Math.min(x.length,h)-1))),[h]),m=s.useRef(null),f=s.useRef(null),v=d.length;s.useEffect(()=>{f.current||(f.current=document.activeElement);let x=0,_=0;const b=()=>{const w=m.current?.querySelector("button:not([disabled])");if(w&&w.offsetParent){w.focus({preventScroll:!0});return}_++<20&&(x=requestAnimationFrame(b))};return x=requestAnimationFrame(b),()=>cancelAnimationFrame(x)},[v]),s.useEffect(()=>()=>{f.current?.focus?.({preventScroll:!0})},[]);const g=s.useCallback((x,_,b)=>{if(x){if(Array.isArray(x.children)&&x.children.length){c(w=>[...w.slice(0,h),{ci:_,ii:b}]);return}try{typeof x.onClick=="function"&&x.onClick()}catch{}try{x&&x.closeOnSelect&&typeof t=="function"&&t()}catch{}}},[t,h]);return r.jsxs("div",{className:`tooltip-menu tooltip-menu--${o} ${a}`,children:[(d.length>1||u.title)&&r.jsxs("div",{className:"tooltip-menu__header",children:[d.length>1?r.jsx(fe,{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:u.title})]}),r.jsx("div",{className:"tooltip-menu__columns",ref:m,children:u.columns&&u.columns.map((x,_)=>r.jsxs("div",{className:"tooltip-menu__column",children:[x.title?r.jsx("div",{className:"tooltip-menu__column-title body-3",children:x.title}):null,r.jsx("div",{className:"tooltip-menu__items",children:(x.items||[]).map((b,w)=>r.jsxs(s.Fragment,{children:[b.separatorBefore&&w>0&&r.jsx("div",{className:"tooltip-menu__separator",role:"separator"}),r.jsx(fe,{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,_,w),selected:b.selected,disabled:b.disabled,showTooltipInfo:b.tooltip||!1,useBorder:!1,align:"left"})]},w))})]},_))})]})}const fg=".content-area";function Ed(e,t="Nav"){try{const a=typeof e=="string"?document.querySelector(e):e?.current??document.querySelector(fg);if(a){a.scrollTop=0;return}const o=document.scrollingElement??document.documentElement;o&&o.scrollHeight<=o.clientHeight&&na("nav-scroll-container",`[${t}] \uBCF8\uBB38\uC744 \uB9E8 \uC704\uB85C \uB418\uB3CC\uB9B4 \uD1B5\uC744 \uBABB \uCC3E\uC558\uB2E4(\uAE30\uBCF8 ${fg}) \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 Dd=52,Ni=10,vg=e=>e&&e>0?e:0;function Nd({items:e=[],activeKey:t,onChange:a,appMode:o,onAppModeChange:n,moreItems:i=[],scrollContainer:l}){const{t:c}=ye.useTranslation(),d=o==="manager"?"malgwi":"manager",u=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,f]=s.useState(0),v=e.length;s.useEffect(()=>{const $=p.current;if(!$)return;const F=()=>{const R=typeof getComputedStyle=="function"?getComputedStyle($):null,O=$.clientWidth-(parseFloat(R?.paddingLeft??"")||0)-(parseFloat(R?.paddingRight??"")||0),V=$.querySelector(".bottom-nav__left"),Z=V?.nextElementSibling,ee=(V?.offsetWidth??0)+(V&&Z?.classList.contains("bottom-nav__divider")?Z.offsetWidth:0);f(Math.max(0,O-ee))};if(F(),typeof ResizeObserver>"u")return;const E=new ResizeObserver(F);E.observe($);const H=$.querySelector(".bottom-nav__left");return H&&E.observe(H),()=>E.disconnect()},[n]);const g=Dd+1,x=$=>Math.max(0,Math.floor(($+Ni)/(Dd+Ni))),_=v*(Dd+Ni)-Ni<=m,b=m<=0||i.length===0&&_?v:Math.min(v,x(m-g)),w=m>0&&b<v,C=w?b:v,k=e.slice(0,C),y=e.slice(C),A=w||i.length>0,B=s.useCallback(($,F)=>({position:"fixed",bottom:window.innerHeight-$.top+8,right:window.innerWidth-$.right,zIndex:fn(F)}),[]),S=s.useId(),{open:D,toggle:N,close:z,style:j,triggerRef:U,menuRef:T}=Fo({computeStyle:B,onScroll:"ignore",onResize:"reposition"}),L=s.useCallback(($,F)=>F>0?c("nav.badgeLabel",{label:$,count:F,defaultValue:"{{label}}, {{count}}\uAC1C"}):$,[c]),I=s.useCallback(($,F)=>F>0?c("nav.badgeInsideLabel",{label:$,count:F,defaultValue:"{{label}}, \uC548\uC5D0 \uC54C\uB9BC {{count}}\uAC1C"}):$,[c]),Y=s.useCallback(()=>n?.(d),[n,d]),Q=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),Ed(l,"BottomNav")),z())}})),...i.map($=>({label:$.label,icon:$.icon,badgeCount:$.badgeCount,selected:$.selected??(!!$.key&&$.key===t),closeOnSelect:!0,onClick:()=>{$.onClick?.(),z()}}))]}],[y,i,t,a,z]),W=[...y,...i].reduce(($,F)=>$+vg(F.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(fe,{htmlType:"button",size:52,type:"dot",icon:u,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:k.map(($,F)=>{const E=vg($.badgeCount);return r.jsxs("span",{className:"bottom-nav__slot",children:[r.jsx(fe,{htmlType:"button",size:52,type:"dot",icon:$.icon,ariaLabel:L($.label,E),selected:!!$.key&&$.key===t,disabled:$.state==="disabled",className:"bottom-nav-item",onClick:()=>{$.key&&(a?.($.key),Ed(l,"BottomNav"))}}),E>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(E,99),size:24})})]},$.key??`__slot-${F}`)})}),A&&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:U,className:"bottom-nav__slot",children:[r.jsx(fe,{htmlType:"button",size:52,type:"dot",icon:Q?.icon??"ellipsis",ariaLabel:I(Q?.label??c("nav.more","\uB354\uBCF4\uAE30"),W),selected:!!Q,className:"bottom-nav-item",onClick:N,"aria-expanded":D,"aria-controls":D?S:void 0}),W>0&&r.jsx("span",{"aria-hidden":"true",children:r.jsx(Et,{type:"dot",position:"top-right",number:Math.min(W,99),size:24})}),D&&pa.createPortal(r.jsx("div",{id:S,role:"group","aria-label":c("nav.moreMenu","\uB354\uBCF4\uAE30 \uBA54\uB274"),className:"tooltip-content",style:j,ref:T,children:r.jsx(xr,{columns:P,onClose:z})}),document.body)]})})]})]})}var ok='.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}';ie(ok);function xg(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 Cg(e,t,a){return a&&a>0?e("nav.badgeLabel",{label:t,count:a,defaultValue:"{{label}}, {{count}}\uAC1C"}):t}function rk(e){const{t}=ye.useTranslation(),{activeKey:a,unreadCount:o,onDebug:n,onNotification:i,onSetting:l,onHelp:c,onFeedback:d,onAccount:u}=e||{},h="default";return n||i||l||c||d||u?r.jsxs("div",{className:"side-nav__footer",children:[n&&r.jsx(fe,{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(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bell",ariaLabel:Cg(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(fe,{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(fe,{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"}),d&&r.jsx(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"bug",ariaLabel:t("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:d,selected:a==="feedback"}),u&&r.jsx(fe,{htmlType:"button",size:48,showTooltipInfo:!0,type:"dot",shape:"pill",variant:h,icon:"user-round",ariaLabel:t("nav.account","\uACC4\uC815"),onClick:u,selected:a==="account"})]}):null}function _g(e){const{t}=ye.useTranslation(),{item:a,itemKey:o,label:n,icon:i,active:l,onClick:c,style:d,state:u,labelStyle:h}=e||{},p=a?.key??o??"",m=a?.label??n??"",f=a?.icon??i??"",v=a?.badge??0,g=r.jsx("span",{className:"side-nav__icon-wrap",children:r.jsx(at,{icon:f,label:typeof m=="string"?m:void 0,className:"side-nav__icon",maskClassName:"side-nav__icon-image",imgClassName:void 0,svgClassName:void 0})}),x=u==="disabled",_=`side-nav__item ${l?"active":""} ${u||""} ${x?"disabled":""} ${a?.child?"side-nav__item--child":""}`,b=s.useCallback(w=>{if(x)return;const C=w.detail>0;if(C)try{w.currentTarget.blur()}catch{}c?.(p,w.currentTarget,C)},[x,p,c]);return r.jsxs("button",{type:"button",className:_,onClick:b,"aria-label":typeof m=="string"?Cg(t,m,v):void 0,"aria-current":l?"page":void 0,style:d,"aria-disabled":x,children:[g,r.jsx("span",{className:"side-nav__label button-1 f",style:h,children:m}),v>0&&r.jsx(Et,{type:"dot",position:"inline",number:Math.min(v,99),size:24,"aria-hidden":!0}),u==="loading"&&r.jsx("span",{className:"side-nav__spinner",role:"img","aria-label":t("loader.loading","\uBD88\uB7EC\uC624\uB294 \uC911\u2026")})]})}function Td(e){const{t}=ye.useTranslation(),{items:a=[],activeKey:o,onChange:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f,scrollContainer:v}=e||{},g=m==="manager",x=s.useCallback(()=>f?.(g?"malgwi":"manager"),[f,g]),_=s.useRef(null),[b,w]=s.useState(null);s.useEffect(()=>{const B=_.current;if(!B)return;const S=()=>{const{scrollHeight:N,clientHeight:z,scrollTop:j}=B;if(N<=z+1){w(null);return}const U=Math.max(24,z/N*z),T=z-U,L=N-z;w({top:Math.round(j/L*T),height:Math.round(U)})};S(),B.addEventListener("scroll",S,{passive:!0});const D=typeof ResizeObserver<"u"?new ResizeObserver(S):null;D?.observe(B);for(const N of Array.from(B.children))D?.observe(N);return()=>{B.removeEventListener("scroll",S),D?.disconnect()}},[a]);const C=s.useRef(null),k=s.useCallback(B=>{const S=_.current;S&&(B.preventDefault(),C.current={y:B.clientY,top:S.scrollTop},B.currentTarget.setPointerCapture(B.pointerId))},[]),y=s.useCallback(B=>{const S=_.current,D=C.current;!S||!D||(S.scrollTop=D.top+(B.clientY-D.y)*(S.scrollHeight/S.clientHeight))},[]),A=s.useCallback(B=>{C.current=null,B.currentTarget.hasPointerCapture(B.pointerId)&&B.currentTarget.releasePointerCapture(B.pointerId)},[]);return r.jsxs("nav",{ref:_,"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:k,onPointerMove:y,onPointerUp:A,onPointerCancel:A})}),r.jsxs("div",{className:"side-nav__menu-list",children:[(a||[]).filter(B=>!B.section&&(B.key||B.label)).map((B,S)=>r.jsxs(s.Fragment,{children:[B.divider&&r.jsx("div",{className:"side-nav__separator"}),r.jsx(_g,{item:B,active:!!B.key&&B.key===o,state:B.disabled?"disabled":void 0,onClick:(D,N,z)=>{if(B.disabled)return;if(B.href){if(xg(B.href)&&window.open(B.href,"_blank","noopener,noreferrer"),z)try{N?.blur()}catch{}return}if(n?.(B.key),Ed(v,"SideNav"),!z)return;try{N?.blur()}catch{}if(typeof window<"u"&&window.matchMedia){if(!window.matchMedia("(min-width: 768px) and (max-width: 1023px)").matches)return}else return;const j=document.querySelector(".header");if(j){const U=typeof j.matches=="function";if(!(window.matchMedia("(hover: hover)").matches&&U&&j.matches(":hover"))){j.classList.add("header--force-collapsed");const T=()=>{j.classList.remove("header--force-collapsed"),j.removeEventListener("mouseenter",T)};j.addEventListener("mouseenter",T)}}}})]},B.key??`side-nav__item-${S}`)),f&&r.jsx("div",{className:"side-nav__separator side-nav__separator--short"}),f&&r.jsx(_g,{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:x})]}),r.jsx(rk,{activeKey:o,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,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',jd='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',nk='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',ik='.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}}';ie(ik);function Ld({appMode:e}){const{t}=ye.useTranslation(),a=e==="manager",o=a?jd:Ti,n=nk;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 Md({activeKey:e,onChange:t,items:a,malgwiItems:o,managerItems:n,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f,scrollContainer:v}){const{t:g}=ye.useTranslation(),x=la("(max-width: 767px)"),_=s.useMemo(()=>(a??[]).filter(j=>!j.section&&(j.key||j.label)).map(j=>({key:j.key,label:typeof j.label=="string"?j.label:void 0,icon:j.icon,state:j.disabled?"disabled":void 0,badgeCount:j.badge})),[a]),b=s.useCallback(j=>{const U=a?.find(T=>T.key===j);if(!U?.disabled){if(U?.href){xg(U.href)&&window.open(U.href,"_blank","noopener,noreferrer");return}t?.(j)}},[a,t]),w=s.useMemo(()=>{const j=[];return l&&j.push({key:"debug",icon:"terminal",label:g("nav.debug","\uB514\uBC84\uADF8"),onClick:l}),c&&j.push({key:"notifications",icon:"bell",label:g("nav.notifications","\uC54C\uB9BC"),badgeCount:i,onClick:c}),u&&j.push({key:"settings",icon:"settings",label:g("nav.settings","\uC124\uC815"),onClick:u}),h&&j.push({key:"help",icon:"message-circle-question-mark",label:g("nav.help","\uB3C4\uC6C0\uB9D0"),onClick:h}),p&&j.push({key:"feedback",icon:"bug",label:g("nav.feedback","\uBC84\uADF8\uC2E0\uACE0"),onClick:p}),d&&j.push({key:"account",icon:"user-round",label:g("nav.account","\uACC4\uC815"),onClick:d}),j},[g,l,c,u,h,p,d,i]),C=s.useCallback((j,U)=>({position:"fixed",top:j.bottom+8,right:Math.max(8,window.innerWidth-j.right),zIndex:fn(U)}),[]),k=s.useId(),{open:y,toggle:A,close:B,style:S,triggerRef:D,menuRef:N}=Fo({computeStyle:C,onScroll:"ignore",onResize:"reposition"}),z=s.useMemo(()=>[{items:w.map(j=>({label:j.label,icon:j.icon,badgeCount:j.badgeCount,selected:j.selected??(!!j.key&&j.key===e),closeOnSelect:!0,onClick:()=>{j.onClick?.(),B()}}))}],[w,e,B]);return r.jsxs("aside",{className:`header${m==="manager"?" header--manager":""}`,children:[r.jsxs("div",{className:"header__bi",children:[r.jsx(Ld,{appMode:m}),r.jsxs("div",{className:"header__menu-button",ref:D,children:[r.jsx(fe,{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:A,"aria-expanded":y,"aria-controls":y?k: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:k,role:"group","aria-label":g("header.utilMenu","\uC720\uD2F8\uB9AC\uD2F0 \uBA54\uB274"),className:"tooltip-content",style:S,ref:N,children:r.jsx(xr,{columns:z,onClose:B})}),document.body)]})]}),r.jsx(Td,{scrollContainer:v,items:a,activeKey:e??void 0,onChange:t,unreadCount:i,onDebug:l,onNotification:c,onAccount:d,onSetting:u,onHelp:h,onFeedback:p,appMode:m,onAppModeChange:f}),x&&r.jsx(Nd,{items:_,activeKey:e??void 0,onChange:b,scrollContainer:v,appMode:m,onAppModeChange:f})]})}const yg=Md;var sk='.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%}}';ie(sk);const lk=()=>wt.t("passCard.planSuffix","\uC774\uC6A9\uAD8C");function wg(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 ck(e){const t=`${e.code??""} ${e.name??""}`.toLowerCase();return/manager|매니저/.test(t)?"manager":"speechear"}function dk(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||lk()}function uk(e){const t=(e??"").match(/(\d+)(d|y)\b/i);if(!t)return null;const a=Number(t[1]);return t[2].toLowerCase()==="y"?a*365:a}function $d(e){return{type:e.type??ck(e),plan:dk(e),label:e.label,price:wg(e.price),originalPrice:wg(e.originalPrice),discountLabel:e.discountLabel}}var pk='.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}';ie(pk);var hk='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',mk='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>',bk='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',gk='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',fk='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>',vk='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',xk=".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)}";ie(xk);var Ck=".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)}";ie(Ck);var kg='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 xo={text:"--pass-card-text",sub:"--pass-card-sub",copyright:"--pass-card-copyright"},Rd=new WeakMap;function _k(e){if(e)return Rd.get(e)}function Oa(e,t){e&&(e.style.setProperty(xo.text,t.text),e.style.setProperty(xo.sub,t.sub),t.copyrightColor&&e.style.setProperty(xo.copyright,t.copyrightColor),Rd.set(e,t))}function Fa(e){e&&(e.style.removeProperty(xo.text),e.style.removeProperty(xo.sub),e.style.removeProperty(xo.copyright),Rd.delete(e))}const Pd={text:"var(--color-pureBlack)",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function zd(e={}){const t=Nt(Pd,Oa,Fa);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("${kg}")`}})]})}const Bg="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 yk=".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%}";ie(yk);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 wk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"},kk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ag(e={}){const t=Nt(wk,Oa,Fa),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:kk.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:Bg,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 Bk=".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%}";ie(Bk);const Ak={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",logoColor:"_white",copyrightColor:"#ffffff"},Sk=[{scale:1,opacity:.55},{scale:2,opacity:.4},{scale:3.1,opacity:.28},{scale:4.5,opacity:.18},{scale:6,opacity:.1}];function Ek(e={}){const t=Nt(Ak,Oa,Fa),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:Sk.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:Bg,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("${kg}")`}})]})}var Dk=".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)}";ie(Dk);const Nk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Tk(e={}){const t=Nt(Nk,Oa,Fa);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 jk={Logo_speechear_kr:{"":Ti,_white:hk,_textWhite:mk,_black:bk},Logo_speechearManager_kr:{"":jd,_white:gk,_textWhite:fk,_black:vk}};function Lk(e,t){if(e)return jk[e]?.[t??""]??void 0}const Mk={speechear:Ti,manager:jd},$k={speechear:"Logo_speechear_kr",manager:"Logo_speechearManager_kr"},Sg=10;function Rk(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 Eg(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 Pk(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===wt.t("passCard.specialLabel");return o?r.jsx(Tk,{}):n?r.jsx(Ek,{}):r.jsx(Ag,{})}return r.jsx(zd,{})}function Id({ariaLabel:e,product:t,showPrice:a=!1,plan:o,type:n,endDate:i,remainingSeconds:l,endInclusive:c=!1,state:d="active",bg:u,bgOnly:h=!1,textColor:p,subColor:m,copyrightColor:f,logoSrc:v,label:g,price:x,originalPrice:_,discountLabel:b,onUse:w,onRefund:C,onDelete:k}){const{t:y}=ye.useTranslation(),A=t?$d(t):void 0,B=n??A?.type??"speechear",S=o??A?.plan??y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),D=g??A?.label,N=x??(a?A?.price:void 0),z=_??(a?A?.originalPrice:void 0),j=b??A?.discountLabel,U=s.useMemo(()=>{if(N)return null;const q=t?.durationDays??uk(t?.code);if(!q||q<=0)return l!=null?{percent:null,remainingLabel:Eg(l,y)}:null;const le=q*86400;let Ce;if(l!=null)Ce=l;else if((d==="active"||d==="expired")&&i){const re=new Date(i).getTime();if(Number.isNaN(re))return null;const me=/^(\d{4})-(\d{2})-(\d{2})/.exec(String(i)),ge=/^(\d{4})-(\d{2})-(\d{2})/.exec(va()),G=Math.round(me&&ge?(Date.UTC(+me[1],+me[2]-1,+me[3])-Date.UTC(+ge[1],+ge[2]-1,+ge[3]))/864e5:(re-Date.now())/864e5);Ce=Math.max(0,c?G+1:G)*86400}else d==="expired"?Ce=0:Ce=le;const Ne=Rk(Ce),_e=Math.max(0,Math.min(100,Math.floor(Math.min(Ne,le)/le*100)));return d==="pending"&&_e>=100?null:{percent:_e,remainingLabel:d==="expired"?y("passCard.expired","\uB9CC\uB8CC\uB428"):Eg(Ce,y)}},[N,d,i,l,c,t?.durationDays,t?.code,y]),T=s.useRef(null),[L,I]=s.useState({}),[Y,Q]=s.useState(null),P=!!(w||C||k),W=s.useRef(!1),$=s.useRef(void 0),[F,E]=s.useState(v);s.useLayoutEffect(()=>{E(v)},[v]),s.useLayoutEffect(()=>{const q=T.current;q&&(p!==void 0&&q.style.setProperty("--pass-card-text",p),m!==void 0&&q.style.setProperty("--pass-card-sub",m),f!==void 0&&q.style.setProperty("--pass-card-copyright",f))},[p,m,f]),s.useLayoutEffect(()=>{const q=T.current;if(!q)return;const le=_k(q);if(!v){const Ce=$k[B],Ne=d==="expired"?"_black":le?.logoColor??"",_e=Lk(Ce,Ne);E(_e)}},[u,v,B,d]);const H=q=>{const le=T.current;if(!le)return null;const{left:Ce,top:Ne,width:_e,height:re}=le.getBoundingClientRect(),me=(q.clientX-Ce)/_e-.5;return{rotateX:-((q.clientY-Ne)/re-.5)*Sg,rotateY:me*Sg}},R=(q,le)=>{const Ce=le*-.7,Ne=q*.7+10,_e=20+(Math.abs(q)+Math.abs(le))*.4;return`${Ce}px ${Ne}px ${_e}px rgba(0, 0, 0, 0.18)`},O=s.useCallback(q=>{if(mr())return;W.current=!0,clearTimeout($.current),$.current=setTimeout(()=>{W.current=!1},200);const le=H(q);le&&I({transform:`perspective(800px) rotateX(${le.rotateX}deg) rotateY(${le.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:R(le.rotateX,le.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)"})},[]),V=s.useCallback(q=>{if(mr())return;const le=H(q);if(!le)return;const Ce=W.current?"transform 0.2s ease, box-shadow 0.2s ease":"none";I({transform:`perspective(800px) rotateX(${le.rotateX}deg) rotateY(${le.rotateY}deg) scale3d(1.03, 1.03, 1.03)`,boxShadow:R(le.rotateX,le.rotateY),transition:Ce})},[]),Z=s.useCallback(()=>{clearTimeout($.current),W.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(()=>Q(null),[]),X=s.useMemo(()=>{const q=y("passCard.planSuffix","\uC774\uC6A9\uAD8C"),le=S.replace("\uC774\uC6A9\uAD8C","").replace(q==="\uC774\uC6A9\uAD8C"?"":q,"").trim(),Ce=le.match(/^(.*?)(일|년)$/);return Ce?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"h0 pass-card__plan-number",children:Ce[1]}),r.jsx("span",{className:"h5b pass-card__plan-unit",children:Ce[2]==="\uB144"?y("passCard.unitYear","\uB144"):y("passCard.unitDay","\uC77C")})]}):r.jsx("span",{className:"h0",children:le})},[S,y]),ne=s.useMemo(()=>{const q=dr(N);if(!q)return null;const le=q.match(/^([^\d]*)([\d.,]+)(.*)$/);if(!le)return r.jsx("span",{className:"h1",children:q});const[,Ce,Ne,_e]=le;return r.jsxs(r.Fragment,{children:[Ce&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:Ce}),r.jsx("span",{className:"h1 pass-card__price-amount",children:Ne}),_e.trim()&&r.jsx("span",{className:"h5 pass-card__price-symbol",children:_e.trim()})]})},[N]),ae=s.useCallback(()=>{P&&Q(q=>{if(q)return null;const le=T.current?.getBoundingClientRect();if(!le)return null;const Ce=50;return{left:le.left,right:le.right,width:le.width,height:le.height,x:le.x,y:le.y+Ce,top:le.top+Ce,bottom:le.bottom+Ce}})},[P]),pe=s.useCallback(q=>{P&&(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),ae())},[P,ae]),De=[{items:[...w?[{label:y("passCard.menu.use","\uC0AC\uC6A9\uD558\uAE30"),icon:"play",onClick:()=>{w(),Q(null)},closeOnSelect:!0}]:[],...C?[{label:y("passCard.menu.refund","\uD658\uBD88\uD558\uAE30"),icon:"rotate-ccw",onClick:()=>{C(),Q(null)},closeOnSelect:!0}]:[],...k?[{label:y("passCard.menu.delete","\uC0AD\uC81C\uD558\uAE30"),icon:"trash-2",onClick:()=>{k(),Q(null)},closeOnSelect:!0}]:[]]}];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pass-card-frame",children:r.jsxs("div",{ref:T,className:`pass-card pass-card--${d}${P?" pass-card--clickable":""}`,style:L,onMouseEnter:O,onMouseMove:V,onMouseLeave:Z,onPointerUp:q=>{q.pointerType==="touch"&&Z()},onPointerCancel:q=>{q.pointerType==="touch"&&Z()},onClick:ae,onKeyDown:P?pe: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:[u??Pk(B,S,D),!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:F??Mk[B],className:"pass-card__logo",alt:B==="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:X}),r.jsx("span",{className:"h5b pass-card__plan-suffix",children:D?y("passCard.labeledPlan",{label:D}):y("passCard.planSuffix","\uC774\uC6A9\uAD8C")})]})]})}),N?r.jsxs("div",{className:"pass-card__price-area",children:[j&&r.jsx("span",{className:"pass-card__discount body-3",children:j}),r.jsxs("div",{className:"pass-card__price",children:[z&&r.jsx("span",{className:"pass-card__price-original body-3",children:dr(z)}),ne]})]}):U?r.jsxs("div",{className:"pass-card__usage",children:[r.jsx("span",{className:"h5b pass-card__usage-remaining",children:U.remainingLabel}),U.percent!=null&&r.jsxs("span",{className:"pass-card__usage-percent",children:[r.jsx("span",{className:"h1 pass-card__usage-value",children:U.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(xr,{columns:De,onClose:ee,size:"small"})})]})}var zk=".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%}";ie(zk);const Ik={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#1a1a1a"};function Ok(e={}){const t=`passcard-sound-line-grad-${s.useId()}`,a=Nt(Ik,Oa,Fa);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 Fk=".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}";ie(Fk);const Hk={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"var(--color-main)"};function Vk(e={}){const t=Nt(Hk,Oa,Fa);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 Wk(e,t){if(e){if(t==="manager_pro")return r.jsx(Vk,{});if(t==="manager_standard")return r.jsx(Ok,{});if(t==="manager_lite")return r.jsx(Ag,{})}}function Gk(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 Dg(e){const{t}=ye.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||{},d=C=>!!C&&!!c?.includes(C),u=C=>C.onceOnly??/오픈\s*특가/.test(C.label??""),h=(n.tiers||[]).some(C=>u(C)&&d(C.code)),p=C=>{const k=C.prices?C.prices[l]:C.price;return k?(n.tiers||[]).some(y=>!!y.badge&&y.originals?.[l]===k):!1},m=n.colorToken?`var(--color-${n.colorToken})`:"var(--color-gray)",f=t("payment.plan.freePrice","\uBB34\uB8CC"),v=t("payment.products.mgrEnterprise.tier.price","\uBB38\uC758"),g=C=>C.prices?C.prices[l]:C.price,x=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const k=g(C);return k==="\uBB34\uB8CC"||k===f||k==="0\uC6D0"||typeof k=="string"&&/\d/.test(k)&&!/[1-9]/.test(k)}),_=(n.tiers||[]).length>0&&(n.tiers||[]).every(C=>{const k=g(C);return k==="\uBB38\uC758"||k===v}),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((C,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(at,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),C]},k))})]}),r.jsxs("div",{className:"payment-plan__box",children:[r.jsx("span",{className:"payment-plan__box-title body-3b",children:t("payment.plan.features","\uD575\uC2EC \uAE30\uB2A5")}),r.jsx("ul",{className:"payment-plan__feature-list",children:(n.features||[]).map((C,k)=>r.jsxs("li",{className:"payment-plan__feature-item body-3",children:[r.jsx(at,{icon:"check",size:18,className:"payment-plan__feature-check",wrapperStyle:{color:m}}),C]},k))})]}),r.jsx("div",{className:"payment-plan__card-pricing",children:x?null:_?r.jsx(fe,{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(C=>{const k=C.label||a,y=u(C),A=y||C.openPromo===!0,B=k.replace(/^오픈\s*특가\s*/,"")||a,S=C.prices?C.prices[l]:C.price,D=C.badge?A?`${o}
|
|
852
852
|
${C.badge}`:C.badge:void 0;if(y&&d(C.code))return null;if(!C.badge&&!h)return p(C)?null:r.jsxs("div",{className:`payment-plan__pricing-row payment-plan__pricing-row--static${C.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:C.label})}),r.jsx("div",{className:"payment-plan__pricing-row-price",children:r.jsx("span",{className:"payment-plan__pricing-current h1",children:Gk(S)})})]},C.id);const N=n.tier??(b?n.title:void 0),z=r.jsx(Id,{showPrice:!0,product:{type:w,code:C.code,name:B,label:N,price:S,originalPrice:C.originals?.[l]??void 0,discountLabel:D},bg:Wk(b,n.id)}),j=()=>i?.({...C,productId:n.id,productTitle:n.title,preview:z});return r.jsx("div",{className:"payment-plan__pricing-card",onClick:j,onKeyDown:i?U=>{U.target===U.currentTarget&&(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),j())}:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:z},C.id)})})})})]})}function Ng({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 Uk=".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}";ie(Uk);var Od='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 Fd={text:"#1a1a1a",sub:"var(--color-lightGray)",logoBase:"Logo_speechear_kr",copyrightColor:"#c9c9c9"};function Tg(){const e=Nt(Fd,Oa,Fa);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("${Od}")`}})})}var qk=".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)}";ie(qk);const Hd={text:"#ffffff",sub:"var(--color-lightGray)",logoBase:"Logo_speechearManager_kr",logoColor:"_white",copyrightColor:"#ffffff"};function jg(e={}){const t=Nt(Hd,Oa,Fa);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 Yk=".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}";ie(Yk);function Vd({keys:e,anchor:t="top-right",scale:a,className:o=""}){const n=Array.isArray(e)?e:[e];return r.jsx("span",{className:Ee("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 Kk=".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}";ie(Kk);const xn=(e,t,a)=>e+(t-e)*a;function Lg({speakers:e,size:t=300,viewT:a=0,activeSpeakerId:o=null,playedIds:n,selectedId:i=null,answerId:l=null,showFeedback:c=!1,pulseSelected:d=!1,pulseSelectedDuration:u,pulseScale:h,clickable:p=!1,onSelectSpeaker:m,buttonSize:f=40,showIcon:v=!0,onCenterClick:g,centerLabel:x,centerDisabled:_=!1,centerAttention:b=!1,shortcutAnchor:w="top-right",shortcutScale:C,scaleShortcut:k=!1}){const{t:y}=ye.useTranslation(),A=Math.max(0,Math.min(1,a)),B=t/2,S=110/300,D=.18,N=q=>t*(S+(q-1)*D),z=q=>{const le=N(q.row??1),Ce=q.angleDeg*Math.PI/180;return{x:B+le*Math.cos(Ce),y:B+le*Math.sin(Ce)}},j=Math.max(...e.map(q=>q.row??1),1),U=t*.08,T=t*.1,L=t*.24,I=t-2*U,Y=t-T-L,Q=t-L/2,P=s.useMemo(()=>[...new Set(e.map(q=>q.deg))].sort((q,le)=>q-le),[e]),W=P.length,$=Math.max(68,W>1?I/(W-1):0),F=s.useMemo(()=>new Map(P.map((q,le)=>[q,le])),[P]),E=q=>{const le=F.get(q.deg)??0,Ce=B+(le-(W-1)/2)*$,Ne=j>1?Math.min(68,Y/(j-1)):0,_e=Ne*(j-1),re=T+(Y-_e)/2,me=j===1?T+Y*.4:re+(j-(q.row??1))*Ne;return{x:Ce,y:me}},H=q=>{const le=z(q),Ce=E(q);return{x:xn(le.x,Ce.x,A),y:xn(le.y,Ce.y,A)}},R={x:B,y:xn(B,Q,A)},O=Math.round(f*1.2),V=Math.round(Math.max(16,Math.min(80,f*.7))),Z=[],ee=new Map;for(const q of e){const le=q.row??1;ee.has(le)||ee.set(le,[]),ee.get(le).push(q)}for(const[q,le]of ee.entries()){if(le.length<2)continue;const Ce=[...le].sort((Ie,pt)=>Ie.deg-pt.deg),Ne=Ce.map(Ie=>H(Ie)),_e=Ce.map(Ie=>Ie.deg),re=_e[_e.length-1]-_e[0],me=re/(_e.length-1),ge=360-re,G=Ce.length>=3&&me>0&&ge<=me*1.5,oe=Math.round(N(q)*1e3)/1e3,he=(Ie,pt,it,Qe)=>{const dt=(pt.angleDeg-Ie.angleDeg+540)%360-180;if(dt===0)return`L ${Qe.x} ${Qe.y}`;if(A===0)return`A ${oe} ${oe} 0 0 ${dt>0?1:0} ${Qe.x} ${Qe.y}`;const Se=(Ie.angleDeg+dt/2)*Math.PI/180,He={x:B+oe*Math.cos(Se),y:B+oe*Math.sin(Se)},Be={x:(it.x+Qe.x)/2,y:(it.y+Qe.y)/2},Je={x:xn(He.x,Be.x,A),y:xn(He.y,Be.y,A)},J={x:2*Je.x-Be.x,y:2*Je.y-Be.y};return`Q ${J.x} ${J.y} ${Qe.x} ${Qe.y}`},Te=G?[...Ce,Ce[0]]:Ce,Me=G?[...Ne,Ne[0]]:Ne;let Pe=`M ${Me[0].x} ${Me[0].y}`;for(let Ie=1;Ie<Me.length;Ie++)Pe+=" "+he(Te[Ie-1],Te[Ie],Me[Ie-1],Me[Ie]);Z.push({key:`arc-${q}`,d:Pe})}const X=s.useMemo(()=>new Set(n??[]),[n]),ne=q=>({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")})[q],ae=q=>{if(o===q.id)return"active";if(c){if(q.id===l)return"correct";if(q.id===i&&i!==l)return"wrong"}return X.has(q.id)?"played":"idle"},pe=q=>o===q.id?"loop":c?q.id===l?"loop":null:d&&q.id===i?"once":null,De=(q,le)=>{switch(q){case"played":case"correct":return r.jsx(up,{size:le});case"wrong":return r.jsx(_p,{size:le});default:return r.jsx(Cp,{size:le})}};return r.jsx("div",{className:"sound-compass",children:r.jsxs("div",{className:"sound-compass__compass-wrap",style:{width:t,height:t},children:[r.jsxs("svg",{width:t,height:t,viewBox:`0 0 ${t} ${t}`,className:"sound-compass__svg",children:[A===0&&e.map(q=>{const{x:le,y:Ce}=H(q);return r.jsx("line",{x1:R.x,y1:R.y,x2:le,y2:Ce,stroke:"#dde3ec",strokeWidth:"1"},q.id)}),Z.map(q=>r.jsx("path",{d:q.d,fill:"none",stroke:"#dde3ec",strokeWidth:"1"},q.key))]}),b&&!_&&r.jsx("div",{className:"sound-compass__pulse sound-compass__pulse--active sound-compass__pulse--center",style:{width:O,height:O,left:R.x-O/2,top:R.y-O/2}}),g?r.jsx("button",{type:"button",className:`sound-compass__center sound-compass__center--button${_?" sound-compass__center--disabled":""}`,style:{width:O,height:O,left:R.x,top:R.y},"aria-label":x,"aria-disabled":_||void 0,tabIndex:_?-1:0,onClick:_?void 0:g,children:r.jsx(gs,{size:V,color:"currentColor",strokeWidth:1.5})}):r.jsx("div",{className:"sound-compass__center",style:{width:O,height:O,left:R.x,top:R.y},children:r.jsx(gs,{size:V,color:"currentColor",strokeWidth:1.5})}),e.map((q,le)=>{const{x:Ce,y:Ne}=H(q),_e=ae(q),re=pe(q),me={...C!==void 0||k?{"--shortcut-badge-scale":String(C??Math.max(.75,Math.min(3,f/56)))}:null,pointerEvents:p?"auto":"none",cursor:p?"pointer":"default",zIndex:_e!=="idle"?10:1},ge=f,G=Math.round(Math.max(10,Math.min(56,ge*.38))),oe=Math.round(Math.max(7,Math.min(18,ge*.2))),he=Math.round(Math.max(10,Math.min(56,ge*.4))),Te=v==="answered"&&(_e==="played"||_e==="correct"||_e==="wrong"),Me=v===!0||Te,Pe=!Te;return r.jsxs("div",{className:"sound-compass__speaker-pos",style:{...me,left:Ce-ge/2,top:Ne-ge/2},children:[re&&r.jsx("div",{className:`sound-compass__pulse sound-compass__pulse--${_e}`+(re==="once"?" sound-compass__pulse--once":""),style:{width:ge,height:ge,...re==="once"&&u!==void 0?{"--sc-pulse-duration-once":`${u}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?.(q.id):void 0,className:`sound-compass__speaker-btn sound-compass__speaker-btn--${_e}`,style:{width:ge,height:ge},"aria-label":ne(_e)?`${q.label}, ${ne(_e)}`:q.label,"aria-pressed":i!=null?q.id===i:void 0,children:[Me&&De(_e,G),Pe&&r.jsx("span",{className:"sound-compass__speaker-number",style:{fontSize:v===!0?oe:he},children:le+1})]}),q.shortcut&&r.jsx(Vd,{keys:q.shortcut,anchor:w,className:"sound-compass__speaker-shortcut"})]},q.id)})]})})}function Mg({children:e,position:t="top-left",size:a=24,className:o=""}){return r.jsx("span",{className:Ee("circle-badge","circle-badge--number",`circle-badge--${a}`,`circle-badge--${t}`,o),children:e})}var Zk=".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}";ie(Zk);function $g({orientation:e="horizontal",label:t,className:a=""}){const o=Ee("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 Xk='.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}';ie(Xk);function Wd({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:d=>t?.(d.target.checked)}),r.jsx("span",{className:"radio__dot"}),i&&r.jsx("span",{className:"radio__label body-2",children:i})]})}var Jk=".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)}";ie(Jk);function Rg({options:e,value:t,onChange:a,name:o,disabled:n=!1,direction:i="vertical",className:l="",ariaLabel:c}){const d=s.useId(),u=o??`radio-group-${d}`;return r.jsx("div",{className:`radio-group radio-group--${i} ${l}`.trim(),role:"radiogroup","aria-label":c,children:e.map(h=>r.jsx(Wd,{name:u,value:h.value,checked:t===h.value,disabled:n||h.disabled,label:h.label,onChange:p=>{p&&a?.(h.value)}},h.value))})}var Qk=".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)}";ie(Qk);const e6={info:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"};function Pg({tone:e="info",title:t,message:a,children:o,dismissible:n=!1,onDismiss:i,live:l,className:c=""}){const{t:d}=ye.useTranslation(),[u,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(u)return null;const f=Ee("alert",`alert--${e}`,c),v=l??(e==="danger"||e==="warning"?"assertive":"polite"),g=v==="assertive"?"alert":v==="polite"?"status":void 0,x=!!t,_=!!(a||o);return r.jsxs("div",{ref:p,className:f,role:g,children:[r.jsxs("div",{className:"alert__body",children:[r.jsxs("div",{className:"alert__header",children:[r.jsx(at,{icon:e6[e],size:20,className:"alert__icon"}),x&&r.jsx("span",{className:"alert__title body-2",children:t}),!x&&_&&r.jsx("div",{className:"alert__message body-3",children:a||o})]}),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":d("common.close","\uB2EB\uAE30"),children:"\xD7"})]})}var t6=".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)}";ie(t6);const a6={ready:"search",guide:"info",error:"circle-alert"};function o6(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 zg({status:e="guide",label:t,children:a,emphasis:o,icon:n,className:i=""}){const l=n===!1?null:n??a6[e],c=Ee("search-summary",`search-summary--${e}`,i),d=t??a,u=typeof d=="string"&&o&&o.length>0?o6(d,o):d;return r.jsxs("div",{className:c,role:"status","aria-live":"polite",children:[l!=null&&r.jsx(at,{icon:l,size:18,className:"search-summary__icon"}),r.jsx("span",{className:"search-summary__text body-2",children:u})]})}function Cr({title:e,items:t}){const{t:a}=ye.useTranslation(),{anchorRect:o,openAt:n,close:i}=Oo(),l=s.useRef(null),c=_c(!!o,(d,u)=>{d&&u?n(l.current?.querySelector("button")??u):i()},l);return r.jsxs("span",{ref:l,style:{display:"contents"},children:[r.jsx(fe,{htmlType:"button",size:24,type:"dot",icon:"info",variant:"transparent-gray",useBorder:!1,selected:!!o,ariaLabel:a("common.info","\uC124\uBA85"),onPointerEnter:d=>{hr(d)||n(d.currentTarget)},onPointerLeave:d=>{hr(d)||i()},onClick:d=>{c.touchPress(d.currentTarget)},onFocus:d=>{mr()||n(d.currentTarget)},onBlur:i}),o&&r.jsx(vo,{title:e,items:t,showIndex:t.length>1,anchorRect:o,onClose:i})]})}var r6=".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}";ie(r6);function Ig({items:e=[],value:t,onChange:a,className:o="",size:n=40}){const i=s.useId(),{t:l}=ye.useTranslation(),c=s.useRef(null),d=e.find(g=>!g.disabled)?.key,u=e.some(g=>g.key===t)?t:d??e[0]?.key,h=e.find(g=>g.key===u&&!g.disabled)?.key??d,p=()=>Array.from(c.current?.querySelectorAll('[role="tab"]:not(:disabled)')??[]),m=(g,x=p())=>{if(x.length===0)return;const _=(g%x.length+x.length)%x.length;x[_]?.focus(),x[_]?.click()},f=g=>{if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const x=p(),_=x.indexOf(g.currentTarget);g.key==="ArrowRight"||g.key==="ArrowDown"?m(_+1,x):g.key==="ArrowLeft"||g.key==="ArrowUp"?m(_-1,x):g.key==="Home"?m(0,x):m(x.length-1,x)},v=e.find(g=>g.key===u);return r.jsxs("div",{className:`tabs ${o}`.trim(),children:[r.jsx("div",{ref:c,className:`tabs__list tabs__list--${n}`,role:"tablist","aria-label":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===u,"aria-controls":`tabs__panel-${i}-${g.key}`,disabled:g.disabled,tabIndex:g.key===h?0:-1,className:`tabs__tab body-2${g.key===u?" tabs__tab--active":""}`,onClick:()=>{g.key!==t&&a?.(g.key)},onKeyDown:f,children:g.label},g.key))}),v&&r.jsx("div",{id:`tabs__panel-${i}-${v.key}`,role:"tabpanel","aria-labelledby":`tabs__tab-${i}-${v.key}`,tabIndex:0,className:"tabs__panel",children:v.panel},v.key)]})}var n6=".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}";ie(n6);const i6={xs:12,sm:16,md:20,lg:28,xl:36};function s6(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 Og({src:e,name:t,size:a="md",shape:o="circle",className:n=""}){const{t:i}=ye.useTranslation(),[l,c]=s.useState(null),d=!!e&&l===e,u=t?s6(t):"",h=!!e&&!d,p=!h&&!!u,m=t||i("avatar.ariaLabel","\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0");return r.jsxs("span",{className:`avatar avatar--${a} avatar--${o} ${n}`.trim(),role:"img","aria-label":m,children:[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:u}),!h&&!p&&r.jsx(at,{icon:"user-round",size:i6[a],className:"avatar__icon"})]})}var l6=".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)}";ie(l6);function c6(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 Fg({onFilesSelected:e,accept:t,multiple:a=!1,disabled:o=!1,showFileList:n=!0,files:i,onRemove:l,className:c=""}){const{t:d}=ye.useTranslation(),u=s.useRef(null),[h,p]=s.useState(!1),[m,f]=s.useState([]),v=i??m,g=y=>{if(!y||y.length===0)return;const A=Array.from(y).filter(S=>c6(S,t));if(A.length===0)return;const B=a?A:A.slice(0,1);if(i===void 0){const S=a?[...v,...B]:B;f(S),e?.(S)}else e?.(B)},x=y=>{y.preventDefault(),!o&&p(!0)},_=y=>{y.preventDefault(),p(!1)},b=y=>{y.preventDefault(),p(!1),!o&&g(y.dataTransfer.files)},w=y=>{const A=y.target;try{g(A.files)}finally{A.value=""}},C=()=>{o||u.current?.click()},k=y=>{if(!o&&(l?.(y),i===void 0)){const A=v.filter((B,S)=>S!==y);f(A),l||e?.(A)}};return r.jsxs("div",{className:`file-upload ${c}`.trim(),children:[r.jsxs("div",{className:Ee("file-upload__dropzone",h&&"file-upload__dropzone--dragging",o&&"file-upload__dropzone--disabled"),role:"button",tabIndex:o?-1:0,"aria-disabled":o,onClick:C,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),C())},onDragOver:x,onDragLeave:_,onDrop:b,children:[r.jsx(at,{icon:"upload",size:24,className:"file-upload__icon"}),r.jsx("span",{className:"file-upload__prompt body-2",children:d("fileUpload.dragPrompt","\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC")}),r.jsx("button",{type:"button",className:"file-upload__browse-button body-3",disabled:o,onClick:y=>{y.stopPropagation(),C()},children:d("fileUpload.browseButton","\uD30C\uC77C \uC120\uD0DD")}),r.jsx("input",{ref:u,type:"file",className:"file-upload__input",accept:t,multiple:a,disabled:o,onChange:w,tabIndex:-1})]}),n&&v.length>0&&r.jsx("ul",{className:"file-upload__list",children:v.map((y,A)=>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":d("fileUpload.removeAriaLabel",{name:y.name}),disabled:o,onClick:()=>k(A),children:r.jsx(at,{icon:"x",size:14})})]},`${y.name}-${A}`))})]})}var d6=".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}";ie(d6);function Hg({items:e,className:t=""}){const{t:a}=ye.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(at,{icon:"chevron-right",size:14,className:"breadcrumb__separator"})]},n)})})})}var u6=".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)}";ie(u6);const p6={small:14,medium:20,large:28};function Vg({value:e,onChange:t,max:a=5,readOnly:o=!1,size:n="medium",ariaLabel:i,className:l=""}){const{t:c}=ye.useTranslation(),d=o||!t,[u,h]=s.useState(null),p=d?e:Number.isFinite(e)?Math.round(e):0,m=u??p,f=p6[n],v=y=>{y!==e&&t?.(y)},g=y=>{d||v(y)},x=y=>{d||mr()||h(y)},_=s.useRef(null),b=y=>{const A=Math.min(a,Math.max(1,y));v(A),Array.from(_.current?.querySelectorAll("[data-star]")??[]).find(B=>B.dataset.star===String(A))?.focus()},w=y=>{if(!d){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()}},C=p>=1&&p<=a?Math.round(p):1,k=()=>{d||h(null)};return r.jsx("div",{className:`rating rating--${n}${d?" rating--readOnly":""} ${l}`.trim(),ref:_,onKeyDown:w,role:d?"img":"radiogroup","aria-label":d?c("rating.valueLabel",{value:e,max:a}):i??c("rating.groupLabel","\uBCC4\uC810"),onMouseLeave:k,onPointerUp:y=>{y.pointerType==="touch"&&k()},onPointerCancel:y=>{y.pointerType==="touch"&&k()},children:Array.from({length:a},(y,A)=>{const B=A+1,S=Math.max(0,Math.min(1,m-A)),D=S>0&&S<1,N=r.jsxs("span",{className:"rating__star-wrap",children:[r.jsx(at,{icon:"star",size:f,className:"rating__star rating__star--empty"}),S>0&&r.jsx("span",{className:`rating__star-fill${D?" rating__star-fill--half":""}`,style:D?{width:`${S*100}%`}:void 0,children:r.jsx(at,{icon:"star",size:f,className:"rating__star rating__star--filled"})})]});return d?r.jsx("span",{className:"rating__item","aria-hidden":"true",children:N},B):r.jsx("button",{type:"button",className:"rating__item rating__item--interactive",role:"radio","aria-checked":p===B,"aria-label":c("rating.starLabel",{n:B}),"data-star":B,tabIndex:B===C?0:-1,onClick:()=>g(B),onMouseEnter:()=>x(B),children:N},B)})})}var h6=".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}";ie(h6);const m6=20,b6=["#499cdf","#4dcdc0","#2fae9e","#e6b94e","#d9534f","#e06b68","#bfc7d1"];function Wg({value:e,onChange:t,palette:a=b6,size:o=40,className:n="",ariaLabel:i}){const{t:l}=ye.useTranslation();return r.jsx("div",{className:`color-picker ${n}`.trim(),role:"group","aria-label":i,children:a.map(c=>{const d=e?.toLowerCase()===c.toLowerCase();return r.jsx("button",{type:"button",className:`color-picker__swatch color-picker__swatch--${o}`,style:{backgroundColor:c},onClick:()=>t(c),"aria-pressed":d,"aria-label":d?`${c} ${l("colorPicker.selected","\uC120\uD0DD\uB428")}`:c,children:d&&r.jsx(at,{icon:"check",size:m6,className:"color-picker__check"})},c)})})}var g6=".ihabdevteam-core-scope .count-tile{background:var(--color-deepWhite);border:1px solid var(--color-darkWhite);border-radius:16px;box-sizing:border-box;flex-shrink:0;height:72px;padding:12px;position:relative;transition:border-color .15s,background .15s;width:72px}.ihabdevteam-core-scope .count-tile__icon{color:var(--color-main);left:12px;position:absolute;top:12px}.ihabdevteam-core-scope .count-tile__count{bottom:12px;color:var(--color-darkGray);line-height:1;position:absolute;right:12px}.ihabdevteam-core-scope .count-tile--clickable{cursor:pointer}.ihabdevteam-core-scope .count-tile--clickable:hover{background:var(--color-white)}@media (max-width:767px){.ihabdevteam-core-scope .count-tile{border-radius:14px;height:60px;padding:10px;width:60px}.ihabdevteam-core-scope .count-tile__icon{left:8px;top:8px}.ihabdevteam-core-scope .count-tile__count{bottom:8px;right:8px}}";ie(g6);var f6=".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}";ie(f6);var v6=".ihabdevteam-core-scope .category-icon{align-items:center;background:var(--t-item-bg,color-mix(in srgb,var(--t-item-fg,var(--color-lightGray)) 10%,transparent));border-radius:var(--radius-s);color:var(--t-item-fg,var(--color-lightGray));display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .category-icon--small{border-radius:var(--radius-sm);height:28px;width:28px}.ihabdevteam-core-scope .category-icon__mask{background-color:currentColor;background-color:var(--t-item-fg,currentColor);border-radius:var(--radius-sm);display:inline-block;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.ihabdevteam-core-scope .category-icon__image{border-radius:var(--radius-sm);display:block;-o-object-fit:contain;object-fit:contain}.ihabdevteam-core-scope .category-icon__svg svg{fill:currentColor;display:block}.ihabdevteam-core-scope .category-icon__wrap{cursor:default;display:inline-flex;position:relative}.ihabdevteam-core-scope .category-icon__tooltip{pointer-events:none;white-space:nowrap}";ie(v6);function Gg({icon:e,label:t,tooltip:a,wrapperStyle:o,color:n,bgColor:i,useHover:l=!0,iconSize:c="medium"}){const{t:d}=ye.useTranslation(),u=c==="small",h=Ee("category-icon",u?"category-icon--small":""),p=u?16:20,m=s.useRef(null),[f,v]=s.useState(!1),g=s.useMemo(()=>{const A=o&&typeof o=="object"?{...o}:{};return!n&&!i?A:{...A,...n?{color:n,"--t-item-fg":n}:{},...i?{"--t-item-bg":i}:{}}},[o,n,i]),x=a||t,[_,b]=s.useState(null);s.useLayoutEffect(()=>{f&&b(m.current?.getBoundingClientRect()??null)},[f]),s.useEffect(()=>{if(!l&&f)try{v(!1)}catch{}},[l,f]),s.useEffect(()=>{if(!f)return;const A=B=>{const S=m.current;if(!S)return;const D=B.target;D&&!S.contains(D)&&v(!1)};return document.addEventListener("pointerdown",A,!0),()=>document.removeEventListener("pointerdown",A,!0)},[f]);const w=s.useCallback(()=>{l&&v(!0)},[l]),C=s.useCallback(()=>{l&&v(!1)},[l]),k=s.useCallback(()=>v(!1),[]),y=s.useCallback(A=>{if(A.key==="Escape"){v(!1);return}(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),v(B=>!B))},[]);return r.jsxs("span",{ref:m,className:"category-icon__wrap",onPointerEnter:w,onPointerLeave:C,onFocus:w,onBlur:C,onKeyDown:y,role:"button",tabIndex:0,"aria-label":typeof x=="string"?d("common.descriptionFor",{name:x,defaultValue:`${x} \uC124\uBA85`}):void 0,"aria-haspopup":!!x,"aria-expanded":f,"data-tooltip-ignore":!0,children:[r.jsx(at,{icon:e,label:t,className:h,imgClassName:"category-icon__image",maskClassName:"category-icon__mask",svgClassName:"category-icon__svg",wrapperStyle:g,size:p}),f&&x&&r.jsx(Aa,{anchorRect:_,text:typeof x=="string"?x:void 0,offset:8,onClose:k,className:"category-icon__tooltip",ariaLabel:typeof x=="string"?x:void 0})]})}var x6='.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}}';ie(x6);let Co=null;function ji(e){if(Co&&Co!==e)try{Co()}catch{}return Co=e,()=>{Co===e&&(Co=null)}}function Li(e){if(Co===e){Co=null;try{e()}catch{}}}function Gd(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 C6(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 _6(e,t){const[a,o]=s.useState(!1),[n,i]=s.useState(-1),[l,c]=s.useState({key:"",urls:[]}),d=s.useRef(null),u=s.useRef(!1),h=s.useRef(null),p=s.useRef(null),[m,f]=s.useState(!1),v=s.useRef([]),{previewCodes:g,previewBucket:x}=C6(e,t),_=`${g.join(",")}|${x??""}`,b=s.useMemo(()=>l.key===_?l.urls:[],[l,_]);s.useEffect(()=>{if(!g.length)return;let C=!1;return(async()=>{const k=[],y=[];for(const A of g)try{const B=Mn(A,x);if(!B){k.push("");continue}let S=null;try{S=await Pr(B)}catch{}if(!S)try{const D=await $n(B);D&&(S=URL.createObjectURL(D),y.push(S))}catch{}k.push(S??"")}catch{k.push("")}C?y.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}):(v.current.forEach(A=>{try{URL.revokeObjectURL(A)}catch{}}),v.current=y,c({key:_,urls:k}))})(),()=>{C=!0}},[g.join(","),x]),s.useEffect(()=>()=>{v.current.forEach(C=>{try{URL.revokeObjectURL(C)}catch{}}),v.current=[]},[]);const w=s.useCallback(async C=>{if(C.stopPropagation(),C.preventDefault(),u.current){h.current&&Li(h.current),u.current=!1;try{d.current?.pause()}catch{}o(!1),i(-1);return}if(!b.filter(Boolean).length)return;let k=null;const y=()=>{u.current=!1,k?.stop()};h.current=y;const A=ji(y);u.current=!0,o(!0);for(let B=0;B<b.length&&u.current;B++){const S=b[B];if(S&&(i(B),k=Gd(S),d.current=k.el,!await k.done))break}A(),h.current===y&&(h.current=null,u.current=!1,o(!1),i(-1))},[b]);return s.useEffect(()=>()=>{h.current&&Li(h.current),u.current=!1;try{d.current?.pause()}catch{}d.current=null},[]),{playing:a,playingIndex:n,previewUrls:b,previewHover:m,setPreviewHover:f,previewBtnRef:p,handlePreview:w}}const y6=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:d,selectedIds:u,tooltipText:h,useDescriptionTooltip:p=!1,onRemove:m,hideCheckBadge:f=!1,showTypeLabel:v=!1,onComplete:g,onSelect:x,onMore:_,countLabelOverride:b,size:w="square"}=e||{},{t:C}=ye.useTranslation(),[k,y]=s.useState(!1),A=s.useRef(null),[B,S]=s.useState(!1);s.useEffect(()=>{A.current?.matches(":hover")&&S(!0)},[]);const{playing:D,playingIndex:N,previewUrls:z,previewHover:j,setPreviewHover:U,previewBtnRef:T,handlePreview:L}=_6(o,a?.key),I=s.useCallback(()=>{x?x():y(!0)},[x]),Y=s.useCallback(()=>y(!1),[]),Q=s.useCallback(()=>S(!0),[]),P=s.useCallback(()=>S(!1),[]),W=s.useCallback(()=>U(!0),[U]),$=s.useCallback(()=>U(!1),[U]),[F,E]=s.useState(null);s.useLayoutEffect(()=>{j&&E(T.current?.getBoundingClientRect()??null)},[j,T]);const[H,R]=s.useState(null);s.useLayoutEffect(()=>{B&&!k&&p&&R(A.current?.getBoundingClientRect()??null)},[B,k,p]);const O=s.useCallback(Be=>{Be.target===Be.currentTarget&&(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),I())},[I]),V=o||null,Z=s.useMemo(()=>{if(!p)return null;const Be=h?(Array.isArray(h)?h:[h]).filter(Boolean):null,Je=Be&&Be.length>0?Be:y6(V);return Je&&Je.length>0?Je:null},[p,h,V]),ee=s.useCallback(Be=>{Be.stopPropagation(),m?.()},[m]),X=s.useCallback(Be=>Be.stopPropagation(),[]),ne=s.useCallback(Be=>{typeof g=="function"&&g(Be)},[g]),ae=c||(d&&o?.id!=null?d.has(String(o.id)):!1),pe=!ae&&(u!=null&&o?.id!=null?u.has(String(o.id)):!1);cn("speechear.popup.close",Y);const De=ri(),q=`${a?.label||""} ${t+1}`,le=V?.title||V?.name||q;let Ce=a?.icon,Ne,_e="",re="";try{const Be=V?.category_0||V?.category_main_code||V?.category_main,Je=V?.category_1||V?.category_sub_code||V?.category_sub,J=De.find(ue=>ue.key===Be);J?.icon&&(Ce=J.icon),!Ne&&J?.color&&(Ne={"--t-item-fg":J.color}),!Ne&&V?.iconColor&&(Ne={"--t-item-fg":V.iconColor}),_e=J?C(`topic.${J.key}`,{defaultValue:J.label||""}):"";try{const ue=J?.subs?.find(xe=>xe.key===Je);re=ue?C(`topic.sub.${ue.key}`,{defaultValue:ue.label||""}):""}catch{}}catch{}const me=re?`${_e} / ${re}`:_e||a?.label||le,ge=Be=>C("training.countQuestions",{n:Be}),G=Be=>C("training.countSentences",{n:Be});let oe="";try{if(V)if(a?.key==="LISTEN_IN_NOISE"){let Be=0;Array.isArray(V.items)&&V.items.length>0?Be=V.items.length:Array.isArray(V.sentences)&&V.sentences.length>0?Be=V.sentences.length:V.sentences&&(Be=1),oe=G(Be)}else if(a?.key==="SHORT_STORY"){let Be=1;Array.isArray(o?.items)?Be=o.items.length:Array.isArray(o?.raw&&o.raw?.items)?Be=o.raw.items.length:Array.isArray(V?.questions)?Be=V.questions.length:Array.isArray(V?.sentences)&&(Be=V.sentences.length),oe=ge(Be)}else if(a?.key==="LONG_STORY"){let Be=1;if(Array.isArray(V.items)&&V.items.length>0){const Je=V.items.reduce((J,ue)=>{const xe=ue.questionItems;return Array.isArray(xe)?J+xe.length:Array.isArray(ue.questions)?J+ue.questions.length:J},0);Be=Je>0?Je:V.items.length}else Array.isArray(V.questions)&&V.questions.length>0?Be=V.questions.length:Array.isArray(V.sentences)&&V.sentences.length>0&&(Be=V.sentences.length);oe=ge(Be)}else if(a?.key==="ORDERING_SENTENCE"){let Be=1;Array.isArray(V.items)&&V.items.length>0?Be=V.items.length:Array.isArray(V.sentences)&&V.sentences.length>0&&(Be=V.sentences.length),oe=G(Be)}else Array.isArray(V.items)&&(oe=V.items.length>0?ge(V.items.length):"")}catch{}const he=w==="row",Te=w==="list"||he,Me=w==="compact",Pe=w==="small",Ie=Pe&&a?.key?Jl().find(Be=>Be.key===a.key):void 0,pt=Ie?ii[Ie.key]:void 0,it=Ie?pt?C(`trainingType.${pt}.title`,{defaultValue:Ie.label}):Ie.label??"":"",Qe=v&&a?.label&&a.label!==String(le)?String(a.label):Pe&&it&&it!==String(le)?it:"",dt=!!Qe,Se=b!==void 0?b:oe,He=[Qe,typeof le=="string"?le:"",Se].map(Be=>String(Be??"").trim()).filter(Boolean).join(" ");return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:A,className:`training-block-button${Te?" training-block-button--list":""}${he?" training-block-button--row":""}${Me?" training-block-button--compact":""}${Pe?" training-block-button--small":""}${ae?" training-block-button--completed":""}${pe?" training-block-button--selected":""}${dt&&!Pe?" training-block-button--withType":""}${Pe&&!dt?" training-block-button--no-type-label":""}`,onClick:I,onPointerEnter:Q,onPointerLeave:P,role:"button",tabIndex:0,onKeyDown:O,"aria-label":typeof n=="string"?n:He||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:[v&&a?.label&&a.label!==String(le)&&r.jsx("span",{className:"training-block-button__type-label caption-1",children:a.label}),Pe&&it&&it!==String(le)&&r.jsx("span",{className:"training-block-button__type-label caption-2",children:it}),r.jsx(Gg,{icon:Ce,label:le,tooltip:me,wrapperStyle:Ne,iconSize:Pe||Me?"small":"medium"}),!f&&(ae||pe)&&!(m&&B)&&r.jsx(Et,{className:m?"training-block-button__check--removable":void 0,type:"dot",icon:"check",position:"top-left",size:"medium","aria-label":ae?C("training.completed","\uD6C8\uB828 \uC644\uB8CC"):C("training.selected","\uC120\uD0DD\uB428")}),m&&r.jsx(Et,{className:`training-block-button__remove${B?" is-hover":""}`,type:"dot",icon:"remove",position:"top-left",size:"medium","aria-label":C("common.remove","\uC81C\uAC70"),onClick:ee}),r.jsx("div",{className:`training-block-button__title ${Me?"body-3":Pe?"body-3b":"h3"}`,children:String(le)}),r.jsxs("div",{className:"training-block-button__description",children:[Se?r.jsx("div",{className:`training-block-button__count ${Pe?"caption-2":"caption-1"}`,children:Se}):null,r.jsx("div",{className:"training-block-button__chevron",children:r.jsx(at,{icon:"chevron-right",label:C("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:Pe?12:20})})]}),(Te&&!he||Pe)&&z.length>0&&r.jsx("div",{ref:T,className:"training-block-button__preview","data-tooltip-ignore":!0,onClick:X,onPointerEnter:W,onPointerLeave:$,children:r.jsx(fe,{htmlType:"button",size:Pe?28:32,type:"dot",icon:D?"pause":"play",variant:Pe?"transparent-lightGray":"default",useBorder:!1,selected:D,ariaLabel:String(le).trim()?D?C("training.stopFor",{name:le,defaultValue:`${le} \uC815\uC9C0`}):C("training.previewFor",{name:le,defaultValue:`${le} \uBBF8\uB9AC \uB4E3\uAE30`}):D?C("training.stop","\uC815\uC9C0"):C("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),onClick:L})})]}),_&&r.jsx("div",{className:"training-block-button__more","data-tooltip-ignore":!0,onClick:Be=>{Be.stopPropagation(),_(Be)},children:r.jsx(fe,{htmlType:"button",size:40,type:"dot",icon:"more-horizontal",variant:"transparent-lightGray",useBorder:!1,ariaLabel:String(le).trim()?C("common.moreFor",{name:le}):C("common.more","\uB354\uBCF4\uAE30")})})]}),j&&r.jsx(Aa,{anchorRect:F,text:D?C("training.stop","\uC815\uC9C0"):C("training.preview","\uBBF8\uB9AC \uB4E3\uAE30"),offset:8,onClose:$}),B&&!k&&p&&(Z?r.jsx(vo,{anchorRect:H,items:Z,activeIndex:N,onClose:P}):V?.subTitle?r.jsx(Aa,{anchorRect:H,text:V.subTitle,offset:8,onClose:P}):null),k&&l&&l({trainingData:V,typeKey:a?.key??"",onClose:Y,onComplete:ne,popupTitle:String(le),popupSubTitle:a?.subTitle,depth:i!=null?String(i):void 0,popupIcon:Ce,popupIconTooltip:String(me),popupWrapperStyle:Ne})]})}const Ud=200;function w6(e){return e.itemId?(nc()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function qd({plan:e,anchorRect:t,offset:a=12,onClose:o}){const{t:n}=ye.useTranslation(),i=s.useMemo(()=>zm(n).map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,n]);if(i.length===0)return null;const l=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,r.jsxs("div",{className:"tooltip-training__section",children:[r.jsx("div",{className:"tooltip-training__section-header",children:r.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),r.jsx("div",{className:"tooltip-training__items",children:d.map((h,p)=>{const m=w6(h);return m?r.jsx(Mi,{index:p,type:c,trainingData:m,size:"compact",hideCheckBadge:!0},h.itemId??p):null})})]},c.key)])})});return t?r.jsx(xa,{anchorRect:t,offset:a,onClose:o,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:l}):l}const k6=200;function Ug({icon:e,count:t,title:a,plan:o,tooltip:n=!0,className:i="",onClick:l,onMouseEnter:c,onMouseLeave:d}){const u=Ee("count-tile",l&&"count-tile--clickable",i),h=s.useRef(null),[p,m]=s.useState(null),f=s.useRef(null),v=s.useRef(null),g=!!(p&&o&&n),x=s.useCallback(()=>{f.current&&(clearTimeout(f.current),f.current=null),v.current&&(clearTimeout(v.current),v.current=null)},[]),_=s.useCallback(()=>{x(),m(null)},[x]),b=s.useCallback(()=>{!n||!o||(x(),f.current=setTimeout(()=>{f.current=null,m(h.current?.getBoundingClientRect()??null)},Ud))},[n,o,x]),w=s.useCallback(()=>{f.current&&(clearTimeout(f.current),f.current=null),!v.current&&(v.current=setTimeout(()=>{v.current=null,m(null)},k6))},[]);return s.useEffect(()=>()=>{x()},[x]),s.useEffect(()=>{(!n||!o)&&_()},[n,o,_]),s.useEffect(()=>{if(!g)return;const C=y=>y instanceof Element&&(h.current?.contains(y)||!!y.closest(".tooltip-training")),k=y=>{C(y.target)?x():w()};return document.addEventListener("pointerover",k,!0),()=>document.removeEventListener("pointerover",k,!0)},[g,x,w]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:h,className:u,onClick:l?C=>{_(),l(C)}:void 0,onKeyDown:l?C=>{C.key!=="Enter"&&C.key!==" "||(C.preventDefault(),C.currentTarget.click())}:void 0,onPointerEnter:C=>{C.pointerType==="touch"||C.pointerType==="pen"?_():b()},onMouseEnter:c,onMouseLeave:C=>{w(),d?.(C)},role:l?"button":"img",tabIndex:l?0:void 0,"aria-label":`${a} ${t}`,children:[r.jsx(at,{icon:e,size:20,className:"count-tile__icon"}),r.jsx("span",{className:"count-tile__count h5","aria-hidden":"true",children:t})]}),p&&o&&r.jsx(qd,{plan:o,anchorRect:p,onClose:_})]})}let Cn=0,qg="",Yd="",_n=0;function Yg(){return Kg(!1)}function B6(){return Kg(!0)}function Kg(e){const t=typeof document<"u";Cn===0&&t&&(qg=document.body.style.overflow,document.body.style.overflow="hidden"),e&&t&&(_n===0&&(Yd=document.body.style.paddingRight),_n++,document.body.style.paddingRight="0px"),Cn++;let a=!1;return()=>{a||(a=!0,Cn=Math.max(0,Cn-1),e&&t&&(_n=Math.max(0,_n-1),_n===0&&(Yd?document.body.style.paddingRight=Yd:document.body.style.removeProperty("padding-right"))),Cn===0&&t&&(document.body.style.overflow=qg))}}var A6=".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}}";ie(A6);function S6(){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 Zg({open:e,onClose:t,ariaLabel:a,title:o,children:n,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:c=!0,showClose:d=!0,className:u,contentClassName:h}){const{t:p}=ye.useTranslation(),m=s.useId(),f=s.useRef(null),v=s.useCallback(()=>t(),[t]);s.useEffect(()=>{if(!e)return;const b=document.activeElement,w=Yg(),C=f.current;return fc(C,b),C?.focus(),()=>{w();const k=document.activeElement;(!k||k===document.body||C&&C.contains(k))&&vc(b)?.focus?.()}},[e]);const g=s.useRef(v),x=s.useRef(c);s.useEffect(()=>{g.current=v,x.current=c}),s.useEffect(()=>{if(e)return Po(()=>{x.current&&g.current()})},[e]);const _=s.useRef(!1);return bc(f,e),!e||typeof document>"u"?null:pa.createPortal(r.jsx("div",{className:Ee("dialog",u),onPointerDown:l?b=>{_.current=b.target===b.currentTarget}:void 0,onMouseDown:b=>{b.target===b.currentTarget&&b.preventDefault()},onClick:l?b=>{const w=_.current;_.current=!1,w&&b.target===b.currentTarget&&v()}:void 0,children:r.jsxs("div",{ref:f,role:"dialog","aria-modal":"true","aria-label":o?void 0:a,"aria-labelledby":o?m:void 0,tabIndex:-1,className:Ee("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,d?r.jsx("button",{type:"button",className:"dialog__close","aria-label":p("common.close","\uB2EB\uAE30"),onClick:v,children:r.jsx(S6,{})}):null,r.jsx("div",{className:"dialog__body",children:n})]})}),document.body)}var E6=".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}";ie(E6);function Xg({columns:e,rows:t,rowKey:a,title:o,toolbar:n,empty:i,loading:l,caption:c,className:d=""}){const{t:u}=ye.useTranslation(),h=!l&&t.length===0;return r.jsxs("div",{className:Ee("board",d),children:[o||n?r.jsxs("div",{className:"board__head",children:[o?r.jsx("h2",{className:"board__title",children:o}):r.jsx("span",{}),n?r.jsx("div",{className:"board__toolbar",children:n}):null]}):null,r.jsxs("table",{className:"board__table",children:[c?r.jsx("caption",{className:"board__caption",children:c}):null,r.jsx("thead",{children:r.jsx("tr",{children:e.map(p=>r.jsx("th",{scope:"col",className:Ee("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??u("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(f=>r.jsx("td",{className:Ee("board__td",`board__cell--${f.align??"left"}`),children:f.render(p,m)},f.key))},a(p,m)))})]})]})}var D6=".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)}}";ie(D6);function Jg({name:e,role:t,photo:a,media:o,credentials:n,size:i=190,className:l=""}){return r.jsxs("div",{className:Ee("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 N6=".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)}}";ie(N6);function Qg({groups:e,className:t=""}){return r.jsx("div",{className:Ee("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 T6=".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)}";ie(T6);function e0({title:e,kind:t,body:a,badge:o,badgeSrc:n,footer:i,width:l,className:c=""}){const d=o??(n?r.jsx("img",{src:n,alt:""}):null);return r.jsxs("div",{className:Ee("publication-card",c),style:l?{width:l,flexShrink:0}:void 0,children:[d?r.jsx("div",{className:"publication-card__badge","aria-hidden":"true",children:d}):null,r.jsx("h3",{className:"publication-card__title",children:e}),t?r.jsx("p",{className:"publication-card__kind",children:t}):null,r.jsx("p",{className:"publication-card__body",children:a}),i?r.jsx("div",{className:"publication-card__footer",children:i}):null]})}var j6="@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}}";ie(j6);function t0({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 L6='.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)}';ie(L6);function a0({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:Ee("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 M6=".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}}";ie(M6);function o0({items:e,className:t=""}){return r.jsx("ul",{className:Ee("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 r0(e){return typeof e=="string"?e:e.label}function Kd({value:e,onChange:t,suggestions:a,openOnFocus:o=!1,filterSuggestions:n,onSelectSuggestion:i,autoActiveFirst:l=!1}){const c=s.useId(),[d,u]=s.useState(!1),[h,p]=s.useState(-1),m=s.useRef(null),f=s.useMemo(()=>{if(!a.length)return[];const N=e??"";return n===!1?a:N?typeof n=="function"?n(a,N):a.filter(z=>r0(z).toLowerCase().includes(N.toLowerCase())):o?a:[]},[a,e,o,n]),[v,g]=s.useState(!1),x=s.useRef([]),_=v&&f.length===0?x.current:f;s.useEffect(()=>{_.length&&(x.current=_)},[_]);const b=s.useCallback(()=>g(!0),[]),w=s.useCallback(()=>g(!1),[]),C=l?0:-1;s.useEffect(()=>{d||p(C)},[d,C]),s.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const k=h<_.length?h:C<_.length?C:-1,y=s.useCallback(N=>{i?i(N):t?.(r0(N)),u(!1)},[t,i]),A=s.useCallback(()=>u(!0),[]),B=s.useCallback(()=>{u(!0),p(C)},[C]),S=s.useCallback(()=>{m.current=setTimeout(()=>u(!1),120)},[]),D=s.useCallback(N=>{N.nativeEvent.isComposing||N.keyCode===229||(N.key==="ArrowDown"?(N.preventDefault(),u(!0),p(z=>Math.min(_.length-1,(z<_.length?z:C)+1))):N.key==="ArrowUp"?(N.preventDefault(),p(z=>Math.max(C,(z<_.length?z:_.length)-1))):N.key==="Enter"?k>=0&&y(_[k]):N.key==="Escape"&&d&&(N.preventDefault(),u(!1)))},[_,k,d,y,C]);return{listId:c,open:d,activeIdx:k,filtered:_,handleFocus:A,handleBlur:S,handleInput:B,handleKeyDown:D,handleSelect:y,handleCompositionStart:b,handleCompositionEnd:w}}const Zd=typeof window<"u"?s.useLayoutEffect:s.useEffect;var $6=".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}";ie($6);function _o(e){const{value:t,defaultValue:a,name:o,inputRef:n,onChange:i,label:l,ariaLabel:c,ariaDescribedBy:d,required:u,placeholder:h,ghostText:p,ghostHint:m,type:f="text",disabled:v=!1,readOnly:g=!1,error:x,helperText:_,maxLength:b,size:w=48,variant:C="input",fullWidth:k=!1,newline:y=!1,multiline:A=!1,rows:B=3,leftIcon:S,rightIcon:D,clearable:N=!1,list:z,showCount:j=!0,className:U="",onFocus:T,onBlur:L,onKeyDown:I,onEnter:Y,inputMode:Q,autoComplete:P,autoFocus:W,suggestions:$,filterSuggestions:F,onSelectSuggestion:E,autoActiveFirst:H,openOnFocus:R=!1}=e,O=g||v?void 0:$,{t:V}=ye.useTranslation(),Z=s.useId();!l&&!c&&na(`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}`,X=`tf-helper-${Z}`,ne=s.useRef(null),ae=Kd({value:t??"",onChange:i,suggestions:O??[],openOnFocus:R,filterSuggestions:F,onSelectSuggestion:E,autoActiveFirst:H}),pe=!!O&&ae.open&&ae.filtered.length>0,De=s.useRef(null),[q,le]=s.useState(null),Ce=s.useCallback(()=>{const Se=De.current;if(!Se||typeof window>"u")return;const He=Se.getBoundingClientRect(),Be=230,Je=window.innerHeight-He.bottom<Be+8&&He.top>Be+8;le({position:"fixed",left:He.left,width:He.width,...Je?{bottom:window.innerHeight-He.top+8}:{top:He.bottom+8},zIndex:fn(Se)})},[]);Zd(()=>{if(!pe)return;Ce();const Se=He=>{const Be=He.target;Be&&Be.nodeType===1&&Be.closest?.(".text-field__suggestions")||Ce()};return window.addEventListener("scroll",Se,!0),window.addEventListener("resize",Ce),()=>{window.removeEventListener("scroll",Se,!0),window.removeEventListener("resize",Ce)}},[pe,Ce]);const Ne=s.useCallback(Se=>{ne.current=Se,typeof n=="function"?n(Se):n&&(n.current=Se)},[n]),_e=p?`${p}${m??V("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)")}`:h,re=t!==void 0,me=re&&f==="password",[ge,G]=s.useState((a??"").length),oe=re?(t??"").length:ge,he=s.useRef(t);Zd(()=>{he.current=t}),s.useEffect(()=>{const Se=ne.current;if(!me||!Se)return;const He=t??"";Se.value!==He&&(Se.value=He)},[me,t]),s.useEffect(()=>{if(!y||!ne.current)return;const Se=ne.current;Se.style.height="",Se.scrollHeight>Se.clientHeight&&(Se.style.height=`${Se.scrollHeight}px`)},[t,ge,y]);const Te=b!=null&&oe>b,Me=w===32?16:20,Pe=Ee("text-field",`text-field--s${w}`,C==="display"?"text-field--display":"",k?"text-field--full-width":"",v?"text-field--disabled":"",g?"text-field--readonly":"",x?"text-field--error":"",S?"text-field--has-left-icon":"",D||N?"text-field--has-right-icon":"",U),Ie={id:ee,...me?{}:re?{value:t}:{defaultValue:a},ref:Ne,placeholder:_e,name:o,disabled:v,readOnly:g,autoFocus:W,maxLength:b,list:z,inputMode:Q,autoComplete:P,"aria-label":!l&&c?c:void 0,"aria-required":u,"aria-invalid":!!x,"aria-describedby":[_||x?X:null,d].filter(Boolean).join(" ")||void 0,role:O?"combobox":void 0,"aria-autocomplete":O?"list":void 0,"aria-haspopup":O?"listbox":void 0,"aria-expanded":O?pe:void 0,"aria-controls":pe?ae.listId:void 0,"aria-activedescendant":pe&&ae.activeIdx>=0?`${ae.listId}-option-${ae.activeIdx}`:void 0,onChange:Se=>{const He=Se.target;re||G(He.value.length),i?.(He.value),O&&ae.handleInput(),me&&queueMicrotask(()=>{const Be=he.current??"";He.value!==Be&&(He.value=Be)})},onCompositionStart:O?ae.handleCompositionStart:void 0,onCompositionEnd:O?ae.handleCompositionEnd:void 0,onFocus:(Se=>{T?.(Se),O&&ae.handleFocus()}),onBlur:(Se=>{L?.(Se),O&&ae.handleBlur()}),onKeyDown:(Se=>{const He=(Se.key==="Tab"&&!Se.shiftKey||Se.key===" ")&&!Se.nativeEvent.isComposing;if(p&&He&&!g&&!v&&!(Se.currentTarget.value??"").trim()){Se.preventDefault();const Be=Se.currentTarget;re||(Be.value=p,G(p.length)),i?.(p);return}O&&Se.key==="Enter"&&!Se.nativeEvent.isComposing&&ae.activeIdx>=0?Se.preventDefault():Y&&Se.key==="Enter"&&!Se.nativeEvent.isComposing&&(Se.preventDefault(),Y()),I?.(Se),O&&ae.handleKeyDown(Se)})},pt=N&&!v&&!g&&oe>0,it=()=>y?r.jsx("textarea",{...Ie,className:"text-field__input text-field__input--auto body-2",rows:1}):A?r.jsx("textarea",{...Ie,className:"text-field__input text-field__input--textarea body-2",rows:B}):r.jsx("input",{...Ie,type:f,className:"text-field__input body-2"}),Qe=C==="display"&&!y&&!A&&!!_e,dt=()=>r.jsxs(r.Fragment,{children:[it(),Qe&&r.jsx("span",{className:"text-field__placeholder","aria-hidden":"true",children:_e})]});return r.jsxs("div",{ref:De,className:Pe,children:[l&&r.jsxs("label",{htmlFor:ee,className:"text-field__label caption-1",children:[l,u&&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(at,{icon:S,label:"",className:"",svgClassName:"text-field__icon-svg",size:Me})}),dt(),b!=null&&j&&r.jsxs("span",{className:`text-field__count caption-2${Te?" text-field__count--over":""}`,children:[oe,"/",b]}),pt&&r.jsx(fe,{size:24,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,className:"text-field__clear",ariaLabel:V("textField.clearAriaLabel","\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"),htmlType:"button",onMouseDown:Se=>{Se.preventDefault()},onClick:()=>{!re&&ne.current&&(ne.current.value="",G(0)),i?.("")},tabIndex:-1}),D&&!pt&&r.jsx("span",{className:"text-field__icon text-field__icon--right",children:r.jsx(at,{icon:D,label:"",className:"",svgClassName:"text-field__icon-svg",size:Me})})]}),!!O&&r.jsx("span",{className:"text-field__status",role:"status","aria-live":"polite",children:ae.open&&(t??"").length>0&&ae.filtered.length===0?V("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"):""}),pe&&(typeof document>"u"?null:pa.createPortal(r.jsx("ul",{id:ae.listId,className:"text-field__suggestions",role:"listbox",style:q??{position:"fixed",visibility:"hidden"},"data-tooltip-ignore":!0,children:ae.filtered.map((Se,He)=>r.jsx("li",{id:`${ae.listId}-option-${He}`,role:"option","aria-selected":He===ae.activeIdx,className:`text-field__suggestion body-2${He===ae.activeIdx?" is-active":""}`,onMouseDown:Be=>Be.preventDefault(),onClick:()=>{ae.handleSelect(Se),ne.current?.focus()},children:typeof Se=="string"?Se:r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-field__suggestion-label",children:Se.label}),Se.hint&&r.jsx("span",{className:"text-field__suggestion-hint caption-1",children:Se.hint})]})},typeof Se=="string"?`${Se}-${He}`:Se.id))}),document.body)),(_||x)&&r.jsx("div",{className:"text-field__footer",children:r.jsx("span",{id:X,className:"text-field__helper caption-1",role:x?"alert":void 0,children:x||_})})]})}var R6=".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}";ie(R6);function Ca({options:e,value:t,onChange:a,placeholder:o,disabled:n=!1,block:i=!1,size:l=48,error:c=!1,className:d="",ariaLabel:u,ariaDescribedBy:h}){const{t:p}=ye.useTranslation(),m=o??p("dropdown.placeholder","\uC120\uD0DD"),f=s.useId(),v=s.useId(),g=s.useRef(null),x=s.useCallback((T,L)=>{const I=window.innerHeight-T.bottom<260&&T.top>260;return{position:"fixed",left:T.left,minWidth:T.width,...I?{bottom:window.innerHeight-T.top+6}:{top:T.bottom+6},zIndex:fn(L)}},[]),{open:_,setOpen:b,toggle:w,style:C,triggerRef:k,menuRef:y}=Fo({computeStyle:x}),[A,B]=s.useState(-1),S=s.useCallback(()=>B(-1),[]),D=e.find(T=>T.value===t);s.useEffect(()=>{if(_){const T=e.findIndex(L=>L.value===t);B(T>=0?T:e.length?0:-1),requestAnimationFrame(()=>{const L=y.current;if(!L)return;const I=L.querySelectorAll(".dropdown__option")[T];I&&(L.scrollTop=Math.max(0,I.offsetTop-L.clientHeight/2+I.clientHeight/2))})}},[_]),s.useEffect(()=>{_&&B(T=>{if(T>=0&&T<e.length)return T;const L=e.findIndex(I=>I.value===t);return L>=0?L:e.length?0:-1})},[_,e.length]);const N=s.useCallback(()=>{n||w()},[n,w]),z=s.useCallback(T=>{T.disabled||n||(T.value!==t&&a?.(T.value),b(!1))},[a,b,n,t]);s.useEffect(()=>{n&&b(!1)},[n,b]);const j=s.useCallback(T=>{if(!n){if(!_){(T.key==="Enter"||T.key===" "||T.key==="ArrowDown")&&(T.preventDefault(),b(!0));return}if(T.key==="Escape"){T.preventDefault(),b(!1);return}T.key==="ArrowDown"?(T.preventDefault(),B(L=>{let I=L+1;for(;I<e.length&&e[I].disabled;)I++;return I<e.length?I:L})):T.key==="ArrowUp"?(T.preventDefault(),B(L=>{let I=L-1;for(;I>=0&&e[I].disabled;)I--;return I>=0?I:L})):(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),e[A]?z(e[A]):b(!1))}},[n,_,e,A,z,b]),U=_?r.jsx("div",{ref:y,id:f,className:"dropdown__menu","data-tooltip-ignore":!0,role:"listbox",style:C,onMouseLeave:S,onMouseDown:T=>T.preventDefault(),children:e.map((T,L)=>r.jsxs("button",{id:`${f}-option-${L}`,type:"button",role:"option","aria-selected":T.value===t,className:Ee("dropdown__option body-2",T.value===t?"dropdown__option--active":"",L===A?"dropdown__option--active":"",T.disabled?"dropdown__option--disabled":""),onMouseDown:I=>I.preventDefault(),onClick:()=>z(T),onMouseEnter:()=>B(L),disabled:T.disabled,children:[r.jsx("span",{className:"dropdown__option-check",children:T.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"})})}),T.label]},T.value))}):null;return r.jsxs("div",{ref:g,className:Ee("dropdown",`dropdown--s${l}`,_?"dropdown--open":"",i?"dropdown--block":"",c?"dropdown--error":"",d),onKeyDown:j,children:[r.jsxs("button",{ref:k,type:"button",className:"dropdown__trigger",role:"combobox","aria-haspopup":"listbox","aria-expanded":_,"aria-controls":_?f:void 0,"aria-activedescendant":_&&A>=0?`${f}-option-${A}`:void 0,"aria-label":u,"aria-describedby":[u&&D?v:"",h??""].filter(Boolean).join(" ")||void 0,"aria-invalid":c||void 0,disabled:n,onClick:N,onBlur:T=>{_&&!y.current?.contains(T.relatedTarget)&&b(!1)},children:[r.jsx("span",{id:v,className:`dropdown__trigger-label body-2${D?"":" dropdown__trigger-label--placeholder"}`,children:D?D.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(U,g.current?.closest(".ihabdevteam-core-scope")??document.body)]})}var P6=".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}";ie(P6);function yn({page:e,totalPages:t,onChange:a,prevLabel:o,nextLabel:n,className:i=""}){const{t:l}=ye.useTranslation(),c=o??l("common.prevPage","\uC774\uC804 \uD398\uC774\uC9C0"),d=n??l("common.nextPage","\uB2E4\uC74C \uD398\uC774\uC9C0"),u=Math.max(1,t),h=()=>a(Math.max(1,Math.min(u,e-1))),p=()=>a(Math.min(u,e+1));return r.jsxs("div",{className:Ee("pagination",i),children:[r.jsx(fe,{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),u)," / ",u]}),r.jsx(fe,{htmlType:"button",size:32,type:"dot",shape:"rounded",icon:"chevron-right",ariaLabel:d,disabled:e>=t,onClick:p})]})}var z6=".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}}";ie(z6);const wn=new Map;function Ha(e){const{t}=ye.useTranslation(),{options:a=[],value:o=a.find(C=>!C.disabled)?.key??a[0]?.key,onChange:n=C=>{},className:i="",size:l=40,shape:c="pill",useBG:d=!0,fullWidth:u=!1,minButtonWidth:h,ariaLabel:p}=e||{},m=s.useRef(null),f=a.filter(C=>!C.disabled),v=s.useId(),g=a.map(C=>C.key).join("\xB7");s.useEffect(()=>{if(!(!Yo||p!=null&&p!=="")){if(wn.set(v,g||"(\uBCF4\uAE30 \uC5C6\uC74C)"),wn.size>1){const C=[...wn.values()].sort();na(`segmented-control-unnamed:${C.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): ${C.join(" / ")}`)}return()=>{wn.delete(v)}}},[p,g,v]);const x=C=>{if(!f.length)return;const k=Math.max(0,f.findIndex(A=>A.key===o)),y=C==="first"?f[0]:C==="last"?f[f.length-1]:f[(k+C+f.length)%f.length];y&&(n(y.key),Array.from(m.current?.querySelectorAll("[data-segkey]")??[]).find(A=>A.dataset.segkey===y.key)?.focus())},_=C=>{switch(C.key){case"ArrowRight":case"ArrowDown":x(1);break;case"ArrowLeft":case"ArrowUp":x(-1);break;case"Home":x("first");break;case"End":x("last");break;default:return}C.preventDefault()},b=C=>{const k=y=>typeof y=="string"||typeof y=="number";if(!(!k(C.label)||C.count==null||C.count===!1||!k(C.count)))return`${C.label}, ${C.count}`},w=f.some(C=>C.key===o)?o:f[0]?.key;return r.jsx("div",{ref:m,onKeyDown:_,className:Ee("segmented-control",`segmented-control--${c}`,`segmented-control--${l}`,u&&"segmented-control--full",!d&&"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(C=>r.jsx(fe,{htmlType:"button",role:"radio","aria-checked":C.key===o,"data-segkey":C.key,tabIndex:C.key===w?0:-1,label:C.label,count:C.count,ariaLabel:b(C),disabled:C.disabled,className:C.key===o?"is-selected":"",onClick:()=>{C.disabled||n(C.key)},size:l,shape:c,useBorder:!1,useBG:!1},C.key))})}var I6=".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)}";ie(I6);function $i({count:e,search:t,segment:a,filters:o,pageSize:n,pagination:i,actions:l,className:c}){const{t:d}=ye.useTranslation(),u=e!=null&&r.jsxs("p",{className:"toolbar__count body-1",role:"status","aria-atomic":"true",children:[e.prefix??d("common.totalPrefix","\uCD1D "),r.jsx("span",{className:"toolbar__count-highlight",children:e.value}),e.unit,e.suffix]}),h=!!(t||o?.length||n||i||l);return r.jsxs("div",{className:Ee("toolbar",c),children:[r.jsxs("div",{className:"toolbar__row",children:[u,a&&(Array.isArray(a)?a:[a]).map((p,m)=>r.jsx(Ha,{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(_o,{className:"toolbar__search",size:40,value:t.value,onChange:t.onChange,placeholder:t.placeholder??d("common.search","\uAC80\uC0C9"),ariaLabel:t.placeholder??d("common.search","\uAC80\uC0C9"),autoFocus:t.autoFocus,clearable:!0}),o?.map((p,m)=>r.jsx(Ca,{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(Ca,{size:40,options:n.options,value:n.value,onChange:n.onChange,ariaLabel:n.ariaLabel??d("common.pageSizeSelect","\uD398\uC774\uC9C0\uB2F9 \uD45C\uC2DC \uAC1C\uC218")}),i&&r.jsx(yn,{page:i.page,totalPages:i.total,onChange:i.onChange,prevLabel:i.prevLabel,nextLabel:i.nextLabel})]}),l]})})]})}var O6=".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)}";ie(O6);function n0(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(n0).join(""):""}function F6(e){let t=e.replace(/\r\n/g,`
|
|
854
854
|
`).replace(/\r/g,`
|