| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675 | 
							- function makeMap(str, expectsLowerCase) {
 
-   const map = /* @__PURE__ */ Object.create(null);
 
-   const list = str.split(",");
 
-   for (let i = 0; i < list.length; i++) {
 
-     map[list[i]] = true;
 
-   }
 
-   return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
 
- }
 
- const EMPTY_OBJ = Object.freeze({}) ;
 
- const EMPTY_ARR = Object.freeze([]) ;
 
- const NOOP = () => {
 
- };
 
- const NO = () => false;
 
- const onRE = /^on[^a-z]/;
 
- const isOn = (key) => onRE.test(key);
 
- const isModelListener = (key) => key.startsWith("onUpdate:");
 
- const extend = Object.assign;
 
- const remove = (arr, el) => {
 
-   const i = arr.indexOf(el);
 
-   if (i > -1) {
 
-     arr.splice(i, 1);
 
-   }
 
- };
 
- const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
 
- const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
 
- const isArray = Array.isArray;
 
- const isMap = (val) => toTypeString(val) === "[object Map]";
 
- const isSet = (val) => toTypeString(val) === "[object Set]";
 
- const isDate = (val) => toTypeString(val) === "[object Date]";
 
- const isFunction = (val) => typeof val === "function";
 
- const isString = (val) => typeof val === "string";
 
- const isSymbol = (val) => typeof val === "symbol";
 
- const isObject = (val) => val !== null && typeof val === "object";
 
- const isPromise = (val) => {
 
-   return isObject(val) && isFunction(val.then) && isFunction(val.catch);
 
- };
 
- const objectToString = Object.prototype.toString;
 
- const toTypeString = (value) => objectToString.call(value);
 
- const toRawType = (value) => {
 
-   return toTypeString(value).slice(8, -1);
 
- };
 
- const isPlainObject = (val) => toTypeString(val) === "[object Object]";
 
- const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
 
- const isReservedProp = /* @__PURE__ */ makeMap(
 
-   // the leading comma is intentional so empty string "" is also included
 
-   ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
 
- );
 
- const isBuiltInDirective = /* @__PURE__ */ makeMap(
 
-   "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
 
- );
 
- const cacheStringFunction = (fn) => {
 
-   const cache = /* @__PURE__ */ Object.create(null);
 
-   return (str) => {
 
-     const hit = cache[str];
 
-     return hit || (cache[str] = fn(str));
 
-   };
 
- };
 
- const camelizeRE = /-(\w)/g;
 
- const camelize = cacheStringFunction((str) => {
 
-   return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
 
- });
 
- const hyphenateRE = /\B([A-Z])/g;
 
- const hyphenate = cacheStringFunction(
 
-   (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
 
- );
 
- const capitalize = cacheStringFunction(
 
-   (str) => str.charAt(0).toUpperCase() + str.slice(1)
 
- );
 
- const toHandlerKey = cacheStringFunction(
 
-   (str) => str ? `on${capitalize(str)}` : ``
 
- );
 
- const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
 
- const invokeArrayFns = (fns, arg) => {
 
-   for (let i = 0; i < fns.length; i++) {
 
-     fns[i](arg);
 
-   }
 
- };
 
- const def = (obj, key, value) => {
 
-   Object.defineProperty(obj, key, {
 
-     configurable: true,
 
-     enumerable: false,
 
-     value
 
-   });
 
- };
 
- const looseToNumber = (val) => {
 
-   const n = parseFloat(val);
 
-   return isNaN(n) ? val : n;
 
- };
 
- let _globalThis;
 
- const getGlobalThis = () => {
 
-   return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
 
- };
 
- function normalizeStyle(value) {
 
-   if (isArray(value)) {
 
-     const res = {};
 
-     for (let i = 0; i < value.length; i++) {
 
-       const item = value[i];
 
-       const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
 
-       if (normalized) {
 
-         for (const key in normalized) {
 
-           res[key] = normalized[key];
 
-         }
 
-       }
 
-     }
 
-     return res;
 
-   } else if (isString(value)) {
 
-     return value;
 
-   } else if (isObject(value)) {
 
-     return value;
 
-   }
 
- }
 
- const listDelimiterRE = /;(?![^(]*\))/g;
 
- const propertyDelimiterRE = /:([^]+)/;
 
- const styleCommentRE = /\/\*[^]*?\*\//g;
 
- function parseStringStyle(cssText) {
 
-   const ret = {};
 
-   cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
 
-     if (item) {
 
-       const tmp = item.split(propertyDelimiterRE);
 
-       tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
 
-     }
 
-   });
 
-   return ret;
 
- }
 
- function stringifyStyle(styles) {
 
-   let ret = "";
 
-   if (!styles || isString(styles)) {
 
-     return ret;
 
-   }
 
-   for (const key in styles) {
 
-     const value = styles[key];
 
-     const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
 
-     if (isString(value) || typeof value === "number") {
 
-       ret += `${normalizedKey}:${value};`;
 
-     }
 
-   }
 
-   return ret;
 
- }
 
- function normalizeClass(value) {
 
-   let res = "";
 
-   if (isString(value)) {
 
-     res = value;
 
-   } else if (isArray(value)) {
 
-     for (let i = 0; i < value.length; i++) {
 
-       const normalized = normalizeClass(value[i]);
 
-       if (normalized) {
 
-         res += normalized + " ";
 
-       }
 
-     }
 
-   } else if (isObject(value)) {
 
-     for (const name in value) {
 
-       if (value[name]) {
 
-         res += name + " ";
 
-       }
 
-     }
 
-   }
 
-   return res.trim();
 
- }
 
- const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
 
- const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
 
- const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
 
- const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
 
- const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
 
- const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
 
- const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
 
- const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
 
- const isBooleanAttr = /* @__PURE__ */ makeMap(
 
-   specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
 
- );
 
- function includeBooleanAttr(value) {
 
-   return !!value || value === "";
 
- }
 
- const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
 
- const attrValidationCache = {};
 
- function isSSRSafeAttrName(name) {
 
-   if (attrValidationCache.hasOwnProperty(name)) {
 
-     return attrValidationCache[name];
 
-   }
 
-   const isUnsafe = unsafeAttrCharRE.test(name);
 
-   if (isUnsafe) {
 
-     console.error(`unsafe attribute name: ${name}`);
 
-   }
 
-   return attrValidationCache[name] = !isUnsafe;
 
- }
 
- const propsToAttrMap = {
 
-   acceptCharset: "accept-charset",
 
-   className: "class",
 
-   htmlFor: "for",
 
-   httpEquiv: "http-equiv"
 
- };
 
- const escapeRE = /["'&<>]/;
 
- function escapeHtml(string) {
 
-   const str = "" + string;
 
-   const match = escapeRE.exec(str);
 
-   if (!match) {
 
-     return str;
 
-   }
 
-   let html = "";
 
-   let escaped;
 
-   let index;
 
-   let lastIndex = 0;
 
-   for (index = match.index; index < str.length; index++) {
 
-     switch (str.charCodeAt(index)) {
 
-       case 34:
 
-         escaped = """;
 
-         break;
 
-       case 38:
 
-         escaped = "&";
 
-         break;
 
-       case 39:
 
-         escaped = "'";
 
-         break;
 
-       case 60:
 
-         escaped = "<";
 
-         break;
 
-       case 62:
 
-         escaped = ">";
 
-         break;
 
-       default:
 
-         continue;
 
-     }
 
-     if (lastIndex !== index) {
 
-       html += str.slice(lastIndex, index);
 
-     }
 
-     lastIndex = index + 1;
 
-     html += escaped;
 
-   }
 
-   return lastIndex !== index ? html + str.slice(lastIndex, index) : html;
 
- }
 
- const commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
 
- function escapeHtmlComment(src) {
 
-   return src.replace(commentStripRE, "");
 
- }
 
- function looseCompareArrays(a, b) {
 
-   if (a.length !== b.length)
 
-     return false;
 
-   let equal = true;
 
-   for (let i = 0; equal && i < a.length; i++) {
 
-     equal = looseEqual(a[i], b[i]);
 
-   }
 
-   return equal;
 
- }
 
- function looseEqual(a, b) {
 
-   if (a === b)
 
-     return true;
 
-   let aValidType = isDate(a);
 
-   let bValidType = isDate(b);
 
-   if (aValidType || bValidType) {
 
-     return aValidType && bValidType ? a.getTime() === b.getTime() : false;
 
-   }
 
-   aValidType = isSymbol(a);
 
-   bValidType = isSymbol(b);
 
-   if (aValidType || bValidType) {
 
-     return a === b;
 
-   }
 
-   aValidType = isArray(a);
 
-   bValidType = isArray(b);
 
-   if (aValidType || bValidType) {
 
-     return aValidType && bValidType ? looseCompareArrays(a, b) : false;
 
-   }
 
-   aValidType = isObject(a);
 
-   bValidType = isObject(b);
 
-   if (aValidType || bValidType) {
 
-     if (!aValidType || !bValidType) {
 
-       return false;
 
-     }
 
-     const aKeysCount = Object.keys(a).length;
 
-     const bKeysCount = Object.keys(b).length;
 
-     if (aKeysCount !== bKeysCount) {
 
-       return false;
 
-     }
 
-     for (const key in a) {
 
-       const aHasKey = a.hasOwnProperty(key);
 
-       const bHasKey = b.hasOwnProperty(key);
 
-       if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {
 
-         return false;
 
-       }
 
-     }
 
-   }
 
-   return String(a) === String(b);
 
- }
 
- function looseIndexOf(arr, val) {
 
-   return arr.findIndex((item) => looseEqual(item, val));
 
- }
 
- const toDisplayString = (val) => {
 
-   return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
 
- };
 
- const replacer = (_key, val) => {
 
-   if (val && val.__v_isRef) {
 
-     return replacer(_key, val.value);
 
-   } else if (isMap(val)) {
 
-     return {
 
-       [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
 
-         entries[`${key} =>`] = val2;
 
-         return entries;
 
-       }, {})
 
-     };
 
-   } else if (isSet(val)) {
 
-     return {
 
-       [`Set(${val.size})`]: [...val.values()]
 
-     };
 
-   } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
 
-     return String(val);
 
-   }
 
-   return val;
 
- };
 
- function warn$1(msg, ...args) {
 
-   console.warn(`[Vue warn] ${msg}`, ...args);
 
- }
 
- let activeEffectScope;
 
- class EffectScope {
 
-   constructor(detached = false) {
 
-     this.detached = detached;
 
-     /**
 
-      * @internal
 
-      */
 
-     this._active = true;
 
-     /**
 
-      * @internal
 
-      */
 
-     this.effects = [];
 
-     /**
 
-      * @internal
 
-      */
 
-     this.cleanups = [];
 
-     this.parent = activeEffectScope;
 
-     if (!detached && activeEffectScope) {
 
-       this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
 
-         this
 
-       ) - 1;
 
-     }
 
-   }
 
-   get active() {
 
-     return this._active;
 
-   }
 
-   run(fn) {
 
-     if (this._active) {
 
-       const currentEffectScope = activeEffectScope;
 
-       try {
 
-         activeEffectScope = this;
 
-         return fn();
 
-       } finally {
 
-         activeEffectScope = currentEffectScope;
 
-       }
 
-     } else {
 
-       warn$1(`cannot run an inactive effect scope.`);
 
-     }
 
-   }
 
-   /**
 
-    * This should only be called on non-detached scopes
 
-    * @internal
 
-    */
 
-   on() {
 
-     activeEffectScope = this;
 
-   }
 
-   /**
 
-    * This should only be called on non-detached scopes
 
-    * @internal
 
-    */
 
-   off() {
 
-     activeEffectScope = this.parent;
 
-   }
 
-   stop(fromParent) {
 
-     if (this._active) {
 
-       let i, l;
 
-       for (i = 0, l = this.effects.length; i < l; i++) {
 
-         this.effects[i].stop();
 
-       }
 
-       for (i = 0, l = this.cleanups.length; i < l; i++) {
 
-         this.cleanups[i]();
 
-       }
 
-       if (this.scopes) {
 
-         for (i = 0, l = this.scopes.length; i < l; i++) {
 
-           this.scopes[i].stop(true);
 
-         }
 
-       }
 
-       if (!this.detached && this.parent && !fromParent) {
 
-         const last = this.parent.scopes.pop();
 
-         if (last && last !== this) {
 
-           this.parent.scopes[this.index] = last;
 
-           last.index = this.index;
 
-         }
 
-       }
 
-       this.parent = void 0;
 
-       this._active = false;
 
-     }
 
-   }
 
- }
 
- function recordEffectScope(effect, scope = activeEffectScope) {
 
-   if (scope && scope.active) {
 
-     scope.effects.push(effect);
 
-   }
 
- }
 
- function getCurrentScope() {
 
-   return activeEffectScope;
 
- }
 
- const createDep = (effects) => {
 
-   const dep = new Set(effects);
 
-   dep.w = 0;
 
-   dep.n = 0;
 
-   return dep;
 
- };
 
- const wasTracked = (dep) => (dep.w & trackOpBit) > 0;
 
- const newTracked = (dep) => (dep.n & trackOpBit) > 0;
 
- const initDepMarkers = ({ deps }) => {
 
-   if (deps.length) {
 
-     for (let i = 0; i < deps.length; i++) {
 
-       deps[i].w |= trackOpBit;
 
-     }
 
-   }
 
- };
 
- const finalizeDepMarkers = (effect) => {
 
-   const { deps } = effect;
 
-   if (deps.length) {
 
-     let ptr = 0;
 
-     for (let i = 0; i < deps.length; i++) {
 
-       const dep = deps[i];
 
-       if (wasTracked(dep) && !newTracked(dep)) {
 
-         dep.delete(effect);
 
-       } else {
 
-         deps[ptr++] = dep;
 
-       }
 
-       dep.w &= ~trackOpBit;
 
-       dep.n &= ~trackOpBit;
 
-     }
 
-     deps.length = ptr;
 
-   }
 
- };
 
- const targetMap = /* @__PURE__ */ new WeakMap();
 
- let effectTrackDepth = 0;
 
- let trackOpBit = 1;
 
- const maxMarkerBits = 30;
 
- let activeEffect;
 
- const ITERATE_KEY = Symbol("iterate" );
 
- const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate" );
 
- class ReactiveEffect {
 
-   constructor(fn, scheduler = null, scope) {
 
-     this.fn = fn;
 
-     this.scheduler = scheduler;
 
-     this.active = true;
 
-     this.deps = [];
 
-     this.parent = void 0;
 
-     recordEffectScope(this, scope);
 
-   }
 
-   run() {
 
-     if (!this.active) {
 
-       return this.fn();
 
-     }
 
-     let parent = activeEffect;
 
-     let lastShouldTrack = shouldTrack;
 
-     while (parent) {
 
-       if (parent === this) {
 
-         return;
 
-       }
 
-       parent = parent.parent;
 
-     }
 
-     try {
 
-       this.parent = activeEffect;
 
-       activeEffect = this;
 
-       shouldTrack = true;
 
-       trackOpBit = 1 << ++effectTrackDepth;
 
-       if (effectTrackDepth <= maxMarkerBits) {
 
-         initDepMarkers(this);
 
-       } else {
 
-         cleanupEffect(this);
 
-       }
 
-       return this.fn();
 
-     } finally {
 
-       if (effectTrackDepth <= maxMarkerBits) {
 
-         finalizeDepMarkers(this);
 
-       }
 
-       trackOpBit = 1 << --effectTrackDepth;
 
-       activeEffect = this.parent;
 
-       shouldTrack = lastShouldTrack;
 
-       this.parent = void 0;
 
-       if (this.deferStop) {
 
-         this.stop();
 
-       }
 
-     }
 
-   }
 
-   stop() {
 
-     if (activeEffect === this) {
 
-       this.deferStop = true;
 
-     } else if (this.active) {
 
-       cleanupEffect(this);
 
-       if (this.onStop) {
 
-         this.onStop();
 
-       }
 
-       this.active = false;
 
-     }
 
-   }
 
- }
 
- function cleanupEffect(effect2) {
 
-   const { deps } = effect2;
 
-   if (deps.length) {
 
-     for (let i = 0; i < deps.length; i++) {
 
-       deps[i].delete(effect2);
 
-     }
 
-     deps.length = 0;
 
-   }
 
- }
 
- let shouldTrack = true;
 
- const trackStack = [];
 
- function pauseTracking() {
 
-   trackStack.push(shouldTrack);
 
-   shouldTrack = false;
 
- }
 
- function resetTracking() {
 
-   const last = trackStack.pop();
 
-   shouldTrack = last === void 0 ? true : last;
 
- }
 
- function track(target, type, key) {
 
-   if (shouldTrack && activeEffect) {
 
-     let depsMap = targetMap.get(target);
 
-     if (!depsMap) {
 
-       targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
 
-     }
 
-     let dep = depsMap.get(key);
 
-     if (!dep) {
 
-       depsMap.set(key, dep = createDep());
 
-     }
 
-     const eventInfo = { effect: activeEffect, target, type, key } ;
 
-     trackEffects(dep, eventInfo);
 
-   }
 
- }
 
- function trackEffects(dep, debuggerEventExtraInfo) {
 
-   let shouldTrack2 = false;
 
-   if (effectTrackDepth <= maxMarkerBits) {
 
-     if (!newTracked(dep)) {
 
-       dep.n |= trackOpBit;
 
-       shouldTrack2 = !wasTracked(dep);
 
-     }
 
-   } else {
 
-     shouldTrack2 = !dep.has(activeEffect);
 
-   }
 
-   if (shouldTrack2) {
 
-     dep.add(activeEffect);
 
-     activeEffect.deps.push(dep);
 
-     if (activeEffect.onTrack) {
 
-       activeEffect.onTrack(
 
-         extend(
 
-           {
 
-             effect: activeEffect
 
-           },
 
-           debuggerEventExtraInfo
 
-         )
 
-       );
 
-     }
 
-   }
 
- }
 
- function trigger(target, type, key, newValue, oldValue, oldTarget) {
 
-   const depsMap = targetMap.get(target);
 
-   if (!depsMap) {
 
-     return;
 
-   }
 
-   let deps = [];
 
-   if (type === "clear") {
 
-     deps = [...depsMap.values()];
 
-   } else if (key === "length" && isArray(target)) {
 
-     const newLength = Number(newValue);
 
-     depsMap.forEach((dep, key2) => {
 
-       if (key2 === "length" || key2 >= newLength) {
 
-         deps.push(dep);
 
-       }
 
-     });
 
-   } else {
 
-     if (key !== void 0) {
 
-       deps.push(depsMap.get(key));
 
-     }
 
-     switch (type) {
 
-       case "add":
 
-         if (!isArray(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-           if (isMap(target)) {
 
-             deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
 
-           }
 
-         } else if (isIntegerKey(key)) {
 
-           deps.push(depsMap.get("length"));
 
-         }
 
-         break;
 
-       case "delete":
 
-         if (!isArray(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-           if (isMap(target)) {
 
-             deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
 
-           }
 
-         }
 
-         break;
 
-       case "set":
 
-         if (isMap(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-         }
 
-         break;
 
-     }
 
-   }
 
-   const eventInfo = { target, type, key, newValue, oldValue, oldTarget } ;
 
-   if (deps.length === 1) {
 
-     if (deps[0]) {
 
-       {
 
-         triggerEffects(deps[0], eventInfo);
 
-       }
 
-     }
 
-   } else {
 
-     const effects = [];
 
-     for (const dep of deps) {
 
-       if (dep) {
 
-         effects.push(...dep);
 
-       }
 
-     }
 
-     {
 
-       triggerEffects(createDep(effects), eventInfo);
 
-     }
 
-   }
 
- }
 
- function triggerEffects(dep, debuggerEventExtraInfo) {
 
-   const effects = isArray(dep) ? dep : [...dep];
 
-   for (const effect2 of effects) {
 
-     if (effect2.computed) {
 
-       triggerEffect(effect2, debuggerEventExtraInfo);
 
-     }
 
-   }
 
-   for (const effect2 of effects) {
 
-     if (!effect2.computed) {
 
-       triggerEffect(effect2, debuggerEventExtraInfo);
 
-     }
 
-   }
 
- }
 
- function triggerEffect(effect2, debuggerEventExtraInfo) {
 
-   if (effect2 !== activeEffect || effect2.allowRecurse) {
 
-     if (effect2.onTrigger) {
 
-       effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));
 
-     }
 
-     if (effect2.scheduler) {
 
-       effect2.scheduler();
 
-     } else {
 
-       effect2.run();
 
-     }
 
-   }
 
- }
 
- const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
 
- const builtInSymbols = new Set(
 
-   /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
 
- );
 
- const get$1 = /* @__PURE__ */ createGetter();
 
- const shallowGet = /* @__PURE__ */ createGetter(false, true);
 
- const readonlyGet = /* @__PURE__ */ createGetter(true);
 
- const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
 
- const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
 
- function createArrayInstrumentations() {
 
-   const instrumentations = {};
 
-   ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
 
-     instrumentations[key] = function(...args) {
 
-       const arr = toRaw(this);
 
-       for (let i = 0, l = this.length; i < l; i++) {
 
-         track(arr, "get", i + "");
 
-       }
 
-       const res = arr[key](...args);
 
-       if (res === -1 || res === false) {
 
-         return arr[key](...args.map(toRaw));
 
-       } else {
 
-         return res;
 
-       }
 
-     };
 
-   });
 
-   ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
 
-     instrumentations[key] = function(...args) {
 
-       pauseTracking();
 
-       const res = toRaw(this)[key].apply(this, args);
 
-       resetTracking();
 
-       return res;
 
-     };
 
-   });
 
-   return instrumentations;
 
- }
 
- function hasOwnProperty(key) {
 
-   const obj = toRaw(this);
 
-   track(obj, "has", key);
 
-   return obj.hasOwnProperty(key);
 
- }
 
- function createGetter(isReadonly2 = false, shallow = false) {
 
-   return function get2(target, key, receiver) {
 
-     if (key === "__v_isReactive") {
 
-       return !isReadonly2;
 
-     } else if (key === "__v_isReadonly") {
 
-       return isReadonly2;
 
-     } else if (key === "__v_isShallow") {
 
-       return shallow;
 
-     } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
 
-       return target;
 
-     }
 
-     const targetIsArray = isArray(target);
 
-     if (!isReadonly2) {
 
-       if (targetIsArray && hasOwn(arrayInstrumentations, key)) {
 
-         return Reflect.get(arrayInstrumentations, key, receiver);
 
-       }
 
-       if (key === "hasOwnProperty") {
 
-         return hasOwnProperty;
 
-       }
 
-     }
 
-     const res = Reflect.get(target, key, receiver);
 
-     if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
 
-       return res;
 
-     }
 
-     if (!isReadonly2) {
 
-       track(target, "get", key);
 
-     }
 
-     if (shallow) {
 
-       return res;
 
-     }
 
-     if (isRef(res)) {
 
-       return targetIsArray && isIntegerKey(key) ? res : res.value;
 
-     }
 
-     if (isObject(res)) {
 
-       return isReadonly2 ? readonly(res) : reactive(res);
 
-     }
 
-     return res;
 
-   };
 
- }
 
- const set$1 = /* @__PURE__ */ createSetter();
 
- const shallowSet = /* @__PURE__ */ createSetter(true);
 
- function createSetter(shallow = false) {
 
-   return function set2(target, key, value, receiver) {
 
-     let oldValue = target[key];
 
-     if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
 
-       return false;
 
-     }
 
-     if (!shallow) {
 
-       if (!isShallow(value) && !isReadonly(value)) {
 
-         oldValue = toRaw(oldValue);
 
-         value = toRaw(value);
 
-       }
 
-       if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
 
-         oldValue.value = value;
 
-         return true;
 
-       }
 
-     }
 
-     const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
 
-     const result = Reflect.set(target, key, value, receiver);
 
-     if (target === toRaw(receiver)) {
 
-       if (!hadKey) {
 
-         trigger(target, "add", key, value);
 
-       } else if (hasChanged(value, oldValue)) {
 
-         trigger(target, "set", key, value, oldValue);
 
-       }
 
-     }
 
-     return result;
 
-   };
 
- }
 
- function deleteProperty(target, key) {
 
-   const hadKey = hasOwn(target, key);
 
-   const oldValue = target[key];
 
-   const result = Reflect.deleteProperty(target, key);
 
-   if (result && hadKey) {
 
-     trigger(target, "delete", key, void 0, oldValue);
 
-   }
 
-   return result;
 
- }
 
- function has$1(target, key) {
 
-   const result = Reflect.has(target, key);
 
-   if (!isSymbol(key) || !builtInSymbols.has(key)) {
 
-     track(target, "has", key);
 
-   }
 
-   return result;
 
- }
 
- function ownKeys(target) {
 
-   track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
 
-   return Reflect.ownKeys(target);
 
- }
 
- const mutableHandlers = {
 
-   get: get$1,
 
-   set: set$1,
 
-   deleteProperty,
 
-   has: has$1,
 
-   ownKeys
 
- };
 
- const readonlyHandlers = {
 
-   get: readonlyGet,
 
-   set(target, key) {
 
-     {
 
-       warn$1(
 
-         `Set operation on key "${String(key)}" failed: target is readonly.`,
 
-         target
 
-       );
 
-     }
 
-     return true;
 
-   },
 
-   deleteProperty(target, key) {
 
-     {
 
-       warn$1(
 
-         `Delete operation on key "${String(key)}" failed: target is readonly.`,
 
-         target
 
-       );
 
-     }
 
-     return true;
 
-   }
 
- };
 
- const shallowReactiveHandlers = /* @__PURE__ */ extend(
 
-   {},
 
-   mutableHandlers,
 
-   {
 
-     get: shallowGet,
 
-     set: shallowSet
 
-   }
 
- );
 
- const shallowReadonlyHandlers = /* @__PURE__ */ extend(
 
-   {},
 
-   readonlyHandlers,
 
-   {
 
-     get: shallowReadonlyGet
 
-   }
 
- );
 
- const toShallow = (value) => value;
 
- const getProto = (v) => Reflect.getPrototypeOf(v);
 
- function get(target, key, isReadonly = false, isShallow = false) {
 
-   target = target["__v_raw"];
 
-   const rawTarget = toRaw(target);
 
-   const rawKey = toRaw(key);
 
-   if (!isReadonly) {
 
-     if (key !== rawKey) {
 
-       track(rawTarget, "get", key);
 
-     }
 
-     track(rawTarget, "get", rawKey);
 
-   }
 
-   const { has: has2 } = getProto(rawTarget);
 
-   const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-   if (has2.call(rawTarget, key)) {
 
-     return wrap(target.get(key));
 
-   } else if (has2.call(rawTarget, rawKey)) {
 
-     return wrap(target.get(rawKey));
 
-   } else if (target !== rawTarget) {
 
-     target.get(key);
 
-   }
 
- }
 
- function has(key, isReadonly = false) {
 
-   const target = this["__v_raw"];
 
-   const rawTarget = toRaw(target);
 
-   const rawKey = toRaw(key);
 
-   if (!isReadonly) {
 
-     if (key !== rawKey) {
 
-       track(rawTarget, "has", key);
 
-     }
 
-     track(rawTarget, "has", rawKey);
 
-   }
 
-   return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
 
- }
 
- function size(target, isReadonly = false) {
 
-   target = target["__v_raw"];
 
-   !isReadonly && track(toRaw(target), "iterate", ITERATE_KEY);
 
-   return Reflect.get(target, "size", target);
 
- }
 
- function add(value) {
 
-   value = toRaw(value);
 
-   const target = toRaw(this);
 
-   const proto = getProto(target);
 
-   const hadKey = proto.has.call(target, value);
 
-   if (!hadKey) {
 
-     target.add(value);
 
-     trigger(target, "add", value, value);
 
-   }
 
-   return this;
 
- }
 
- function set(key, value) {
 
-   value = toRaw(value);
 
-   const target = toRaw(this);
 
-   const { has: has2, get: get2 } = getProto(target);
 
-   let hadKey = has2.call(target, key);
 
-   if (!hadKey) {
 
-     key = toRaw(key);
 
-     hadKey = has2.call(target, key);
 
-   } else {
 
-     checkIdentityKeys(target, has2, key);
 
-   }
 
-   const oldValue = get2.call(target, key);
 
-   target.set(key, value);
 
-   if (!hadKey) {
 
-     trigger(target, "add", key, value);
 
-   } else if (hasChanged(value, oldValue)) {
 
-     trigger(target, "set", key, value, oldValue);
 
-   }
 
-   return this;
 
- }
 
- function deleteEntry(key) {
 
-   const target = toRaw(this);
 
-   const { has: has2, get: get2 } = getProto(target);
 
-   let hadKey = has2.call(target, key);
 
-   if (!hadKey) {
 
-     key = toRaw(key);
 
-     hadKey = has2.call(target, key);
 
-   } else {
 
-     checkIdentityKeys(target, has2, key);
 
-   }
 
-   const oldValue = get2 ? get2.call(target, key) : void 0;
 
-   const result = target.delete(key);
 
-   if (hadKey) {
 
-     trigger(target, "delete", key, void 0, oldValue);
 
-   }
 
-   return result;
 
- }
 
- function clear() {
 
-   const target = toRaw(this);
 
-   const hadItems = target.size !== 0;
 
-   const oldTarget = isMap(target) ? new Map(target) : new Set(target) ;
 
-   const result = target.clear();
 
-   if (hadItems) {
 
-     trigger(target, "clear", void 0, void 0, oldTarget);
 
-   }
 
-   return result;
 
- }
 
- function createForEach(isReadonly, isShallow) {
 
-   return function forEach(callback, thisArg) {
 
-     const observed = this;
 
-     const target = observed["__v_raw"];
 
-     const rawTarget = toRaw(target);
 
-     const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-     !isReadonly && track(rawTarget, "iterate", ITERATE_KEY);
 
-     return target.forEach((value, key) => {
 
-       return callback.call(thisArg, wrap(value), wrap(key), observed);
 
-     });
 
-   };
 
- }
 
- function createIterableMethod(method, isReadonly, isShallow) {
 
-   return function(...args) {
 
-     const target = this["__v_raw"];
 
-     const rawTarget = toRaw(target);
 
-     const targetIsMap = isMap(rawTarget);
 
-     const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
 
-     const isKeyOnly = method === "keys" && targetIsMap;
 
-     const innerIterator = target[method](...args);
 
-     const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-     !isReadonly && track(
 
-       rawTarget,
 
-       "iterate",
 
-       isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
 
-     );
 
-     return {
 
-       // iterator protocol
 
-       next() {
 
-         const { value, done } = innerIterator.next();
 
-         return done ? { value, done } : {
 
-           value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
 
-           done
 
-         };
 
-       },
 
-       // iterable protocol
 
-       [Symbol.iterator]() {
 
-         return this;
 
-       }
 
-     };
 
-   };
 
- }
 
- function createReadonlyMethod(type) {
 
-   return function(...args) {
 
-     {
 
-       const key = args[0] ? `on key "${args[0]}" ` : ``;
 
-       console.warn(
 
-         `${capitalize(type)} operation ${key}failed: target is readonly.`,
 
-         toRaw(this)
 
-       );
 
-     }
 
-     return type === "delete" ? false : this;
 
-   };
 
- }
 
- function createInstrumentations() {
 
-   const mutableInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key);
 
-     },
 
-     get size() {
 
-       return size(this);
 
-     },
 
-     has,
 
-     add,
 
-     set,
 
-     delete: deleteEntry,
 
-     clear,
 
-     forEach: createForEach(false, false)
 
-   };
 
-   const shallowInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, false, true);
 
-     },
 
-     get size() {
 
-       return size(this);
 
-     },
 
-     has,
 
-     add,
 
-     set,
 
-     delete: deleteEntry,
 
-     clear,
 
-     forEach: createForEach(false, true)
 
-   };
 
-   const readonlyInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, true);
 
-     },
 
-     get size() {
 
-       return size(this, true);
 
-     },
 
-     has(key) {
 
-       return has.call(this, key, true);
 
-     },
 
-     add: createReadonlyMethod("add"),
 
-     set: createReadonlyMethod("set"),
 
-     delete: createReadonlyMethod("delete"),
 
-     clear: createReadonlyMethod("clear"),
 
-     forEach: createForEach(true, false)
 
-   };
 
-   const shallowReadonlyInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, true, true);
 
-     },
 
-     get size() {
 
-       return size(this, true);
 
-     },
 
-     has(key) {
 
-       return has.call(this, key, true);
 
-     },
 
-     add: createReadonlyMethod("add"),
 
-     set: createReadonlyMethod("set"),
 
-     delete: createReadonlyMethod("delete"),
 
-     clear: createReadonlyMethod("clear"),
 
-     forEach: createForEach(true, true)
 
-   };
 
-   const iteratorMethods = ["keys", "values", "entries", Symbol.iterator];
 
-   iteratorMethods.forEach((method) => {
 
-     mutableInstrumentations2[method] = createIterableMethod(
 
-       method,
 
-       false,
 
-       false
 
-     );
 
-     readonlyInstrumentations2[method] = createIterableMethod(
 
-       method,
 
-       true,
 
-       false
 
-     );
 
-     shallowInstrumentations2[method] = createIterableMethod(
 
-       method,
 
-       false,
 
-       true
 
-     );
 
-     shallowReadonlyInstrumentations2[method] = createIterableMethod(
 
-       method,
 
-       true,
 
-       true
 
-     );
 
-   });
 
-   return [
 
-     mutableInstrumentations2,
 
-     readonlyInstrumentations2,
 
-     shallowInstrumentations2,
 
-     shallowReadonlyInstrumentations2
 
-   ];
 
- }
 
- const [
 
-   mutableInstrumentations,
 
-   readonlyInstrumentations,
 
-   shallowInstrumentations,
 
-   shallowReadonlyInstrumentations
 
- ] = /* @__PURE__ */ createInstrumentations();
 
- function createInstrumentationGetter(isReadonly, shallow) {
 
-   const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;
 
-   return (target, key, receiver) => {
 
-     if (key === "__v_isReactive") {
 
-       return !isReadonly;
 
-     } else if (key === "__v_isReadonly") {
 
-       return isReadonly;
 
-     } else if (key === "__v_raw") {
 
-       return target;
 
-     }
 
-     return Reflect.get(
 
-       hasOwn(instrumentations, key) && key in target ? instrumentations : target,
 
-       key,
 
-       receiver
 
-     );
 
-   };
 
- }
 
- const mutableCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(false, false)
 
- };
 
- const shallowCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(false, true)
 
- };
 
- const readonlyCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(true, false)
 
- };
 
- const shallowReadonlyCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(true, true)
 
- };
 
- function checkIdentityKeys(target, has2, key) {
 
-   const rawKey = toRaw(key);
 
-   if (rawKey !== key && has2.call(target, rawKey)) {
 
-     const type = toRawType(target);
 
-     console.warn(
 
-       `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
 
-     );
 
-   }
 
- }
 
- const reactiveMap = /* @__PURE__ */ new WeakMap();
 
- const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
 
- const readonlyMap = /* @__PURE__ */ new WeakMap();
 
- const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
 
- function targetTypeMap(rawType) {
 
-   switch (rawType) {
 
-     case "Object":
 
-     case "Array":
 
-       return 1 /* COMMON */;
 
-     case "Map":
 
-     case "Set":
 
-     case "WeakMap":
 
-     case "WeakSet":
 
-       return 2 /* COLLECTION */;
 
-     default:
 
-       return 0 /* INVALID */;
 
-   }
 
- }
 
- function getTargetType(value) {
 
-   return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));
 
- }
 
- function reactive(target) {
 
-   if (isReadonly(target)) {
 
-     return target;
 
-   }
 
-   return createReactiveObject(
 
-     target,
 
-     false,
 
-     mutableHandlers,
 
-     mutableCollectionHandlers,
 
-     reactiveMap
 
-   );
 
- }
 
- function shallowReactive(target) {
 
-   return createReactiveObject(
 
-     target,
 
-     false,
 
-     shallowReactiveHandlers,
 
-     shallowCollectionHandlers,
 
-     shallowReactiveMap
 
-   );
 
- }
 
- function readonly(target) {
 
-   return createReactiveObject(
 
-     target,
 
-     true,
 
-     readonlyHandlers,
 
-     readonlyCollectionHandlers,
 
-     readonlyMap
 
-   );
 
- }
 
- function shallowReadonly(target) {
 
-   return createReactiveObject(
 
-     target,
 
-     true,
 
-     shallowReadonlyHandlers,
 
-     shallowReadonlyCollectionHandlers,
 
-     shallowReadonlyMap
 
-   );
 
- }
 
- function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
 
-   if (!isObject(target)) {
 
-     {
 
-       console.warn(`value cannot be made reactive: ${String(target)}`);
 
-     }
 
-     return target;
 
-   }
 
-   if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
 
-     return target;
 
-   }
 
-   const existingProxy = proxyMap.get(target);
 
-   if (existingProxy) {
 
-     return existingProxy;
 
-   }
 
-   const targetType = getTargetType(target);
 
-   if (targetType === 0 /* INVALID */) {
 
-     return target;
 
-   }
 
-   const proxy = new Proxy(
 
-     target,
 
-     targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers
 
-   );
 
-   proxyMap.set(target, proxy);
 
-   return proxy;
 
- }
 
- function isReactive(value) {
 
-   if (isReadonly(value)) {
 
-     return isReactive(value["__v_raw"]);
 
-   }
 
-   return !!(value && value["__v_isReactive"]);
 
- }
 
- function isReadonly(value) {
 
-   return !!(value && value["__v_isReadonly"]);
 
- }
 
- function isShallow(value) {
 
-   return !!(value && value["__v_isShallow"]);
 
- }
 
- function isProxy(value) {
 
-   return isReactive(value) || isReadonly(value);
 
- }
 
- function toRaw(observed) {
 
-   const raw = observed && observed["__v_raw"];
 
-   return raw ? toRaw(raw) : observed;
 
- }
 
- function markRaw(value) {
 
-   def(value, "__v_skip", true);
 
-   return value;
 
- }
 
- const toReactive = (value) => isObject(value) ? reactive(value) : value;
 
- const toReadonly = (value) => isObject(value) ? readonly(value) : value;
 
- function trackRefValue(ref2) {
 
-   if (shouldTrack && activeEffect) {
 
-     ref2 = toRaw(ref2);
 
-     {
 
-       trackEffects(ref2.dep || (ref2.dep = createDep()), {
 
-         target: ref2,
 
-         type: "get",
 
-         key: "value"
 
-       });
 
-     }
 
-   }
 
- }
 
- function triggerRefValue(ref2, newVal) {
 
-   ref2 = toRaw(ref2);
 
-   const dep = ref2.dep;
 
-   if (dep) {
 
-     {
 
-       triggerEffects(dep, {
 
-         target: ref2,
 
-         type: "set",
 
-         key: "value",
 
-         newValue: newVal
 
-       });
 
-     }
 
-   }
 
- }
 
- function isRef(r) {
 
-   return !!(r && r.__v_isRef === true);
 
- }
 
- function unref(ref2) {
 
-   return isRef(ref2) ? ref2.value : ref2;
 
- }
 
- const shallowUnwrapHandlers = {
 
-   get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
 
-   set: (target, key, value, receiver) => {
 
-     const oldValue = target[key];
 
-     if (isRef(oldValue) && !isRef(value)) {
 
-       oldValue.value = value;
 
-       return true;
 
-     } else {
 
-       return Reflect.set(target, key, value, receiver);
 
-     }
 
-   }
 
- };
 
- function proxyRefs(objectWithRefs) {
 
-   return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
 
- }
 
- class ComputedRefImpl {
 
-   constructor(getter, _setter, isReadonly, isSSR) {
 
-     this._setter = _setter;
 
-     this.dep = void 0;
 
-     this.__v_isRef = true;
 
-     this["__v_isReadonly"] = false;
 
-     this._dirty = true;
 
-     this.effect = new ReactiveEffect(getter, () => {
 
-       if (!this._dirty) {
 
-         this._dirty = true;
 
-         triggerRefValue(this);
 
-       }
 
-     });
 
-     this.effect.computed = this;
 
-     this.effect.active = this._cacheable = !isSSR;
 
-     this["__v_isReadonly"] = isReadonly;
 
-   }
 
-   get value() {
 
-     const self = toRaw(this);
 
-     trackRefValue(self);
 
-     if (self._dirty || !self._cacheable) {
 
-       self._dirty = false;
 
-       self._value = self.effect.run();
 
-     }
 
-     return self._value;
 
-   }
 
-   set value(newValue) {
 
-     this._setter(newValue);
 
-   }
 
- }
 
- function computed$1(getterOrOptions, debugOptions, isSSR = false) {
 
-   let getter;
 
-   let setter;
 
-   const onlyGetter = isFunction(getterOrOptions);
 
-   if (onlyGetter) {
 
-     getter = getterOrOptions;
 
-     setter = () => {
 
-       console.warn("Write operation failed: computed value is readonly");
 
-     } ;
 
-   } else {
 
-     getter = getterOrOptions.get;
 
-     setter = getterOrOptions.set;
 
-   }
 
-   const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
 
-   if (debugOptions && !isSSR) {
 
-     cRef.effect.onTrack = debugOptions.onTrack;
 
-     cRef.effect.onTrigger = debugOptions.onTrigger;
 
-   }
 
-   return cRef;
 
- }
 
- const stack = [];
 
- function pushWarningContext(vnode) {
 
-   stack.push(vnode);
 
- }
 
- function popWarningContext() {
 
-   stack.pop();
 
- }
 
- function warn(msg, ...args) {
 
-   pauseTracking();
 
-   const instance = stack.length ? stack[stack.length - 1].component : null;
 
-   const appWarnHandler = instance && instance.appContext.config.warnHandler;
 
-   const trace = getComponentTrace();
 
-   if (appWarnHandler) {
 
-     callWithErrorHandling(
 
-       appWarnHandler,
 
-       instance,
 
-       11,
 
-       [
 
-         msg + args.join(""),
 
-         instance && instance.proxy,
 
-         trace.map(
 
-           ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`
 
-         ).join("\n"),
 
-         trace
 
-       ]
 
-     );
 
-   } else {
 
-     const warnArgs = [`[Vue warn]: ${msg}`, ...args];
 
-     if (trace.length && // avoid spamming console during tests
 
-     true) {
 
-       warnArgs.push(`
 
- `, ...formatTrace(trace));
 
-     }
 
-     console.warn(...warnArgs);
 
-   }
 
-   resetTracking();
 
- }
 
- function getComponentTrace() {
 
-   let currentVNode = stack[stack.length - 1];
 
-   if (!currentVNode) {
 
-     return [];
 
-   }
 
-   const normalizedStack = [];
 
-   while (currentVNode) {
 
-     const last = normalizedStack[0];
 
-     if (last && last.vnode === currentVNode) {
 
-       last.recurseCount++;
 
-     } else {
 
-       normalizedStack.push({
 
-         vnode: currentVNode,
 
-         recurseCount: 0
 
-       });
 
-     }
 
-     const parentInstance = currentVNode.component && currentVNode.component.parent;
 
-     currentVNode = parentInstance && parentInstance.vnode;
 
-   }
 
-   return normalizedStack;
 
- }
 
- function formatTrace(trace) {
 
-   const logs = [];
 
-   trace.forEach((entry, i) => {
 
-     logs.push(...i === 0 ? [] : [`
 
- `], ...formatTraceEntry(entry));
 
-   });
 
-   return logs;
 
- }
 
- function formatTraceEntry({ vnode, recurseCount }) {
 
-   const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
 
-   const isRoot = vnode.component ? vnode.component.parent == null : false;
 
-   const open = ` at <${formatComponentName(
 
-     vnode.component,
 
-     vnode.type,
 
-     isRoot
 
-   )}`;
 
-   const close = `>` + postfix;
 
-   return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
 
- }
 
- function formatProps(props) {
 
-   const res = [];
 
-   const keys = Object.keys(props);
 
-   keys.slice(0, 3).forEach((key) => {
 
-     res.push(...formatProp(key, props[key]));
 
-   });
 
-   if (keys.length > 3) {
 
-     res.push(` ...`);
 
-   }
 
-   return res;
 
- }
 
- function formatProp(key, value, raw) {
 
-   if (isString(value)) {
 
-     value = JSON.stringify(value);
 
-     return raw ? value : [`${key}=${value}`];
 
-   } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
 
-     return raw ? value : [`${key}=${value}`];
 
-   } else if (isRef(value)) {
 
-     value = formatProp(key, toRaw(value.value), true);
 
-     return raw ? value : [`${key}=Ref<`, value, `>`];
 
-   } else if (isFunction(value)) {
 
-     return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
 
-   } else {
 
-     value = toRaw(value);
 
-     return raw ? value : [`${key}=`, value];
 
-   }
 
- }
 
- const ErrorTypeStrings = {
 
-   ["sp"]: "serverPrefetch hook",
 
-   ["bc"]: "beforeCreate hook",
 
-   ["c"]: "created hook",
 
-   ["bm"]: "beforeMount hook",
 
-   ["m"]: "mounted hook",
 
-   ["bu"]: "beforeUpdate hook",
 
-   ["u"]: "updated",
 
-   ["bum"]: "beforeUnmount hook",
 
-   ["um"]: "unmounted hook",
 
-   ["a"]: "activated hook",
 
-   ["da"]: "deactivated hook",
 
-   ["ec"]: "errorCaptured hook",
 
-   ["rtc"]: "renderTracked hook",
 
-   ["rtg"]: "renderTriggered hook",
 
-   [0]: "setup function",
 
-   [1]: "render function",
 
-   [2]: "watcher getter",
 
-   [3]: "watcher callback",
 
-   [4]: "watcher cleanup function",
 
-   [5]: "native event handler",
 
-   [6]: "component event handler",
 
-   [7]: "vnode hook",
 
-   [8]: "directive hook",
 
-   [9]: "transition hook",
 
-   [10]: "app errorHandler",
 
-   [11]: "app warnHandler",
 
-   [12]: "ref function",
 
-   [13]: "async component loader",
 
-   [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
 
- };
 
- function callWithErrorHandling(fn, instance, type, args) {
 
-   let res;
 
-   try {
 
-     res = args ? fn(...args) : fn();
 
-   } catch (err) {
 
-     handleError(err, instance, type);
 
-   }
 
-   return res;
 
- }
 
- function callWithAsyncErrorHandling(fn, instance, type, args) {
 
-   if (isFunction(fn)) {
 
-     const res = callWithErrorHandling(fn, instance, type, args);
 
-     if (res && isPromise(res)) {
 
-       res.catch((err) => {
 
-         handleError(err, instance, type);
 
-       });
 
-     }
 
-     return res;
 
-   }
 
-   const values = [];
 
-   for (let i = 0; i < fn.length; i++) {
 
-     values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
 
-   }
 
-   return values;
 
- }
 
- function handleError(err, instance, type, throwInDev = true) {
 
-   const contextVNode = instance ? instance.vnode : null;
 
-   if (instance) {
 
-     let cur = instance.parent;
 
-     const exposedInstance = instance.proxy;
 
-     const errorInfo = ErrorTypeStrings[type] ;
 
-     while (cur) {
 
-       const errorCapturedHooks = cur.ec;
 
-       if (errorCapturedHooks) {
 
-         for (let i = 0; i < errorCapturedHooks.length; i++) {
 
-           if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
 
-             return;
 
-           }
 
-         }
 
-       }
 
-       cur = cur.parent;
 
-     }
 
-     const appErrorHandler = instance.appContext.config.errorHandler;
 
-     if (appErrorHandler) {
 
-       callWithErrorHandling(
 
-         appErrorHandler,
 
-         null,
 
-         10,
 
-         [err, exposedInstance, errorInfo]
 
-       );
 
-       return;
 
-     }
 
-   }
 
-   logError(err, type, contextVNode, throwInDev);
 
- }
 
- function logError(err, type, contextVNode, throwInDev = true) {
 
-   {
 
-     const info = ErrorTypeStrings[type];
 
-     if (contextVNode) {
 
-       pushWarningContext(contextVNode);
 
-     }
 
-     warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
 
-     if (contextVNode) {
 
-       popWarningContext();
 
-     }
 
-     if (throwInDev) {
 
-       throw err;
 
-     } else {
 
-       console.error(err);
 
-     }
 
-   }
 
- }
 
- let isFlushing = false;
 
- let isFlushPending = false;
 
- const queue = [];
 
- let flushIndex = 0;
 
- const pendingPostFlushCbs = [];
 
- let activePostFlushCbs = null;
 
- let postFlushIndex = 0;
 
- const resolvedPromise = /* @__PURE__ */ Promise.resolve();
 
- let currentFlushPromise = null;
 
- const RECURSION_LIMIT = 100;
 
- function nextTick(fn) {
 
-   const p = currentFlushPromise || resolvedPromise;
 
-   return fn ? p.then(this ? fn.bind(this) : fn) : p;
 
- }
 
- function findInsertionIndex(id) {
 
-   let start = flushIndex + 1;
 
-   let end = queue.length;
 
-   while (start < end) {
 
-     const middle = start + end >>> 1;
 
-     const middleJobId = getId(queue[middle]);
 
-     middleJobId < id ? start = middle + 1 : end = middle;
 
-   }
 
-   return start;
 
- }
 
- function queueJob(job) {
 
-   if (!queue.length || !queue.includes(
 
-     job,
 
-     isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
 
-   )) {
 
-     if (job.id == null) {
 
-       queue.push(job);
 
-     } else {
 
-       queue.splice(findInsertionIndex(job.id), 0, job);
 
-     }
 
-     queueFlush();
 
-   }
 
- }
 
- function queueFlush() {
 
-   if (!isFlushing && !isFlushPending) {
 
-     isFlushPending = true;
 
-     currentFlushPromise = resolvedPromise.then(flushJobs);
 
-   }
 
- }
 
- function invalidateJob(job) {
 
-   const i = queue.indexOf(job);
 
-   if (i > flushIndex) {
 
-     queue.splice(i, 1);
 
-   }
 
- }
 
- function queuePostFlushCb(cb) {
 
-   if (!isArray(cb)) {
 
-     if (!activePostFlushCbs || !activePostFlushCbs.includes(
 
-       cb,
 
-       cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
 
-     )) {
 
-       pendingPostFlushCbs.push(cb);
 
-     }
 
-   } else {
 
-     pendingPostFlushCbs.push(...cb);
 
-   }
 
-   queueFlush();
 
- }
 
- function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
 
-   {
 
-     seen = seen || /* @__PURE__ */ new Map();
 
-   }
 
-   for (; i < queue.length; i++) {
 
-     const cb = queue[i];
 
-     if (cb && cb.pre) {
 
-       if (checkRecursiveUpdates(seen, cb)) {
 
-         continue;
 
-       }
 
-       queue.splice(i, 1);
 
-       i--;
 
-       cb();
 
-     }
 
-   }
 
- }
 
- function flushPostFlushCbs(seen) {
 
-   if (pendingPostFlushCbs.length) {
 
-     const deduped = [...new Set(pendingPostFlushCbs)];
 
-     pendingPostFlushCbs.length = 0;
 
-     if (activePostFlushCbs) {
 
-       activePostFlushCbs.push(...deduped);
 
-       return;
 
-     }
 
-     activePostFlushCbs = deduped;
 
-     {
 
-       seen = seen || /* @__PURE__ */ new Map();
 
-     }
 
-     activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
 
-     for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
 
-       if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
 
-         continue;
 
-       }
 
-       activePostFlushCbs[postFlushIndex]();
 
-     }
 
-     activePostFlushCbs = null;
 
-     postFlushIndex = 0;
 
-   }
 
- }
 
- const getId = (job) => job.id == null ? Infinity : job.id;
 
- const comparator = (a, b) => {
 
-   const diff = getId(a) - getId(b);
 
-   if (diff === 0) {
 
-     if (a.pre && !b.pre)
 
-       return -1;
 
-     if (b.pre && !a.pre)
 
-       return 1;
 
-   }
 
-   return diff;
 
- };
 
- function flushJobs(seen) {
 
-   isFlushPending = false;
 
-   isFlushing = true;
 
-   {
 
-     seen = seen || /* @__PURE__ */ new Map();
 
-   }
 
-   queue.sort(comparator);
 
-   const check = (job) => checkRecursiveUpdates(seen, job) ;
 
-   try {
 
-     for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
 
-       const job = queue[flushIndex];
 
-       if (job && job.active !== false) {
 
-         if (check(job)) {
 
-           continue;
 
-         }
 
-         callWithErrorHandling(job, null, 14);
 
-       }
 
-     }
 
-   } finally {
 
-     flushIndex = 0;
 
-     queue.length = 0;
 
-     flushPostFlushCbs(seen);
 
-     isFlushing = false;
 
-     currentFlushPromise = null;
 
-     if (queue.length || pendingPostFlushCbs.length) {
 
-       flushJobs(seen);
 
-     }
 
-   }
 
- }
 
- function checkRecursiveUpdates(seen, fn) {
 
-   if (!seen.has(fn)) {
 
-     seen.set(fn, 1);
 
-   } else {
 
-     const count = seen.get(fn);
 
-     if (count > RECURSION_LIMIT) {
 
-       const instance = fn.ownerInstance;
 
-       const componentName = instance && getComponentName(instance.type);
 
-       warn(
 
-         `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`
 
-       );
 
-       return true;
 
-     } else {
 
-       seen.set(fn, count + 1);
 
-     }
 
-   }
 
- }
 
- let isHmrUpdating = false;
 
- const hmrDirtyComponents = /* @__PURE__ */ new Set();
 
- {
 
-   getGlobalThis().__VUE_HMR_RUNTIME__ = {
 
-     createRecord: tryWrap(createRecord),
 
-     rerender: tryWrap(rerender),
 
-     reload: tryWrap(reload)
 
-   };
 
- }
 
- const map = /* @__PURE__ */ new Map();
 
- function registerHMR(instance) {
 
-   const id = instance.type.__hmrId;
 
-   let record = map.get(id);
 
-   if (!record) {
 
-     createRecord(id, instance.type);
 
-     record = map.get(id);
 
-   }
 
-   record.instances.add(instance);
 
- }
 
- function unregisterHMR(instance) {
 
-   map.get(instance.type.__hmrId).instances.delete(instance);
 
- }
 
- function createRecord(id, initialDef) {
 
-   if (map.has(id)) {
 
-     return false;
 
-   }
 
-   map.set(id, {
 
-     initialDef: normalizeClassComponent(initialDef),
 
-     instances: /* @__PURE__ */ new Set()
 
-   });
 
-   return true;
 
- }
 
- function normalizeClassComponent(component) {
 
-   return isClassComponent(component) ? component.__vccOpts : component;
 
- }
 
- function rerender(id, newRender) {
 
-   const record = map.get(id);
 
-   if (!record) {
 
-     return;
 
-   }
 
-   record.initialDef.render = newRender;
 
-   [...record.instances].forEach((instance) => {
 
-     if (newRender) {
 
-       instance.render = newRender;
 
-       normalizeClassComponent(instance.type).render = newRender;
 
-     }
 
-     instance.renderCache = [];
 
-     isHmrUpdating = true;
 
-     instance.update();
 
-     isHmrUpdating = false;
 
-   });
 
- }
 
- function reload(id, newComp) {
 
-   const record = map.get(id);
 
-   if (!record)
 
-     return;
 
-   newComp = normalizeClassComponent(newComp);
 
-   updateComponentDef(record.initialDef, newComp);
 
-   const instances = [...record.instances];
 
-   for (const instance of instances) {
 
-     const oldComp = normalizeClassComponent(instance.type);
 
-     if (!hmrDirtyComponents.has(oldComp)) {
 
-       if (oldComp !== record.initialDef) {
 
-         updateComponentDef(oldComp, newComp);
 
-       }
 
-       hmrDirtyComponents.add(oldComp);
 
-     }
 
-     instance.appContext.propsCache.delete(instance.type);
 
-     instance.appContext.emitsCache.delete(instance.type);
 
-     instance.appContext.optionsCache.delete(instance.type);
 
-     if (instance.ceReload) {
 
-       hmrDirtyComponents.add(oldComp);
 
-       instance.ceReload(newComp.styles);
 
-       hmrDirtyComponents.delete(oldComp);
 
-     } else if (instance.parent) {
 
-       queueJob(instance.parent.update);
 
-     } else if (instance.appContext.reload) {
 
-       instance.appContext.reload();
 
-     } else if (typeof window !== "undefined") {
 
-       window.location.reload();
 
-     } else {
 
-       console.warn(
 
-         "[HMR] Root or manually mounted instance modified. Full reload required."
 
-       );
 
-     }
 
-   }
 
-   queuePostFlushCb(() => {
 
-     for (const instance of instances) {
 
-       hmrDirtyComponents.delete(
 
-         normalizeClassComponent(instance.type)
 
-       );
 
-     }
 
-   });
 
- }
 
- function updateComponentDef(oldComp, newComp) {
 
-   extend(oldComp, newComp);
 
-   for (const key in oldComp) {
 
-     if (key !== "__file" && !(key in newComp)) {
 
-       delete oldComp[key];
 
-     }
 
-   }
 
- }
 
- function tryWrap(fn) {
 
-   return (id, arg) => {
 
-     try {
 
-       return fn(id, arg);
 
-     } catch (e) {
 
-       console.error(e);
 
-       console.warn(
 
-         `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`
 
-       );
 
-     }
 
-   };
 
- }
 
- let devtools;
 
- let buffer = [];
 
- let devtoolsNotInstalled = false;
 
- function emit$1(event, ...args) {
 
-   if (devtools) {
 
-     devtools.emit(event, ...args);
 
-   } else if (!devtoolsNotInstalled) {
 
-     buffer.push({ event, args });
 
-   }
 
- }
 
- function setDevtoolsHook(hook, target) {
 
-   var _a, _b;
 
-   devtools = hook;
 
-   if (devtools) {
 
-     devtools.enabled = true;
 
-     buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
 
-     buffer = [];
 
-   } else if (
 
-     // handle late devtools injection - only do this if we are in an actual
 
-     // browser environment to avoid the timer handle stalling test runner exit
 
-     // (#4815)
 
-     typeof window !== "undefined" && // some envs mock window but not fully
 
-     window.HTMLElement && // also exclude jsdom
 
-     !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
 
-   ) {
 
-     const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
 
-     replay.push((newHook) => {
 
-       setDevtoolsHook(newHook, target);
 
-     });
 
-     setTimeout(() => {
 
-       if (!devtools) {
 
-         target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
 
-         devtoolsNotInstalled = true;
 
-         buffer = [];
 
-       }
 
-     }, 3e3);
 
-   } else {
 
-     devtoolsNotInstalled = true;
 
-     buffer = [];
 
-   }
 
- }
 
- function devtoolsInitApp(app, version) {
 
-   emit$1("app:init" /* APP_INIT */, app, version, {
 
-     Fragment,
 
-     Text,
 
-     Comment,
 
-     Static
 
-   });
 
- }
 
- function devtoolsUnmountApp(app) {
 
-   emit$1("app:unmount" /* APP_UNMOUNT */, app);
 
- }
 
- const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(
 
-   "component:added" /* COMPONENT_ADDED */
 
- );
 
- const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */);
 
- const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
 
-   "component:removed" /* COMPONENT_REMOVED */
 
- );
 
- const devtoolsComponentRemoved = (component) => {
 
-   if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
 
-   !devtools.cleanupBuffer(component)) {
 
-     _devtoolsComponentRemoved(component);
 
-   }
 
- };
 
- function createDevtoolsComponentHook(hook) {
 
-   return (component) => {
 
-     emit$1(
 
-       hook,
 
-       component.appContext.app,
 
-       component.uid,
 
-       component.parent ? component.parent.uid : void 0,
 
-       component
 
-     );
 
-   };
 
- }
 
- const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(
 
-   "perf:start" /* PERFORMANCE_START */
 
- );
 
- const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(
 
-   "perf:end" /* PERFORMANCE_END */
 
- );
 
- function createDevtoolsPerformanceHook(hook) {
 
-   return (component, type, time) => {
 
-     emit$1(hook, component.appContext.app, component.uid, component, type, time);
 
-   };
 
- }
 
- function devtoolsComponentEmit(component, event, params) {
 
-   emit$1(
 
-     "component:emit" /* COMPONENT_EMIT */,
 
-     component.appContext.app,
 
-     component,
 
-     event,
 
-     params
 
-   );
 
- }
 
- function emit(instance, event, ...rawArgs) {
 
-   if (instance.isUnmounted)
 
-     return;
 
-   const props = instance.vnode.props || EMPTY_OBJ;
 
-   {
 
-     const {
 
-       emitsOptions,
 
-       propsOptions: [propsOptions]
 
-     } = instance;
 
-     if (emitsOptions) {
 
-       if (!(event in emitsOptions) && true) {
 
-         if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
 
-           warn(
 
-             `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
 
-           );
 
-         }
 
-       } else {
 
-         const validator = emitsOptions[event];
 
-         if (isFunction(validator)) {
 
-           const isValid = validator(...rawArgs);
 
-           if (!isValid) {
 
-             warn(
 
-               `Invalid event arguments: event validation failed for event "${event}".`
 
-             );
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
-   let args = rawArgs;
 
-   const isModelListener = event.startsWith("update:");
 
-   const modelArg = isModelListener && event.slice(7);
 
-   if (modelArg && modelArg in props) {
 
-     const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
 
-     const { number, trim } = props[modifiersKey] || EMPTY_OBJ;
 
-     if (trim) {
 
-       args = rawArgs.map((a) => isString(a) ? a.trim() : a);
 
-     }
 
-     if (number) {
 
-       args = rawArgs.map(looseToNumber);
 
-     }
 
-   }
 
-   {
 
-     devtoolsComponentEmit(instance, event, args);
 
-   }
 
-   {
 
-     const lowerCaseEvent = event.toLowerCase();
 
-     if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
 
-       warn(
 
-         `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
 
-           instance,
 
-           instance.type
 
-         )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`
 
-       );
 
-     }
 
-   }
 
-   let handlerName;
 
-   let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
 
-   props[handlerName = toHandlerKey(camelize(event))];
 
-   if (!handler && isModelListener) {
 
-     handler = props[handlerName = toHandlerKey(hyphenate(event))];
 
-   }
 
-   if (handler) {
 
-     callWithAsyncErrorHandling(
 
-       handler,
 
-       instance,
 
-       6,
 
-       args
 
-     );
 
-   }
 
-   const onceHandler = props[handlerName + `Once`];
 
-   if (onceHandler) {
 
-     if (!instance.emitted) {
 
-       instance.emitted = {};
 
-     } else if (instance.emitted[handlerName]) {
 
-       return;
 
-     }
 
-     instance.emitted[handlerName] = true;
 
-     callWithAsyncErrorHandling(
 
-       onceHandler,
 
-       instance,
 
-       6,
 
-       args
 
-     );
 
-   }
 
- }
 
- function normalizeEmitsOptions(comp, appContext, asMixin = false) {
 
-   const cache = appContext.emitsCache;
 
-   const cached = cache.get(comp);
 
-   if (cached !== void 0) {
 
-     return cached;
 
-   }
 
-   const raw = comp.emits;
 
-   let normalized = {};
 
-   let hasExtends = false;
 
-   if (!isFunction(comp)) {
 
-     const extendEmits = (raw2) => {
 
-       const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
 
-       if (normalizedFromExtend) {
 
-         hasExtends = true;
 
-         extend(normalized, normalizedFromExtend);
 
-       }
 
-     };
 
-     if (!asMixin && appContext.mixins.length) {
 
-       appContext.mixins.forEach(extendEmits);
 
-     }
 
-     if (comp.extends) {
 
-       extendEmits(comp.extends);
 
-     }
 
-     if (comp.mixins) {
 
-       comp.mixins.forEach(extendEmits);
 
-     }
 
-   }
 
-   if (!raw && !hasExtends) {
 
-     if (isObject(comp)) {
 
-       cache.set(comp, null);
 
-     }
 
-     return null;
 
-   }
 
-   if (isArray(raw)) {
 
-     raw.forEach((key) => normalized[key] = null);
 
-   } else {
 
-     extend(normalized, raw);
 
-   }
 
-   if (isObject(comp)) {
 
-     cache.set(comp, normalized);
 
-   }
 
-   return normalized;
 
- }
 
- function isEmitListener(options, key) {
 
-   if (!options || !isOn(key)) {
 
-     return false;
 
-   }
 
-   key = key.slice(2).replace(/Once$/, "");
 
-   return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);
 
- }
 
- let currentRenderingInstance = null;
 
- let currentScopeId = null;
 
- function setCurrentRenderingInstance$1(instance) {
 
-   const prev = currentRenderingInstance;
 
-   currentRenderingInstance = instance;
 
-   currentScopeId = instance && instance.type.__scopeId || null;
 
-   return prev;
 
- }
 
- function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
 
-   if (!ctx)
 
-     return fn;
 
-   if (fn._n) {
 
-     return fn;
 
-   }
 
-   const renderFnWithContext = (...args) => {
 
-     if (renderFnWithContext._d) {
 
-       setBlockTracking(-1);
 
-     }
 
-     const prevInstance = setCurrentRenderingInstance$1(ctx);
 
-     let res;
 
-     try {
 
-       res = fn(...args);
 
-     } finally {
 
-       setCurrentRenderingInstance$1(prevInstance);
 
-       if (renderFnWithContext._d) {
 
-         setBlockTracking(1);
 
-       }
 
-     }
 
-     {
 
-       devtoolsComponentUpdated(ctx);
 
-     }
 
-     return res;
 
-   };
 
-   renderFnWithContext._n = true;
 
-   renderFnWithContext._c = true;
 
-   renderFnWithContext._d = true;
 
-   return renderFnWithContext;
 
- }
 
- let accessedAttrs = false;
 
- function markAttrsAccessed() {
 
-   accessedAttrs = true;
 
- }
 
- function renderComponentRoot$1(instance) {
 
-   const {
 
-     type: Component,
 
-     vnode,
 
-     proxy,
 
-     withProxy,
 
-     props,
 
-     propsOptions: [propsOptions],
 
-     slots,
 
-     attrs,
 
-     emit,
 
-     render,
 
-     renderCache,
 
-     data,
 
-     setupState,
 
-     ctx,
 
-     inheritAttrs
 
-   } = instance;
 
-   let result;
 
-   let fallthroughAttrs;
 
-   const prev = setCurrentRenderingInstance$1(instance);
 
-   {
 
-     accessedAttrs = false;
 
-   }
 
-   try {
 
-     if (vnode.shapeFlag & 4) {
 
-       const proxyToUse = withProxy || proxy;
 
-       result = normalizeVNode$1(
 
-         render.call(
 
-           proxyToUse,
 
-           proxyToUse,
 
-           renderCache,
 
-           props,
 
-           setupState,
 
-           data,
 
-           ctx
 
-         )
 
-       );
 
-       fallthroughAttrs = attrs;
 
-     } else {
 
-       const render2 = Component;
 
-       if (attrs === props) {
 
-         markAttrsAccessed();
 
-       }
 
-       result = normalizeVNode$1(
 
-         render2.length > 1 ? render2(
 
-           props,
 
-           true ? {
 
-             get attrs() {
 
-               markAttrsAccessed();
 
-               return attrs;
 
-             },
 
-             slots,
 
-             emit
 
-           } : { attrs, slots, emit }
 
-         ) : render2(
 
-           props,
 
-           null
 
-           /* we know it doesn't need it */
 
-         )
 
-       );
 
-       fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
 
-     }
 
-   } catch (err) {
 
-     handleError(err, instance, 1);
 
-     result = createVNode(Comment);
 
-   }
 
-   let root = result;
 
-   let setRoot = void 0;
 
-   if (result.patchFlag > 0 && result.patchFlag & 2048) {
 
-     [root, setRoot] = getChildRoot(result);
 
-   }
 
-   if (fallthroughAttrs && inheritAttrs !== false) {
 
-     const keys = Object.keys(fallthroughAttrs);
 
-     const { shapeFlag } = root;
 
-     if (keys.length) {
 
-       if (shapeFlag & (1 | 6)) {
 
-         if (propsOptions && keys.some(isModelListener)) {
 
-           fallthroughAttrs = filterModelListeners(
 
-             fallthroughAttrs,
 
-             propsOptions
 
-           );
 
-         }
 
-         root = cloneVNode(root, fallthroughAttrs);
 
-       } else if (!accessedAttrs && root.type !== Comment) {
 
-         const allAttrs = Object.keys(attrs);
 
-         const eventAttrs = [];
 
-         const extraAttrs = [];
 
-         for (let i = 0, l = allAttrs.length; i < l; i++) {
 
-           const key = allAttrs[i];
 
-           if (isOn(key)) {
 
-             if (!isModelListener(key)) {
 
-               eventAttrs.push(key[2].toLowerCase() + key.slice(3));
 
-             }
 
-           } else {
 
-             extraAttrs.push(key);
 
-           }
 
-         }
 
-         if (extraAttrs.length) {
 
-           warn(
 
-             `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
 
-           );
 
-         }
 
-         if (eventAttrs.length) {
 
-           warn(
 
-             `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`
 
-           );
 
-         }
 
-       }
 
-     }
 
-   }
 
-   if (vnode.dirs) {
 
-     if (!isElementRoot(root)) {
 
-       warn(
 
-         `Runtime directive used on component with non-element root node. The directives will not function as intended.`
 
-       );
 
-     }
 
-     root = cloneVNode(root);
 
-     root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
 
-   }
 
-   if (vnode.transition) {
 
-     if (!isElementRoot(root)) {
 
-       warn(
 
-         `Component inside <Transition> renders non-element root node that cannot be animated.`
 
-       );
 
-     }
 
-     root.transition = vnode.transition;
 
-   }
 
-   if (setRoot) {
 
-     setRoot(root);
 
-   } else {
 
-     result = root;
 
-   }
 
-   setCurrentRenderingInstance$1(prev);
 
-   return result;
 
- }
 
- const getChildRoot = (vnode) => {
 
-   const rawChildren = vnode.children;
 
-   const dynamicChildren = vnode.dynamicChildren;
 
-   const childRoot = filterSingleRoot(rawChildren);
 
-   if (!childRoot) {
 
-     return [vnode, void 0];
 
-   }
 
-   const index = rawChildren.indexOf(childRoot);
 
-   const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;
 
-   const setRoot = (updatedRoot) => {
 
-     rawChildren[index] = updatedRoot;
 
-     if (dynamicChildren) {
 
-       if (dynamicIndex > -1) {
 
-         dynamicChildren[dynamicIndex] = updatedRoot;
 
-       } else if (updatedRoot.patchFlag > 0) {
 
-         vnode.dynamicChildren = [...dynamicChildren, updatedRoot];
 
-       }
 
-     }
 
-   };
 
-   return [normalizeVNode$1(childRoot), setRoot];
 
- };
 
- function filterSingleRoot(children) {
 
-   let singleRoot;
 
-   for (let i = 0; i < children.length; i++) {
 
-     const child = children[i];
 
-     if (isVNode$2(child)) {
 
-       if (child.type !== Comment || child.children === "v-if") {
 
-         if (singleRoot) {
 
-           return;
 
-         } else {
 
-           singleRoot = child;
 
-         }
 
-       }
 
-     } else {
 
-       return;
 
-     }
 
-   }
 
-   return singleRoot;
 
- }
 
- const getFunctionalFallthrough = (attrs) => {
 
-   let res;
 
-   for (const key in attrs) {
 
-     if (key === "class" || key === "style" || isOn(key)) {
 
-       (res || (res = {}))[key] = attrs[key];
 
-     }
 
-   }
 
-   return res;
 
- };
 
- const filterModelListeners = (attrs, props) => {
 
-   const res = {};
 
-   for (const key in attrs) {
 
-     if (!isModelListener(key) || !(key.slice(9) in props)) {
 
-       res[key] = attrs[key];
 
-     }
 
-   }
 
-   return res;
 
- };
 
- const isElementRoot = (vnode) => {
 
-   return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;
 
- };
 
- function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
 
-   const { props: prevProps, children: prevChildren, component } = prevVNode;
 
-   const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
 
-   const emits = component.emitsOptions;
 
-   if ((prevChildren || nextChildren) && isHmrUpdating) {
 
-     return true;
 
-   }
 
-   if (nextVNode.dirs || nextVNode.transition) {
 
-     return true;
 
-   }
 
-   if (optimized && patchFlag >= 0) {
 
-     if (patchFlag & 1024) {
 
-       return true;
 
-     }
 
-     if (patchFlag & 16) {
 
-       if (!prevProps) {
 
-         return !!nextProps;
 
-       }
 
-       return hasPropsChanged(prevProps, nextProps, emits);
 
-     } else if (patchFlag & 8) {
 
-       const dynamicProps = nextVNode.dynamicProps;
 
-       for (let i = 0; i < dynamicProps.length; i++) {
 
-         const key = dynamicProps[i];
 
-         if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
 
-           return true;
 
-         }
 
-       }
 
-     }
 
-   } else {
 
-     if (prevChildren || nextChildren) {
 
-       if (!nextChildren || !nextChildren.$stable) {
 
-         return true;
 
-       }
 
-     }
 
-     if (prevProps === nextProps) {
 
-       return false;
 
-     }
 
-     if (!prevProps) {
 
-       return !!nextProps;
 
-     }
 
-     if (!nextProps) {
 
-       return true;
 
-     }
 
-     return hasPropsChanged(prevProps, nextProps, emits);
 
-   }
 
-   return false;
 
- }
 
- function hasPropsChanged(prevProps, nextProps, emitsOptions) {
 
-   const nextKeys = Object.keys(nextProps);
 
-   if (nextKeys.length !== Object.keys(prevProps).length) {
 
-     return true;
 
-   }
 
-   for (let i = 0; i < nextKeys.length; i++) {
 
-     const key = nextKeys[i];
 
-     if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
 
-       return true;
 
-     }
 
-   }
 
-   return false;
 
- }
 
- function updateHOCHostEl({ vnode, parent }, el) {
 
-   while (parent && parent.subTree === vnode) {
 
-     (vnode = parent.vnode).el = el;
 
-     parent = parent.parent;
 
-   }
 
- }
 
- const isSuspense = (type) => type.__isSuspense;
 
- function queueEffectWithSuspense(fn, suspense) {
 
-   if (suspense && suspense.pendingBranch) {
 
-     if (isArray(fn)) {
 
-       suspense.effects.push(...fn);
 
-     } else {
 
-       suspense.effects.push(fn);
 
-     }
 
-   } else {
 
-     queuePostFlushCb(fn);
 
-   }
 
- }
 
- const INITIAL_WATCHER_VALUE = {};
 
- function watch(source, cb, options) {
 
-   if (!isFunction(cb)) {
 
-     warn(
 
-       `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
 
-     );
 
-   }
 
-   return doWatch(source, cb, options);
 
- }
 
- function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
 
-   var _a;
 
-   if (!cb) {
 
-     if (immediate !== void 0) {
 
-       warn(
 
-         `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
 
-       );
 
-     }
 
-     if (deep !== void 0) {
 
-       warn(
 
-         `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
 
-       );
 
-     }
 
-   }
 
-   const warnInvalidSource = (s) => {
 
-     warn(
 
-       `Invalid watch source: `,
 
-       s,
 
-       `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
 
-     );
 
-   };
 
-   const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;
 
-   let getter;
 
-   let forceTrigger = false;
 
-   let isMultiSource = false;
 
-   if (isRef(source)) {
 
-     getter = () => source.value;
 
-     forceTrigger = isShallow(source);
 
-   } else if (isReactive(source)) {
 
-     getter = () => source;
 
-     deep = true;
 
-   } else if (isArray(source)) {
 
-     isMultiSource = true;
 
-     forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
 
-     getter = () => source.map((s) => {
 
-       if (isRef(s)) {
 
-         return s.value;
 
-       } else if (isReactive(s)) {
 
-         return traverse(s);
 
-       } else if (isFunction(s)) {
 
-         return callWithErrorHandling(s, instance, 2);
 
-       } else {
 
-         warnInvalidSource(s);
 
-       }
 
-     });
 
-   } else if (isFunction(source)) {
 
-     if (cb) {
 
-       getter = () => callWithErrorHandling(source, instance, 2);
 
-     } else {
 
-       getter = () => {
 
-         if (instance && instance.isUnmounted) {
 
-           return;
 
-         }
 
-         if (cleanup) {
 
-           cleanup();
 
-         }
 
-         return callWithAsyncErrorHandling(
 
-           source,
 
-           instance,
 
-           3,
 
-           [onCleanup]
 
-         );
 
-       };
 
-     }
 
-   } else {
 
-     getter = NOOP;
 
-     warnInvalidSource(source);
 
-   }
 
-   if (cb && deep) {
 
-     const baseGetter = getter;
 
-     getter = () => traverse(baseGetter());
 
-   }
 
-   let cleanup;
 
-   let onCleanup = (fn) => {
 
-     cleanup = effect.onStop = () => {
 
-       callWithErrorHandling(fn, instance, 4);
 
-     };
 
-   };
 
-   let ssrCleanup;
 
-   if (isInSSRComponentSetup) {
 
-     onCleanup = NOOP;
 
-     if (!cb) {
 
-       getter();
 
-     } else if (immediate) {
 
-       callWithAsyncErrorHandling(cb, instance, 3, [
 
-         getter(),
 
-         isMultiSource ? [] : void 0,
 
-         onCleanup
 
-       ]);
 
-     }
 
-     if (flush === "sync") {
 
-       const ctx = useSSRContext();
 
-       ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
 
-     } else {
 
-       return NOOP;
 
-     }
 
-   }
 
-   let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
 
-   const job = () => {
 
-     if (!effect.active) {
 
-       return;
 
-     }
 
-     if (cb) {
 
-       const newValue = effect.run();
 
-       if (deep || forceTrigger || (isMultiSource ? newValue.some(
 
-         (v, i) => hasChanged(v, oldValue[i])
 
-       ) : hasChanged(newValue, oldValue)) || false) {
 
-         if (cleanup) {
 
-           cleanup();
 
-         }
 
-         callWithAsyncErrorHandling(cb, instance, 3, [
 
-           newValue,
 
-           // pass undefined as the old value when it's changed for the first time
 
-           oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
 
-           onCleanup
 
-         ]);
 
-         oldValue = newValue;
 
-       }
 
-     } else {
 
-       effect.run();
 
-     }
 
-   };
 
-   job.allowRecurse = !!cb;
 
-   let scheduler;
 
-   if (flush === "sync") {
 
-     scheduler = job;
 
-   } else if (flush === "post") {
 
-     scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
 
-   } else {
 
-     job.pre = true;
 
-     if (instance)
 
-       job.id = instance.uid;
 
-     scheduler = () => queueJob(job);
 
-   }
 
-   const effect = new ReactiveEffect(getter, scheduler);
 
-   {
 
-     effect.onTrack = onTrack;
 
-     effect.onTrigger = onTrigger;
 
-   }
 
-   if (cb) {
 
-     if (immediate) {
 
-       job();
 
-     } else {
 
-       oldValue = effect.run();
 
-     }
 
-   } else if (flush === "post") {
 
-     queuePostRenderEffect(
 
-       effect.run.bind(effect),
 
-       instance && instance.suspense
 
-     );
 
-   } else {
 
-     effect.run();
 
-   }
 
-   const unwatch = () => {
 
-     effect.stop();
 
-     if (instance && instance.scope) {
 
-       remove(instance.scope.effects, effect);
 
-     }
 
-   };
 
-   if (ssrCleanup)
 
-     ssrCleanup.push(unwatch);
 
-   return unwatch;
 
- }
 
- function instanceWatch(source, value, options) {
 
-   const publicThis = this.proxy;
 
-   const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
 
-   let cb;
 
-   if (isFunction(value)) {
 
-     cb = value;
 
-   } else {
 
-     cb = value.handler;
 
-     options = value;
 
-   }
 
-   const cur = currentInstance;
 
-   setCurrentInstance(this);
 
-   const res = doWatch(getter, cb.bind(publicThis), options);
 
-   if (cur) {
 
-     setCurrentInstance(cur);
 
-   } else {
 
-     unsetCurrentInstance();
 
-   }
 
-   return res;
 
- }
 
- function createPathGetter(ctx, path) {
 
-   const segments = path.split(".");
 
-   return () => {
 
-     let cur = ctx;
 
-     for (let i = 0; i < segments.length && cur; i++) {
 
-       cur = cur[segments[i]];
 
-     }
 
-     return cur;
 
-   };
 
- }
 
- function traverse(value, seen) {
 
-   if (!isObject(value) || value["__v_skip"]) {
 
-     return value;
 
-   }
 
-   seen = seen || /* @__PURE__ */ new Set();
 
-   if (seen.has(value)) {
 
-     return value;
 
-   }
 
-   seen.add(value);
 
-   if (isRef(value)) {
 
-     traverse(value.value, seen);
 
-   } else if (isArray(value)) {
 
-     for (let i = 0; i < value.length; i++) {
 
-       traverse(value[i], seen);
 
-     }
 
-   } else if (isSet(value) || isMap(value)) {
 
-     value.forEach((v) => {
 
-       traverse(v, seen);
 
-     });
 
-   } else if (isPlainObject(value)) {
 
-     for (const key in value) {
 
-       traverse(value[key], seen);
 
-     }
 
-   }
 
-   return value;
 
- }
 
- function validateDirectiveName(name) {
 
-   if (isBuiltInDirective(name)) {
 
-     warn("Do not use built-in directive ids as custom directive id: " + name);
 
-   }
 
- }
 
- function invokeDirectiveHook(vnode, prevVNode, instance, name) {
 
-   const bindings = vnode.dirs;
 
-   const oldBindings = prevVNode && prevVNode.dirs;
 
-   for (let i = 0; i < bindings.length; i++) {
 
-     const binding = bindings[i];
 
-     if (oldBindings) {
 
-       binding.oldValue = oldBindings[i].value;
 
-     }
 
-     let hook = binding.dir[name];
 
-     if (hook) {
 
-       pauseTracking();
 
-       callWithAsyncErrorHandling(hook, instance, 8, [
 
-         vnode.el,
 
-         binding,
 
-         vnode,
 
-         prevVNode
 
-       ]);
 
-       resetTracking();
 
-     }
 
-   }
 
- }
 
- const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
 
- const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
 
- function onActivated(hook, target) {
 
-   registerKeepAliveHook(hook, "a", target);
 
- }
 
- function onDeactivated(hook, target) {
 
-   registerKeepAliveHook(hook, "da", target);
 
- }
 
- function registerKeepAliveHook(hook, type, target = currentInstance) {
 
-   const wrappedHook = hook.__wdc || (hook.__wdc = () => {
 
-     let current = target;
 
-     while (current) {
 
-       if (current.isDeactivated) {
 
-         return;
 
-       }
 
-       current = current.parent;
 
-     }
 
-     return hook();
 
-   });
 
-   injectHook(type, wrappedHook, target);
 
-   if (target) {
 
-     let current = target.parent;
 
-     while (current && current.parent) {
 
-       if (isKeepAlive(current.parent.vnode)) {
 
-         injectToKeepAliveRoot(wrappedHook, type, target, current);
 
-       }
 
-       current = current.parent;
 
-     }
 
-   }
 
- }
 
- function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
 
-   const injected = injectHook(
 
-     type,
 
-     hook,
 
-     keepAliveRoot,
 
-     true
 
-     /* prepend */
 
-   );
 
-   onUnmounted(() => {
 
-     remove(keepAliveRoot[type], injected);
 
-   }, target);
 
- }
 
- function injectHook(type, hook, target = currentInstance, prepend = false) {
 
-   if (target) {
 
-     const hooks = target[type] || (target[type] = []);
 
-     const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
 
-       if (target.isUnmounted) {
 
-         return;
 
-       }
 
-       pauseTracking();
 
-       setCurrentInstance(target);
 
-       const res = callWithAsyncErrorHandling(hook, target, type, args);
 
-       unsetCurrentInstance();
 
-       resetTracking();
 
-       return res;
 
-     });
 
-     if (prepend) {
 
-       hooks.unshift(wrappedHook);
 
-     } else {
 
-       hooks.push(wrappedHook);
 
-     }
 
-     return wrappedHook;
 
-   } else {
 
-     const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ""));
 
-     warn(
 
-       `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )
 
-     );
 
-   }
 
- }
 
- const createHook = (lifecycle) => (hook, target = currentInstance) => (
 
-   // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
 
-   (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
 
- );
 
- const onBeforeMount = createHook("bm");
 
- const onMounted = createHook("m");
 
- const onBeforeUpdate = createHook("bu");
 
- const onUpdated = createHook("u");
 
- const onBeforeUnmount = createHook("bum");
 
- const onUnmounted = createHook("um");
 
- const onServerPrefetch = createHook("sp");
 
- const onRenderTriggered = createHook(
 
-   "rtg"
 
- );
 
- const onRenderTracked = createHook(
 
-   "rtc"
 
- );
 
- function onErrorCaptured(hook, target = currentInstance) {
 
-   injectHook("ec", hook, target);
 
- }
 
- const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
 
- const getPublicInstance = (i) => {
 
-   if (!i)
 
-     return null;
 
-   if (isStatefulComponent(i))
 
-     return getExposeProxy(i) || i.proxy;
 
-   return getPublicInstance(i.parent);
 
- };
 
- const publicPropertiesMap = (
 
-   // Move PURE marker to new line to workaround compiler discarding it
 
-   // due to type annotation
 
-   /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
 
-     $: (i) => i,
 
-     $el: (i) => i.vnode.el,
 
-     $data: (i) => i.data,
 
-     $props: (i) => shallowReadonly(i.props) ,
 
-     $attrs: (i) => shallowReadonly(i.attrs) ,
 
-     $slots: (i) => shallowReadonly(i.slots) ,
 
-     $refs: (i) => shallowReadonly(i.refs) ,
 
-     $parent: (i) => getPublicInstance(i.parent),
 
-     $root: (i) => getPublicInstance(i.root),
 
-     $emit: (i) => i.emit,
 
-     $options: (i) => resolveMergedOptions(i) ,
 
-     $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),
 
-     $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),
 
-     $watch: (i) => instanceWatch.bind(i) 
 
-   })
 
- );
 
- const isReservedPrefix = (key) => key === "_" || key === "$";
 
- const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
 
- const PublicInstanceProxyHandlers = {
 
-   get({ _: instance }, key) {
 
-     const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
 
-     if (key === "__isVue") {
 
-       return true;
 
-     }
 
-     let normalizedProps;
 
-     if (key[0] !== "$") {
 
-       const n = accessCache[key];
 
-       if (n !== void 0) {
 
-         switch (n) {
 
-           case 1 /* SETUP */:
 
-             return setupState[key];
 
-           case 2 /* DATA */:
 
-             return data[key];
 
-           case 4 /* CONTEXT */:
 
-             return ctx[key];
 
-           case 3 /* PROPS */:
 
-             return props[key];
 
-         }
 
-       } else if (hasSetupBinding(setupState, key)) {
 
-         accessCache[key] = 1 /* SETUP */;
 
-         return setupState[key];
 
-       } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
 
-         accessCache[key] = 2 /* DATA */;
 
-         return data[key];
 
-       } else if (
 
-         // only cache other properties when instance has declared (thus stable)
 
-         // props
 
-         (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)
 
-       ) {
 
-         accessCache[key] = 3 /* PROPS */;
 
-         return props[key];
 
-       } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
 
-         accessCache[key] = 4 /* CONTEXT */;
 
-         return ctx[key];
 
-       } else if (shouldCacheAccess) {
 
-         accessCache[key] = 0 /* OTHER */;
 
-       }
 
-     }
 
-     const publicGetter = publicPropertiesMap[key];
 
-     let cssModule, globalProperties;
 
-     if (publicGetter) {
 
-       if (key === "$attrs") {
 
-         track(instance, "get", key);
 
-         markAttrsAccessed();
 
-       } else if (key === "$slots") {
 
-         track(instance, "get", key);
 
-       }
 
-       return publicGetter(instance);
 
-     } else if (
 
-       // css module (injected by vue-loader)
 
-       (cssModule = type.__cssModules) && (cssModule = cssModule[key])
 
-     ) {
 
-       return cssModule;
 
-     } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
 
-       accessCache[key] = 4 /* CONTEXT */;
 
-       return ctx[key];
 
-     } else if (
 
-       // global properties
 
-       globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)
 
-     ) {
 
-       {
 
-         return globalProperties[key];
 
-       }
 
-     } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
 
-     // to infinite warning loop
 
-     key.indexOf("__v") !== 0)) {
 
-       if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {
 
-         warn(
 
-           `Property ${JSON.stringify(
 
-             key
 
-           )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
 
-         );
 
-       } else if (instance === currentRenderingInstance) {
 
-         warn(
 
-           `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
 
-         );
 
-       }
 
-     }
 
-   },
 
-   set({ _: instance }, key, value) {
 
-     const { data, setupState, ctx } = instance;
 
-     if (hasSetupBinding(setupState, key)) {
 
-       setupState[key] = value;
 
-       return true;
 
-     } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) {
 
-       warn(`Cannot mutate <script setup> binding "${key}" from Options API.`);
 
-       return false;
 
-     } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
 
-       data[key] = value;
 
-       return true;
 
-     } else if (hasOwn(instance.props, key)) {
 
-       warn(`Attempting to mutate prop "${key}". Props are readonly.`);
 
-       return false;
 
-     }
 
-     if (key[0] === "$" && key.slice(1) in instance) {
 
-       warn(
 
-         `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
 
-       );
 
-       return false;
 
-     } else {
 
-       if (key in instance.appContext.config.globalProperties) {
 
-         Object.defineProperty(ctx, key, {
 
-           enumerable: true,
 
-           configurable: true,
 
-           value
 
-         });
 
-       } else {
 
-         ctx[key] = value;
 
-       }
 
-     }
 
-     return true;
 
-   },
 
-   has({
 
-     _: { data, setupState, accessCache, ctx, appContext, propsOptions }
 
-   }, key) {
 
-     let normalizedProps;
 
-     return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
 
-   },
 
-   defineProperty(target, key, descriptor) {
 
-     if (descriptor.get != null) {
 
-       target._.accessCache[key] = 0;
 
-     } else if (hasOwn(descriptor, "value")) {
 
-       this.set(target, key, descriptor.value, null);
 
-     }
 
-     return Reflect.defineProperty(target, key, descriptor);
 
-   }
 
- };
 
- {
 
-   PublicInstanceProxyHandlers.ownKeys = (target) => {
 
-     warn(
 
-       `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
 
-     );
 
-     return Reflect.ownKeys(target);
 
-   };
 
- }
 
- function createDevRenderContext(instance) {
 
-   const target = {};
 
-   Object.defineProperty(target, `_`, {
 
-     configurable: true,
 
-     enumerable: false,
 
-     get: () => instance
 
-   });
 
-   Object.keys(publicPropertiesMap).forEach((key) => {
 
-     Object.defineProperty(target, key, {
 
-       configurable: true,
 
-       enumerable: false,
 
-       get: () => publicPropertiesMap[key](instance),
 
-       // intercepted by the proxy so no need for implementation,
 
-       // but needed to prevent set errors
 
-       set: NOOP
 
-     });
 
-   });
 
-   return target;
 
- }
 
- function exposePropsOnRenderContext(instance) {
 
-   const {
 
-     ctx,
 
-     propsOptions: [propsOptions]
 
-   } = instance;
 
-   if (propsOptions) {
 
-     Object.keys(propsOptions).forEach((key) => {
 
-       Object.defineProperty(ctx, key, {
 
-         enumerable: true,
 
-         configurable: true,
 
-         get: () => instance.props[key],
 
-         set: NOOP
 
-       });
 
-     });
 
-   }
 
- }
 
- function exposeSetupStateOnRenderContext(instance) {
 
-   const { ctx, setupState } = instance;
 
-   Object.keys(toRaw(setupState)).forEach((key) => {
 
-     if (!setupState.__isScriptSetup) {
 
-       if (isReservedPrefix(key[0])) {
 
-         warn(
 
-           `setup() return property ${JSON.stringify(
 
-             key
 
-           )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
 
-         );
 
-         return;
 
-       }
 
-       Object.defineProperty(ctx, key, {
 
-         enumerable: true,
 
-         configurable: true,
 
-         get: () => setupState[key],
 
-         set: NOOP
 
-       });
 
-     }
 
-   });
 
- }
 
- function normalizePropsOrEmits(props) {
 
-   return isArray(props) ? props.reduce(
 
-     (normalized, p) => (normalized[p] = null, normalized),
 
-     {}
 
-   ) : props;
 
- }
 
- function createDuplicateChecker() {
 
-   const cache = /* @__PURE__ */ Object.create(null);
 
-   return (type, key) => {
 
-     if (cache[key]) {
 
-       warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
 
-     } else {
 
-       cache[key] = type;
 
-     }
 
-   };
 
- }
 
- let shouldCacheAccess = true;
 
- function applyOptions(instance) {
 
-   const options = resolveMergedOptions(instance);
 
-   const publicThis = instance.proxy;
 
-   const ctx = instance.ctx;
 
-   shouldCacheAccess = false;
 
-   if (options.beforeCreate) {
 
-     callHook(options.beforeCreate, instance, "bc");
 
-   }
 
-   const {
 
-     // state
 
-     data: dataOptions,
 
-     computed: computedOptions,
 
-     methods,
 
-     watch: watchOptions,
 
-     provide: provideOptions,
 
-     inject: injectOptions,
 
-     // lifecycle
 
-     created,
 
-     beforeMount,
 
-     mounted,
 
-     beforeUpdate,
 
-     updated,
 
-     activated,
 
-     deactivated,
 
-     beforeDestroy,
 
-     beforeUnmount,
 
-     destroyed,
 
-     unmounted,
 
-     render,
 
-     renderTracked,
 
-     renderTriggered,
 
-     errorCaptured,
 
-     serverPrefetch,
 
-     // public API
 
-     expose,
 
-     inheritAttrs,
 
-     // assets
 
-     components,
 
-     directives,
 
-     filters
 
-   } = options;
 
-   const checkDuplicateProperties = createDuplicateChecker() ;
 
-   {
 
-     const [propsOptions] = instance.propsOptions;
 
-     if (propsOptions) {
 
-       for (const key in propsOptions) {
 
-         checkDuplicateProperties("Props" /* PROPS */, key);
 
-       }
 
-     }
 
-   }
 
-   if (injectOptions) {
 
-     resolveInjections(injectOptions, ctx, checkDuplicateProperties);
 
-   }
 
-   if (methods) {
 
-     for (const key in methods) {
 
-       const methodHandler = methods[key];
 
-       if (isFunction(methodHandler)) {
 
-         {
 
-           Object.defineProperty(ctx, key, {
 
-             value: methodHandler.bind(publicThis),
 
-             configurable: true,
 
-             enumerable: true,
 
-             writable: true
 
-           });
 
-         }
 
-         {
 
-           checkDuplicateProperties("Methods" /* METHODS */, key);
 
-         }
 
-       } else {
 
-         warn(
 
-           `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
 
-         );
 
-       }
 
-     }
 
-   }
 
-   if (dataOptions) {
 
-     if (!isFunction(dataOptions)) {
 
-       warn(
 
-         `The data option must be a function. Plain object usage is no longer supported.`
 
-       );
 
-     }
 
-     const data = dataOptions.call(publicThis, publicThis);
 
-     if (isPromise(data)) {
 
-       warn(
 
-         `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
 
-       );
 
-     }
 
-     if (!isObject(data)) {
 
-       warn(`data() should return an object.`);
 
-     } else {
 
-       instance.data = reactive(data);
 
-       {
 
-         for (const key in data) {
 
-           checkDuplicateProperties("Data" /* DATA */, key);
 
-           if (!isReservedPrefix(key[0])) {
 
-             Object.defineProperty(ctx, key, {
 
-               configurable: true,
 
-               enumerable: true,
 
-               get: () => data[key],
 
-               set: NOOP
 
-             });
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
-   shouldCacheAccess = true;
 
-   if (computedOptions) {
 
-     for (const key in computedOptions) {
 
-       const opt = computedOptions[key];
 
-       const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
 
-       if (get === NOOP) {
 
-         warn(`Computed property "${key}" has no getter.`);
 
-       }
 
-       const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
 
-         warn(
 
-           `Write operation failed: computed property "${key}" is readonly.`
 
-         );
 
-       } ;
 
-       const c = computed({
 
-         get,
 
-         set
 
-       });
 
-       Object.defineProperty(ctx, key, {
 
-         enumerable: true,
 
-         configurable: true,
 
-         get: () => c.value,
 
-         set: (v) => c.value = v
 
-       });
 
-       {
 
-         checkDuplicateProperties("Computed" /* COMPUTED */, key);
 
-       }
 
-     }
 
-   }
 
-   if (watchOptions) {
 
-     for (const key in watchOptions) {
 
-       createWatcher(watchOptions[key], ctx, publicThis, key);
 
-     }
 
-   }
 
-   if (provideOptions) {
 
-     const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
 
-     Reflect.ownKeys(provides).forEach((key) => {
 
-       provide(key, provides[key]);
 
-     });
 
-   }
 
-   if (created) {
 
-     callHook(created, instance, "c");
 
-   }
 
-   function registerLifecycleHook(register, hook) {
 
-     if (isArray(hook)) {
 
-       hook.forEach((_hook) => register(_hook.bind(publicThis)));
 
-     } else if (hook) {
 
-       register(hook.bind(publicThis));
 
-     }
 
-   }
 
-   registerLifecycleHook(onBeforeMount, beforeMount);
 
-   registerLifecycleHook(onMounted, mounted);
 
-   registerLifecycleHook(onBeforeUpdate, beforeUpdate);
 
-   registerLifecycleHook(onUpdated, updated);
 
-   registerLifecycleHook(onActivated, activated);
 
-   registerLifecycleHook(onDeactivated, deactivated);
 
-   registerLifecycleHook(onErrorCaptured, errorCaptured);
 
-   registerLifecycleHook(onRenderTracked, renderTracked);
 
-   registerLifecycleHook(onRenderTriggered, renderTriggered);
 
-   registerLifecycleHook(onBeforeUnmount, beforeUnmount);
 
-   registerLifecycleHook(onUnmounted, unmounted);
 
-   registerLifecycleHook(onServerPrefetch, serverPrefetch);
 
-   if (isArray(expose)) {
 
-     if (expose.length) {
 
-       const exposed = instance.exposed || (instance.exposed = {});
 
-       expose.forEach((key) => {
 
-         Object.defineProperty(exposed, key, {
 
-           get: () => publicThis[key],
 
-           set: (val) => publicThis[key] = val
 
-         });
 
-       });
 
-     } else if (!instance.exposed) {
 
-       instance.exposed = {};
 
-     }
 
-   }
 
-   if (render && instance.render === NOOP) {
 
-     instance.render = render;
 
-   }
 
-   if (inheritAttrs != null) {
 
-     instance.inheritAttrs = inheritAttrs;
 
-   }
 
-   if (components)
 
-     instance.components = components;
 
-   if (directives)
 
-     instance.directives = directives;
 
- }
 
- function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
 
-   if (isArray(injectOptions)) {
 
-     injectOptions = normalizeInject(injectOptions);
 
-   }
 
-   for (const key in injectOptions) {
 
-     const opt = injectOptions[key];
 
-     let injected;
 
-     if (isObject(opt)) {
 
-       if ("default" in opt) {
 
-         injected = inject(
 
-           opt.from || key,
 
-           opt.default,
 
-           true
 
-           /* treat default function as factory */
 
-         );
 
-       } else {
 
-         injected = inject(opt.from || key);
 
-       }
 
-     } else {
 
-       injected = inject(opt);
 
-     }
 
-     if (isRef(injected)) {
 
-       Object.defineProperty(ctx, key, {
 
-         enumerable: true,
 
-         configurable: true,
 
-         get: () => injected.value,
 
-         set: (v) => injected.value = v
 
-       });
 
-     } else {
 
-       ctx[key] = injected;
 
-     }
 
-     {
 
-       checkDuplicateProperties("Inject" /* INJECT */, key);
 
-     }
 
-   }
 
- }
 
- function callHook(hook, instance, type) {
 
-   callWithAsyncErrorHandling(
 
-     isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),
 
-     instance,
 
-     type
 
-   );
 
- }
 
- function createWatcher(raw, ctx, publicThis, key) {
 
-   const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
 
-   if (isString(raw)) {
 
-     const handler = ctx[raw];
 
-     if (isFunction(handler)) {
 
-       watch(getter, handler);
 
-     } else {
 
-       warn(`Invalid watch handler specified by key "${raw}"`, handler);
 
-     }
 
-   } else if (isFunction(raw)) {
 
-     watch(getter, raw.bind(publicThis));
 
-   } else if (isObject(raw)) {
 
-     if (isArray(raw)) {
 
-       raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
 
-     } else {
 
-       const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
 
-       if (isFunction(handler)) {
 
-         watch(getter, handler, raw);
 
-       } else {
 
-         warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
 
-       }
 
-     }
 
-   } else {
 
-     warn(`Invalid watch option: "${key}"`, raw);
 
-   }
 
- }
 
- function resolveMergedOptions(instance) {
 
-   const base = instance.type;
 
-   const { mixins, extends: extendsOptions } = base;
 
-   const {
 
-     mixins: globalMixins,
 
-     optionsCache: cache,
 
-     config: { optionMergeStrategies }
 
-   } = instance.appContext;
 
-   const cached = cache.get(base);
 
-   let resolved;
 
-   if (cached) {
 
-     resolved = cached;
 
-   } else if (!globalMixins.length && !mixins && !extendsOptions) {
 
-     {
 
-       resolved = base;
 
-     }
 
-   } else {
 
-     resolved = {};
 
-     if (globalMixins.length) {
 
-       globalMixins.forEach(
 
-         (m) => mergeOptions(resolved, m, optionMergeStrategies, true)
 
-       );
 
-     }
 
-     mergeOptions(resolved, base, optionMergeStrategies);
 
-   }
 
-   if (isObject(base)) {
 
-     cache.set(base, resolved);
 
-   }
 
-   return resolved;
 
- }
 
- function mergeOptions(to, from, strats, asMixin = false) {
 
-   const { mixins, extends: extendsOptions } = from;
 
-   if (extendsOptions) {
 
-     mergeOptions(to, extendsOptions, strats, true);
 
-   }
 
-   if (mixins) {
 
-     mixins.forEach(
 
-       (m) => mergeOptions(to, m, strats, true)
 
-     );
 
-   }
 
-   for (const key in from) {
 
-     if (asMixin && key === "expose") {
 
-       warn(
 
-         `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
 
-       );
 
-     } else {
 
-       const strat = internalOptionMergeStrats[key] || strats && strats[key];
 
-       to[key] = strat ? strat(to[key], from[key]) : from[key];
 
-     }
 
-   }
 
-   return to;
 
- }
 
- const internalOptionMergeStrats = {
 
-   data: mergeDataFn,
 
-   props: mergeEmitsOrPropsOptions,
 
-   emits: mergeEmitsOrPropsOptions,
 
-   // objects
 
-   methods: mergeObjectOptions,
 
-   computed: mergeObjectOptions,
 
-   // lifecycle
 
-   beforeCreate: mergeAsArray,
 
-   created: mergeAsArray,
 
-   beforeMount: mergeAsArray,
 
-   mounted: mergeAsArray,
 
-   beforeUpdate: mergeAsArray,
 
-   updated: mergeAsArray,
 
-   beforeDestroy: mergeAsArray,
 
-   beforeUnmount: mergeAsArray,
 
-   destroyed: mergeAsArray,
 
-   unmounted: mergeAsArray,
 
-   activated: mergeAsArray,
 
-   deactivated: mergeAsArray,
 
-   errorCaptured: mergeAsArray,
 
-   serverPrefetch: mergeAsArray,
 
-   // assets
 
-   components: mergeObjectOptions,
 
-   directives: mergeObjectOptions,
 
-   // watch
 
-   watch: mergeWatchOptions,
 
-   // provide / inject
 
-   provide: mergeDataFn,
 
-   inject: mergeInject
 
- };
 
- function mergeDataFn(to, from) {
 
-   if (!from) {
 
-     return to;
 
-   }
 
-   if (!to) {
 
-     return from;
 
-   }
 
-   return function mergedDataFn() {
 
-     return (extend)(
 
-       isFunction(to) ? to.call(this, this) : to,
 
-       isFunction(from) ? from.call(this, this) : from
 
-     );
 
-   };
 
- }
 
- function mergeInject(to, from) {
 
-   return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
 
- }
 
- function normalizeInject(raw) {
 
-   if (isArray(raw)) {
 
-     const res = {};
 
-     for (let i = 0; i < raw.length; i++) {
 
-       res[raw[i]] = raw[i];
 
-     }
 
-     return res;
 
-   }
 
-   return raw;
 
- }
 
- function mergeAsArray(to, from) {
 
-   return to ? [...new Set([].concat(to, from))] : from;
 
- }
 
- function mergeObjectOptions(to, from) {
 
-   return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;
 
- }
 
- function mergeEmitsOrPropsOptions(to, from) {
 
-   if (to) {
 
-     if (isArray(to) && isArray(from)) {
 
-       return [.../* @__PURE__ */ new Set([...to, ...from])];
 
-     }
 
-     return extend(
 
-       /* @__PURE__ */ Object.create(null),
 
-       normalizePropsOrEmits(to),
 
-       normalizePropsOrEmits(from != null ? from : {})
 
-     );
 
-   } else {
 
-     return from;
 
-   }
 
- }
 
- function mergeWatchOptions(to, from) {
 
-   if (!to)
 
-     return from;
 
-   if (!from)
 
-     return to;
 
-   const merged = extend(/* @__PURE__ */ Object.create(null), to);
 
-   for (const key in from) {
 
-     merged[key] = mergeAsArray(to[key], from[key]);
 
-   }
 
-   return merged;
 
- }
 
- function createAppContext() {
 
-   return {
 
-     app: null,
 
-     config: {
 
-       isNativeTag: NO,
 
-       performance: false,
 
-       globalProperties: {},
 
-       optionMergeStrategies: {},
 
-       errorHandler: void 0,
 
-       warnHandler: void 0,
 
-       compilerOptions: {}
 
-     },
 
-     mixins: [],
 
-     components: {},
 
-     directives: {},
 
-     provides: /* @__PURE__ */ Object.create(null),
 
-     optionsCache: /* @__PURE__ */ new WeakMap(),
 
-     propsCache: /* @__PURE__ */ new WeakMap(),
 
-     emitsCache: /* @__PURE__ */ new WeakMap()
 
-   };
 
- }
 
- let uid$1 = 0;
 
- function createAppAPI(render, hydrate) {
 
-   return function createApp(rootComponent, rootProps = null) {
 
-     if (!isFunction(rootComponent)) {
 
-       rootComponent = extend({}, rootComponent);
 
-     }
 
-     if (rootProps != null && !isObject(rootProps)) {
 
-       warn(`root props passed to app.mount() must be an object.`);
 
-       rootProps = null;
 
-     }
 
-     const context = createAppContext();
 
-     {
 
-       Object.defineProperty(context.config, "unwrapInjectedRef", {
 
-         get() {
 
-           return true;
 
-         },
 
-         set() {
 
-           warn(
 
-             `app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.`
 
-           );
 
-         }
 
-       });
 
-     }
 
-     const installedPlugins = /* @__PURE__ */ new Set();
 
-     let isMounted = false;
 
-     const app = context.app = {
 
-       _uid: uid$1++,
 
-       _component: rootComponent,
 
-       _props: rootProps,
 
-       _container: null,
 
-       _context: context,
 
-       _instance: null,
 
-       version,
 
-       get config() {
 
-         return context.config;
 
-       },
 
-       set config(v) {
 
-         {
 
-           warn(
 
-             `app.config cannot be replaced. Modify individual options instead.`
 
-           );
 
-         }
 
-       },
 
-       use(plugin, ...options) {
 
-         if (installedPlugins.has(plugin)) {
 
-           warn(`Plugin has already been applied to target app.`);
 
-         } else if (plugin && isFunction(plugin.install)) {
 
-           installedPlugins.add(plugin);
 
-           plugin.install(app, ...options);
 
-         } else if (isFunction(plugin)) {
 
-           installedPlugins.add(plugin);
 
-           plugin(app, ...options);
 
-         } else {
 
-           warn(
 
-             `A plugin must either be a function or an object with an "install" function.`
 
-           );
 
-         }
 
-         return app;
 
-       },
 
-       mixin(mixin) {
 
-         {
 
-           if (!context.mixins.includes(mixin)) {
 
-             context.mixins.push(mixin);
 
-           } else {
 
-             warn(
 
-               "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
 
-             );
 
-           }
 
-         }
 
-         return app;
 
-       },
 
-       component(name, component) {
 
-         {
 
-           validateComponentName(name, context.config);
 
-         }
 
-         if (!component) {
 
-           return context.components[name];
 
-         }
 
-         if (context.components[name]) {
 
-           warn(`Component "${name}" has already been registered in target app.`);
 
-         }
 
-         context.components[name] = component;
 
-         return app;
 
-       },
 
-       directive(name, directive) {
 
-         {
 
-           validateDirectiveName(name);
 
-         }
 
-         if (!directive) {
 
-           return context.directives[name];
 
-         }
 
-         if (context.directives[name]) {
 
-           warn(`Directive "${name}" has already been registered in target app.`);
 
-         }
 
-         context.directives[name] = directive;
 
-         return app;
 
-       },
 
-       mount(rootContainer, isHydrate, isSVG) {
 
-         if (!isMounted) {
 
-           if (rootContainer.__vue_app__) {
 
-             warn(
 
-               `There is already an app instance mounted on the host container.
 
-  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
 
-             );
 
-           }
 
-           const vnode = createVNode(
 
-             rootComponent,
 
-             rootProps
 
-           );
 
-           vnode.appContext = context;
 
-           {
 
-             context.reload = () => {
 
-               render(cloneVNode(vnode), rootContainer, isSVG);
 
-             };
 
-           }
 
-           if (isHydrate && hydrate) {
 
-             hydrate(vnode, rootContainer);
 
-           } else {
 
-             render(vnode, rootContainer, isSVG);
 
-           }
 
-           isMounted = true;
 
-           app._container = rootContainer;
 
-           rootContainer.__vue_app__ = app;
 
-           {
 
-             app._instance = vnode.component;
 
-             devtoolsInitApp(app, version);
 
-           }
 
-           return getExposeProxy(vnode.component) || vnode.component.proxy;
 
-         } else {
 
-           warn(
 
-             `App has already been mounted.
 
- If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
 
-           );
 
-         }
 
-       },
 
-       unmount() {
 
-         if (isMounted) {
 
-           render(null, app._container);
 
-           {
 
-             app._instance = null;
 
-             devtoolsUnmountApp(app);
 
-           }
 
-           delete app._container.__vue_app__;
 
-         } else {
 
-           warn(`Cannot unmount an app that is not mounted.`);
 
-         }
 
-       },
 
-       provide(key, value) {
 
-         if (key in context.provides) {
 
-           warn(
 
-             `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
 
-           );
 
-         }
 
-         context.provides[key] = value;
 
-         return app;
 
-       },
 
-       runWithContext(fn) {
 
-         currentApp = app;
 
-         try {
 
-           return fn();
 
-         } finally {
 
-           currentApp = null;
 
-         }
 
-       }
 
-     };
 
-     return app;
 
-   };
 
- }
 
- let currentApp = null;
 
- function provide(key, value) {
 
-   if (!currentInstance) {
 
-     {
 
-       warn(`provide() can only be used inside setup().`);
 
-     }
 
-   } else {
 
-     let provides = currentInstance.provides;
 
-     const parentProvides = currentInstance.parent && currentInstance.parent.provides;
 
-     if (parentProvides === provides) {
 
-       provides = currentInstance.provides = Object.create(parentProvides);
 
-     }
 
-     provides[key] = value;
 
-   }
 
- }
 
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
 
-   const instance = currentInstance || currentRenderingInstance;
 
-   if (instance || currentApp) {
 
-     const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
 
-     if (provides && key in provides) {
 
-       return provides[key];
 
-     } else if (arguments.length > 1) {
 
-       return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
 
-     } else {
 
-       warn(`injection "${String(key)}" not found.`);
 
-     }
 
-   } else {
 
-     warn(`inject() can only be used inside setup() or functional components.`);
 
-   }
 
- }
 
- function initProps(instance, rawProps, isStateful, isSSR = false) {
 
-   const props = {};
 
-   const attrs = {};
 
-   def(attrs, InternalObjectKey, 1);
 
-   instance.propsDefaults = /* @__PURE__ */ Object.create(null);
 
-   setFullProps(instance, rawProps, props, attrs);
 
-   for (const key in instance.propsOptions[0]) {
 
-     if (!(key in props)) {
 
-       props[key] = void 0;
 
-     }
 
-   }
 
-   {
 
-     validateProps(rawProps || {}, props, instance);
 
-   }
 
-   if (isStateful) {
 
-     instance.props = isSSR ? props : shallowReactive(props);
 
-   } else {
 
-     if (!instance.type.props) {
 
-       instance.props = attrs;
 
-     } else {
 
-       instance.props = props;
 
-     }
 
-   }
 
-   instance.attrs = attrs;
 
- }
 
- function isInHmrContext(instance) {
 
-   while (instance) {
 
-     if (instance.type.__hmrId)
 
-       return true;
 
-     instance = instance.parent;
 
-   }
 
- }
 
- function updateProps(instance, rawProps, rawPrevProps, optimized) {
 
-   const {
 
-     props,
 
-     attrs,
 
-     vnode: { patchFlag }
 
-   } = instance;
 
-   const rawCurrentProps = toRaw(props);
 
-   const [options] = instance.propsOptions;
 
-   let hasAttrsChanged = false;
 
-   if (
 
-     // always force full diff in dev
 
-     // - #1942 if hmr is enabled with sfc component
 
-     // - vite#872 non-sfc component used by sfc component
 
-     !isInHmrContext(instance) && (optimized || patchFlag > 0) && !(patchFlag & 16)
 
-   ) {
 
-     if (patchFlag & 8) {
 
-       const propsToUpdate = instance.vnode.dynamicProps;
 
-       for (let i = 0; i < propsToUpdate.length; i++) {
 
-         let key = propsToUpdate[i];
 
-         if (isEmitListener(instance.emitsOptions, key)) {
 
-           continue;
 
-         }
 
-         const value = rawProps[key];
 
-         if (options) {
 
-           if (hasOwn(attrs, key)) {
 
-             if (value !== attrs[key]) {
 
-               attrs[key] = value;
 
-               hasAttrsChanged = true;
 
-             }
 
-           } else {
 
-             const camelizedKey = camelize(key);
 
-             props[camelizedKey] = resolvePropValue(
 
-               options,
 
-               rawCurrentProps,
 
-               camelizedKey,
 
-               value,
 
-               instance,
 
-               false
 
-               /* isAbsent */
 
-             );
 
-           }
 
-         } else {
 
-           if (value !== attrs[key]) {
 
-             attrs[key] = value;
 
-             hasAttrsChanged = true;
 
-           }
 
-         }
 
-       }
 
-     }
 
-   } else {
 
-     if (setFullProps(instance, rawProps, props, attrs)) {
 
-       hasAttrsChanged = true;
 
-     }
 
-     let kebabKey;
 
-     for (const key in rawCurrentProps) {
 
-       if (!rawProps || // for camelCase
 
-       !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case
 
-       // and converted to camelCase (#955)
 
-       ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
 
-         if (options) {
 
-           if (rawPrevProps && // for camelCase
 
-           (rawPrevProps[key] !== void 0 || // for kebab-case
 
-           rawPrevProps[kebabKey] !== void 0)) {
 
-             props[key] = resolvePropValue(
 
-               options,
 
-               rawCurrentProps,
 
-               key,
 
-               void 0,
 
-               instance,
 
-               true
 
-               /* isAbsent */
 
-             );
 
-           }
 
-         } else {
 
-           delete props[key];
 
-         }
 
-       }
 
-     }
 
-     if (attrs !== rawCurrentProps) {
 
-       for (const key in attrs) {
 
-         if (!rawProps || !hasOwn(rawProps, key) && true) {
 
-           delete attrs[key];
 
-           hasAttrsChanged = true;
 
-         }
 
-       }
 
-     }
 
-   }
 
-   if (hasAttrsChanged) {
 
-     trigger(instance, "set", "$attrs");
 
-   }
 
-   {
 
-     validateProps(rawProps || {}, props, instance);
 
-   }
 
- }
 
- function setFullProps(instance, rawProps, props, attrs) {
 
-   const [options, needCastKeys] = instance.propsOptions;
 
-   let hasAttrsChanged = false;
 
-   let rawCastValues;
 
-   if (rawProps) {
 
-     for (let key in rawProps) {
 
-       if (isReservedProp(key)) {
 
-         continue;
 
-       }
 
-       const value = rawProps[key];
 
-       let camelKey;
 
-       if (options && hasOwn(options, camelKey = camelize(key))) {
 
-         if (!needCastKeys || !needCastKeys.includes(camelKey)) {
 
-           props[camelKey] = value;
 
-         } else {
 
-           (rawCastValues || (rawCastValues = {}))[camelKey] = value;
 
-         }
 
-       } else if (!isEmitListener(instance.emitsOptions, key)) {
 
-         if (!(key in attrs) || value !== attrs[key]) {
 
-           attrs[key] = value;
 
-           hasAttrsChanged = true;
 
-         }
 
-       }
 
-     }
 
-   }
 
-   if (needCastKeys) {
 
-     const rawCurrentProps = toRaw(props);
 
-     const castValues = rawCastValues || EMPTY_OBJ;
 
-     for (let i = 0; i < needCastKeys.length; i++) {
 
-       const key = needCastKeys[i];
 
-       props[key] = resolvePropValue(
 
-         options,
 
-         rawCurrentProps,
 
-         key,
 
-         castValues[key],
 
-         instance,
 
-         !hasOwn(castValues, key)
 
-       );
 
-     }
 
-   }
 
-   return hasAttrsChanged;
 
- }
 
- function resolvePropValue(options, props, key, value, instance, isAbsent) {
 
-   const opt = options[key];
 
-   if (opt != null) {
 
-     const hasDefault = hasOwn(opt, "default");
 
-     if (hasDefault && value === void 0) {
 
-       const defaultValue = opt.default;
 
-       if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
 
-         const { propsDefaults } = instance;
 
-         if (key in propsDefaults) {
 
-           value = propsDefaults[key];
 
-         } else {
 
-           setCurrentInstance(instance);
 
-           value = propsDefaults[key] = defaultValue.call(
 
-             null,
 
-             props
 
-           );
 
-           unsetCurrentInstance();
 
-         }
 
-       } else {
 
-         value = defaultValue;
 
-       }
 
-     }
 
-     if (opt[0 /* shouldCast */]) {
 
-       if (isAbsent && !hasDefault) {
 
-         value = false;
 
-       } else if (opt[1 /* shouldCastTrue */] && (value === "" || value === hyphenate(key))) {
 
-         value = true;
 
-       }
 
-     }
 
-   }
 
-   return value;
 
- }
 
- function normalizePropsOptions(comp, appContext, asMixin = false) {
 
-   const cache = appContext.propsCache;
 
-   const cached = cache.get(comp);
 
-   if (cached) {
 
-     return cached;
 
-   }
 
-   const raw = comp.props;
 
-   const normalized = {};
 
-   const needCastKeys = [];
 
-   let hasExtends = false;
 
-   if (!isFunction(comp)) {
 
-     const extendProps = (raw2) => {
 
-       hasExtends = true;
 
-       const [props, keys] = normalizePropsOptions(raw2, appContext, true);
 
-       extend(normalized, props);
 
-       if (keys)
 
-         needCastKeys.push(...keys);
 
-     };
 
-     if (!asMixin && appContext.mixins.length) {
 
-       appContext.mixins.forEach(extendProps);
 
-     }
 
-     if (comp.extends) {
 
-       extendProps(comp.extends);
 
-     }
 
-     if (comp.mixins) {
 
-       comp.mixins.forEach(extendProps);
 
-     }
 
-   }
 
-   if (!raw && !hasExtends) {
 
-     if (isObject(comp)) {
 
-       cache.set(comp, EMPTY_ARR);
 
-     }
 
-     return EMPTY_ARR;
 
-   }
 
-   if (isArray(raw)) {
 
-     for (let i = 0; i < raw.length; i++) {
 
-       if (!isString(raw[i])) {
 
-         warn(`props must be strings when using array syntax.`, raw[i]);
 
-       }
 
-       const normalizedKey = camelize(raw[i]);
 
-       if (validatePropName(normalizedKey)) {
 
-         normalized[normalizedKey] = EMPTY_OBJ;
 
-       }
 
-     }
 
-   } else if (raw) {
 
-     if (!isObject(raw)) {
 
-       warn(`invalid props options`, raw);
 
-     }
 
-     for (const key in raw) {
 
-       const normalizedKey = camelize(key);
 
-       if (validatePropName(normalizedKey)) {
 
-         const opt = raw[key];
 
-         const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
 
-         if (prop) {
 
-           const booleanIndex = getTypeIndex(Boolean, prop.type);
 
-           const stringIndex = getTypeIndex(String, prop.type);
 
-           prop[0 /* shouldCast */] = booleanIndex > -1;
 
-           prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;
 
-           if (booleanIndex > -1 || hasOwn(prop, "default")) {
 
-             needCastKeys.push(normalizedKey);
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
-   const res = [normalized, needCastKeys];
 
-   if (isObject(comp)) {
 
-     cache.set(comp, res);
 
-   }
 
-   return res;
 
- }
 
- function validatePropName(key) {
 
-   if (key[0] !== "$") {
 
-     return true;
 
-   } else {
 
-     warn(`Invalid prop name: "${key}" is a reserved property.`);
 
-   }
 
-   return false;
 
- }
 
- function getType(ctor) {
 
-   const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
 
-   return match ? match[2] : ctor === null ? "null" : "";
 
- }
 
- function isSameType(a, b) {
 
-   return getType(a) === getType(b);
 
- }
 
- function getTypeIndex(type, expectedTypes) {
 
-   if (isArray(expectedTypes)) {
 
-     return expectedTypes.findIndex((t) => isSameType(t, type));
 
-   } else if (isFunction(expectedTypes)) {
 
-     return isSameType(expectedTypes, type) ? 0 : -1;
 
-   }
 
-   return -1;
 
- }
 
- function validateProps(rawProps, props, instance) {
 
-   const resolvedValues = toRaw(props);
 
-   const options = instance.propsOptions[0];
 
-   for (const key in options) {
 
-     let opt = options[key];
 
-     if (opt == null)
 
-       continue;
 
-     validateProp(
 
-       key,
 
-       resolvedValues[key],
 
-       opt,
 
-       !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))
 
-     );
 
-   }
 
- }
 
- function validateProp(name, value, prop, isAbsent) {
 
-   const { type, required, validator, skipCheck } = prop;
 
-   if (required && isAbsent) {
 
-     warn('Missing required prop: "' + name + '"');
 
-     return;
 
-   }
 
-   if (value == null && !required) {
 
-     return;
 
-   }
 
-   if (type != null && type !== true && !skipCheck) {
 
-     let isValid = false;
 
-     const types = isArray(type) ? type : [type];
 
-     const expectedTypes = [];
 
-     for (let i = 0; i < types.length && !isValid; i++) {
 
-       const { valid, expectedType } = assertType(value, types[i]);
 
-       expectedTypes.push(expectedType || "");
 
-       isValid = valid;
 
-     }
 
-     if (!isValid) {
 
-       warn(getInvalidTypeMessage(name, value, expectedTypes));
 
-       return;
 
-     }
 
-   }
 
-   if (validator && !validator(value)) {
 
-     warn('Invalid prop: custom validator check failed for prop "' + name + '".');
 
-   }
 
- }
 
- const isSimpleType = /* @__PURE__ */ makeMap(
 
-   "String,Number,Boolean,Function,Symbol,BigInt"
 
- );
 
- function assertType(value, type) {
 
-   let valid;
 
-   const expectedType = getType(type);
 
-   if (isSimpleType(expectedType)) {
 
-     const t = typeof value;
 
-     valid = t === expectedType.toLowerCase();
 
-     if (!valid && t === "object") {
 
-       valid = value instanceof type;
 
-     }
 
-   } else if (expectedType === "Object") {
 
-     valid = isObject(value);
 
-   } else if (expectedType === "Array") {
 
-     valid = isArray(value);
 
-   } else if (expectedType === "null") {
 
-     valid = value === null;
 
-   } else {
 
-     valid = value instanceof type;
 
-   }
 
-   return {
 
-     valid,
 
-     expectedType
 
-   };
 
- }
 
- function getInvalidTypeMessage(name, value, expectedTypes) {
 
-   let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
 
-   const expectedType = expectedTypes[0];
 
-   const receivedType = toRawType(value);
 
-   const expectedValue = styleValue(value, expectedType);
 
-   const receivedValue = styleValue(value, receivedType);
 
-   if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
 
-     message += ` with value ${expectedValue}`;
 
-   }
 
-   message += `, got ${receivedType} `;
 
-   if (isExplicable(receivedType)) {
 
-     message += `with value ${receivedValue}.`;
 
-   }
 
-   return message;
 
- }
 
- function styleValue(value, type) {
 
-   if (type === "String") {
 
-     return `"${value}"`;
 
-   } else if (type === "Number") {
 
-     return `${Number(value)}`;
 
-   } else {
 
-     return `${value}`;
 
-   }
 
- }
 
- function isExplicable(type) {
 
-   const explicitTypes = ["string", "number", "boolean"];
 
-   return explicitTypes.some((elem) => type.toLowerCase() === elem);
 
- }
 
- function isBoolean(...args) {
 
-   return args.some((elem) => elem.toLowerCase() === "boolean");
 
- }
 
- const isInternalKey = (key) => key[0] === "_" || key === "$stable";
 
- const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode$1) : [normalizeVNode$1(value)];
 
- const normalizeSlot = (key, rawSlot, ctx) => {
 
-   if (rawSlot._n) {
 
-     return rawSlot;
 
-   }
 
-   const normalized = withCtx((...args) => {
 
-     if (currentInstance) {
 
-       warn(
 
-         `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
 
-       );
 
-     }
 
-     return normalizeSlotValue(rawSlot(...args));
 
-   }, ctx);
 
-   normalized._c = false;
 
-   return normalized;
 
- };
 
- const normalizeObjectSlots = (rawSlots, slots, instance) => {
 
-   const ctx = rawSlots._ctx;
 
-   for (const key in rawSlots) {
 
-     if (isInternalKey(key))
 
-       continue;
 
-     const value = rawSlots[key];
 
-     if (isFunction(value)) {
 
-       slots[key] = normalizeSlot(key, value, ctx);
 
-     } else if (value != null) {
 
-       {
 
-         warn(
 
-           `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
 
-         );
 
-       }
 
-       const normalized = normalizeSlotValue(value);
 
-       slots[key] = () => normalized;
 
-     }
 
-   }
 
- };
 
- const normalizeVNodeSlots = (instance, children) => {
 
-   if (!isKeepAlive(instance.vnode) && true) {
 
-     warn(
 
-       `Non-function value encountered for default slot. Prefer function slots for better performance.`
 
-     );
 
-   }
 
-   const normalized = normalizeSlotValue(children);
 
-   instance.slots.default = () => normalized;
 
- };
 
- const initSlots = (instance, children) => {
 
-   if (instance.vnode.shapeFlag & 32) {
 
-     const type = children._;
 
-     if (type) {
 
-       instance.slots = toRaw(children);
 
-       def(children, "_", type);
 
-     } else {
 
-       normalizeObjectSlots(
 
-         children,
 
-         instance.slots = {});
 
-     }
 
-   } else {
 
-     instance.slots = {};
 
-     if (children) {
 
-       normalizeVNodeSlots(instance, children);
 
-     }
 
-   }
 
-   def(instance.slots, InternalObjectKey, 1);
 
- };
 
- const updateSlots = (instance, children, optimized) => {
 
-   const { vnode, slots } = instance;
 
-   let needDeletionCheck = true;
 
-   let deletionComparisonTarget = EMPTY_OBJ;
 
-   if (vnode.shapeFlag & 32) {
 
-     const type = children._;
 
-     if (type) {
 
-       if (isHmrUpdating) {
 
-         extend(slots, children);
 
-         trigger(instance, "set", "$slots");
 
-       } else if (optimized && type === 1) {
 
-         needDeletionCheck = false;
 
-       } else {
 
-         extend(slots, children);
 
-         if (!optimized && type === 1) {
 
-           delete slots._;
 
-         }
 
-       }
 
-     } else {
 
-       needDeletionCheck = !children.$stable;
 
-       normalizeObjectSlots(children, slots);
 
-     }
 
-     deletionComparisonTarget = children;
 
-   } else if (children) {
 
-     normalizeVNodeSlots(instance, children);
 
-     deletionComparisonTarget = { default: 1 };
 
-   }
 
-   if (needDeletionCheck) {
 
-     for (const key in slots) {
 
-       if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
 
-         delete slots[key];
 
-       }
 
-     }
 
-   }
 
- };
 
- function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
 
-   if (isArray(rawRef)) {
 
-     rawRef.forEach(
 
-       (r, i) => setRef(
 
-         r,
 
-         oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),
 
-         parentSuspense,
 
-         vnode,
 
-         isUnmount
 
-       )
 
-     );
 
-     return;
 
-   }
 
-   if (isAsyncWrapper(vnode) && !isUnmount) {
 
-     return;
 
-   }
 
-   const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;
 
-   const value = isUnmount ? null : refValue;
 
-   const { i: owner, r: ref } = rawRef;
 
-   if (!owner) {
 
-     warn(
 
-       `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`
 
-     );
 
-     return;
 
-   }
 
-   const oldRef = oldRawRef && oldRawRef.r;
 
-   const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
 
-   const setupState = owner.setupState;
 
-   if (oldRef != null && oldRef !== ref) {
 
-     if (isString(oldRef)) {
 
-       refs[oldRef] = null;
 
-       if (hasOwn(setupState, oldRef)) {
 
-         setupState[oldRef] = null;
 
-       }
 
-     } else if (isRef(oldRef)) {
 
-       oldRef.value = null;
 
-     }
 
-   }
 
-   if (isFunction(ref)) {
 
-     callWithErrorHandling(ref, owner, 12, [value, refs]);
 
-   } else {
 
-     const _isString = isString(ref);
 
-     const _isRef = isRef(ref);
 
-     if (_isString || _isRef) {
 
-       const doSet = () => {
 
-         if (rawRef.f) {
 
-           const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
 
-           if (isUnmount) {
 
-             isArray(existing) && remove(existing, refValue);
 
-           } else {
 
-             if (!isArray(existing)) {
 
-               if (_isString) {
 
-                 refs[ref] = [refValue];
 
-                 if (hasOwn(setupState, ref)) {
 
-                   setupState[ref] = refs[ref];
 
-                 }
 
-               } else {
 
-                 ref.value = [refValue];
 
-                 if (rawRef.k)
 
-                   refs[rawRef.k] = ref.value;
 
-               }
 
-             } else if (!existing.includes(refValue)) {
 
-               existing.push(refValue);
 
-             }
 
-           }
 
-         } else if (_isString) {
 
-           refs[ref] = value;
 
-           if (hasOwn(setupState, ref)) {
 
-             setupState[ref] = value;
 
-           }
 
-         } else if (_isRef) {
 
-           ref.value = value;
 
-           if (rawRef.k)
 
-             refs[rawRef.k] = value;
 
-         } else {
 
-           warn("Invalid template ref type:", ref, `(${typeof ref})`);
 
-         }
 
-       };
 
-       if (value) {
 
-         doSet.id = -1;
 
-         queuePostRenderEffect(doSet, parentSuspense);
 
-       } else {
 
-         doSet();
 
-       }
 
-     } else {
 
-       warn("Invalid template ref type:", ref, `(${typeof ref})`);
 
-     }
 
-   }
 
- }
 
- let supported;
 
- let perf;
 
- function startMeasure(instance, type) {
 
-   if (instance.appContext.config.performance && isSupported()) {
 
-     perf.mark(`vue-${type}-${instance.uid}`);
 
-   }
 
-   {
 
-     devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());
 
-   }
 
- }
 
- function endMeasure(instance, type) {
 
-   if (instance.appContext.config.performance && isSupported()) {
 
-     const startTag = `vue-${type}-${instance.uid}`;
 
-     const endTag = startTag + `:end`;
 
-     perf.mark(endTag);
 
-     perf.measure(
 
-       `<${formatComponentName(instance, instance.type)}> ${type}`,
 
-       startTag,
 
-       endTag
 
-     );
 
-     perf.clearMarks(startTag);
 
-     perf.clearMarks(endTag);
 
-   }
 
-   {
 
-     devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());
 
-   }
 
- }
 
- function isSupported() {
 
-   if (supported !== void 0) {
 
-     return supported;
 
-   }
 
-   if (typeof window !== "undefined" && window.performance) {
 
-     supported = true;
 
-     perf = window.performance;
 
-   } else {
 
-     supported = false;
 
-   }
 
-   return supported;
 
- }
 
- const queuePostRenderEffect = queueEffectWithSuspense ;
 
- function createRenderer(options) {
 
-   return baseCreateRenderer(options);
 
- }
 
- function baseCreateRenderer(options, createHydrationFns) {
 
-   const target = getGlobalThis();
 
-   target.__VUE__ = true;
 
-   {
 
-     setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
 
-   }
 
-   const {
 
-     insert: hostInsert,
 
-     remove: hostRemove,
 
-     patchProp: hostPatchProp,
 
-     createElement: hostCreateElement,
 
-     createText: hostCreateText,
 
-     createComment: hostCreateComment,
 
-     setText: hostSetText,
 
-     setElementText: hostSetElementText,
 
-     parentNode: hostParentNode,
 
-     nextSibling: hostNextSibling,
 
-     setScopeId: hostSetScopeId = NOOP,
 
-     insertStaticContent: hostInsertStaticContent
 
-   } = options;
 
-   const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = isHmrUpdating ? false : !!n2.dynamicChildren) => {
 
-     if (n1 === n2) {
 
-       return;
 
-     }
 
-     if (n1 && !isSameVNodeType(n1, n2)) {
 
-       anchor = getNextHostNode(n1);
 
-       unmount(n1, parentComponent, parentSuspense, true);
 
-       n1 = null;
 
-     }
 
-     if (n2.patchFlag === -2) {
 
-       optimized = false;
 
-       n2.dynamicChildren = null;
 
-     }
 
-     const { type, ref, shapeFlag } = n2;
 
-     switch (type) {
 
-       case Text:
 
-         processText(n1, n2, container, anchor);
 
-         break;
 
-       case Comment:
 
-         processCommentNode(n1, n2, container, anchor);
 
-         break;
 
-       case Static:
 
-         if (n1 == null) {
 
-           mountStaticNode(n2, container, anchor, isSVG);
 
-         } else {
 
-           patchStaticNode(n1, n2, container, isSVG);
 
-         }
 
-         break;
 
-       case Fragment:
 
-         processFragment(
 
-           n1,
 
-           n2,
 
-           container,
 
-           anchor,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-         break;
 
-       default:
 
-         if (shapeFlag & 1) {
 
-           processElement(
 
-             n1,
 
-             n2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-         } else if (shapeFlag & 6) {
 
-           processComponent(
 
-             n1,
 
-             n2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-         } else if (shapeFlag & 64) {
 
-           type.process(
 
-             n1,
 
-             n2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized,
 
-             internals
 
-           );
 
-         } else if (shapeFlag & 128) {
 
-           type.process(
 
-             n1,
 
-             n2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized,
 
-             internals
 
-           );
 
-         } else {
 
-           warn("Invalid VNode type:", type, `(${typeof type})`);
 
-         }
 
-     }
 
-     if (ref != null && parentComponent) {
 
-       setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
 
-     }
 
-   };
 
-   const processText = (n1, n2, container, anchor) => {
 
-     if (n1 == null) {
 
-       hostInsert(
 
-         n2.el = hostCreateText(n2.children),
 
-         container,
 
-         anchor
 
-       );
 
-     } else {
 
-       const el = n2.el = n1.el;
 
-       if (n2.children !== n1.children) {
 
-         hostSetText(el, n2.children);
 
-       }
 
-     }
 
-   };
 
-   const processCommentNode = (n1, n2, container, anchor) => {
 
-     if (n1 == null) {
 
-       hostInsert(
 
-         n2.el = hostCreateComment(n2.children || ""),
 
-         container,
 
-         anchor
 
-       );
 
-     } else {
 
-       n2.el = n1.el;
 
-     }
 
-   };
 
-   const mountStaticNode = (n2, container, anchor, isSVG) => {
 
-     [n2.el, n2.anchor] = hostInsertStaticContent(
 
-       n2.children,
 
-       container,
 
-       anchor,
 
-       isSVG,
 
-       n2.el,
 
-       n2.anchor
 
-     );
 
-   };
 
-   const patchStaticNode = (n1, n2, container, isSVG) => {
 
-     if (n2.children !== n1.children) {
 
-       const anchor = hostNextSibling(n1.anchor);
 
-       removeStaticNode(n1);
 
-       [n2.el, n2.anchor] = hostInsertStaticContent(
 
-         n2.children,
 
-         container,
 
-         anchor,
 
-         isSVG
 
-       );
 
-     } else {
 
-       n2.el = n1.el;
 
-       n2.anchor = n1.anchor;
 
-     }
 
-   };
 
-   const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
 
-     let next;
 
-     while (el && el !== anchor) {
 
-       next = hostNextSibling(el);
 
-       hostInsert(el, container, nextSibling);
 
-       el = next;
 
-     }
 
-     hostInsert(anchor, container, nextSibling);
 
-   };
 
-   const removeStaticNode = ({ el, anchor }) => {
 
-     let next;
 
-     while (el && el !== anchor) {
 
-       next = hostNextSibling(el);
 
-       hostRemove(el);
 
-       el = next;
 
-     }
 
-     hostRemove(anchor);
 
-   };
 
-   const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     isSVG = isSVG || n2.type === "svg";
 
-     if (n1 == null) {
 
-       mountElement(
 
-         n2,
 
-         container,
 
-         anchor,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     } else {
 
-       patchElement(
 
-         n1,
 
-         n2,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     }
 
-   };
 
-   const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     let el;
 
-     let vnodeHook;
 
-     const { type, props, shapeFlag, transition, dirs } = vnode;
 
-     el = vnode.el = hostCreateElement(
 
-       vnode.type,
 
-       isSVG,
 
-       props && props.is,
 
-       props
 
-     );
 
-     if (shapeFlag & 8) {
 
-       hostSetElementText(el, vnode.children);
 
-     } else if (shapeFlag & 16) {
 
-       mountChildren(
 
-         vnode.children,
 
-         el,
 
-         null,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG && type !== "foreignObject",
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     }
 
-     if (dirs) {
 
-       invokeDirectiveHook(vnode, null, parentComponent, "created");
 
-     }
 
-     setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
 
-     if (props) {
 
-       for (const key in props) {
 
-         if (key !== "value" && !isReservedProp(key)) {
 
-           hostPatchProp(
 
-             el,
 
-             key,
 
-             null,
 
-             props[key],
 
-             isSVG,
 
-             vnode.children,
 
-             parentComponent,
 
-             parentSuspense,
 
-             unmountChildren
 
-           );
 
-         }
 
-       }
 
-       if ("value" in props) {
 
-         hostPatchProp(el, "value", null, props.value);
 
-       }
 
-       if (vnodeHook = props.onVnodeBeforeMount) {
 
-         invokeVNodeHook(vnodeHook, parentComponent, vnode);
 
-       }
 
-     }
 
-     {
 
-       Object.defineProperty(el, "__vnode", {
 
-         value: vnode,
 
-         enumerable: false
 
-       });
 
-       Object.defineProperty(el, "__vueParentComponent", {
 
-         value: parentComponent,
 
-         enumerable: false
 
-       });
 
-     }
 
-     if (dirs) {
 
-       invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
 
-     }
 
-     const needCallTransitionHooks = (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
 
-     if (needCallTransitionHooks) {
 
-       transition.beforeEnter(el);
 
-     }
 
-     hostInsert(el, container, anchor);
 
-     if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
 
-       queuePostRenderEffect(() => {
 
-         vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
 
-         needCallTransitionHooks && transition.enter(el);
 
-         dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
 
-       }, parentSuspense);
 
-     }
 
-   };
 
-   const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
 
-     if (scopeId) {
 
-       hostSetScopeId(el, scopeId);
 
-     }
 
-     if (slotScopeIds) {
 
-       for (let i = 0; i < slotScopeIds.length; i++) {
 
-         hostSetScopeId(el, slotScopeIds[i]);
 
-       }
 
-     }
 
-     if (parentComponent) {
 
-       let subTree = parentComponent.subTree;
 
-       if (subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
 
-         subTree = filterSingleRoot(subTree.children) || subTree;
 
-       }
 
-       if (vnode === subTree) {
 
-         const parentVNode = parentComponent.vnode;
 
-         setScopeId(
 
-           el,
 
-           parentVNode,
 
-           parentVNode.scopeId,
 
-           parentVNode.slotScopeIds,
 
-           parentComponent.parent
 
-         );
 
-       }
 
-     }
 
-   };
 
-   const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {
 
-     for (let i = start; i < children.length; i++) {
 
-       const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode$1(children[i]);
 
-       patch(
 
-         null,
 
-         child,
 
-         container,
 
-         anchor,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     }
 
-   };
 
-   const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     const el = n2.el = n1.el;
 
-     let { patchFlag, dynamicChildren, dirs } = n2;
 
-     patchFlag |= n1.patchFlag & 16;
 
-     const oldProps = n1.props || EMPTY_OBJ;
 
-     const newProps = n2.props || EMPTY_OBJ;
 
-     let vnodeHook;
 
-     parentComponent && toggleRecurse(parentComponent, false);
 
-     if (vnodeHook = newProps.onVnodeBeforeUpdate) {
 
-       invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
 
-     }
 
-     if (dirs) {
 
-       invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
 
-     }
 
-     parentComponent && toggleRecurse(parentComponent, true);
 
-     if (isHmrUpdating) {
 
-       patchFlag = 0;
 
-       optimized = false;
 
-       dynamicChildren = null;
 
-     }
 
-     const areChildrenSVG = isSVG && n2.type !== "foreignObject";
 
-     if (dynamicChildren) {
 
-       patchBlockChildren(
 
-         n1.dynamicChildren,
 
-         dynamicChildren,
 
-         el,
 
-         parentComponent,
 
-         parentSuspense,
 
-         areChildrenSVG,
 
-         slotScopeIds
 
-       );
 
-       {
 
-         traverseStaticChildren(n1, n2);
 
-       }
 
-     } else if (!optimized) {
 
-       patchChildren(
 
-         n1,
 
-         n2,
 
-         el,
 
-         null,
 
-         parentComponent,
 
-         parentSuspense,
 
-         areChildrenSVG,
 
-         slotScopeIds,
 
-         false
 
-       );
 
-     }
 
-     if (patchFlag > 0) {
 
-       if (patchFlag & 16) {
 
-         patchProps(
 
-           el,
 
-           n2,
 
-           oldProps,
 
-           newProps,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG
 
-         );
 
-       } else {
 
-         if (patchFlag & 2) {
 
-           if (oldProps.class !== newProps.class) {
 
-             hostPatchProp(el, "class", null, newProps.class, isSVG);
 
-           }
 
-         }
 
-         if (patchFlag & 4) {
 
-           hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG);
 
-         }
 
-         if (patchFlag & 8) {
 
-           const propsToUpdate = n2.dynamicProps;
 
-           for (let i = 0; i < propsToUpdate.length; i++) {
 
-             const key = propsToUpdate[i];
 
-             const prev = oldProps[key];
 
-             const next = newProps[key];
 
-             if (next !== prev || key === "value") {
 
-               hostPatchProp(
 
-                 el,
 
-                 key,
 
-                 prev,
 
-                 next,
 
-                 isSVG,
 
-                 n1.children,
 
-                 parentComponent,
 
-                 parentSuspense,
 
-                 unmountChildren
 
-               );
 
-             }
 
-           }
 
-         }
 
-       }
 
-       if (patchFlag & 1) {
 
-         if (n1.children !== n2.children) {
 
-           hostSetElementText(el, n2.children);
 
-         }
 
-       }
 
-     } else if (!optimized && dynamicChildren == null) {
 
-       patchProps(
 
-         el,
 
-         n2,
 
-         oldProps,
 
-         newProps,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG
 
-       );
 
-     }
 
-     if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
 
-       queuePostRenderEffect(() => {
 
-         vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
 
-         dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
 
-       }, parentSuspense);
 
-     }
 
-   };
 
-   const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {
 
-     for (let i = 0; i < newChildren.length; i++) {
 
-       const oldVNode = oldChildren[i];
 
-       const newVNode = newChildren[i];
 
-       const container = (
 
-         // oldVNode may be an errored async setup() component inside Suspense
 
-         // which will not have a mounted element
 
-         oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
 
-         // of the Fragment itself so it can move its children.
 
-         (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
 
-         // which also requires the correct parent container
 
-         !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
 
-         oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
 
-           // In other cases, the parent container is not actually used so we
 
-           // just pass the block element here to avoid a DOM parentNode call.
 
-           fallbackContainer
 
-         )
 
-       );
 
-       patch(
 
-         oldVNode,
 
-         newVNode,
 
-         container,
 
-         null,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         true
 
-       );
 
-     }
 
-   };
 
-   const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {
 
-     if (oldProps !== newProps) {
 
-       if (oldProps !== EMPTY_OBJ) {
 
-         for (const key in oldProps) {
 
-           if (!isReservedProp(key) && !(key in newProps)) {
 
-             hostPatchProp(
 
-               el,
 
-               key,
 
-               oldProps[key],
 
-               null,
 
-               isSVG,
 
-               vnode.children,
 
-               parentComponent,
 
-               parentSuspense,
 
-               unmountChildren
 
-             );
 
-           }
 
-         }
 
-       }
 
-       for (const key in newProps) {
 
-         if (isReservedProp(key))
 
-           continue;
 
-         const next = newProps[key];
 
-         const prev = oldProps[key];
 
-         if (next !== prev && key !== "value") {
 
-           hostPatchProp(
 
-             el,
 
-             key,
 
-             prev,
 
-             next,
 
-             isSVG,
 
-             vnode.children,
 
-             parentComponent,
 
-             parentSuspense,
 
-             unmountChildren
 
-           );
 
-         }
 
-       }
 
-       if ("value" in newProps) {
 
-         hostPatchProp(el, "value", oldProps.value, newProps.value);
 
-       }
 
-     }
 
-   };
 
-   const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
 
-     const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
 
-     let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
 
-     if (
 
-       // #5523 dev root fragment may inherit directives
 
-       isHmrUpdating || patchFlag & 2048
 
-     ) {
 
-       patchFlag = 0;
 
-       optimized = false;
 
-       dynamicChildren = null;
 
-     }
 
-     if (fragmentSlotScopeIds) {
 
-       slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
 
-     }
 
-     if (n1 == null) {
 
-       hostInsert(fragmentStartAnchor, container, anchor);
 
-       hostInsert(fragmentEndAnchor, container, anchor);
 
-       mountChildren(
 
-         n2.children,
 
-         container,
 
-         fragmentEndAnchor,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     } else {
 
-       if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
 
-       // of renderSlot() with no valid children
 
-       n1.dynamicChildren) {
 
-         patchBlockChildren(
 
-           n1.dynamicChildren,
 
-           dynamicChildren,
 
-           container,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds
 
-         );
 
-         {
 
-           traverseStaticChildren(n1, n2);
 
-         }
 
-       } else {
 
-         patchChildren(
 
-           n1,
 
-           n2,
 
-           container,
 
-           fragmentEndAnchor,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-       }
 
-     }
 
-   };
 
-   const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     n2.slotScopeIds = slotScopeIds;
 
-     if (n1 == null) {
 
-       if (n2.shapeFlag & 512) {
 
-         parentComponent.ctx.activate(
 
-           n2,
 
-           container,
 
-           anchor,
 
-           isSVG,
 
-           optimized
 
-         );
 
-       } else {
 
-         mountComponent(
 
-           n2,
 
-           container,
 
-           anchor,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           optimized
 
-         );
 
-       }
 
-     } else {
 
-       updateComponent(n1, n2, optimized);
 
-     }
 
-   };
 
-   const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {
 
-     const instance = (initialVNode.component = createComponentInstance$1(
 
-       initialVNode,
 
-       parentComponent,
 
-       parentSuspense
 
-     ));
 
-     if (instance.type.__hmrId) {
 
-       registerHMR(instance);
 
-     }
 
-     {
 
-       pushWarningContext(initialVNode);
 
-       startMeasure(instance, `mount`);
 
-     }
 
-     if (isKeepAlive(initialVNode)) {
 
-       instance.ctx.renderer = internals;
 
-     }
 
-     {
 
-       {
 
-         startMeasure(instance, `init`);
 
-       }
 
-       setupComponent$1(instance);
 
-       {
 
-         endMeasure(instance, `init`);
 
-       }
 
-     }
 
-     if (instance.asyncDep) {
 
-       parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);
 
-       if (!initialVNode.el) {
 
-         const placeholder = instance.subTree = createVNode(Comment);
 
-         processCommentNode(null, placeholder, container, anchor);
 
-       }
 
-       return;
 
-     }
 
-     setupRenderEffect(
 
-       instance,
 
-       initialVNode,
 
-       container,
 
-       anchor,
 
-       parentSuspense,
 
-       isSVG,
 
-       optimized
 
-     );
 
-     {
 
-       popWarningContext();
 
-       endMeasure(instance, `mount`);
 
-     }
 
-   };
 
-   const updateComponent = (n1, n2, optimized) => {
 
-     const instance = n2.component = n1.component;
 
-     if (shouldUpdateComponent(n1, n2, optimized)) {
 
-       if (instance.asyncDep && !instance.asyncResolved) {
 
-         {
 
-           pushWarningContext(n2);
 
-         }
 
-         updateComponentPreRender(instance, n2, optimized);
 
-         {
 
-           popWarningContext();
 
-         }
 
-         return;
 
-       } else {
 
-         instance.next = n2;
 
-         invalidateJob(instance.update);
 
-         instance.update();
 
-       }
 
-     } else {
 
-       n2.el = n1.el;
 
-       instance.vnode = n2;
 
-     }
 
-   };
 
-   const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {
 
-     const componentUpdateFn = () => {
 
-       if (!instance.isMounted) {
 
-         let vnodeHook;
 
-         const { el, props } = initialVNode;
 
-         const { bm, m, parent } = instance;
 
-         const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
 
-         toggleRecurse(instance, false);
 
-         if (bm) {
 
-           invokeArrayFns(bm);
 
-         }
 
-         if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {
 
-           invokeVNodeHook(vnodeHook, parent, initialVNode);
 
-         }
 
-         toggleRecurse(instance, true);
 
-         if (el && hydrateNode) {
 
-           const hydrateSubTree = () => {
 
-             {
 
-               startMeasure(instance, `render`);
 
-             }
 
-             instance.subTree = renderComponentRoot$1(instance);
 
-             {
 
-               endMeasure(instance, `render`);
 
-             }
 
-             {
 
-               startMeasure(instance, `hydrate`);
 
-             }
 
-             hydrateNode(
 
-               el,
 
-               instance.subTree,
 
-               instance,
 
-               parentSuspense,
 
-               null
 
-             );
 
-             {
 
-               endMeasure(instance, `hydrate`);
 
-             }
 
-           };
 
-           if (isAsyncWrapperVNode) {
 
-             initialVNode.type.__asyncLoader().then(
 
-               // note: we are moving the render call into an async callback,
 
-               // which means it won't track dependencies - but it's ok because
 
-               // a server-rendered async wrapper is already in resolved state
 
-               // and it will never need to change.
 
-               () => !instance.isUnmounted && hydrateSubTree()
 
-             );
 
-           } else {
 
-             hydrateSubTree();
 
-           }
 
-         } else {
 
-           {
 
-             startMeasure(instance, `render`);
 
-           }
 
-           const subTree = instance.subTree = renderComponentRoot$1(instance);
 
-           {
 
-             endMeasure(instance, `render`);
 
-           }
 
-           {
 
-             startMeasure(instance, `patch`);
 
-           }
 
-           patch(
 
-             null,
 
-             subTree,
 
-             container,
 
-             anchor,
 
-             instance,
 
-             parentSuspense,
 
-             isSVG
 
-           );
 
-           {
 
-             endMeasure(instance, `patch`);
 
-           }
 
-           initialVNode.el = subTree.el;
 
-         }
 
-         if (m) {
 
-           queuePostRenderEffect(m, parentSuspense);
 
-         }
 
-         if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
 
-           const scopedInitialVNode = initialVNode;
 
-           queuePostRenderEffect(
 
-             () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),
 
-             parentSuspense
 
-           );
 
-         }
 
-         if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {
 
-           instance.a && queuePostRenderEffect(instance.a, parentSuspense);
 
-         }
 
-         instance.isMounted = true;
 
-         {
 
-           devtoolsComponentAdded(instance);
 
-         }
 
-         initialVNode = container = anchor = null;
 
-       } else {
 
-         let { next, bu, u, parent, vnode } = instance;
 
-         let originNext = next;
 
-         let vnodeHook;
 
-         {
 
-           pushWarningContext(next || instance.vnode);
 
-         }
 
-         toggleRecurse(instance, false);
 
-         if (next) {
 
-           next.el = vnode.el;
 
-           updateComponentPreRender(instance, next, optimized);
 
-         } else {
 
-           next = vnode;
 
-         }
 
-         if (bu) {
 
-           invokeArrayFns(bu);
 
-         }
 
-         if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {
 
-           invokeVNodeHook(vnodeHook, parent, next, vnode);
 
-         }
 
-         toggleRecurse(instance, true);
 
-         {
 
-           startMeasure(instance, `render`);
 
-         }
 
-         const nextTree = renderComponentRoot$1(instance);
 
-         {
 
-           endMeasure(instance, `render`);
 
-         }
 
-         const prevTree = instance.subTree;
 
-         instance.subTree = nextTree;
 
-         {
 
-           startMeasure(instance, `patch`);
 
-         }
 
-         patch(
 
-           prevTree,
 
-           nextTree,
 
-           // parent may have changed if it's in a teleport
 
-           hostParentNode(prevTree.el),
 
-           // anchor may have changed if it's in a fragment
 
-           getNextHostNode(prevTree),
 
-           instance,
 
-           parentSuspense,
 
-           isSVG
 
-         );
 
-         {
 
-           endMeasure(instance, `patch`);
 
-         }
 
-         next.el = nextTree.el;
 
-         if (originNext === null) {
 
-           updateHOCHostEl(instance, nextTree.el);
 
-         }
 
-         if (u) {
 
-           queuePostRenderEffect(u, parentSuspense);
 
-         }
 
-         if (vnodeHook = next.props && next.props.onVnodeUpdated) {
 
-           queuePostRenderEffect(
 
-             () => invokeVNodeHook(vnodeHook, parent, next, vnode),
 
-             parentSuspense
 
-           );
 
-         }
 
-         {
 
-           devtoolsComponentUpdated(instance);
 
-         }
 
-         {
 
-           popWarningContext();
 
-         }
 
-       }
 
-     };
 
-     const effect = instance.effect = new ReactiveEffect(
 
-       componentUpdateFn,
 
-       () => queueJob(update),
 
-       instance.scope
 
-       // track it in component's effect scope
 
-     );
 
-     const update = instance.update = () => effect.run();
 
-     update.id = instance.uid;
 
-     toggleRecurse(instance, true);
 
-     {
 
-       effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;
 
-       effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;
 
-       update.ownerInstance = instance;
 
-     }
 
-     update();
 
-   };
 
-   const updateComponentPreRender = (instance, nextVNode, optimized) => {
 
-     nextVNode.component = instance;
 
-     const prevProps = instance.vnode.props;
 
-     instance.vnode = nextVNode;
 
-     instance.next = null;
 
-     updateProps(instance, nextVNode.props, prevProps, optimized);
 
-     updateSlots(instance, nextVNode.children, optimized);
 
-     pauseTracking();
 
-     flushPreFlushCbs();
 
-     resetTracking();
 
-   };
 
-   const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
 
-     const c1 = n1 && n1.children;
 
-     const prevShapeFlag = n1 ? n1.shapeFlag : 0;
 
-     const c2 = n2.children;
 
-     const { patchFlag, shapeFlag } = n2;
 
-     if (patchFlag > 0) {
 
-       if (patchFlag & 128) {
 
-         patchKeyedChildren(
 
-           c1,
 
-           c2,
 
-           container,
 
-           anchor,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-         return;
 
-       } else if (patchFlag & 256) {
 
-         patchUnkeyedChildren(
 
-           c1,
 
-           c2,
 
-           container,
 
-           anchor,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-         return;
 
-       }
 
-     }
 
-     if (shapeFlag & 8) {
 
-       if (prevShapeFlag & 16) {
 
-         unmountChildren(c1, parentComponent, parentSuspense);
 
-       }
 
-       if (c2 !== c1) {
 
-         hostSetElementText(container, c2);
 
-       }
 
-     } else {
 
-       if (prevShapeFlag & 16) {
 
-         if (shapeFlag & 16) {
 
-           patchKeyedChildren(
 
-             c1,
 
-             c2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-         } else {
 
-           unmountChildren(c1, parentComponent, parentSuspense, true);
 
-         }
 
-       } else {
 
-         if (prevShapeFlag & 8) {
 
-           hostSetElementText(container, "");
 
-         }
 
-         if (shapeFlag & 16) {
 
-           mountChildren(
 
-             c2,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-         }
 
-       }
 
-     }
 
-   };
 
-   const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     c1 = c1 || EMPTY_ARR;
 
-     c2 = c2 || EMPTY_ARR;
 
-     const oldLength = c1.length;
 
-     const newLength = c2.length;
 
-     const commonLength = Math.min(oldLength, newLength);
 
-     let i;
 
-     for (i = 0; i < commonLength; i++) {
 
-       const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode$1(c2[i]);
 
-       patch(
 
-         c1[i],
 
-         nextChild,
 
-         container,
 
-         null,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized
 
-       );
 
-     }
 
-     if (oldLength > newLength) {
 
-       unmountChildren(
 
-         c1,
 
-         parentComponent,
 
-         parentSuspense,
 
-         true,
 
-         false,
 
-         commonLength
 
-       );
 
-     } else {
 
-       mountChildren(
 
-         c2,
 
-         container,
 
-         anchor,
 
-         parentComponent,
 
-         parentSuspense,
 
-         isSVG,
 
-         slotScopeIds,
 
-         optimized,
 
-         commonLength
 
-       );
 
-     }
 
-   };
 
-   const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
 
-     let i = 0;
 
-     const l2 = c2.length;
 
-     let e1 = c1.length - 1;
 
-     let e2 = l2 - 1;
 
-     while (i <= e1 && i <= e2) {
 
-       const n1 = c1[i];
 
-       const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode$1(c2[i]);
 
-       if (isSameVNodeType(n1, n2)) {
 
-         patch(
 
-           n1,
 
-           n2,
 
-           container,
 
-           null,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-       } else {
 
-         break;
 
-       }
 
-       i++;
 
-     }
 
-     while (i <= e1 && i <= e2) {
 
-       const n1 = c1[e1];
 
-       const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode$1(c2[e2]);
 
-       if (isSameVNodeType(n1, n2)) {
 
-         patch(
 
-           n1,
 
-           n2,
 
-           container,
 
-           null,
 
-           parentComponent,
 
-           parentSuspense,
 
-           isSVG,
 
-           slotScopeIds,
 
-           optimized
 
-         );
 
-       } else {
 
-         break;
 
-       }
 
-       e1--;
 
-       e2--;
 
-     }
 
-     if (i > e1) {
 
-       if (i <= e2) {
 
-         const nextPos = e2 + 1;
 
-         const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
 
-         while (i <= e2) {
 
-           patch(
 
-             null,
 
-             c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode$1(c2[i]),
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-           i++;
 
-         }
 
-       }
 
-     } else if (i > e2) {
 
-       while (i <= e1) {
 
-         unmount(c1[i], parentComponent, parentSuspense, true);
 
-         i++;
 
-       }
 
-     } else {
 
-       const s1 = i;
 
-       const s2 = i;
 
-       const keyToNewIndexMap = /* @__PURE__ */ new Map();
 
-       for (i = s2; i <= e2; i++) {
 
-         const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode$1(c2[i]);
 
-         if (nextChild.key != null) {
 
-           if (keyToNewIndexMap.has(nextChild.key)) {
 
-             warn(
 
-               `Duplicate keys found during update:`,
 
-               JSON.stringify(nextChild.key),
 
-               `Make sure keys are unique.`
 
-             );
 
-           }
 
-           keyToNewIndexMap.set(nextChild.key, i);
 
-         }
 
-       }
 
-       let j;
 
-       let patched = 0;
 
-       const toBePatched = e2 - s2 + 1;
 
-       let moved = false;
 
-       let maxNewIndexSoFar = 0;
 
-       const newIndexToOldIndexMap = new Array(toBePatched);
 
-       for (i = 0; i < toBePatched; i++)
 
-         newIndexToOldIndexMap[i] = 0;
 
-       for (i = s1; i <= e1; i++) {
 
-         const prevChild = c1[i];
 
-         if (patched >= toBePatched) {
 
-           unmount(prevChild, parentComponent, parentSuspense, true);
 
-           continue;
 
-         }
 
-         let newIndex;
 
-         if (prevChild.key != null) {
 
-           newIndex = keyToNewIndexMap.get(prevChild.key);
 
-         } else {
 
-           for (j = s2; j <= e2; j++) {
 
-             if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {
 
-               newIndex = j;
 
-               break;
 
-             }
 
-           }
 
-         }
 
-         if (newIndex === void 0) {
 
-           unmount(prevChild, parentComponent, parentSuspense, true);
 
-         } else {
 
-           newIndexToOldIndexMap[newIndex - s2] = i + 1;
 
-           if (newIndex >= maxNewIndexSoFar) {
 
-             maxNewIndexSoFar = newIndex;
 
-           } else {
 
-             moved = true;
 
-           }
 
-           patch(
 
-             prevChild,
 
-             c2[newIndex],
 
-             container,
 
-             null,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-           patched++;
 
-         }
 
-       }
 
-       const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
 
-       j = increasingNewIndexSequence.length - 1;
 
-       for (i = toBePatched - 1; i >= 0; i--) {
 
-         const nextIndex = s2 + i;
 
-         const nextChild = c2[nextIndex];
 
-         const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
 
-         if (newIndexToOldIndexMap[i] === 0) {
 
-           patch(
 
-             null,
 
-             nextChild,
 
-             container,
 
-             anchor,
 
-             parentComponent,
 
-             parentSuspense,
 
-             isSVG,
 
-             slotScopeIds,
 
-             optimized
 
-           );
 
-         } else if (moved) {
 
-           if (j < 0 || i !== increasingNewIndexSequence[j]) {
 
-             move(nextChild, container, anchor, 2);
 
-           } else {
 
-             j--;
 
-           }
 
-         }
 
-       }
 
-     }
 
-   };
 
-   const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
 
-     const { el, type, transition, children, shapeFlag } = vnode;
 
-     if (shapeFlag & 6) {
 
-       move(vnode.component.subTree, container, anchor, moveType);
 
-       return;
 
-     }
 
-     if (shapeFlag & 128) {
 
-       vnode.suspense.move(container, anchor, moveType);
 
-       return;
 
-     }
 
-     if (shapeFlag & 64) {
 
-       type.move(vnode, container, anchor, internals);
 
-       return;
 
-     }
 
-     if (type === Fragment) {
 
-       hostInsert(el, container, anchor);
 
-       for (let i = 0; i < children.length; i++) {
 
-         move(children[i], container, anchor, moveType);
 
-       }
 
-       hostInsert(vnode.anchor, container, anchor);
 
-       return;
 
-     }
 
-     if (type === Static) {
 
-       moveStaticNode(vnode, container, anchor);
 
-       return;
 
-     }
 
-     const needTransition = moveType !== 2 && shapeFlag & 1 && transition;
 
-     if (needTransition) {
 
-       if (moveType === 0) {
 
-         transition.beforeEnter(el);
 
-         hostInsert(el, container, anchor);
 
-         queuePostRenderEffect(() => transition.enter(el), parentSuspense);
 
-       } else {
 
-         const { leave, delayLeave, afterLeave } = transition;
 
-         const remove2 = () => hostInsert(el, container, anchor);
 
-         const performLeave = () => {
 
-           leave(el, () => {
 
-             remove2();
 
-             afterLeave && afterLeave();
 
-           });
 
-         };
 
-         if (delayLeave) {
 
-           delayLeave(el, remove2, performLeave);
 
-         } else {
 
-           performLeave();
 
-         }
 
-       }
 
-     } else {
 
-       hostInsert(el, container, anchor);
 
-     }
 
-   };
 
-   const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
 
-     const {
 
-       type,
 
-       props,
 
-       ref,
 
-       children,
 
-       dynamicChildren,
 
-       shapeFlag,
 
-       patchFlag,
 
-       dirs
 
-     } = vnode;
 
-     if (ref != null) {
 
-       setRef(ref, null, parentSuspense, vnode, true);
 
-     }
 
-     if (shapeFlag & 256) {
 
-       parentComponent.ctx.deactivate(vnode);
 
-       return;
 
-     }
 
-     const shouldInvokeDirs = shapeFlag & 1 && dirs;
 
-     const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
 
-     let vnodeHook;
 
-     if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {
 
-       invokeVNodeHook(vnodeHook, parentComponent, vnode);
 
-     }
 
-     if (shapeFlag & 6) {
 
-       unmountComponent(vnode.component, parentSuspense, doRemove);
 
-     } else {
 
-       if (shapeFlag & 128) {
 
-         vnode.suspense.unmount(parentSuspense, doRemove);
 
-         return;
 
-       }
 
-       if (shouldInvokeDirs) {
 
-         invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
 
-       }
 
-       if (shapeFlag & 64) {
 
-         vnode.type.remove(
 
-           vnode,
 
-           parentComponent,
 
-           parentSuspense,
 
-           optimized,
 
-           internals,
 
-           doRemove
 
-         );
 
-       } else if (dynamicChildren && // #1153: fast path should not be taken for non-stable (v-for) fragments
 
-       (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {
 
-         unmountChildren(
 
-           dynamicChildren,
 
-           parentComponent,
 
-           parentSuspense,
 
-           false,
 
-           true
 
-         );
 
-       } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {
 
-         unmountChildren(children, parentComponent, parentSuspense);
 
-       }
 
-       if (doRemove) {
 
-         remove(vnode);
 
-       }
 
-     }
 
-     if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
 
-       queuePostRenderEffect(() => {
 
-         vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
 
-         shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
 
-       }, parentSuspense);
 
-     }
 
-   };
 
-   const remove = (vnode) => {
 
-     const { type, el, anchor, transition } = vnode;
 
-     if (type === Fragment) {
 
-       if (vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
 
-         vnode.children.forEach((child) => {
 
-           if (child.type === Comment) {
 
-             hostRemove(child.el);
 
-           } else {
 
-             remove(child);
 
-           }
 
-         });
 
-       } else {
 
-         removeFragment(el, anchor);
 
-       }
 
-       return;
 
-     }
 
-     if (type === Static) {
 
-       removeStaticNode(vnode);
 
-       return;
 
-     }
 
-     const performRemove = () => {
 
-       hostRemove(el);
 
-       if (transition && !transition.persisted && transition.afterLeave) {
 
-         transition.afterLeave();
 
-       }
 
-     };
 
-     if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
 
-       const { leave, delayLeave } = transition;
 
-       const performLeave = () => leave(el, performRemove);
 
-       if (delayLeave) {
 
-         delayLeave(vnode.el, performRemove, performLeave);
 
-       } else {
 
-         performLeave();
 
-       }
 
-     } else {
 
-       performRemove();
 
-     }
 
-   };
 
-   const removeFragment = (cur, end) => {
 
-     let next;
 
-     while (cur !== end) {
 
-       next = hostNextSibling(cur);
 
-       hostRemove(cur);
 
-       cur = next;
 
-     }
 
-     hostRemove(end);
 
-   };
 
-   const unmountComponent = (instance, parentSuspense, doRemove) => {
 
-     if (instance.type.__hmrId) {
 
-       unregisterHMR(instance);
 
-     }
 
-     const { bum, scope, update, subTree, um } = instance;
 
-     if (bum) {
 
-       invokeArrayFns(bum);
 
-     }
 
-     scope.stop();
 
-     if (update) {
 
-       update.active = false;
 
-       unmount(subTree, instance, parentSuspense, doRemove);
 
-     }
 
-     if (um) {
 
-       queuePostRenderEffect(um, parentSuspense);
 
-     }
 
-     queuePostRenderEffect(() => {
 
-       instance.isUnmounted = true;
 
-     }, parentSuspense);
 
-     if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
 
-       parentSuspense.deps--;
 
-       if (parentSuspense.deps === 0) {
 
-         parentSuspense.resolve();
 
-       }
 
-     }
 
-     {
 
-       devtoolsComponentRemoved(instance);
 
-     }
 
-   };
 
-   const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
 
-     for (let i = start; i < children.length; i++) {
 
-       unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
 
-     }
 
-   };
 
-   const getNextHostNode = (vnode) => {
 
-     if (vnode.shapeFlag & 6) {
 
-       return getNextHostNode(vnode.component.subTree);
 
-     }
 
-     if (vnode.shapeFlag & 128) {
 
-       return vnode.suspense.next();
 
-     }
 
-     return hostNextSibling(vnode.anchor || vnode.el);
 
-   };
 
-   const render = (vnode, container, isSVG) => {
 
-     if (vnode == null) {
 
-       if (container._vnode) {
 
-         unmount(container._vnode, null, null, true);
 
-       }
 
-     } else {
 
-       patch(container._vnode || null, vnode, container, null, null, null, isSVG);
 
-     }
 
-     flushPreFlushCbs();
 
-     flushPostFlushCbs();
 
-     container._vnode = vnode;
 
-   };
 
-   const internals = {
 
-     p: patch,
 
-     um: unmount,
 
-     m: move,
 
-     r: remove,
 
-     mt: mountComponent,
 
-     mc: mountChildren,
 
-     pc: patchChildren,
 
-     pbc: patchBlockChildren,
 
-     n: getNextHostNode,
 
-     o: options
 
-   };
 
-   let hydrate;
 
-   let hydrateNode;
 
-   if (createHydrationFns) {
 
-     [hydrate, hydrateNode] = createHydrationFns(
 
-       internals
 
-     );
 
-   }
 
-   return {
 
-     render,
 
-     hydrate,
 
-     createApp: createAppAPI(render, hydrate)
 
-   };
 
- }
 
- function toggleRecurse({ effect, update }, allowed) {
 
-   effect.allowRecurse = update.allowRecurse = allowed;
 
- }
 
- function traverseStaticChildren(n1, n2, shallow = false) {
 
-   const ch1 = n1.children;
 
-   const ch2 = n2.children;
 
-   if (isArray(ch1) && isArray(ch2)) {
 
-     for (let i = 0; i < ch1.length; i++) {
 
-       const c1 = ch1[i];
 
-       let c2 = ch2[i];
 
-       if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
 
-         if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
 
-           c2 = ch2[i] = cloneIfMounted(ch2[i]);
 
-           c2.el = c1.el;
 
-         }
 
-         if (!shallow)
 
-           traverseStaticChildren(c1, c2);
 
-       }
 
-       if (c2.type === Text) {
 
-         c2.el = c1.el;
 
-       }
 
-       if (c2.type === Comment && !c2.el) {
 
-         c2.el = c1.el;
 
-       }
 
-     }
 
-   }
 
- }
 
- function getSequence(arr) {
 
-   const p = arr.slice();
 
-   const result = [0];
 
-   let i, j, u, v, c;
 
-   const len = arr.length;
 
-   for (i = 0; i < len; i++) {
 
-     const arrI = arr[i];
 
-     if (arrI !== 0) {
 
-       j = result[result.length - 1];
 
-       if (arr[j] < arrI) {
 
-         p[i] = j;
 
-         result.push(i);
 
-         continue;
 
-       }
 
-       u = 0;
 
-       v = result.length - 1;
 
-       while (u < v) {
 
-         c = u + v >> 1;
 
-         if (arr[result[c]] < arrI) {
 
-           u = c + 1;
 
-         } else {
 
-           v = c;
 
-         }
 
-       }
 
-       if (arrI < arr[result[u]]) {
 
-         if (u > 0) {
 
-           p[i] = result[u - 1];
 
-         }
 
-         result[u] = i;
 
-       }
 
-     }
 
-   }
 
-   u = result.length;
 
-   v = result[u - 1];
 
-   while (u-- > 0) {
 
-     result[u] = v;
 
-     v = p[v];
 
-   }
 
-   return result;
 
- }
 
- const isTeleport = (type) => type.__isTeleport;
 
- const Fragment = Symbol.for("v-fgt");
 
- const Text = Symbol.for("v-txt");
 
- const Comment = Symbol.for("v-cmt");
 
- const Static = Symbol.for("v-stc");
 
- let currentBlock = null;
 
- let isBlockTreeEnabled = 1;
 
- function setBlockTracking(value) {
 
-   isBlockTreeEnabled += value;
 
- }
 
- function isVNode$2(value) {
 
-   return value ? value.__v_isVNode === true : false;
 
- }
 
- function isSameVNodeType(n1, n2) {
 
-   if (n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {
 
-     n1.shapeFlag &= ~256;
 
-     n2.shapeFlag &= ~512;
 
-     return false;
 
-   }
 
-   return n1.type === n2.type && n1.key === n2.key;
 
- }
 
- const createVNodeWithArgsTransform = (...args) => {
 
-   return _createVNode(
 
-     ...args
 
-   );
 
- };
 
- const InternalObjectKey = `__vInternal`;
 
- const normalizeKey = ({ key }) => key != null ? key : null;
 
- const normalizeRef = ({
 
-   ref,
 
-   ref_key,
 
-   ref_for
 
- }) => {
 
-   if (typeof ref === "number") {
 
-     ref = "" + ref;
 
-   }
 
-   return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;
 
- };
 
- function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
 
-   const vnode = {
 
-     __v_isVNode: true,
 
-     __v_skip: true,
 
-     type,
 
-     props,
 
-     key: props && normalizeKey(props),
 
-     ref: props && normalizeRef(props),
 
-     scopeId: currentScopeId,
 
-     slotScopeIds: null,
 
-     children,
 
-     component: null,
 
-     suspense: null,
 
-     ssContent: null,
 
-     ssFallback: null,
 
-     dirs: null,
 
-     transition: null,
 
-     el: null,
 
-     anchor: null,
 
-     target: null,
 
-     targetAnchor: null,
 
-     staticCount: 0,
 
-     shapeFlag,
 
-     patchFlag,
 
-     dynamicProps,
 
-     dynamicChildren: null,
 
-     appContext: null,
 
-     ctx: currentRenderingInstance
 
-   };
 
-   if (needFullChildrenNormalization) {
 
-     normalizeChildren(vnode, children);
 
-     if (shapeFlag & 128) {
 
-       type.normalize(vnode);
 
-     }
 
-   } else if (children) {
 
-     vnode.shapeFlag |= isString(children) ? 8 : 16;
 
-   }
 
-   if (vnode.key !== vnode.key) {
 
-     warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
 
-   }
 
-   if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
 
-   !isBlockNode && // has current parent block
 
-   currentBlock && // presence of a patch flag indicates this node needs patching on updates.
 
-   // component nodes also should always be patched, because even if the
 
-   // component doesn't need to update, it needs to persist the instance on to
 
-   // the next vnode so that it can be properly unmounted later.
 
-   (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the
 
-   // vnode should not be considered dynamic due to handler caching.
 
-   vnode.patchFlag !== 32) {
 
-     currentBlock.push(vnode);
 
-   }
 
-   return vnode;
 
- }
 
- const createVNode = createVNodeWithArgsTransform ;
 
- function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
 
-   if (!type || type === NULL_DYNAMIC_COMPONENT) {
 
-     if (!type) {
 
-       warn(`Invalid vnode type when creating vnode: ${type}.`);
 
-     }
 
-     type = Comment;
 
-   }
 
-   if (isVNode$2(type)) {
 
-     const cloned = cloneVNode(
 
-       type,
 
-       props,
 
-       true
 
-       /* mergeRef: true */
 
-     );
 
-     if (children) {
 
-       normalizeChildren(cloned, children);
 
-     }
 
-     if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
 
-       if (cloned.shapeFlag & 6) {
 
-         currentBlock[currentBlock.indexOf(type)] = cloned;
 
-       } else {
 
-         currentBlock.push(cloned);
 
-       }
 
-     }
 
-     cloned.patchFlag |= -2;
 
-     return cloned;
 
-   }
 
-   if (isClassComponent(type)) {
 
-     type = type.__vccOpts;
 
-   }
 
-   if (props) {
 
-     props = guardReactiveProps(props);
 
-     let { class: klass, style } = props;
 
-     if (klass && !isString(klass)) {
 
-       props.class = normalizeClass(klass);
 
-     }
 
-     if (isObject(style)) {
 
-       if (isProxy(style) && !isArray(style)) {
 
-         style = extend({}, style);
 
-       }
 
-       props.style = normalizeStyle(style);
 
-     }
 
-   }
 
-   const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
 
-   if (shapeFlag & 4 && isProxy(type)) {
 
-     type = toRaw(type);
 
-     warn(
 
-       `Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with \`markRaw\` or using \`shallowRef\` instead of \`ref\`.`,
 
-       `
 
- Component that was made reactive: `,
 
-       type
 
-     );
 
-   }
 
-   return createBaseVNode(
 
-     type,
 
-     props,
 
-     children,
 
-     patchFlag,
 
-     dynamicProps,
 
-     shapeFlag,
 
-     isBlockNode,
 
-     true
 
-   );
 
- }
 
- function guardReactiveProps(props) {
 
-   if (!props)
 
-     return null;
 
-   return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;
 
- }
 
- function cloneVNode(vnode, extraProps, mergeRef = false) {
 
-   const { props, ref, patchFlag, children } = vnode;
 
-   const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
 
-   const cloned = {
 
-     __v_isVNode: true,
 
-     __v_skip: true,
 
-     type: vnode.type,
 
-     props: mergedProps,
 
-     key: mergedProps && normalizeKey(mergedProps),
 
-     ref: extraProps && extraProps.ref ? (
 
-       // #2078 in the case of <component :is="vnode" ref="extra"/>
 
-       // if the vnode itself already has a ref, cloneVNode will need to merge
 
-       // the refs so the single vnode can be set on multiple refs
 
-       mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)
 
-     ) : ref,
 
-     scopeId: vnode.scopeId,
 
-     slotScopeIds: vnode.slotScopeIds,
 
-     children: patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,
 
-     target: vnode.target,
 
-     targetAnchor: vnode.targetAnchor,
 
-     staticCount: vnode.staticCount,
 
-     shapeFlag: vnode.shapeFlag,
 
-     // if the vnode is cloned with extra props, we can no longer assume its
 
-     // existing patch flag to be reliable and need to add the FULL_PROPS flag.
 
-     // note: preserve flag for fragments since they use the flag for children
 
-     // fast paths only.
 
-     patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
 
-     dynamicProps: vnode.dynamicProps,
 
-     dynamicChildren: vnode.dynamicChildren,
 
-     appContext: vnode.appContext,
 
-     dirs: vnode.dirs,
 
-     transition: vnode.transition,
 
-     // These should technically only be non-null on mounted VNodes. However,
 
-     // they *should* be copied for kept-alive vnodes. So we just always copy
 
-     // them since them being non-null during a mount doesn't affect the logic as
 
-     // they will simply be overwritten.
 
-     component: vnode.component,
 
-     suspense: vnode.suspense,
 
-     ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
 
-     ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
 
-     el: vnode.el,
 
-     anchor: vnode.anchor,
 
-     ctx: vnode.ctx,
 
-     ce: vnode.ce
 
-   };
 
-   return cloned;
 
- }
 
- function deepCloneVNode(vnode) {
 
-   const cloned = cloneVNode(vnode);
 
-   if (isArray(vnode.children)) {
 
-     cloned.children = vnode.children.map(deepCloneVNode);
 
-   }
 
-   return cloned;
 
- }
 
- function createTextVNode(text = " ", flag = 0) {
 
-   return createVNode(Text, null, text, flag);
 
- }
 
- function normalizeVNode$1(child) {
 
-   if (child == null || typeof child === "boolean") {
 
-     return createVNode(Comment);
 
-   } else if (isArray(child)) {
 
-     return createVNode(
 
-       Fragment,
 
-       null,
 
-       // #3666, avoid reference pollution when reusing vnode
 
-       child.slice()
 
-     );
 
-   } else if (typeof child === "object") {
 
-     return cloneIfMounted(child);
 
-   } else {
 
-     return createVNode(Text, null, String(child));
 
-   }
 
- }
 
- function cloneIfMounted(child) {
 
-   return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
 
- }
 
- function normalizeChildren(vnode, children) {
 
-   let type = 0;
 
-   const { shapeFlag } = vnode;
 
-   if (children == null) {
 
-     children = null;
 
-   } else if (isArray(children)) {
 
-     type = 16;
 
-   } else if (typeof children === "object") {
 
-     if (shapeFlag & (1 | 64)) {
 
-       const slot = children.default;
 
-       if (slot) {
 
-         slot._c && (slot._d = false);
 
-         normalizeChildren(vnode, slot());
 
-         slot._c && (slot._d = true);
 
-       }
 
-       return;
 
-     } else {
 
-       type = 32;
 
-       const slotFlag = children._;
 
-       if (!slotFlag && !(InternalObjectKey in children)) {
 
-         children._ctx = currentRenderingInstance;
 
-       } else if (slotFlag === 3 && currentRenderingInstance) {
 
-         if (currentRenderingInstance.slots._ === 1) {
 
-           children._ = 1;
 
-         } else {
 
-           children._ = 2;
 
-           vnode.patchFlag |= 1024;
 
-         }
 
-       }
 
-     }
 
-   } else if (isFunction(children)) {
 
-     children = { default: children, _ctx: currentRenderingInstance };
 
-     type = 32;
 
-   } else {
 
-     children = String(children);
 
-     if (shapeFlag & 64) {
 
-       type = 16;
 
-       children = [createTextVNode(children)];
 
-     } else {
 
-       type = 8;
 
-     }
 
-   }
 
-   vnode.children = children;
 
-   vnode.shapeFlag |= type;
 
- }
 
- function mergeProps(...args) {
 
-   const ret = {};
 
-   for (let i = 0; i < args.length; i++) {
 
-     const toMerge = args[i];
 
-     for (const key in toMerge) {
 
-       if (key === "class") {
 
-         if (ret.class !== toMerge.class) {
 
-           ret.class = normalizeClass([ret.class, toMerge.class]);
 
-         }
 
-       } else if (key === "style") {
 
-         ret.style = normalizeStyle([ret.style, toMerge.style]);
 
-       } else if (isOn(key)) {
 
-         const existing = ret[key];
 
-         const incoming = toMerge[key];
 
-         if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {
 
-           ret[key] = existing ? [].concat(existing, incoming) : incoming;
 
-         }
 
-       } else if (key !== "") {
 
-         ret[key] = toMerge[key];
 
-       }
 
-     }
 
-   }
 
-   return ret;
 
- }
 
- function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
 
-   callWithAsyncErrorHandling(hook, instance, 7, [
 
-     vnode,
 
-     prevVNode
 
-   ]);
 
- }
 
- const emptyAppContext = createAppContext();
 
- let uid = 0;
 
- function createComponentInstance$1(vnode, parent, suspense) {
 
-   const type = vnode.type;
 
-   const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
 
-   const instance = {
 
-     uid: uid++,
 
-     vnode,
 
-     type,
 
-     parent,
 
-     appContext,
 
-     root: null,
 
-     // to be immediately set
 
-     next: null,
 
-     subTree: null,
 
-     // will be set synchronously right after creation
 
-     effect: null,
 
-     update: null,
 
-     // will be set synchronously right after creation
 
-     scope: new EffectScope(
 
-       true
 
-       /* detached */
 
-     ),
 
-     render: null,
 
-     proxy: null,
 
-     exposed: null,
 
-     exposeProxy: null,
 
-     withProxy: null,
 
-     provides: parent ? parent.provides : Object.create(appContext.provides),
 
-     accessCache: null,
 
-     renderCache: [],
 
-     // local resolved assets
 
-     components: null,
 
-     directives: null,
 
-     // resolved props and emits options
 
-     propsOptions: normalizePropsOptions(type, appContext),
 
-     emitsOptions: normalizeEmitsOptions(type, appContext),
 
-     // emit
 
-     emit: null,
 
-     // to be set immediately
 
-     emitted: null,
 
-     // props default value
 
-     propsDefaults: EMPTY_OBJ,
 
-     // inheritAttrs
 
-     inheritAttrs: type.inheritAttrs,
 
-     // state
 
-     ctx: EMPTY_OBJ,
 
-     data: EMPTY_OBJ,
 
-     props: EMPTY_OBJ,
 
-     attrs: EMPTY_OBJ,
 
-     slots: EMPTY_OBJ,
 
-     refs: EMPTY_OBJ,
 
-     setupState: EMPTY_OBJ,
 
-     setupContext: null,
 
-     attrsProxy: null,
 
-     slotsProxy: null,
 
-     // suspense related
 
-     suspense,
 
-     suspenseId: suspense ? suspense.pendingId : 0,
 
-     asyncDep: null,
 
-     asyncResolved: false,
 
-     // lifecycle hooks
 
-     // not using enums here because it results in computed properties
 
-     isMounted: false,
 
-     isUnmounted: false,
 
-     isDeactivated: false,
 
-     bc: null,
 
-     c: null,
 
-     bm: null,
 
-     m: null,
 
-     bu: null,
 
-     u: null,
 
-     um: null,
 
-     bum: null,
 
-     da: null,
 
-     a: null,
 
-     rtg: null,
 
-     rtc: null,
 
-     ec: null,
 
-     sp: null
 
-   };
 
-   {
 
-     instance.ctx = createDevRenderContext(instance);
 
-   }
 
-   instance.root = parent ? parent.root : instance;
 
-   instance.emit = emit.bind(null, instance);
 
-   if (vnode.ce) {
 
-     vnode.ce(instance);
 
-   }
 
-   return instance;
 
- }
 
- let currentInstance = null;
 
- let internalSetCurrentInstance;
 
- let globalCurrentInstanceSetters;
 
- let settersKey = "__VUE_INSTANCE_SETTERS__";
 
- {
 
-   if (!(globalCurrentInstanceSetters = getGlobalThis()[settersKey])) {
 
-     globalCurrentInstanceSetters = getGlobalThis()[settersKey] = [];
 
-   }
 
-   globalCurrentInstanceSetters.push((i) => currentInstance = i);
 
-   internalSetCurrentInstance = (instance) => {
 
-     if (globalCurrentInstanceSetters.length > 1) {
 
-       globalCurrentInstanceSetters.forEach((s) => s(instance));
 
-     } else {
 
-       globalCurrentInstanceSetters[0](instance);
 
-     }
 
-   };
 
- }
 
- const setCurrentInstance = (instance) => {
 
-   internalSetCurrentInstance(instance);
 
-   instance.scope.on();
 
- };
 
- const unsetCurrentInstance = () => {
 
-   currentInstance && currentInstance.scope.off();
 
-   internalSetCurrentInstance(null);
 
- };
 
- const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
 
- function validateComponentName(name, config) {
 
-   const appIsNativeTag = config.isNativeTag || NO;
 
-   if (isBuiltInTag(name) || appIsNativeTag(name)) {
 
-     warn(
 
-       "Do not use built-in or reserved HTML elements as component id: " + name
 
-     );
 
-   }
 
- }
 
- function isStatefulComponent(instance) {
 
-   return instance.vnode.shapeFlag & 4;
 
- }
 
- let isInSSRComponentSetup = false;
 
- function setupComponent$1(instance, isSSR = false) {
 
-   isInSSRComponentSetup = isSSR;
 
-   const { props, children } = instance.vnode;
 
-   const isStateful = isStatefulComponent(instance);
 
-   initProps(instance, props, isStateful, isSSR);
 
-   initSlots(instance, children);
 
-   const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
 
-   isInSSRComponentSetup = false;
 
-   return setupResult;
 
- }
 
- function setupStatefulComponent(instance, isSSR) {
 
-   var _a;
 
-   const Component = instance.type;
 
-   {
 
-     if (Component.name) {
 
-       validateComponentName(Component.name, instance.appContext.config);
 
-     }
 
-     if (Component.components) {
 
-       const names = Object.keys(Component.components);
 
-       for (let i = 0; i < names.length; i++) {
 
-         validateComponentName(names[i], instance.appContext.config);
 
-       }
 
-     }
 
-     if (Component.directives) {
 
-       const names = Object.keys(Component.directives);
 
-       for (let i = 0; i < names.length; i++) {
 
-         validateDirectiveName(names[i]);
 
-       }
 
-     }
 
-     if (Component.compilerOptions && isRuntimeOnly()) {
 
-       warn(
 
-         `"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`
 
-       );
 
-     }
 
-   }
 
-   instance.accessCache = /* @__PURE__ */ Object.create(null);
 
-   instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
 
-   {
 
-     exposePropsOnRenderContext(instance);
 
-   }
 
-   const { setup } = Component;
 
-   if (setup) {
 
-     const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
 
-     setCurrentInstance(instance);
 
-     pauseTracking();
 
-     const setupResult = callWithErrorHandling(
 
-       setup,
 
-       instance,
 
-       0,
 
-       [shallowReadonly(instance.props) , setupContext]
 
-     );
 
-     resetTracking();
 
-     unsetCurrentInstance();
 
-     if (isPromise(setupResult)) {
 
-       setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
 
-       if (isSSR) {
 
-         return setupResult.then((resolvedResult) => {
 
-           handleSetupResult(instance, resolvedResult, isSSR);
 
-         }).catch((e) => {
 
-           handleError(e, instance, 0);
 
-         });
 
-       } else {
 
-         instance.asyncDep = setupResult;
 
-         if (!instance.suspense) {
 
-           const name = (_a = Component.name) != null ? _a : "Anonymous";
 
-           warn(
 
-             `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`
 
-           );
 
-         }
 
-       }
 
-     } else {
 
-       handleSetupResult(instance, setupResult, isSSR);
 
-     }
 
-   } else {
 
-     finishComponentSetup(instance, isSSR);
 
-   }
 
- }
 
- function handleSetupResult(instance, setupResult, isSSR) {
 
-   if (isFunction(setupResult)) {
 
-     if (instance.type.__ssrInlineRender) {
 
-       instance.ssrRender = setupResult;
 
-     } else {
 
-       instance.render = setupResult;
 
-     }
 
-   } else if (isObject(setupResult)) {
 
-     if (isVNode$2(setupResult)) {
 
-       warn(
 
-         `setup() should not return VNodes directly - return a render function instead.`
 
-       );
 
-     }
 
-     {
 
-       instance.devtoolsRawSetupState = setupResult;
 
-     }
 
-     instance.setupState = proxyRefs(setupResult);
 
-     {
 
-       exposeSetupStateOnRenderContext(instance);
 
-     }
 
-   } else if (setupResult !== void 0) {
 
-     warn(
 
-       `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
 
-     );
 
-   }
 
-   finishComponentSetup(instance, isSSR);
 
- }
 
- let compile;
 
- const isRuntimeOnly = () => !compile;
 
- function finishComponentSetup(instance, isSSR, skipOptions) {
 
-   const Component = instance.type;
 
-   if (!instance.render) {
 
-     if (!isSSR && compile && !Component.render) {
 
-       const template = Component.template || resolveMergedOptions(instance).template;
 
-       if (template) {
 
-         {
 
-           startMeasure(instance, `compile`);
 
-         }
 
-         const { isCustomElement, compilerOptions } = instance.appContext.config;
 
-         const { delimiters, compilerOptions: componentCompilerOptions } = Component;
 
-         const finalCompilerOptions = extend(
 
-           extend(
 
-             {
 
-               isCustomElement,
 
-               delimiters
 
-             },
 
-             compilerOptions
 
-           ),
 
-           componentCompilerOptions
 
-         );
 
-         Component.render = compile(template, finalCompilerOptions);
 
-         {
 
-           endMeasure(instance, `compile`);
 
-         }
 
-       }
 
-     }
 
-     instance.render = Component.render || NOOP;
 
-   }
 
-   {
 
-     setCurrentInstance(instance);
 
-     pauseTracking();
 
-     applyOptions(instance);
 
-     resetTracking();
 
-     unsetCurrentInstance();
 
-   }
 
-   if (!Component.render && instance.render === NOOP && !isSSR) {
 
-     if (Component.template) {
 
-       warn(
 
-         `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Use "vue.esm-browser.js" instead.` )
 
-         /* should not happen */
 
-       );
 
-     } else {
 
-       warn(`Component is missing template or render function.`);
 
-     }
 
-   }
 
- }
 
- function getAttrsProxy(instance) {
 
-   return instance.attrsProxy || (instance.attrsProxy = new Proxy(
 
-     instance.attrs,
 
-     {
 
-       get(target, key) {
 
-         markAttrsAccessed();
 
-         track(instance, "get", "$attrs");
 
-         return target[key];
 
-       },
 
-       set() {
 
-         warn(`setupContext.attrs is readonly.`);
 
-         return false;
 
-       },
 
-       deleteProperty() {
 
-         warn(`setupContext.attrs is readonly.`);
 
-         return false;
 
-       }
 
-     } 
 
-   ));
 
- }
 
- function getSlotsProxy(instance) {
 
-   return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {
 
-     get(target, key) {
 
-       track(instance, "get", "$slots");
 
-       return target[key];
 
-     }
 
-   }));
 
- }
 
- function createSetupContext(instance) {
 
-   const expose = (exposed) => {
 
-     {
 
-       if (instance.exposed) {
 
-         warn(`expose() should be called only once per setup().`);
 
-       }
 
-       if (exposed != null) {
 
-         let exposedType = typeof exposed;
 
-         if (exposedType === "object") {
 
-           if (isArray(exposed)) {
 
-             exposedType = "array";
 
-           } else if (isRef(exposed)) {
 
-             exposedType = "ref";
 
-           }
 
-         }
 
-         if (exposedType !== "object") {
 
-           warn(
 
-             `expose() should be passed a plain object, received ${exposedType}.`
 
-           );
 
-         }
 
-       }
 
-     }
 
-     instance.exposed = exposed || {};
 
-   };
 
-   {
 
-     return Object.freeze({
 
-       get attrs() {
 
-         return getAttrsProxy(instance);
 
-       },
 
-       get slots() {
 
-         return getSlotsProxy(instance);
 
-       },
 
-       get emit() {
 
-         return (event, ...args) => instance.emit(event, ...args);
 
-       },
 
-       expose
 
-     });
 
-   }
 
- }
 
- function getExposeProxy(instance) {
 
-   if (instance.exposed) {
 
-     return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
 
-       get(target, key) {
 
-         if (key in target) {
 
-           return target[key];
 
-         } else if (key in publicPropertiesMap) {
 
-           return publicPropertiesMap[key](instance);
 
-         }
 
-       },
 
-       has(target, key) {
 
-         return key in target || key in publicPropertiesMap;
 
-       }
 
-     }));
 
-   }
 
- }
 
- const classifyRE = /(?:^|[-_])(\w)/g;
 
- const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
 
- function getComponentName(Component, includeInferred = true) {
 
-   return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
 
- }
 
- function formatComponentName(instance, Component, isRoot = false) {
 
-   let name = getComponentName(Component);
 
-   if (!name && Component.__file) {
 
-     const match = Component.__file.match(/([^/\\]+)\.\w+$/);
 
-     if (match) {
 
-       name = match[1];
 
-     }
 
-   }
 
-   if (!name && instance && instance.parent) {
 
-     const inferFromRegistry = (registry) => {
 
-       for (const key in registry) {
 
-         if (registry[key] === Component) {
 
-           return key;
 
-         }
 
-       }
 
-     };
 
-     name = inferFromRegistry(
 
-       instance.components || instance.parent.type.components
 
-     ) || inferFromRegistry(instance.appContext.components);
 
-   }
 
-   return name ? classify(name) : isRoot ? `App` : `Anonymous`;
 
- }
 
- function isClassComponent(value) {
 
-   return isFunction(value) && "__vccOpts" in value;
 
- }
 
- const computed = (getterOrOptions, debugOptions) => {
 
-   return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
 
- };
 
- const ssrContextKey = Symbol.for("v-scx");
 
- const useSSRContext = () => {
 
-   {
 
-     const ctx = inject(ssrContextKey);
 
-     if (!ctx) {
 
-       warn(
 
-         `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
 
-       );
 
-     }
 
-     return ctx;
 
-   }
 
- };
 
- const version = "3.3.4";
 
- const _ssrUtils = {
 
-   createComponentInstance: createComponentInstance$1,
 
-   setupComponent: setupComponent$1,
 
-   renderComponentRoot: renderComponentRoot$1,
 
-   setCurrentRenderingInstance: setCurrentRenderingInstance$1,
 
-   isVNode: isVNode$2,
 
-   normalizeVNode: normalizeVNode$1
 
- };
 
- const ssrUtils = _ssrUtils ;
 
- const svgNS = "http://www.w3.org/2000/svg";
 
- const doc = typeof document !== "undefined" ? document : null;
 
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
 
- const nodeOps = {
 
-   insert: (child, parent, anchor) => {
 
-     parent.insertBefore(child, anchor || null);
 
-   },
 
-   remove: (child) => {
 
-     const parent = child.parentNode;
 
-     if (parent) {
 
-       parent.removeChild(child);
 
-     }
 
-   },
 
-   createElement: (tag, isSVG, is, props) => {
 
-     const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0);
 
-     if (tag === "select" && props && props.multiple != null) {
 
-       el.setAttribute("multiple", props.multiple);
 
-     }
 
-     return el;
 
-   },
 
-   createText: (text) => doc.createTextNode(text),
 
-   createComment: (text) => doc.createComment(text),
 
-   setText: (node, text) => {
 
-     node.nodeValue = text;
 
-   },
 
-   setElementText: (el, text) => {
 
-     el.textContent = text;
 
-   },
 
-   parentNode: (node) => node.parentNode,
 
-   nextSibling: (node) => node.nextSibling,
 
-   querySelector: (selector) => doc.querySelector(selector),
 
-   setScopeId(el, id) {
 
-     el.setAttribute(id, "");
 
-   },
 
-   // __UNSAFE__
 
-   // Reason: innerHTML.
 
-   // Static content here can only come from compiled templates.
 
-   // As long as the user only uses trusted templates, this is safe.
 
-   insertStaticContent(content, parent, anchor, isSVG, start, end) {
 
-     const before = anchor ? anchor.previousSibling : parent.lastChild;
 
-     if (start && (start === end || start.nextSibling)) {
 
-       while (true) {
 
-         parent.insertBefore(start.cloneNode(true), anchor);
 
-         if (start === end || !(start = start.nextSibling))
 
-           break;
 
-       }
 
-     } else {
 
-       templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;
 
-       const template = templateContainer.content;
 
-       if (isSVG) {
 
-         const wrapper = template.firstChild;
 
-         while (wrapper.firstChild) {
 
-           template.appendChild(wrapper.firstChild);
 
-         }
 
-         template.removeChild(wrapper);
 
-       }
 
-       parent.insertBefore(template, anchor);
 
-     }
 
-     return [
 
-       // first
 
-       before ? before.nextSibling : parent.firstChild,
 
-       // last
 
-       anchor ? anchor.previousSibling : parent.lastChild
 
-     ];
 
-   }
 
- };
 
- function patchClass(el, value, isSVG) {
 
-   const transitionClasses = el._vtc;
 
-   if (transitionClasses) {
 
-     value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
 
-   }
 
-   if (value == null) {
 
-     el.removeAttribute("class");
 
-   } else if (isSVG) {
 
-     el.setAttribute("class", value);
 
-   } else {
 
-     el.className = value;
 
-   }
 
- }
 
- function patchStyle(el, prev, next) {
 
-   const style = el.style;
 
-   const isCssString = isString(next);
 
-   if (next && !isCssString) {
 
-     if (prev && !isString(prev)) {
 
-       for (const key in prev) {
 
-         if (next[key] == null) {
 
-           setStyle(style, key, "");
 
-         }
 
-       }
 
-     }
 
-     for (const key in next) {
 
-       setStyle(style, key, next[key]);
 
-     }
 
-   } else {
 
-     const currentDisplay = style.display;
 
-     if (isCssString) {
 
-       if (prev !== next) {
 
-         style.cssText = next;
 
-       }
 
-     } else if (prev) {
 
-       el.removeAttribute("style");
 
-     }
 
-     if ("_vod" in el) {
 
-       style.display = currentDisplay;
 
-     }
 
-   }
 
- }
 
- const semicolonRE = /[^\\];\s*$/;
 
- const importantRE = /\s*!important$/;
 
- function setStyle(style, name, val) {
 
-   if (isArray(val)) {
 
-     val.forEach((v) => setStyle(style, name, v));
 
-   } else {
 
-     if (val == null)
 
-       val = "";
 
-     {
 
-       if (semicolonRE.test(val)) {
 
-         warn(
 
-           `Unexpected semicolon at the end of '${name}' style value: '${val}'`
 
-         );
 
-       }
 
-     }
 
-     if (name.startsWith("--")) {
 
-       style.setProperty(name, val);
 
-     } else {
 
-       const prefixed = autoPrefix(style, name);
 
-       if (importantRE.test(val)) {
 
-         style.setProperty(
 
-           hyphenate(prefixed),
 
-           val.replace(importantRE, ""),
 
-           "important"
 
-         );
 
-       } else {
 
-         style[prefixed] = val;
 
-       }
 
-     }
 
-   }
 
- }
 
- const prefixes = ["Webkit", "Moz", "ms"];
 
- const prefixCache = {};
 
- function autoPrefix(style, rawName) {
 
-   const cached = prefixCache[rawName];
 
-   if (cached) {
 
-     return cached;
 
-   }
 
-   let name = camelize(rawName);
 
-   if (name !== "filter" && name in style) {
 
-     return prefixCache[rawName] = name;
 
-   }
 
-   name = capitalize(name);
 
-   for (let i = 0; i < prefixes.length; i++) {
 
-     const prefixed = prefixes[i] + name;
 
-     if (prefixed in style) {
 
-       return prefixCache[rawName] = prefixed;
 
-     }
 
-   }
 
-   return rawName;
 
- }
 
- const xlinkNS = "http://www.w3.org/1999/xlink";
 
- function patchAttr(el, key, value, isSVG, instance) {
 
-   if (isSVG && key.startsWith("xlink:")) {
 
-     if (value == null) {
 
-       el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
 
-     } else {
 
-       el.setAttributeNS(xlinkNS, key, value);
 
-     }
 
-   } else {
 
-     const isBoolean = isSpecialBooleanAttr(key);
 
-     if (value == null || isBoolean && !includeBooleanAttr(value)) {
 
-       el.removeAttribute(key);
 
-     } else {
 
-       el.setAttribute(key, isBoolean ? "" : value);
 
-     }
 
-   }
 
- }
 
- function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
 
-   if (key === "innerHTML" || key === "textContent") {
 
-     if (prevChildren) {
 
-       unmountChildren(prevChildren, parentComponent, parentSuspense);
 
-     }
 
-     el[key] = value == null ? "" : value;
 
-     return;
 
-   }
 
-   const tag = el.tagName;
 
-   if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
 
-   !tag.includes("-")) {
 
-     el._value = value;
 
-     const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
 
-     const newValue = value == null ? "" : value;
 
-     if (oldValue !== newValue) {
 
-       el.value = newValue;
 
-     }
 
-     if (value == null) {
 
-       el.removeAttribute(key);
 
-     }
 
-     return;
 
-   }
 
-   let needRemove = false;
 
-   if (value === "" || value == null) {
 
-     const type = typeof el[key];
 
-     if (type === "boolean") {
 
-       value = includeBooleanAttr(value);
 
-     } else if (value == null && type === "string") {
 
-       value = "";
 
-       needRemove = true;
 
-     } else if (type === "number") {
 
-       value = 0;
 
-       needRemove = true;
 
-     }
 
-   }
 
-   try {
 
-     el[key] = value;
 
-   } catch (e) {
 
-     if (!needRemove) {
 
-       warn(
 
-         `Failed setting prop "${key}" on <${tag.toLowerCase()}>: value ${value} is invalid.`,
 
-         e
 
-       );
 
-     }
 
-   }
 
-   needRemove && el.removeAttribute(key);
 
- }
 
- function addEventListener(el, event, handler, options) {
 
-   el.addEventListener(event, handler, options);
 
- }
 
- function removeEventListener(el, event, handler, options) {
 
-   el.removeEventListener(event, handler, options);
 
- }
 
- function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
 
-   const invokers = el._vei || (el._vei = {});
 
-   const existingInvoker = invokers[rawName];
 
-   if (nextValue && existingInvoker) {
 
-     existingInvoker.value = nextValue;
 
-   } else {
 
-     const [name, options] = parseName(rawName);
 
-     if (nextValue) {
 
-       const invoker = invokers[rawName] = createInvoker(nextValue, instance);
 
-       addEventListener(el, name, invoker, options);
 
-     } else if (existingInvoker) {
 
-       removeEventListener(el, name, existingInvoker, options);
 
-       invokers[rawName] = void 0;
 
-     }
 
-   }
 
- }
 
- const optionsModifierRE = /(?:Once|Passive|Capture)$/;
 
- function parseName(name) {
 
-   let options;
 
-   if (optionsModifierRE.test(name)) {
 
-     options = {};
 
-     let m;
 
-     while (m = name.match(optionsModifierRE)) {
 
-       name = name.slice(0, name.length - m[0].length);
 
-       options[m[0].toLowerCase()] = true;
 
-     }
 
-   }
 
-   const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
 
-   return [event, options];
 
- }
 
- let cachedNow = 0;
 
- const p = /* @__PURE__ */ Promise.resolve();
 
- const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
 
- function createInvoker(initialValue, instance) {
 
-   const invoker = (e) => {
 
-     if (!e._vts) {
 
-       e._vts = Date.now();
 
-     } else if (e._vts <= invoker.attached) {
 
-       return;
 
-     }
 
-     callWithAsyncErrorHandling(
 
-       patchStopImmediatePropagation(e, invoker.value),
 
-       instance,
 
-       5,
 
-       [e]
 
-     );
 
-   };
 
-   invoker.value = initialValue;
 
-   invoker.attached = getNow();
 
-   return invoker;
 
- }
 
- function patchStopImmediatePropagation(e, value) {
 
-   if (isArray(value)) {
 
-     const originalStop = e.stopImmediatePropagation;
 
-     e.stopImmediatePropagation = () => {
 
-       originalStop.call(e);
 
-       e._stopped = true;
 
-     };
 
-     return value.map((fn) => (e2) => !e2._stopped && fn && fn(e2));
 
-   } else {
 
-     return value;
 
-   }
 
- }
 
- const nativeOnRE = /^on[a-z]/;
 
- const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
 
-   if (key === "class") {
 
-     patchClass(el, nextValue, isSVG);
 
-   } else if (key === "style") {
 
-     patchStyle(el, prevValue, nextValue);
 
-   } else if (isOn(key)) {
 
-     if (!isModelListener(key)) {
 
-       patchEvent(el, key, prevValue, nextValue, parentComponent);
 
-     }
 
-   } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
 
-     patchDOMProp(
 
-       el,
 
-       key,
 
-       nextValue,
 
-       prevChildren,
 
-       parentComponent,
 
-       parentSuspense,
 
-       unmountChildren
 
-     );
 
-   } else {
 
-     if (key === "true-value") {
 
-       el._trueValue = nextValue;
 
-     } else if (key === "false-value") {
 
-       el._falseValue = nextValue;
 
-     }
 
-     patchAttr(el, key, nextValue, isSVG);
 
-   }
 
- };
 
- function shouldSetAsProp(el, key, value, isSVG) {
 
-   if (isSVG) {
 
-     if (key === "innerHTML" || key === "textContent") {
 
-       return true;
 
-     }
 
-     if (key in el && nativeOnRE.test(key) && isFunction(value)) {
 
-       return true;
 
-     }
 
-     return false;
 
-   }
 
-   if (key === "spellcheck" || key === "draggable" || key === "translate") {
 
-     return false;
 
-   }
 
-   if (key === "form") {
 
-     return false;
 
-   }
 
-   if (key === "list" && el.tagName === "INPUT") {
 
-     return false;
 
-   }
 
-   if (key === "type" && el.tagName === "TEXTAREA") {
 
-     return false;
 
-   }
 
-   if (nativeOnRE.test(key) && isString(value)) {
 
-     return false;
 
-   }
 
-   return key in el;
 
- }
 
- const getModelAssigner = (vnode) => {
 
-   const fn = vnode.props["onUpdate:modelValue"] || false;
 
-   return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;
 
- };
 
- function onCompositionStart(e) {
 
-   e.target.composing = true;
 
- }
 
- function onCompositionEnd(e) {
 
-   const target = e.target;
 
-   if (target.composing) {
 
-     target.composing = false;
 
-     target.dispatchEvent(new Event("input"));
 
-   }
 
- }
 
- const vModelText = {
 
-   created(el, { modifiers: { lazy, trim, number } }, vnode) {
 
-     el._assign = getModelAssigner(vnode);
 
-     const castToNumber = number || vnode.props && vnode.props.type === "number";
 
-     addEventListener(el, lazy ? "change" : "input", (e) => {
 
-       if (e.target.composing)
 
-         return;
 
-       let domValue = el.value;
 
-       if (trim) {
 
-         domValue = domValue.trim();
 
-       }
 
-       if (castToNumber) {
 
-         domValue = looseToNumber(domValue);
 
-       }
 
-       el._assign(domValue);
 
-     });
 
-     if (trim) {
 
-       addEventListener(el, "change", () => {
 
-         el.value = el.value.trim();
 
-       });
 
-     }
 
-     if (!lazy) {
 
-       addEventListener(el, "compositionstart", onCompositionStart);
 
-       addEventListener(el, "compositionend", onCompositionEnd);
 
-       addEventListener(el, "change", onCompositionEnd);
 
-     }
 
-   },
 
-   // set value on mounted so it's after min/max for type="range"
 
-   mounted(el, { value }) {
 
-     el.value = value == null ? "" : value;
 
-   },
 
-   beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
 
-     el._assign = getModelAssigner(vnode);
 
-     if (el.composing)
 
-       return;
 
-     if (document.activeElement === el && el.type !== "range") {
 
-       if (lazy) {
 
-         return;
 
-       }
 
-       if (trim && el.value.trim() === value) {
 
-         return;
 
-       }
 
-       if ((number || el.type === "number") && looseToNumber(el.value) === value) {
 
-         return;
 
-       }
 
-     }
 
-     const newValue = value == null ? "" : value;
 
-     if (el.value !== newValue) {
 
-       el.value = newValue;
 
-     }
 
-   }
 
- };
 
- function initVModelForSSR() {
 
-   vModelText.getSSRProps = ({ value }) => ({ value });
 
- }
 
- const vShow = {
 
-   beforeMount(el, { value }, { transition }) {
 
-     el._vod = el.style.display === "none" ? "" : el.style.display;
 
-     if (transition && value) {
 
-       transition.beforeEnter(el);
 
-     } else {
 
-       setDisplay(el, value);
 
-     }
 
-   },
 
-   mounted(el, { value }, { transition }) {
 
-     if (transition && value) {
 
-       transition.enter(el);
 
-     }
 
-   },
 
-   updated(el, { value, oldValue }, { transition }) {
 
-     if (!value === !oldValue)
 
-       return;
 
-     if (transition) {
 
-       if (value) {
 
-         transition.beforeEnter(el);
 
-         setDisplay(el, true);
 
-         transition.enter(el);
 
-       } else {
 
-         transition.leave(el, () => {
 
-           setDisplay(el, false);
 
-         });
 
-       }
 
-     } else {
 
-       setDisplay(el, value);
 
-     }
 
-   },
 
-   beforeUnmount(el, { value }) {
 
-     setDisplay(el, value);
 
-   }
 
- };
 
- function setDisplay(el, value) {
 
-   el.style.display = value ? el._vod : "none";
 
- }
 
- function initVShowForSSR() {
 
-   vShow.getSSRProps = ({ value }) => {
 
-     if (!value) {
 
-       return { style: { display: "none" } };
 
-     }
 
-   };
 
- }
 
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
 
- let renderer;
 
- function ensureRenderer() {
 
-   return renderer || (renderer = createRenderer(rendererOptions));
 
- }
 
- const createApp = (...args) => {
 
-   const app = ensureRenderer().createApp(...args);
 
-   {
 
-     injectNativeTagCheck(app);
 
-     injectCompilerOptionsCheck(app);
 
-   }
 
-   const { mount } = app;
 
-   app.mount = (containerOrSelector) => {
 
-     const container = normalizeContainer(containerOrSelector);
 
-     if (!container)
 
-       return;
 
-     const component = app._component;
 
-     if (!isFunction(component) && !component.render && !component.template) {
 
-       component.template = container.innerHTML;
 
-     }
 
-     container.innerHTML = "";
 
-     const proxy = mount(container, false, container instanceof SVGElement);
 
-     if (container instanceof Element) {
 
-       container.removeAttribute("v-cloak");
 
-       container.setAttribute("data-v-app", "");
 
-     }
 
-     return proxy;
 
-   };
 
-   return app;
 
- };
 
- function injectNativeTagCheck(app) {
 
-   Object.defineProperty(app.config, "isNativeTag", {
 
-     value: (tag) => isHTMLTag(tag) || isSVGTag(tag),
 
-     writable: false
 
-   });
 
- }
 
- function injectCompilerOptionsCheck(app) {
 
-   {
 
-     const isCustomElement = app.config.isCustomElement;
 
-     Object.defineProperty(app.config, "isCustomElement", {
 
-       get() {
 
-         return isCustomElement;
 
-       },
 
-       set() {
 
-         warn(
 
-           `The \`isCustomElement\` config option is deprecated. Use \`compilerOptions.isCustomElement\` instead.`
 
-         );
 
-       }
 
-     });
 
-     const compilerOptions = app.config.compilerOptions;
 
-     const msg = `The \`compilerOptions\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka "full build"). Since you are using the runtime-only build, \`compilerOptions\` must be passed to \`@vue/compiler-dom\` in the build setup instead.
 
- - For vue-loader: pass it via vue-loader's \`compilerOptions\` loader option.
 
- - For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader
 
- - For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;
 
-     Object.defineProperty(app.config, "compilerOptions", {
 
-       get() {
 
-         warn(msg);
 
-         return compilerOptions;
 
-       },
 
-       set() {
 
-         warn(msg);
 
-       }
 
-     });
 
-   }
 
- }
 
- function normalizeContainer(container) {
 
-   if (isString(container)) {
 
-     const res = document.querySelector(container);
 
-     if (!res) {
 
-       warn(
 
-         `Failed to mount app: mount target selector "${container}" returned null.`
 
-       );
 
-     }
 
-     return res;
 
-   }
 
-   if (window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") {
 
-     warn(
 
-       `mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`
 
-     );
 
-   }
 
-   return container;
 
- }
 
- let ssrDirectiveInitialized = false;
 
- const initDirectivesForSSR = () => {
 
-   if (!ssrDirectiveInitialized) {
 
-     ssrDirectiveInitialized = true;
 
-     initVModelForSSR();
 
-     initVShowForSSR();
 
-   }
 
- } ;
 
- const shouldIgnoreProp = makeMap(
 
-   `,key,ref,innerHTML,textContent,ref_key,ref_for`
 
- );
 
- function ssrRenderAttrs(props, tag) {
 
-   let ret = "";
 
-   for (const key in props) {
 
-     if (shouldIgnoreProp(key) || isOn(key) || tag === "textarea" && key === "value") {
 
-       continue;
 
-     }
 
-     const value = props[key];
 
-     if (key === "class") {
 
-       ret += ` class="${ssrRenderClass(value)}"`;
 
-     } else if (key === "style") {
 
-       ret += ` style="${ssrRenderStyle(value)}"`;
 
-     } else {
 
-       ret += ssrRenderDynamicAttr(key, value, tag);
 
-     }
 
-   }
 
-   return ret;
 
- }
 
- function ssrRenderDynamicAttr(key, value, tag) {
 
-   if (!isRenderableValue(value)) {
 
-     return ``;
 
-   }
 
-   const attrKey = tag && (tag.indexOf("-") > 0 || isSVGTag(tag)) ? key : propsToAttrMap[key] || key.toLowerCase();
 
-   if (isBooleanAttr(attrKey)) {
 
-     return includeBooleanAttr(value) ? ` ${attrKey}` : ``;
 
-   } else if (isSSRSafeAttrName(attrKey)) {
 
-     return value === "" ? ` ${attrKey}` : ` ${attrKey}="${escapeHtml(value)}"`;
 
-   } else {
 
-     console.warn(
 
-       `[@vue/server-renderer] Skipped rendering unsafe attribute name: ${attrKey}`
 
-     );
 
-     return ``;
 
-   }
 
- }
 
- function ssrRenderAttr(key, value) {
 
-   if (!isRenderableValue(value)) {
 
-     return ``;
 
-   }
 
-   return ` ${key}="${escapeHtml(value)}"`;
 
- }
 
- function isRenderableValue(value) {
 
-   if (value == null) {
 
-     return false;
 
-   }
 
-   const type = typeof value;
 
-   return type === "string" || type === "number" || type === "boolean";
 
- }
 
- function ssrRenderClass(raw) {
 
-   return escapeHtml(normalizeClass(raw));
 
- }
 
- function ssrRenderStyle(raw) {
 
-   if (!raw) {
 
-     return "";
 
-   }
 
-   if (isString(raw)) {
 
-     return escapeHtml(raw);
 
-   }
 
-   const styles = normalizeStyle(raw);
 
-   return escapeHtml(stringifyStyle(styles));
 
- }
 
- function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) {
 
-   return renderComponentVNode(
 
-     createVNode(comp, props, children),
 
-     parentComponent,
 
-     slotScopeId
 
-   );
 
- }
 
- function ssrRenderSlot(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId) {
 
-   push(`<!--[-->`);
 
-   ssrRenderSlotInner(
 
-     slots,
 
-     slotName,
 
-     slotProps,
 
-     fallbackRenderFn,
 
-     push,
 
-     parentComponent,
 
-     slotScopeId
 
-   );
 
-   push(`<!--]-->`);
 
- }
 
- function ssrRenderSlotInner(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId, transition) {
 
-   const slotFn = slots[slotName];
 
-   if (slotFn) {
 
-     const slotBuffer = [];
 
-     const bufferedPush = (item) => {
 
-       slotBuffer.push(item);
 
-     };
 
-     const ret = slotFn(
 
-       slotProps,
 
-       bufferedPush,
 
-       parentComponent,
 
-       slotScopeId ? " " + slotScopeId : ""
 
-     );
 
-     if (isArray(ret)) {
 
-       renderVNodeChildren(push, ret, parentComponent, slotScopeId);
 
-     } else {
 
-       let isEmptySlot = true;
 
-       if (transition) {
 
-         isEmptySlot = false;
 
-       } else {
 
-         for (let i = 0; i < slotBuffer.length; i++) {
 
-           if (!isComment(slotBuffer[i])) {
 
-             isEmptySlot = false;
 
-             break;
 
-           }
 
-         }
 
-       }
 
-       if (isEmptySlot) {
 
-         if (fallbackRenderFn) {
 
-           fallbackRenderFn();
 
-         }
 
-       } else {
 
-         for (let i = 0; i < slotBuffer.length; i++) {
 
-           push(slotBuffer[i]);
 
-         }
 
-       }
 
-     }
 
-   } else if (fallbackRenderFn) {
 
-     fallbackRenderFn();
 
-   }
 
- }
 
- const commentTestRE = /^<!--.*-->$/s;
 
- const commentRE = /<!--[^]*?-->/gm;
 
- function isComment(item) {
 
-   if (typeof item !== "string" || !commentTestRE.test(item))
 
-     return false;
 
-   if (item.length <= 8)
 
-     return true;
 
-   return !item.replace(commentRE, "").trim();
 
- }
 
- function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) {
 
-   parentPush("<!--teleport start-->");
 
-   const context = parentComponent.appContext.provides[ssrContextKey];
 
-   const teleportBuffers = context.__teleportBuffers || (context.__teleportBuffers = {});
 
-   const targetBuffer = teleportBuffers[target] || (teleportBuffers[target] = []);
 
-   const bufferIndex = targetBuffer.length;
 
-   let teleportContent;
 
-   if (disabled) {
 
-     contentRenderFn(parentPush);
 
-     teleportContent = `<!--teleport anchor-->`;
 
-   } else {
 
-     const { getBuffer, push } = createBuffer();
 
-     contentRenderFn(push);
 
-     push(`<!--teleport anchor-->`);
 
-     teleportContent = getBuffer();
 
-   }
 
-   targetBuffer.splice(bufferIndex, 0, teleportContent);
 
-   parentPush("<!--teleport end-->");
 
- }
 
- function ssrInterpolate(value) {
 
-   return escapeHtml(toDisplayString(value));
 
- }
 
- function ssrRenderList(source, renderItem) {
 
-   if (isArray(source) || isString(source)) {
 
-     for (let i = 0, l = source.length; i < l; i++) {
 
-       renderItem(source[i], i);
 
-     }
 
-   } else if (typeof source === "number") {
 
-     if (!Number.isInteger(source)) {
 
-       warn(`The v-for range expect an integer value but got ${source}.`);
 
-       return;
 
-     }
 
-     for (let i = 0; i < source; i++) {
 
-       renderItem(i + 1, i);
 
-     }
 
-   } else if (isObject(source)) {
 
-     if (source[Symbol.iterator]) {
 
-       const arr = Array.from(source);
 
-       for (let i = 0, l = arr.length; i < l; i++) {
 
-         renderItem(arr[i], i);
 
-       }
 
-     } else {
 
-       const keys = Object.keys(source);
 
-       for (let i = 0, l = keys.length; i < l; i++) {
 
-         const key = keys[i];
 
-         renderItem(source[key], key, i);
 
-       }
 
-     }
 
-   }
 
- }
 
- async function ssrRenderSuspense(push, { default: renderContent }) {
 
-   if (renderContent) {
 
-     renderContent();
 
-   } else {
 
-     push(`<!---->`);
 
-   }
 
- }
 
- function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) {
 
-   if (typeof dir !== "function" && dir.getSSRProps) {
 
-     return dir.getSSRProps(
 
-       {
 
-         dir,
 
-         instance,
 
-         value,
 
-         oldValue: void 0,
 
-         arg,
 
-         modifiers
 
-       },
 
-       null
 
-     ) || {};
 
-   }
 
-   return {};
 
- }
 
- const ssrLooseEqual = looseEqual;
 
- function ssrLooseContain(arr, value) {
 
-   return looseIndexOf(arr, value) > -1;
 
- }
 
- function ssrRenderDynamicModel(type, model, value) {
 
-   switch (type) {
 
-     case "radio":
 
-       return looseEqual(model, value) ? " checked" : "";
 
-     case "checkbox":
 
-       return (isArray(model) ? ssrLooseContain(model, value) : model) ? " checked" : "";
 
-     default:
 
-       return ssrRenderAttr("value", model);
 
-   }
 
- }
 
- function ssrGetDynamicModelProps(existingProps = {}, model) {
 
-   const { type, value } = existingProps;
 
-   switch (type) {
 
-     case "radio":
 
-       return looseEqual(model, value) ? { checked: true } : null;
 
-     case "checkbox":
 
-       return (isArray(model) ? ssrLooseContain(model, value) : model) ? { checked: true } : null;
 
-     default:
 
-       return { value: model };
 
-   }
 
- }
 
- function ssrCompile(template, instance) {
 
-   {
 
-     throw new Error(
 
-       `On-the-fly template compilation is not supported in the ESM build of @vue/server-renderer. All templates must be pre-compiled into render functions.`
 
-     );
 
-   }
 
- }
 
- const {
 
-   createComponentInstance,
 
-   setCurrentRenderingInstance,
 
-   setupComponent,
 
-   renderComponentRoot,
 
-   normalizeVNode
 
- } = ssrUtils;
 
- function createBuffer() {
 
-   let appendable = false;
 
-   const buffer = [];
 
-   return {
 
-     getBuffer() {
 
-       return buffer;
 
-     },
 
-     push(item) {
 
-       const isStringItem = isString(item);
 
-       if (appendable && isStringItem) {
 
-         buffer[buffer.length - 1] += item;
 
-       } else {
 
-         buffer.push(item);
 
-       }
 
-       appendable = isStringItem;
 
-       if (isPromise(item) || isArray(item) && item.hasAsync) {
 
-         buffer.hasAsync = true;
 
-       }
 
-     }
 
-   };
 
- }
 
- function renderComponentVNode(vnode, parentComponent = null, slotScopeId) {
 
-   const instance = createComponentInstance(vnode, parentComponent, null);
 
-   const res = setupComponent(
 
-     instance,
 
-     true
 
-     /* isSSR */
 
-   );
 
-   const hasAsyncSetup = isPromise(res);
 
-   const prefetches = instance.sp;
 
-   if (hasAsyncSetup || prefetches) {
 
-     let p = hasAsyncSetup ? res : Promise.resolve();
 
-     if (prefetches) {
 
-       p = p.then(
 
-         () => Promise.all(prefetches.map((prefetch) => prefetch.call(instance.proxy)))
 
-       ).catch(() => {
 
-       });
 
-     }
 
-     return p.then(() => renderComponentSubTree(instance, slotScopeId));
 
-   } else {
 
-     return renderComponentSubTree(instance, slotScopeId);
 
-   }
 
- }
 
- function renderComponentSubTree(instance, slotScopeId) {
 
-   const comp = instance.type;
 
-   const { getBuffer, push } = createBuffer();
 
-   if (isFunction(comp)) {
 
-     let root = renderComponentRoot(instance);
 
-     if (!comp.props) {
 
-       for (const key in instance.attrs) {
 
-         if (key.startsWith(`data-v-`)) {
 
-           (root.props || (root.props = {}))[key] = ``;
 
-         }
 
-       }
 
-     }
 
-     renderVNode(push, instance.subTree = root, instance, slotScopeId);
 
-   } else {
 
-     if ((!instance.render || instance.render === NOOP) && !instance.ssrRender && !comp.ssrRender && isString(comp.template)) {
 
-       comp.ssrRender = ssrCompile(comp.template);
 
-     }
 
-     for (const e of instance.scope.effects) {
 
-       if (e.computed)
 
-         e.computed._cacheable = true;
 
-     }
 
-     const ssrRender = instance.ssrRender || comp.ssrRender;
 
-     if (ssrRender) {
 
-       let attrs = instance.inheritAttrs !== false ? instance.attrs : void 0;
 
-       let hasCloned = false;
 
-       let cur = instance;
 
-       while (true) {
 
-         const scopeId = cur.vnode.scopeId;
 
-         if (scopeId) {
 
-           if (!hasCloned) {
 
-             attrs = { ...attrs };
 
-             hasCloned = true;
 
-           }
 
-           attrs[scopeId] = "";
 
-         }
 
-         const parent = cur.parent;
 
-         if (parent && parent.subTree && parent.subTree === cur.vnode) {
 
-           cur = parent;
 
-         } else {
 
-           break;
 
-         }
 
-       }
 
-       if (slotScopeId) {
 
-         if (!hasCloned)
 
-           attrs = { ...attrs };
 
-         attrs[slotScopeId.trim()] = "";
 
-       }
 
-       const prev = setCurrentRenderingInstance(instance);
 
-       try {
 
-         ssrRender(
 
-           instance.proxy,
 
-           push,
 
-           instance,
 
-           attrs,
 
-           // compiler-optimized bindings
 
-           instance.props,
 
-           instance.setupState,
 
-           instance.data,
 
-           instance.ctx
 
-         );
 
-       } finally {
 
-         setCurrentRenderingInstance(prev);
 
-       }
 
-     } else if (instance.render && instance.render !== NOOP) {
 
-       renderVNode(
 
-         push,
 
-         instance.subTree = renderComponentRoot(instance),
 
-         instance,
 
-         slotScopeId
 
-       );
 
-     } else {
 
-       const componentName = comp.name || comp.__file || `<Anonymous>`;
 
-       warn(`Component ${componentName} is missing template or render function.`);
 
-       push(`<!---->`);
 
-     }
 
-   }
 
-   return getBuffer();
 
- }
 
- function renderVNode(push, vnode, parentComponent, slotScopeId) {
 
-   const { type, shapeFlag, children } = vnode;
 
-   switch (type) {
 
-     case Text:
 
-       push(escapeHtml(children));
 
-       break;
 
-     case Comment:
 
-       push(
 
-         children ? `<!--${escapeHtmlComment(children)}-->` : `<!---->`
 
-       );
 
-       break;
 
-     case Static:
 
-       push(children);
 
-       break;
 
-     case Fragment:
 
-       if (vnode.slotScopeIds) {
 
-         slotScopeId = (slotScopeId ? slotScopeId + " " : "") + vnode.slotScopeIds.join(" ");
 
-       }
 
-       push(`<!--[-->`);
 
-       renderVNodeChildren(
 
-         push,
 
-         children,
 
-         parentComponent,
 
-         slotScopeId
 
-       );
 
-       push(`<!--]-->`);
 
-       break;
 
-     default:
 
-       if (shapeFlag & 1) {
 
-         renderElementVNode(push, vnode, parentComponent, slotScopeId);
 
-       } else if (shapeFlag & 6) {
 
-         push(renderComponentVNode(vnode, parentComponent, slotScopeId));
 
-       } else if (shapeFlag & 64) {
 
-         renderTeleportVNode(push, vnode, parentComponent, slotScopeId);
 
-       } else if (shapeFlag & 128) {
 
-         renderVNode(push, vnode.ssContent, parentComponent, slotScopeId);
 
-       } else {
 
-         warn(
 
-           "[@vue/server-renderer] Invalid VNode type:",
 
-           type,
 
-           `(${typeof type})`
 
-         );
 
-       }
 
-   }
 
- }
 
- function renderVNodeChildren(push, children, parentComponent, slotScopeId) {
 
-   for (let i = 0; i < children.length; i++) {
 
-     renderVNode(push, normalizeVNode(children[i]), parentComponent, slotScopeId);
 
-   }
 
- }
 
- function renderElementVNode(push, vnode, parentComponent, slotScopeId) {
 
-   const tag = vnode.type;
 
-   let { props, children, shapeFlag, scopeId, dirs } = vnode;
 
-   let openTag = `<${tag}`;
 
-   if (dirs) {
 
-     props = applySSRDirectives(vnode, props, dirs);
 
-   }
 
-   if (props) {
 
-     openTag += ssrRenderAttrs(props, tag);
 
-   }
 
-   if (scopeId) {
 
-     openTag += ` ${scopeId}`;
 
-   }
 
-   let curParent = parentComponent;
 
-   let curVnode = vnode;
 
-   while (curParent && curVnode === curParent.subTree) {
 
-     curVnode = curParent.vnode;
 
-     if (curVnode.scopeId) {
 
-       openTag += ` ${curVnode.scopeId}`;
 
-     }
 
-     curParent = curParent.parent;
 
-   }
 
-   if (slotScopeId) {
 
-     openTag += ` ${slotScopeId}`;
 
-   }
 
-   push(openTag + `>`);
 
-   if (!isVoidTag(tag)) {
 
-     let hasChildrenOverride = false;
 
-     if (props) {
 
-       if (props.innerHTML) {
 
-         hasChildrenOverride = true;
 
-         push(props.innerHTML);
 
-       } else if (props.textContent) {
 
-         hasChildrenOverride = true;
 
-         push(escapeHtml(props.textContent));
 
-       } else if (tag === "textarea" && props.value) {
 
-         hasChildrenOverride = true;
 
-         push(escapeHtml(props.value));
 
-       }
 
-     }
 
-     if (!hasChildrenOverride) {
 
-       if (shapeFlag & 8) {
 
-         push(escapeHtml(children));
 
-       } else if (shapeFlag & 16) {
 
-         renderVNodeChildren(
 
-           push,
 
-           children,
 
-           parentComponent,
 
-           slotScopeId
 
-         );
 
-       }
 
-     }
 
-     push(`</${tag}>`);
 
-   }
 
- }
 
- function applySSRDirectives(vnode, rawProps, dirs) {
 
-   const toMerge = [];
 
-   for (let i = 0; i < dirs.length; i++) {
 
-     const binding = dirs[i];
 
-     const {
 
-       dir: { getSSRProps }
 
-     } = binding;
 
-     if (getSSRProps) {
 
-       const props = getSSRProps(binding, vnode);
 
-       if (props)
 
-         toMerge.push(props);
 
-     }
 
-   }
 
-   return mergeProps(rawProps || {}, ...toMerge);
 
- }
 
- function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) {
 
-   const target = vnode.props && vnode.props.to;
 
-   const disabled = vnode.props && vnode.props.disabled;
 
-   if (!target) {
 
-     if (!disabled) {
 
-       warn(`[@vue/server-renderer] Teleport is missing target prop.`);
 
-     }
 
-     return [];
 
-   }
 
-   if (!isString(target)) {
 
-     warn(
 
-       `[@vue/server-renderer] Teleport target must be a query selector string.`
 
-     );
 
-     return [];
 
-   }
 
-   ssrRenderTeleport(
 
-     push,
 
-     (push2) => {
 
-       renderVNodeChildren(
 
-         push2,
 
-         vnode.children,
 
-         parentComponent,
 
-         slotScopeId
 
-       );
 
-     },
 
-     target,
 
-     disabled || disabled === "",
 
-     parentComponent
 
-   );
 
- }
 
- const { isVNode: isVNode$1 } = ssrUtils;
 
- async function unrollBuffer$1(buffer) {
 
-   if (buffer.hasAsync) {
 
-     let ret = "";
 
-     for (let i = 0; i < buffer.length; i++) {
 
-       let item = buffer[i];
 
-       if (isPromise(item)) {
 
-         item = await item;
 
-       }
 
-       if (isString(item)) {
 
-         ret += item;
 
-       } else {
 
-         ret += await unrollBuffer$1(item);
 
-       }
 
-     }
 
-     return ret;
 
-   } else {
 
-     return unrollBufferSync$1(buffer);
 
-   }
 
- }
 
- function unrollBufferSync$1(buffer) {
 
-   let ret = "";
 
-   for (let i = 0; i < buffer.length; i++) {
 
-     let item = buffer[i];
 
-     if (isString(item)) {
 
-       ret += item;
 
-     } else {
 
-       ret += unrollBufferSync$1(item);
 
-     }
 
-   }
 
-   return ret;
 
- }
 
- async function renderToString(input, context = {}) {
 
-   if (isVNode$1(input)) {
 
-     return renderToString(createApp({ render: () => input }), context);
 
-   }
 
-   const vnode = createVNode(input._component, input._props);
 
-   vnode.appContext = input._context;
 
-   input.provide(ssrContextKey, context);
 
-   const buffer = await renderComponentVNode(vnode);
 
-   const result = await unrollBuffer$1(buffer);
 
-   await resolveTeleports(context);
 
-   if (context.__watcherHandles) {
 
-     for (const unwatch of context.__watcherHandles) {
 
-       unwatch();
 
-     }
 
-   }
 
-   return result;
 
- }
 
- async function resolveTeleports(context) {
 
-   if (context.__teleportBuffers) {
 
-     context.teleports = context.teleports || {};
 
-     for (const key in context.__teleportBuffers) {
 
-       context.teleports[key] = await unrollBuffer$1(
 
-         await Promise.all([context.__teleportBuffers[key]])
 
-       );
 
-     }
 
-   }
 
- }
 
- const { isVNode } = ssrUtils;
 
- async function unrollBuffer(buffer, stream) {
 
-   if (buffer.hasAsync) {
 
-     for (let i = 0; i < buffer.length; i++) {
 
-       let item = buffer[i];
 
-       if (isPromise(item)) {
 
-         item = await item;
 
-       }
 
-       if (isString(item)) {
 
-         stream.push(item);
 
-       } else {
 
-         await unrollBuffer(item, stream);
 
-       }
 
-     }
 
-   } else {
 
-     unrollBufferSync(buffer, stream);
 
-   }
 
- }
 
- function unrollBufferSync(buffer, stream) {
 
-   for (let i = 0; i < buffer.length; i++) {
 
-     let item = buffer[i];
 
-     if (isString(item)) {
 
-       stream.push(item);
 
-     } else {
 
-       unrollBufferSync(item, stream);
 
-     }
 
-   }
 
- }
 
- function renderToSimpleStream(input, context, stream) {
 
-   if (isVNode(input)) {
 
-     return renderToSimpleStream(
 
-       createApp({ render: () => input }),
 
-       context,
 
-       stream
 
-     );
 
-   }
 
-   const vnode = createVNode(input._component, input._props);
 
-   vnode.appContext = input._context;
 
-   input.provide(ssrContextKey, context);
 
-   Promise.resolve(renderComponentVNode(vnode)).then((buffer) => unrollBuffer(buffer, stream)).then(() => resolveTeleports(context)).then(() => {
 
-     if (context.__watcherHandles) {
 
-       for (const unwatch of context.__watcherHandles) {
 
-         unwatch();
 
-       }
 
-     }
 
-   }).then(() => stream.push(null)).catch((error) => {
 
-     stream.destroy(error);
 
-   });
 
-   return stream;
 
- }
 
- function renderToStream(input, context = {}) {
 
-   console.warn(
 
-     `[@vue/server-renderer] renderToStream is deprecated - use renderToNodeStream instead.`
 
-   );
 
-   return renderToNodeStream(input, context);
 
- }
 
- function renderToNodeStream(input, context = {}) {
 
-   {
 
-     throw new Error(
 
-       `ESM build of renderToStream() does not support renderToNodeStream(). Use pipeToNodeWritable() with an existing Node.js Writable stream instance instead.`
 
-     );
 
-   }
 
- }
 
- function pipeToNodeWritable(input, context = {}, writable) {
 
-   renderToSimpleStream(input, context, {
 
-     push(content) {
 
-       if (content != null) {
 
-         writable.write(content);
 
-       } else {
 
-         writable.end();
 
-       }
 
-     },
 
-     destroy(err) {
 
-       writable.destroy(err);
 
-     }
 
-   });
 
- }
 
- function renderToWebStream(input, context = {}) {
 
-   if (typeof ReadableStream !== "function") {
 
-     throw new Error(
 
-       `ReadableStream constructor is not available in the global scope. If the target environment does support web streams, consider using pipeToWebWritable() with an existing WritableStream instance instead.`
 
-     );
 
-   }
 
-   const encoder = new TextEncoder();
 
-   let cancelled = false;
 
-   return new ReadableStream({
 
-     start(controller) {
 
-       renderToSimpleStream(input, context, {
 
-         push(content) {
 
-           if (cancelled)
 
-             return;
 
-           if (content != null) {
 
-             controller.enqueue(encoder.encode(content));
 
-           } else {
 
-             controller.close();
 
-           }
 
-         },
 
-         destroy(err) {
 
-           controller.error(err);
 
-         }
 
-       });
 
-     },
 
-     cancel() {
 
-       cancelled = true;
 
-     }
 
-   });
 
- }
 
- function pipeToWebWritable(input, context = {}, writable) {
 
-   const writer = writable.getWriter();
 
-   const encoder = new TextEncoder();
 
-   let hasReady = false;
 
-   try {
 
-     hasReady = isPromise(writer.ready);
 
-   } catch (e) {
 
-   }
 
-   renderToSimpleStream(input, context, {
 
-     async push(content) {
 
-       if (hasReady) {
 
-         await writer.ready;
 
-       }
 
-       if (content != null) {
 
-         return writer.write(encoder.encode(content));
 
-       } else {
 
-         return writer.close();
 
-       }
 
-     },
 
-     destroy(err) {
 
-       console.log(err);
 
-       writer.close();
 
-     }
 
-   });
 
- }
 
- initDirectivesForSSR();
 
- export { pipeToNodeWritable, pipeToWebWritable, renderToNodeStream, renderToSimpleStream, renderToStream, renderToString, renderToWebStream, ssrGetDirectiveProps, ssrGetDynamicModelProps, includeBooleanAttr as ssrIncludeBooleanAttr, ssrInterpolate, ssrLooseContain, ssrLooseEqual, ssrRenderAttr, ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderDynamicAttr, ssrRenderDynamicModel, ssrRenderList, ssrRenderSlot, ssrRenderSlotInner, ssrRenderStyle, ssrRenderSuspense, ssrRenderTeleport, renderVNode as ssrRenderVNode };
 
 
  |