{"version":3,"file":"js/chunk-vendors-5a805870.405b1ec3.js","mappings":"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","sources":["webpack://baseline/./node_modules/vue/node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://baseline/./node_modules/vue/node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js","webpack://baseline/./node_modules/vue/node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js","webpack://baseline/./node_modules/vue/dist/vue.esm-bundler.js"],"sourcesContent":["/**\n* @vue/shared v3.4.38\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst 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\";\nconst 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\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val.__v_isRef === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/compiler-core v3.4.38\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { isString, NOOP, isObject, NO, extend, isSymbol, isArray, capitalize, camelize, EMPTY_OBJ, PatchFlagNames, slotFlagsText, isOn, isBuiltInDirective, isReservedProp, toHandlerKey } from '@vue/shared';\nexport { generateCodeFrame } from '@vue/shared';\n\nconst FRAGMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Fragment` : ``);\nconst TELEPORT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Teleport` : ``);\nconst SUSPENSE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Suspense` : ``);\nconst KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `KeepAlive` : ``);\nconst BASE_TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `BaseTransition` : ``);\nconst OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `openBlock` : ``);\nconst CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createBlock` : ``);\nconst CREATE_ELEMENT_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementBlock` : ``);\nconst CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createVNode` : ``);\nconst CREATE_ELEMENT_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementVNode` : ``);\nconst CREATE_COMMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createCommentVNode` : ``);\nconst CREATE_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createTextVNode` : ``);\nconst CREATE_STATIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createStaticVNode` : ``);\nconst RESOLVE_COMPONENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveComponent` : ``);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveDynamicComponent` : ``\n);\nconst RESOLVE_DIRECTIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveDirective` : ``);\nconst RESOLVE_FILTER = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveFilter` : ``);\nconst WITH_DIRECTIVES = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withDirectives` : ``);\nconst RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderList` : ``);\nconst RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderSlot` : ``);\nconst CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createSlots` : ``);\nconst TO_DISPLAY_STRING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toDisplayString` : ``);\nconst MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `mergeProps` : ``);\nconst NORMALIZE_CLASS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeClass` : ``);\nconst NORMALIZE_STYLE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeStyle` : ``);\nconst NORMALIZE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeProps` : ``);\nconst GUARD_REACTIVE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `guardReactiveProps` : ``);\nconst TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlers` : ``);\nconst CAMELIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `camelize` : ``);\nconst CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `capitalize` : ``);\nconst TO_HANDLER_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlerKey` : ``);\nconst SET_BLOCK_TRACKING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `setBlockTracking` : ``);\nconst PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `pushScopeId` : ``);\nconst POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `popScopeId` : ``);\nconst WITH_CTX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withCtx` : ``);\nconst UNREF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `unref` : ``);\nconst IS_REF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isRef` : ``);\nconst WITH_MEMO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withMemo` : ``);\nconst IS_MEMO_SAME = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isMemoSame` : ``);\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach((s) => {\n helperNameMap[s] = helpers[s];\n });\n}\n\nconst Namespaces = {\n \"HTML\": 0,\n \"0\": \"HTML\",\n \"SVG\": 1,\n \"1\": \"SVG\",\n \"MATH_ML\": 2,\n \"2\": \"MATH_ML\"\n};\nconst NodeTypes = {\n \"ROOT\": 0,\n \"0\": \"ROOT\",\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"TEXT\": 2,\n \"2\": \"TEXT\",\n \"COMMENT\": 3,\n \"3\": \"COMMENT\",\n \"SIMPLE_EXPRESSION\": 4,\n \"4\": \"SIMPLE_EXPRESSION\",\n \"INTERPOLATION\": 5,\n \"5\": \"INTERPOLATION\",\n \"ATTRIBUTE\": 6,\n \"6\": \"ATTRIBUTE\",\n \"DIRECTIVE\": 7,\n \"7\": \"DIRECTIVE\",\n \"COMPOUND_EXPRESSION\": 8,\n \"8\": \"COMPOUND_EXPRESSION\",\n \"IF\": 9,\n \"9\": \"IF\",\n \"IF_BRANCH\": 10,\n \"10\": \"IF_BRANCH\",\n \"FOR\": 11,\n \"11\": \"FOR\",\n \"TEXT_CALL\": 12,\n \"12\": \"TEXT_CALL\",\n \"VNODE_CALL\": 13,\n \"13\": \"VNODE_CALL\",\n \"JS_CALL_EXPRESSION\": 14,\n \"14\": \"JS_CALL_EXPRESSION\",\n \"JS_OBJECT_EXPRESSION\": 15,\n \"15\": \"JS_OBJECT_EXPRESSION\",\n \"JS_PROPERTY\": 16,\n \"16\": \"JS_PROPERTY\",\n \"JS_ARRAY_EXPRESSION\": 17,\n \"17\": \"JS_ARRAY_EXPRESSION\",\n \"JS_FUNCTION_EXPRESSION\": 18,\n \"18\": \"JS_FUNCTION_EXPRESSION\",\n \"JS_CONDITIONAL_EXPRESSION\": 19,\n \"19\": \"JS_CONDITIONAL_EXPRESSION\",\n \"JS_CACHE_EXPRESSION\": 20,\n \"20\": \"JS_CACHE_EXPRESSION\",\n \"JS_BLOCK_STATEMENT\": 21,\n \"21\": \"JS_BLOCK_STATEMENT\",\n \"JS_TEMPLATE_LITERAL\": 22,\n \"22\": \"JS_TEMPLATE_LITERAL\",\n \"JS_IF_STATEMENT\": 23,\n \"23\": \"JS_IF_STATEMENT\",\n \"JS_ASSIGNMENT_EXPRESSION\": 24,\n \"24\": \"JS_ASSIGNMENT_EXPRESSION\",\n \"JS_SEQUENCE_EXPRESSION\": 25,\n \"25\": \"JS_SEQUENCE_EXPRESSION\",\n \"JS_RETURN_STATEMENT\": 26,\n \"26\": \"JS_RETURN_STATEMENT\"\n};\nconst ElementTypes = {\n \"ELEMENT\": 0,\n \"0\": \"ELEMENT\",\n \"COMPONENT\": 1,\n \"1\": \"COMPONENT\",\n \"SLOT\": 2,\n \"2\": \"SLOT\",\n \"TEMPLATE\": 3,\n \"3\": \"TEMPLATE\"\n};\nconst ConstantTypes = {\n \"NOT_CONSTANT\": 0,\n \"0\": \"NOT_CONSTANT\",\n \"CAN_SKIP_PATCH\": 1,\n \"1\": \"CAN_SKIP_PATCH\",\n \"CAN_HOIST\": 2,\n \"2\": \"CAN_HOIST\",\n \"CAN_STRINGIFY\": 3,\n \"3\": \"CAN_STRINGIFY\"\n};\nconst locStub = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 },\n source: \"\"\n};\nfunction createRoot(children, source = \"\") {\n return {\n type: 0,\n source,\n children,\n helpers: /* @__PURE__ */ new Set(),\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: 0,\n temps: 0,\n codegenNode: void 0,\n loc: locStub\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n } else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16,\n loc: locStub,\n key: isString(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {\n return {\n type: 4,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5,\n loc,\n content: isString(content) ? createSimpleExpression(content, false, loc) : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, isVOnce = false) {\n return {\n type: 20,\n index,\n value,\n isVOnce,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26,\n returns,\n loc: locStub\n };\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nfunction convertToBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst defaultDelimitersOpen = new Uint8Array([123, 123]);\nconst defaultDelimitersClose = new Uint8Array([125, 125]);\nfunction isTagStartChar(c) {\n return c >= 97 && c <= 122 || c >= 65 && c <= 90;\n}\nfunction isWhitespace(c) {\n return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;\n}\nfunction isEndOfTagSection(c) {\n return c === 47 || c === 62 || isWhitespace(c);\n}\nfunction toCharCodes(str) {\n const ret = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n ret[i] = str.charCodeAt(i);\n }\n return ret;\n}\nconst Sequences = {\n Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),\n // CDATA[\n CdataEnd: new Uint8Array([93, 93, 62]),\n // ]]>\n CommentEnd: new Uint8Array([45, 45, 62]),\n // `-->`\n ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),\n // `<\\/script`\n StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),\n // `= 0; i--) {\n const newlineIndex = this.newlines[i];\n if (index > newlineIndex) {\n line = i + 2;\n column = index - newlineIndex;\n break;\n }\n }\n return {\n column,\n line,\n offset: index\n };\n }\n peek() {\n return this.buffer.charCodeAt(this.index + 1);\n }\n stateText(c) {\n if (c === 60) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n }\n stateInterpolationOpen(c) {\n if (c === this.delimiterOpen[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterOpen.length - 1) {\n const start = this.index + 1 - this.delimiterOpen.length;\n if (start > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, start);\n }\n this.state = 3;\n this.sectionStart = start;\n } else {\n this.delimiterIndex++;\n }\n } else if (this.inRCDATA) {\n this.state = 32;\n this.stateInRCDATA(c);\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInterpolation(c) {\n if (c === this.delimiterClose[0]) {\n this.state = 4;\n this.delimiterIndex = 0;\n this.stateInterpolationClose(c);\n }\n }\n stateInterpolationClose(c) {\n if (c === this.delimiterClose[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterClose.length - 1) {\n this.cbs.oninterpolation(this.sectionStart, this.index + 1);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else {\n this.delimiterIndex++;\n }\n } else {\n this.state = 3;\n this.stateInterpolation(c);\n }\n }\n stateSpecialStartSequence(c) {\n const isEnd = this.sequenceIndex === this.currentSequence.length;\n const isMatch = isEnd ? (\n // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n ) : (\n // Otherwise, do a case-insensitive comparison\n (c | 32) === this.currentSequence[this.sequenceIndex]\n );\n if (!isMatch) {\n this.inRCDATA = false;\n } else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = 6;\n this.stateInTagName(c);\n }\n /** Look for an end tag. For and <textarea>, also decode entities. */\n stateInRCDATA(c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === 62 || isWhitespace(c)) {\n const endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n const actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.sectionStart = endOfText + 2;\n this.stateInClosingTagName(c);\n this.inRCDATA = false;\n return;\n }\n this.sequenceIndex = 0;\n }\n if ((c | 32) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n } else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {\n if (c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n } else if (this.fastForwardTo(60)) {\n this.sequenceIndex = 1;\n }\n } else {\n this.sequenceIndex = Number(c === 60);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = 28;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n } else {\n this.sequenceIndex = 0;\n this.state = 23;\n this.stateInDeclaration(c);\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length) {\n const cc = this.buffer.charCodeAt(this.index);\n if (cc === 10) {\n this.newlines.push(this.index);\n }\n if (cc === c) {\n return true;\n }\n }\n this.index = this.buffer.length - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index - 2);\n } else {\n this.cbs.oncomment(this.sectionStart, this.index - 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = 1;\n }\n } else if (this.sequenceIndex === 0) {\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n this.sequenceIndex = 0;\n }\n }\n startSpecial(sequence, offset) {\n this.enterRCDATA(sequence, offset);\n this.state = 31;\n }\n enterRCDATA(sequence, offset) {\n this.inRCDATA = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n }\n stateBeforeTagName(c) {\n if (c === 33) {\n this.state = 22;\n this.sectionStart = this.index + 1;\n } else if (c === 63) {\n this.state = 24;\n this.sectionStart = this.index + 1;\n } else if (isTagStartChar(c)) {\n this.sectionStart = this.index;\n if (this.mode === 0) {\n this.state = 6;\n } else if (this.inSFCRoot) {\n this.state = 34;\n } else if (!this.inXML) {\n if (c === 116) {\n this.state = 30;\n } else {\n this.state = c === 115 ? 29 : 6;\n }\n } else {\n this.state = 6;\n }\n } else if (c === 47) {\n this.state = 8;\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.handleTagName(c);\n }\n }\n stateInSFCRootTagName(c) {\n if (isEndOfTagSection(c)) {\n const tag = this.buffer.slice(this.sectionStart, this.index);\n if (tag !== \"template\") {\n this.enterRCDATA(toCharCodes(`</` + tag), 0);\n }\n this.handleTagName(c);\n }\n }\n handleTagName(c) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) ; else if (c === 62) {\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(14, this.index);\n }\n this.state = 1;\n this.sectionStart = this.index + 1;\n } else {\n this.state = isTagStartChar(c) ? 9 : 27;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === 62 || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 10;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n if (c === 62) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttrName(c) {\n if (c === 62) {\n this.cbs.onopentagend(this.index);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else if (c === 47) {\n this.state = 7;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && this.peek() !== 62) {\n this.cbs.onerr(22, this.index);\n }\n } else if (c === 60 && this.peek() === 47) {\n this.cbs.onopentagend(this.index);\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!isWhitespace(c)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 61) {\n this.cbs.onerr(\n 19,\n this.index\n );\n }\n this.handleAttrStart(c);\n }\n }\n handleAttrStart(c) {\n if (c === 118 && this.peek() === 45) {\n this.state = 13;\n this.sectionStart = this.index;\n } else if (c === 46 || c === 58 || c === 64 || c === 35) {\n this.cbs.ondirname(this.index, this.index + 1);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 12;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === 62) {\n this.cbs.onselfclosingtag(this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n this.inRCDATA = false;\n } else if (!isWhitespace(c)) {\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n }\n stateInAttrName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && (c === 34 || c === 39 || c === 60)) {\n this.cbs.onerr(\n 17,\n this.index\n );\n }\n }\n stateInDirName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 58) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else if (c === 46) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDirArg(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 91) {\n this.state = 15;\n } else if (c === 46) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDynamicDirArg(c) {\n if (c === 93) {\n this.state = 14;\n } else if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index + 1);\n this.handleAttrNameEnd(c);\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n this.cbs.onerr(\n 27,\n this.index\n );\n }\n }\n }\n stateInDirModifier(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 46) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.sectionStart = this.index + 1;\n }\n }\n handleAttrNameEnd(c) {\n this.sectionStart = this.index;\n this.state = 17;\n this.cbs.onattribnameend(this.index);\n this.stateAfterAttrName(c);\n }\n stateAfterAttrName(c) {\n if (c === 61) {\n this.state = 18;\n } else if (c === 47 || c === 62) {\n this.cbs.onattribend(0, this.sectionStart);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if (!isWhitespace(c)) {\n this.cbs.onattribend(0, this.sectionStart);\n this.handleAttrStart(c);\n }\n }\n stateBeforeAttrValue(c) {\n if (c === 34) {\n this.state = 19;\n this.sectionStart = this.index + 1;\n } else if (c === 39) {\n this.state = 20;\n this.sectionStart = this.index + 1;\n } else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = 21;\n this.stateInAttrValueNoQuotes(c);\n }\n }\n handleInAttrValue(c, quote) {\n if (c === quote || this.fastForwardTo(quote)) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(\n quote === 34 ? 3 : 2,\n this.index + 1\n );\n this.state = 11;\n }\n }\n stateInAttrValueDoubleQuotes(c) {\n this.handleInAttrValue(c, 34);\n }\n stateInAttrValueSingleQuotes(c) {\n this.handleInAttrValue(c, 39);\n }\n stateInAttrValueNoQuotes(c) {\n if (isWhitespace(c) || c === 62) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(1, this.index);\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if ((!!(process.env.NODE_ENV !== \"production\") || false) && c === 34 || c === 39 || c === 60 || c === 61 || c === 96) {\n this.cbs.onerr(\n 18,\n this.index\n );\n } else ;\n }\n stateBeforeDeclaration(c) {\n if (c === 91) {\n this.state = 26;\n this.sequenceIndex = 0;\n } else {\n this.state = c === 45 ? 25 : 23;\n }\n }\n stateInDeclaration(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === 45) {\n this.state = 28;\n this.currentSequence = Sequences.CommentEnd;\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 23;\n }\n }\n stateInSpecialComment(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.oncomment(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n if (c === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n } else if (c === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n stateBeforeSpecialT(c) {\n if (c === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n } else if (c === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n startEntity() {\n }\n stateInEntity() {\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse(input) {\n this.buffer = input;\n while (this.index < this.buffer.length) {\n const c = this.buffer.charCodeAt(this.index);\n if (c === 10) {\n this.newlines.push(this.index);\n }\n switch (this.state) {\n case 1: {\n this.stateText(c);\n break;\n }\n case 2: {\n this.stateInterpolationOpen(c);\n break;\n }\n case 3: {\n this.stateInterpolation(c);\n break;\n }\n case 4: {\n this.stateInterpolationClose(c);\n break;\n }\n case 31: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case 32: {\n this.stateInRCDATA(c);\n break;\n }\n case 26: {\n this.stateCDATASequence(c);\n break;\n }\n case 19: {\n this.stateInAttrValueDoubleQuotes(c);\n break;\n }\n case 12: {\n this.stateInAttrName(c);\n break;\n }\n case 13: {\n this.stateInDirName(c);\n break;\n }\n case 14: {\n this.stateInDirArg(c);\n break;\n }\n case 15: {\n this.stateInDynamicDirArg(c);\n break;\n }\n case 16: {\n this.stateInDirModifier(c);\n break;\n }\n case 28: {\n this.stateInCommentLike(c);\n break;\n }\n case 27: {\n this.stateInSpecialComment(c);\n break;\n }\n case 11: {\n this.stateBeforeAttrName(c);\n break;\n }\n case 6: {\n this.stateInTagName(c);\n break;\n }\n case 34: {\n this.stateInSFCRootTagName(c);\n break;\n }\n case 9: {\n this.stateInClosingTagName(c);\n break;\n }\n case 5: {\n this.stateBeforeTagName(c);\n break;\n }\n case 17: {\n this.stateAfterAttrName(c);\n break;\n }\n case 20: {\n this.stateInAttrValueSingleQuotes(c);\n break;\n }\n case 18: {\n this.stateBeforeAttrValue(c);\n break;\n }\n case 8: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case 10: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case 29: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case 30: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case 21: {\n this.stateInAttrValueNoQuotes(c);\n break;\n }\n case 7: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case 23: {\n this.stateInDeclaration(c);\n break;\n }\n case 22: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case 25: {\n this.stateBeforeComment(c);\n break;\n }\n case 24: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case 33: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n this.finish();\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n if (this.sectionStart !== this.index) {\n if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n } else if (this.state === 19 || this.state === 20 || this.state === 21) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n finish() {\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length;\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === 28) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex);\n } else {\n this.cbs.oncomment(this.sectionStart, endIndex);\n }\n } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n }\n}\n\nconst CompilerDeprecationTypes = {\n \"COMPILER_IS_ON_ELEMENT\": \"COMPILER_IS_ON_ELEMENT\",\n \"COMPILER_V_BIND_SYNC\": \"COMPILER_V_BIND_SYNC\",\n \"COMPILER_V_BIND_OBJECT_ORDER\": \"COMPILER_V_BIND_OBJECT_ORDER\",\n \"COMPILER_V_ON_NATIVE\": \"COMPILER_V_ON_NATIVE\",\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\": \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n \"COMPILER_NATIVE_TEMPLATE\": \"COMPILER_NATIVE_TEMPLATE\",\n \"COMPILER_INLINE_TEMPLATE\": \"COMPILER_INLINE_TEMPLATE\",\n \"COMPILER_FILTERS\": \"COMPILER_FILTERS\"\n};\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\"]: {\n message: `Platform-native elements with \"is\" prop will no longer be treated as components in Vue 3 unless the \"is\" value is explicitly prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\"]: {\n message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \\`v-bind:${key}.sync\\` should be changed to \\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\"]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\"]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\"]: {\n message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\"]: {\n message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\"]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTERS\"]: {\n message: `filters have been removed in Vue 3. The \"|\" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, { compatConfig }) {\n const value = compatConfig && compatConfig[key];\n if (key === \"MODE\") {\n return value || 3;\n } else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue(\"MODE\", context);\n const value = getCompatValue(key, context);\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n if (!!(process.env.NODE_ENV !== \"production\") && enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === \"suppress-warning\") {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === \"function\" ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc) err.loc = loc;\n context.onWarn(err);\n}\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n !!(process.env.NODE_ENV !== \"production\") && console.warn(`[Vue warn] ${msg.message}`);\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = !!(process.env.NODE_ENV !== \"production\") || false ? (messages || errorMessages)[code] + (additionalMessage || ``) : `https://vuejs.org/error-reference/#compiler-${code}`;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst ErrorCodes = {\n \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\": 0,\n \"0\": \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\",\n \"CDATA_IN_HTML_CONTENT\": 1,\n \"1\": \"CDATA_IN_HTML_CONTENT\",\n \"DUPLICATE_ATTRIBUTE\": 2,\n \"2\": \"DUPLICATE_ATTRIBUTE\",\n \"END_TAG_WITH_ATTRIBUTES\": 3,\n \"3\": \"END_TAG_WITH_ATTRIBUTES\",\n \"END_TAG_WITH_TRAILING_SOLIDUS\": 4,\n \"4\": \"END_TAG_WITH_TRAILING_SOLIDUS\",\n \"EOF_BEFORE_TAG_NAME\": 5,\n \"5\": \"EOF_BEFORE_TAG_NAME\",\n \"EOF_IN_CDATA\": 6,\n \"6\": \"EOF_IN_CDATA\",\n \"EOF_IN_COMMENT\": 7,\n \"7\": \"EOF_IN_COMMENT\",\n \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\": 8,\n \"8\": \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\",\n \"EOF_IN_TAG\": 9,\n \"9\": \"EOF_IN_TAG\",\n \"INCORRECTLY_CLOSED_COMMENT\": 10,\n \"10\": \"INCORRECTLY_CLOSED_COMMENT\",\n \"INCORRECTLY_OPENED_COMMENT\": 11,\n \"11\": \"INCORRECTLY_OPENED_COMMENT\",\n \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\": 12,\n \"12\": \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\",\n \"MISSING_ATTRIBUTE_VALUE\": 13,\n \"13\": \"MISSING_ATTRIBUTE_VALUE\",\n \"MISSING_END_TAG_NAME\": 14,\n \"14\": \"MISSING_END_TAG_NAME\",\n \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\": 15,\n \"15\": \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\",\n \"NESTED_COMMENT\": 16,\n \"16\": \"NESTED_COMMENT\",\n \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\": 17,\n \"17\": \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\",\n \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\": 18,\n \"18\": \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\",\n \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\": 19,\n \"19\": \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\",\n \"UNEXPECTED_NULL_CHARACTER\": 20,\n \"20\": \"UNEXPECTED_NULL_CHARACTER\",\n \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\": 21,\n \"21\": \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\",\n \"UNEXPECTED_SOLIDUS_IN_TAG\": 22,\n \"22\": \"UNEXPECTED_SOLIDUS_IN_TAG\",\n \"X_INVALID_END_TAG\": 23,\n \"23\": \"X_INVALID_END_TAG\",\n \"X_MISSING_END_TAG\": 24,\n \"24\": \"X_MISSING_END_TAG\",\n \"X_MISSING_INTERPOLATION_END\": 25,\n \"25\": \"X_MISSING_INTERPOLATION_END\",\n \"X_MISSING_DIRECTIVE_NAME\": 26,\n \"26\": \"X_MISSING_DIRECTIVE_NAME\",\n \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\": 27,\n \"27\": \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\",\n \"X_V_IF_NO_EXPRESSION\": 28,\n \"28\": \"X_V_IF_NO_EXPRESSION\",\n \"X_V_IF_SAME_KEY\": 29,\n \"29\": \"X_V_IF_SAME_KEY\",\n \"X_V_ELSE_NO_ADJACENT_IF\": 30,\n \"30\": \"X_V_ELSE_NO_ADJACENT_IF\",\n \"X_V_FOR_NO_EXPRESSION\": 31,\n \"31\": \"X_V_FOR_NO_EXPRESSION\",\n \"X_V_FOR_MALFORMED_EXPRESSION\": 32,\n \"32\": \"X_V_FOR_MALFORMED_EXPRESSION\",\n \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\": 33,\n \"33\": \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\",\n \"X_V_BIND_NO_EXPRESSION\": 34,\n \"34\": \"X_V_BIND_NO_EXPRESSION\",\n \"X_V_ON_NO_EXPRESSION\": 35,\n \"35\": \"X_V_ON_NO_EXPRESSION\",\n \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\": 36,\n \"36\": \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\",\n \"X_V_SLOT_MIXED_SLOT_USAGE\": 37,\n \"37\": \"X_V_SLOT_MIXED_SLOT_USAGE\",\n \"X_V_SLOT_DUPLICATE_SLOT_NAMES\": 38,\n \"38\": \"X_V_SLOT_DUPLICATE_SLOT_NAMES\",\n \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\": 39,\n \"39\": \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\",\n \"X_V_SLOT_MISPLACED\": 40,\n \"40\": \"X_V_SLOT_MISPLACED\",\n \"X_V_MODEL_NO_EXPRESSION\": 41,\n \"41\": \"X_V_MODEL_NO_EXPRESSION\",\n \"X_V_MODEL_MALFORMED_EXPRESSION\": 42,\n \"42\": \"X_V_MODEL_MALFORMED_EXPRESSION\",\n \"X_V_MODEL_ON_SCOPE_VARIABLE\": 43,\n \"43\": \"X_V_MODEL_ON_SCOPE_VARIABLE\",\n \"X_V_MODEL_ON_PROPS\": 44,\n \"44\": \"X_V_MODEL_ON_PROPS\",\n \"X_INVALID_EXPRESSION\": 45,\n \"45\": \"X_INVALID_EXPRESSION\",\n \"X_KEEP_ALIVE_INVALID_CHILDREN\": 46,\n \"46\": \"X_KEEP_ALIVE_INVALID_CHILDREN\",\n \"X_PREFIX_ID_NOT_SUPPORTED\": 47,\n \"47\": \"X_PREFIX_ID_NOT_SUPPORTED\",\n \"X_MODULE_MODE_NOT_SUPPORTED\": 48,\n \"48\": \"X_MODULE_MODE_NOT_SUPPORTED\",\n \"X_CACHE_HANDLER_NOT_SUPPORTED\": 49,\n \"49\": \"X_CACHE_HANDLER_NOT_SUPPORTED\",\n \"X_SCOPE_ID_NOT_SUPPORTED\": 50,\n \"50\": \"X_SCOPE_ID_NOT_SUPPORTED\",\n \"X_VNODE_HOOKS\": 51,\n \"51\": \"X_VNODE_HOOKS\",\n \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\": 52,\n \"52\": \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\",\n \"__EXTEND_POINT__\": 53,\n \"53\": \"__EXTEND_POINT__\"\n};\nconst errorMessages = {\n // parse errors\n [0]: \"Illegal comment.\",\n [1]: \"CDATA section is allowed only in XML context.\",\n [2]: \"Duplicate attribute.\",\n [3]: \"End tag cannot have attributes.\",\n [4]: \"Illegal '/' in tags.\",\n [5]: \"Unexpected EOF in tag.\",\n [6]: \"Unexpected EOF in CDATA section.\",\n [7]: \"Unexpected EOF in comment.\",\n [8]: \"Unexpected EOF in script.\",\n [9]: \"Unexpected EOF in tag.\",\n [10]: \"Incorrectly closed comment.\",\n [11]: \"Incorrectly opened comment.\",\n [12]: \"Illegal tag name. Use '<' to print '<'.\",\n [13]: \"Attribute value was expected.\",\n [14]: \"End tag name was expected.\",\n [15]: \"Whitespace was expected.\",\n [16]: \"Unexpected '<!--' in comment.\",\n [17]: `Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).`,\n [18]: \"Unquoted attribute value cannot contain U+0022 (\\\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).\",\n [19]: \"Attribute name cannot start with '='.\",\n [21]: \"'<?' is allowed only in XML context.\",\n [20]: `Unexpected null character.`,\n [22]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23]: \"Invalid end tag.\",\n [24]: \"Element is missing end tag.\",\n [25]: \"Interpolation end sign was not found.\",\n [27]: \"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.\",\n [26]: \"Legal directive name was expected.\",\n // transform errors\n [28]: `v-if/v-else-if is missing expression.`,\n [29]: `v-if/else branches must use unique keys.`,\n [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31]: `v-for is missing expression.`,\n [32]: `v-for has invalid expression.`,\n [33]: `<template v-for> key should be placed on the <template> tag.`,\n [34]: `v-bind is missing expression.`,\n [52]: `v-bind with same-name shorthand only allows static argument.`,\n [35]: `v-on is missing expression.`,\n [36]: `Unexpected custom directive on <slot> outlet.`,\n [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,\n [38]: `Duplicate slot names found. `,\n [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,\n [40]: `v-slot can only be used on components or <template> tags.`,\n [41]: `v-model is missing expression.`,\n [42]: `v-model value must be a valid JavaScript member expression.`,\n [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,\n [45]: `Error parsing JavaScript expression: `,\n [46]: `<KeepAlive> expects exactly one child component.`,\n [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,\n // generic errors\n [47]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [48]: `ES module mode is not supported in this build of compiler.`,\n [49]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [50]: `\"scopeId\" option is only supported in module mode.`,\n // just to fulfill types\n [53]: ``\n};\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {\n {\n return;\n }\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n {\n return false;\n }\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent && (parent.type === \"ObjectProperty\" || parent.type === \"ArrayPattern\")) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"AssignmentExpression\") {\n return true;\n } else if (p.type !== \"ObjectProperty\" && !p.type.endsWith(\"Pattern\")) {\n break;\n }\n }\n }\n return false;\n}\nfunction isInNewExpression(parentStack) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"NewExpression\") {\n return true;\n } else if (p.type !== \"MemberExpression\") {\n break;\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n if (stmt.declare) continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n } else if (stmt.type === \"FunctionDeclaration\" || stmt.type === \"ClassDeclaration\") {\n if (stmt.declare || !stmt.id) continue;\n onIdent(stmt.id);\n } else if (isForStatement(stmt)) {\n walkForStatement(stmt, true, onIdent);\n }\n }\n}\nfunction isForStatement(stmt) {\n return stmt.type === \"ForOfStatement\" || stmt.type === \"ForInStatement\" || stmt.type === \"ForStatement\";\n}\nfunction walkForStatement(stmt, isVar, onIdent) {\n const variable = stmt.type === \"ForStatement\" ? stmt.init : stmt.left;\n if (variable && variable.type === \"VariableDeclaration\" && (variable.kind === \"var\" ? isVar : !isVar)) {\n for (const decl of variable.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case \"Identifier\":\n nodes.push(param);\n break;\n case \"MemberExpression\":\n let object = param;\n while (object.type === \"MemberExpression\") {\n object = object.object;\n }\n nodes.push(object);\n break;\n case \"ObjectPattern\":\n for (const prop of param.properties) {\n if (prop.type === \"RestElement\") {\n extractIdentifiers(prop.argument, nodes);\n } else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case \"ArrayPattern\":\n param.elements.forEach((element) => {\n if (element) extractIdentifiers(element, nodes);\n });\n break;\n case \"RestElement\":\n extractIdentifiers(param.argument, nodes);\n break;\n case \"AssignmentPattern\":\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node && (node.type === \"ObjectProperty\" || node.type === \"ObjectMethod\") && !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\nconst TS_NODE_TYPES = [\n \"TSAsExpression\",\n // foo as number\n \"TSTypeAssertion\",\n // (<number>foo)\n \"TSNonNullExpression\",\n // foo!\n \"TSInstantiationExpression\",\n // foo<string>\n \"TSSatisfiesExpression\"\n // foo satisfies T\n];\nfunction unwrapTSNode(node) {\n if (TS_NODE_TYPES.includes(node.type)) {\n return unwrapTSNode(node.expression);\n } else {\n return node;\n }\n}\n\nconst isStaticExp = (p) => p.type === 4 && p.isStatic;\nfunction isCoreComponent(tag) {\n switch (tag) {\n case \"Teleport\":\n case \"teleport\":\n return TELEPORT;\n case \"Suspense\":\n case \"suspense\":\n return SUSPENSE;\n case \"KeepAlive\":\n case \"keep-alive\":\n return KEEP_ALIVE;\n case \"BaseTransition\":\n case \"base-transition\":\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^\\d|[^\\$\\w\\xA0-\\uFFFF]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\nconst getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;\nconst isMemberExpressionBrowser = (exp) => {\n const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());\n let state = 0 /* inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* inMemberExp */:\n if (char === \"[\") {\n stateStack.push(state);\n state = 1 /* inBrackets */;\n currentOpenBracketCount++;\n } else if (char === \"(\") {\n stateStack.push(state);\n state = 2 /* inParens */;\n currentOpenParensCount++;\n } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* inBrackets */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `[`) {\n currentOpenBracketCount++;\n } else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* inParens */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `(`) {\n currentOpenParensCount++;\n } else if (char === `)`) {\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = NOOP ;\nconst isMemberExpression = isMemberExpressionBrowser ;\nconst fnExpRE = /^\\s*(async\\s*)?(\\([^)]*?\\)|[\\w$_]+)\\s*(:[^=]+)?=>|^\\s*(async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));\nconst isFnExpressionNode = NOOP ;\nconst isFnExpression = isFnExpressionBrowser ;\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation(\n {\n offset: pos.offset,\n line: pos.line,\n column: pos.column\n },\n source,\n numberOfCharacters\n );\n}\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (dynamicOnly) continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n } else if (p.name === \"bind\" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(\n (p) => p.type === 7 && p.name === \"bind\" && (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 || // v-bind:[_ctx.foo]\n !p.arg.isStatic)\n // v-bind:[foo]\n );\n}\nfunction isText$1(node) {\n return node.type === 5 || node.type === 2;\n}\nfunction isVSlot(p) {\n return p.type === 7 && p.name === \"slot\";\n}\nfunction isTemplateNode(node) {\n return node.type === 1 && node.tagType === 3;\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 && node.tagType === 2;\n}\nconst propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props && !isString(props) && props.type === 14) {\n const callee = props.callee;\n if (!isString(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(\n props.arguments[0],\n callPath.concat(props)\n );\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n let props = node.type === 13 ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props && !isString(props) && props.type === 14) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || isString(props)) {\n propsWithInjection = createObjectExpression([prop]);\n } else if (props.type === 14) {\n const first = props.arguments[0];\n if (!isString(first) && first.type === 15) {\n if (!hasProp(prop, first)) {\n first.properties.unshift(prop);\n }\n } else {\n if (props.callee === TO_HANDLERS) {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n } else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n } else if (props.type === 15) {\n if (!hasProp(prop, props)) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n } else {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.props = propsWithInjection;\n }\n } else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction hasProp(prop, props) {\n let result = false;\n if (prop.key.type === 4) {\n const propKeyName = prop.key.content;\n result = props.properties.some(\n (p) => p.key.type === 4 && p.key.content === propKeyName\n );\n }\n return result;\n}\nfunction toValidAssetId(name, type) {\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === \"-\" ? \"_\" : name.charCodeAt(replaceValue).toString();\n })}`;\n}\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 11:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 9:\n return node.branches.some((b) => hasScopeRef(b, ids));\n case 10:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 4:\n return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content];\n case 8:\n return node.children.some((c) => isObject(c) && hasScopeRef(c, ids));\n case 5:\n case 12:\n return hasScopeRef(node.content, ids);\n case 2:\n case 3:\n return false;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n } else {\n return node;\n }\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+(\\S[\\s\\S]*)/;\n\nconst defaultParserOptions = {\n parseMode: \"base\",\n ns: 0,\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0,\n isVoidTag: NO,\n isPreTag: NO,\n isCustomElement: NO,\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: !!(process.env.NODE_ENV !== \"production\"),\n prefixIdentifiers: false\n};\nlet currentOptions = defaultParserOptions;\nlet currentRoot = null;\nlet currentInput = \"\";\nlet currentOpenTag = null;\nlet currentProp = null;\nlet currentAttrValue = \"\";\nlet currentAttrStartIndex = -1;\nlet currentAttrEndIndex = -1;\nlet inPre = 0;\nlet inVPre = false;\nlet currentVPreBoundary = null;\nconst stack = [];\nconst tokenizer = new Tokenizer(stack, {\n onerr: emitError,\n ontext(start, end) {\n onText(getSlice(start, end), start, end);\n },\n ontextentity(char, start, end) {\n onText(char, start, end);\n },\n oninterpolation(start, end) {\n if (inVPre) {\n return onText(getSlice(start, end), start, end);\n }\n let innerStart = start + tokenizer.delimiterOpen.length;\n let innerEnd = end - tokenizer.delimiterClose.length;\n while (isWhitespace(currentInput.charCodeAt(innerStart))) {\n innerStart++;\n }\n while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) {\n innerEnd--;\n }\n let exp = getSlice(innerStart, innerEnd);\n if (exp.includes(\"&\")) {\n {\n exp = currentOptions.decodeEntities(exp, false);\n }\n }\n addNode({\n type: 5,\n content: createExp(exp, false, getLoc(innerStart, innerEnd)),\n loc: getLoc(start, end)\n });\n },\n onopentagname(start, end) {\n const name = getSlice(start, end);\n currentOpenTag = {\n type: 1,\n tag: name,\n ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns),\n tagType: 0,\n // will be refined on tag close\n props: [],\n children: [],\n loc: getLoc(start - 1, end),\n codegenNode: void 0\n };\n },\n onopentagend(end) {\n endOpenTag(end);\n },\n onclosetag(start, end) {\n const name = getSlice(start, end);\n if (!currentOptions.isVoidTag(name)) {\n let found = false;\n for (let i = 0; i < stack.length; i++) {\n const e = stack[i];\n if (e.tag.toLowerCase() === name.toLowerCase()) {\n found = true;\n if (i > 0) {\n emitError(24, stack[0].loc.start.offset);\n }\n for (let j = 0; j <= i; j++) {\n const el = stack.shift();\n onCloseTag(el, end, j < i);\n }\n break;\n }\n }\n if (!found) {\n emitError(23, backTrack(start, 60));\n }\n }\n },\n onselfclosingtag(end) {\n const name = currentOpenTag.tag;\n currentOpenTag.isSelfClosing = true;\n endOpenTag(end);\n if (stack[0] && stack[0].tag === name) {\n onCloseTag(stack.shift(), end);\n }\n },\n onattribname(start, end) {\n currentProp = {\n type: 6,\n name: getSlice(start, end),\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n },\n ondirname(start, end) {\n const raw = getSlice(start, end);\n const name = raw === \".\" || raw === \":\" ? \"bind\" : raw === \"@\" ? \"on\" : raw === \"#\" ? \"slot\" : raw.slice(2);\n if (!inVPre && name === \"\") {\n emitError(26, start);\n }\n if (inVPre || name === \"\") {\n currentProp = {\n type: 6,\n name: raw,\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n } else {\n currentProp = {\n type: 7,\n name,\n rawName: raw,\n exp: void 0,\n arg: void 0,\n modifiers: raw === \".\" ? [\"prop\"] : [],\n loc: getLoc(start)\n };\n if (name === \"pre\") {\n inVPre = tokenizer.inVPre = true;\n currentVPreBoundary = currentOpenTag;\n const props = currentOpenTag.props;\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7) {\n props[i] = dirToAttr(props[i]);\n }\n }\n }\n }\n },\n ondirarg(start, end) {\n if (start === end) return;\n const arg = getSlice(start, end);\n if (inVPre) {\n currentProp.name += arg;\n setLocEnd(currentProp.nameLoc, end);\n } else {\n const isStatic = arg[0] !== `[`;\n currentProp.arg = createExp(\n isStatic ? arg : arg.slice(1, -1),\n isStatic,\n getLoc(start, end),\n isStatic ? 3 : 0\n );\n }\n },\n ondirmodifier(start, end) {\n const mod = getSlice(start, end);\n if (inVPre) {\n currentProp.name += \".\" + mod;\n setLocEnd(currentProp.nameLoc, end);\n } else if (currentProp.name === \"slot\") {\n const arg = currentProp.arg;\n if (arg) {\n arg.content += \".\" + mod;\n setLocEnd(arg.loc, end);\n }\n } else {\n currentProp.modifiers.push(mod);\n }\n },\n onattribdata(start, end) {\n currentAttrValue += getSlice(start, end);\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribentity(char, start, end) {\n currentAttrValue += char;\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribnameend(end) {\n const start = currentProp.loc.start.offset;\n const name = getSlice(start, end);\n if (currentProp.type === 7) {\n currentProp.rawName = name;\n }\n if (currentOpenTag.props.some(\n (p) => (p.type === 7 ? p.rawName : p.name) === name\n )) {\n emitError(2, start);\n }\n },\n onattribend(quote, end) {\n if (currentOpenTag && currentProp) {\n setLocEnd(currentProp.loc, end);\n if (quote !== 0) {\n if (currentAttrValue.includes(\"&\")) {\n currentAttrValue = currentOptions.decodeEntities(\n currentAttrValue,\n true\n );\n }\n if (currentProp.type === 6) {\n if (currentProp.name === \"class\") {\n currentAttrValue = condense(currentAttrValue).trim();\n }\n if (quote === 1 && !currentAttrValue) {\n emitError(13, end);\n }\n currentProp.value = {\n type: 2,\n content: currentAttrValue,\n loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)\n };\n if (tokenizer.inSFCRoot && currentOpenTag.tag === \"template\" && currentProp.name === \"lang\" && currentAttrValue && currentAttrValue !== \"html\") {\n tokenizer.enterRCDATA(toCharCodes(`</template`), 0);\n }\n } else {\n let expParseMode = 0 /* Normal */;\n currentProp.exp = createExp(\n currentAttrValue,\n false,\n getLoc(currentAttrStartIndex, currentAttrEndIndex),\n 0,\n expParseMode\n );\n if (currentProp.name === \"for\") {\n currentProp.forParseResult = parseForExpression(currentProp.exp);\n }\n let syncIndex = -1;\n if (currentProp.name === \"bind\" && (syncIndex = currentProp.modifiers.indexOf(\"sync\")) > -1 && checkCompatEnabled(\n \"COMPILER_V_BIND_SYNC\",\n currentOptions,\n currentProp.loc,\n currentProp.rawName\n )) {\n currentProp.name = \"model\";\n currentProp.modifiers.splice(syncIndex, 1);\n }\n }\n }\n if (currentProp.type !== 7 || currentProp.name !== \"pre\") {\n currentOpenTag.props.push(currentProp);\n }\n }\n currentAttrValue = \"\";\n currentAttrStartIndex = currentAttrEndIndex = -1;\n },\n oncomment(start, end) {\n if (currentOptions.comments) {\n addNode({\n type: 3,\n content: getSlice(start, end),\n loc: getLoc(start - 4, end + 3)\n });\n }\n },\n onend() {\n const end = currentInput.length;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && tokenizer.state !== 1) {\n switch (tokenizer.state) {\n case 5:\n case 8:\n emitError(5, end);\n break;\n case 3:\n case 4:\n emitError(\n 25,\n tokenizer.sectionStart\n );\n break;\n case 28:\n if (tokenizer.currentSequence === Sequences.CdataEnd) {\n emitError(6, end);\n } else {\n emitError(7, end);\n }\n break;\n case 6:\n case 7:\n case 9:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n case 21:\n emitError(9, end);\n break;\n }\n }\n for (let index = 0; index < stack.length; index++) {\n onCloseTag(stack[index], end - 1);\n emitError(24, stack[index].loc.start.offset);\n }\n },\n oncdata(start, end) {\n if (stack[0].ns !== 0) {\n onText(getSlice(start, end), start, end);\n } else {\n emitError(1, start - 9);\n }\n },\n onprocessinginstruction(start) {\n if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n emitError(\n 21,\n start - 1\n );\n }\n }\n});\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch) return;\n const [, LHS, RHS] = inMatch;\n const createAliasExpression = (content, offset, asParam = false) => {\n const start = loc.start.offset + offset;\n const end = start + content.length;\n return createExp(\n content,\n false,\n getLoc(start, end),\n 0,\n asParam ? 1 /* Params */ : 0 /* Normal */\n );\n };\n const result = {\n source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),\n value: void 0,\n key: void 0,\n index: void 0,\n finalized: false\n };\n let valueContent = LHS.trim().replace(stripParensRE, \"\").trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, \"\").trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(keyContent, keyOffset, true);\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(\n indexContent,\n exp.indexOf(\n indexContent,\n result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length\n ),\n true\n );\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(valueContent, trimmedOffset, true);\n }\n return result;\n}\nfunction getSlice(start, end) {\n return currentInput.slice(start, end);\n}\nfunction endOpenTag(end) {\n if (tokenizer.inSFCRoot) {\n currentOpenTag.innerLoc = getLoc(end + 1, end + 1);\n }\n addNode(currentOpenTag);\n const { tag, ns } = currentOpenTag;\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre++;\n }\n if (currentOptions.isVoidTag(tag)) {\n onCloseTag(currentOpenTag, end);\n } else {\n stack.unshift(currentOpenTag);\n if (ns === 1 || ns === 2) {\n tokenizer.inXML = true;\n }\n }\n currentOpenTag = null;\n}\nfunction onText(content, start, end) {\n {\n const tag = stack[0] && stack[0].tag;\n if (tag !== \"script\" && tag !== \"style\" && content.includes(\"&\")) {\n content = currentOptions.decodeEntities(content, false);\n }\n }\n const parent = stack[0] || currentRoot;\n const lastNode = parent.children[parent.children.length - 1];\n if (lastNode && lastNode.type === 2) {\n lastNode.content += content;\n setLocEnd(lastNode.loc, end);\n } else {\n parent.children.push({\n type: 2,\n content,\n loc: getLoc(start, end)\n });\n }\n}\nfunction onCloseTag(el, end, isImplied = false) {\n if (isImplied) {\n setLocEnd(el.loc, backTrack(end, 60));\n } else {\n setLocEnd(el.loc, lookAhead(end, 62) + 1);\n }\n if (tokenizer.inSFCRoot) {\n if (el.children.length) {\n el.innerLoc.end = extend({}, el.children[el.children.length - 1].loc.end);\n } else {\n el.innerLoc.end = extend({}, el.innerLoc.start);\n }\n el.innerLoc.source = getSlice(\n el.innerLoc.start.offset,\n el.innerLoc.end.offset\n );\n }\n const { tag, ns } = el;\n if (!inVPre) {\n if (tag === \"slot\") {\n el.tagType = 2;\n } else if (isFragmentTemplate(el)) {\n el.tagType = 3;\n } else if (isComponent(el)) {\n el.tagType = 1;\n }\n }\n if (!tokenizer.inRCDATA) {\n el.children = condenseWhitespace(el.children, el.tag);\n }\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre--;\n }\n if (currentVPreBoundary === el) {\n inVPre = tokenizer.inVPre = false;\n currentVPreBoundary = null;\n }\n if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n tokenizer.inXML = false;\n }\n {\n const props = el.props;\n if (!!(process.env.NODE_ENV !== \"production\") && isCompatEnabled(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions\n )) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7) {\n if (p.name === \"if\") {\n hasIf = true;\n } else if (p.name === \"for\") {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions,\n el.loc\n );\n break;\n }\n }\n }\n if (!tokenizer.inSFCRoot && isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions\n ) && el.tag === \"template\" && !isFragmentTemplate(el)) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions,\n el.loc\n );\n const parent = stack[0] || currentRoot;\n const index = parent.children.indexOf(el);\n parent.children.splice(index, 1, ...el.children);\n }\n const inlineTemplateProp = props.find(\n (p) => p.type === 6 && p.name === \"inline-template\"\n );\n if (inlineTemplateProp && checkCompatEnabled(\n \"COMPILER_INLINE_TEMPLATE\",\n currentOptions,\n inlineTemplateProp.loc\n ) && el.children.length) {\n inlineTemplateProp.value = {\n type: 2,\n content: getSlice(\n el.children[0].loc.start.offset,\n el.children[el.children.length - 1].loc.end.offset\n ),\n loc: inlineTemplateProp.loc\n };\n }\n }\n}\nfunction lookAhead(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++;\n return i;\n}\nfunction backTrack(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i >= 0) i--;\n return i;\n}\nconst specialTemplateDir = /* @__PURE__ */ new Set([\"if\", \"else\", \"else-if\", \"for\", \"slot\"]);\nfunction isFragmentTemplate({ tag, props }) {\n if (tag === \"template\") {\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) {\n return true;\n }\n }\n }\n return false;\n}\nfunction isComponent({ tag, props }) {\n if (currentOptions.isCustomElement(tag)) {\n return false;\n }\n if (tag === \"component\" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {\n return true;\n }\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6) {\n if (p.name === \"is\" && p.value) {\n if (p.value.content.startsWith(\"vue:\")) {\n return true;\n } else if (checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n } else if (// :is on plain element - only treat as component in compat mode\n p.name === \"bind\" && isStaticArgOf(p.arg, \"is\") && checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n return false;\n}\nfunction isUpperCase(c) {\n return c > 64 && c < 91;\n}\nconst windowsNewlineRE = /\\r\\n/g;\nfunction condenseWhitespace(nodes, tag) {\n const shouldCondense = currentOptions.whitespace !== \"preserve\";\n let removedWhitespace = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2) {\n if (!inPre) {\n if (isAllWhitespace(node.content)) {\n const prev = nodes[i - 1] && nodes[i - 1].type;\n const next = nodes[i + 1] && nodes[i + 1].type;\n if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {\n removedWhitespace = true;\n nodes[i] = null;\n } else {\n node.content = \" \";\n }\n } else if (shouldCondense) {\n node.content = condense(node.content);\n }\n } else {\n node.content = node.content.replace(windowsNewlineRE, \"\\n\");\n }\n }\n }\n if (inPre && tag && currentOptions.isPreTag(tag)) {\n const first = nodes[0];\n if (first && first.type === 2) {\n first.content = first.content.replace(/^\\r?\\n/, \"\");\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction isAllWhitespace(str) {\n for (let i = 0; i < str.length; i++) {\n if (!isWhitespace(str.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n}\nfunction hasNewlineChar(str) {\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c === 10 || c === 13) {\n return true;\n }\n }\n return false;\n}\nfunction condense(str) {\n let ret = \"\";\n let prevCharIsWhitespace = false;\n for (let i = 0; i < str.length; i++) {\n if (isWhitespace(str.charCodeAt(i))) {\n if (!prevCharIsWhitespace) {\n ret += \" \";\n prevCharIsWhitespace = true;\n }\n } else {\n ret += str[i];\n prevCharIsWhitespace = false;\n }\n }\n return ret;\n}\nfunction addNode(node) {\n (stack[0] || currentRoot).children.push(node);\n}\nfunction getLoc(start, end) {\n return {\n start: tokenizer.getPos(start),\n // @ts-expect-error allow late attachment\n end: end == null ? end : tokenizer.getPos(end),\n // @ts-expect-error allow late attachment\n source: end == null ? end : getSlice(start, end)\n };\n}\nfunction setLocEnd(loc, end) {\n loc.end = tokenizer.getPos(end);\n loc.source = getSlice(loc.start.offset, end);\n}\nfunction dirToAttr(dir) {\n const attr = {\n type: 6,\n name: dir.rawName,\n nameLoc: getLoc(\n dir.loc.start.offset,\n dir.loc.start.offset + dir.rawName.length\n ),\n value: void 0,\n loc: dir.loc\n };\n if (dir.exp) {\n const loc = dir.exp.loc;\n if (loc.end.offset < dir.loc.end.offset) {\n loc.start.offset--;\n loc.start.column--;\n loc.end.offset++;\n loc.end.column++;\n }\n attr.value = {\n type: 2,\n content: dir.exp.content,\n loc\n };\n }\n return attr;\n}\nfunction createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {\n const exp = createSimpleExpression(content, isStatic, loc, constType);\n return exp;\n}\nfunction emitError(code, index, message) {\n currentOptions.onError(\n createCompilerError(code, getLoc(index, index), void 0, message)\n );\n}\nfunction reset() {\n tokenizer.reset();\n currentOpenTag = null;\n currentProp = null;\n currentAttrValue = \"\";\n currentAttrStartIndex = -1;\n currentAttrEndIndex = -1;\n stack.length = 0;\n}\nfunction baseParse(input, options) {\n reset();\n currentInput = input;\n currentOptions = extend({}, defaultParserOptions);\n if (options) {\n let key;\n for (key in options) {\n if (options[key] != null) {\n currentOptions[key] = options[key];\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentOptions.decodeEntities) {\n throw new Error(\n `[@vue/compiler-core] decodeEntities option is required in browser builds.`\n );\n }\n }\n tokenizer.mode = currentOptions.parseMode === \"html\" ? 1 : currentOptions.parseMode === \"sfc\" ? 2 : 0;\n tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;\n const delimiters = options && options.delimiters;\n if (delimiters) {\n tokenizer.delimiterOpen = toCharCodes(delimiters[0]);\n tokenizer.delimiterClose = toCharCodes(delimiters[1]);\n }\n const root = currentRoot = createRoot([], input);\n tokenizer.parse(currentInput);\n root.loc = getLoc(0, input.length);\n root.children = condenseWhitespace(root.children);\n currentRoot = null;\n return root;\n}\n\nfunction hoistStatic(root, context) {\n walk(\n root,\n context,\n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n isSingleElementRoot(root, root.children[0])\n );\n}\nfunction isSingleElementRoot(root, child) {\n const { children } = root;\n return children.length === 1 && child.type === 1 && !isSlotOutlet(child);\n}\nfunction walk(node, context, doNotHoistNode = false) {\n const { children } = node;\n const originalCount = children.length;\n let hoistedCount = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type === 1 && child.tagType === 0) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType > 0) {\n if (constantType >= 2) {\n child.codegenNode.patchFlag = -1;\n child.codegenNode = context.hoist(child.codegenNode);\n hoistedCount++;\n continue;\n }\n } else {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n const flag = codegenNode.patchFlag;\n if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n }\n if (child.type === 1) {\n const isComponent = child.tagType === 1;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, context);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n } else if (child.type === 11) {\n walk(child, context, child.children.length === 1);\n } else if (child.type === 9) {\n for (let i2 = 0; i2 < child.branches.length; i2++) {\n walk(\n child.branches[i2],\n context,\n child.branches[i2].children.length === 1\n );\n }\n }\n }\n if (hoistedCount && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {\n const hoisted = context.hoist(\n createArrayExpression(node.codegenNode.children)\n );\n if (context.hmr) {\n hoisted.content = `[...${hoisted.content}]`;\n }\n node.codegenNode.children = hoisted;\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1:\n if (node.tagType !== 0) {\n return 0;\n }\n const cached = constantCache.get(node);\n if (cached !== void 0) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13) {\n return 0;\n }\n if (codegenNode.isBlock && node.tag !== \"svg\" && node.tag !== \"foreignObject\" && node.tag !== \"math\") {\n return 0;\n }\n if (codegenNode.patchFlag === void 0) {\n let returnType2 = 3;\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (generatedPropsType < returnType2) {\n returnType2 = generatedPropsType;\n }\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (childType < returnType2) {\n returnType2 = childType;\n }\n }\n if (returnType2 > 1) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && p.name === \"bind\" && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (expType < returnType2) {\n returnType2 = expType;\n }\n }\n }\n }\n if (codegenNode.isBlock) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7) {\n constantCache.set(node, 0);\n return 0;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(\n getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)\n );\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType2);\n return returnType2;\n } else {\n constantCache.set(node, 0);\n return 0;\n }\n case 2:\n case 3:\n return 3;\n case 9:\n case 11:\n case 10:\n return 0;\n case 5:\n case 12:\n return getConstantType(node.content, context);\n case 4:\n return node.constType;\n case 8:\n let returnType = 3;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child) || isSymbol(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0) {\n return 0;\n } else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return 0;\n }\n}\nconst allowHoistedHelperSet = /* @__PURE__ */ new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4) {\n return getConstantType(arg, context);\n } else if (arg.type === 14) {\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3;\n const props = getNodeProps(node);\n if (props && props.type === 15) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4) {\n valueType = getConstantType(value, context);\n } else if (value.type === 14) {\n valueType = getConstantTypeOfHelperCall(value, context);\n } else {\n valueType = 0;\n }\n if (valueType === 0) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13) {\n return codegenNode.props;\n }\n}\n\nfunction createTransformContext(root, {\n filename = \"\",\n prefixIdentifiers = false,\n hoistStatic: hoistStatic2 = false,\n hmr = false,\n cacheHandlers = false,\n nodeTransforms = [],\n directiveTransforms = {},\n transformHoist = null,\n isBuiltInComponent = NOOP,\n isCustomElement = NOOP,\n expressionPlugins = [],\n scopeId = null,\n slotted = true,\n ssr = false,\n inSSR = false,\n ssrCssVars = ``,\n bindingMetadata = EMPTY_OBJ,\n inline = false,\n isTS = false,\n onError = defaultOnError,\n onWarn = defaultOnWarn,\n compatConfig\n}) {\n const nameMatch = filename.replace(/\\?.*$/, \"\").match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n filename,\n selfName: nameMatch && capitalize(camelize(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic: hoistStatic2,\n hmr,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: /* @__PURE__ */ new Map(),\n components: /* @__PURE__ */ new Set(),\n directives: /* @__PURE__ */ new Set(),\n hoists: [],\n imports: [],\n constantCache: /* @__PURE__ */ new WeakMap(),\n temps: 0,\n cached: 0,\n identifiers: /* @__PURE__ */ Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n grandParent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n } else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\") && !context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (!!(process.env.NODE_ENV !== \"production\") && removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\n if (!node || node === context.currentNode) {\n context.currentNode = null;\n context.onNodeRemoved();\n } else {\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: NOOP,\n addIdentifiers(exp) {\n },\n removeIdentifiers(exp) {\n },\n hoist(exp) {\n if (isString(exp)) exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(\n `_hoisted_${context.hoists.length}`,\n false,\n exp.loc,\n 2\n );\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false) {\n return createCacheExpression(context.cached++, exp, isVNode);\n }\n };\n {\n context.filters = /* @__PURE__ */ new Set();\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n hoistStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n root.transformed = true;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const child = children[0];\n if (isSingleElementRoot(root, child) && child.codegenNode) {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n convertToBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n } else {\n root.codegenNode = child;\n }\n } else if (children.length > 1) {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n root.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n root.children,\n patchFlag,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if (isString(child)) continue;\n context.grandParent = context.parent;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i2 = 0; i2 < nodeTransforms.length; i2++) {\n const onExit = nodeTransforms[i2](node, context);\n if (onExit) {\n if (isArray(onExit)) {\n exitFns.push(...onExit);\n } else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n return;\n } else {\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3:\n if (!context.ssr) {\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5:\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n case 9:\n for (let i2 = 0; i2 < node.branches.length; i2++) {\n traverseNode(node.branches[i2], context);\n }\n break;\n case 10:\n case 11:\n case 1:\n case 0:\n traverseChildren(node, context);\n break;\n }\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = isString(name) ? (n) => n === name : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1) {\n const { props } = node;\n if (node.tagType === 3 && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 && matches(prop.name)) {\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit) exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*#__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, {\n mode = \"function\",\n prefixIdentifiers = mode === \"module\",\n sourceMap = false,\n filename = `template.vue.html`,\n scopeId = null,\n optimizeImports = false,\n runtimeGlobalName = `Vue`,\n runtimeModuleName = `vue`,\n ssrRuntimeModuleName = \"vue/server-renderer\",\n ssr = false,\n isTS = false,\n inSSR = false\n}) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: void 0,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, newlineIndex = -2 /* None */, node) {\n context.code += code;\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n } else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push(\"\\n\" + ` `.repeat(n), 0 /* Start */);\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated) options.onContextCreated(context);\n const {\n mode,\n push,\n prefixIdentifiers,\n indent,\n deindent,\n newline,\n scopeId,\n ssr\n } = context;\n const helpers = Array.from(ast.helpers);\n const hasHelpers = helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== \"module\";\n const preambleContext = context;\n {\n genFunctionPreamble(ast, preambleContext);\n }\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? [\"_ctx\", \"_push\", \"_parent\", \"_attrs\"] : [\"_ctx\", \"_cache\"];\n const signature = args.join(\", \");\n {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n if (hasHelpers) {\n push(\n `const { ${helpers.map(aliasHelper).join(\", \")} } = _Vue\n`,\n -1 /* End */\n );\n newline();\n }\n }\n if (ast.components.length) {\n genAssets(ast.components, \"component\", context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, \"directive\", context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, \"filter\", context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\n`, 0 /* Start */);\n newline();\n }\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n } else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: ``,\n map: context.map ? context.map.toJSON() : void 0\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const {\n ssr,\n prefixIdentifiers,\n push,\n newline,\n runtimeModuleName,\n runtimeGlobalName,\n ssrRuntimeModuleName\n } = context;\n const VueBinding = runtimeGlobalName;\n const helpers = Array.from(ast.helpers);\n if (helpers.length > 0) {\n {\n push(`const _Vue = ${VueBinding}\n`, -1 /* End */);\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(\", \");\n push(`const { ${staticHelpers} } = _Vue\n`, -1 /* End */);\n }\n }\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(\n type === \"filter\" ? RESOLVE_FILTER : type === \"component\" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE\n );\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n const maybeSelfReference = id.endsWith(\"__self\");\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(\n `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`\n );\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline, helper, scopeId, mode } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(\n `const _hoisted_${i + 1} = ${``}`\n );\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction isText(n) {\n return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 || !!(process.env.NODE_ENV !== \"production\") && nodes.some((n) => isArray(n) || !isText(n));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (isString(node)) {\n push(node, -3 /* Unknown */);\n } else if (isArray(node)) {\n genNodeListAsArray(node, context);\n } else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(\",\");\n newline();\n } else {\n comma && push(\", \");\n }\n }\n }\n}\nfunction genNode(node, context) {\n if (isString(node)) {\n context.push(node, -3 /* Unknown */);\n return;\n }\n if (isSymbol(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1:\n case 9:\n case 11:\n !!(process.env.NODE_ENV !== \"production\") && assert(\n node.codegenNode != null,\n `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`\n );\n genNode(node.codegenNode, context);\n break;\n case 2:\n genText(node, context);\n break;\n case 4:\n genExpression(node, context);\n break;\n case 5:\n genInterpolation(node, context);\n break;\n case 12:\n genNode(node.codegenNode, context);\n break;\n case 8:\n genCompoundExpression(node, context);\n break;\n case 3:\n genComment(node, context);\n break;\n case 13:\n genVNodeCall(node, context);\n break;\n case 14:\n genCallExpression(node, context);\n break;\n case 15:\n genObjectExpression(node, context);\n break;\n case 17:\n genArrayExpression(node, context);\n break;\n case 18:\n genFunctionExpression(node, context);\n break;\n case 19:\n genConditionalExpression(node, context);\n break;\n case 20:\n genCacheExpression(node, context);\n break;\n case 21:\n genNodeList(node.body, context, true, false);\n break;\n case 22:\n break;\n case 23:\n break;\n case 24:\n break;\n case 25:\n break;\n case 26:\n break;\n case 10:\n break;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assert(false, `unhandled codegen node type: ${node.type}`);\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), -3 /* Unknown */, node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(\n isStatic ? JSON.stringify(content) : content,\n -3 /* Unknown */,\n node\n );\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure) push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child)) {\n context.push(child, -3 /* Unknown */);\n } else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n } else if (node.isStatic) {\n const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);\n push(text, -2 /* None */, node);\n } else {\n push(`[${node.content}]`, -3 /* Unknown */, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(\n `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`,\n -3 /* Unknown */,\n node\n );\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const {\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent\n } = node;\n let patchFlagString;\n if (patchFlag) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (patchFlag < 0) {\n patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;\n } else {\n const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `);\n patchFlagString = patchFlag + ` /* ${flagNames} */`;\n }\n } else {\n patchFlagString = String(patchFlag);\n }\n }\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, -2 /* None */, node);\n genNodeList(\n genNullableArgs([tag, props, children, patchFlagString, dynamicProps]),\n context\n );\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null) break;\n }\n return args.slice(0, i + 1).map((arg) => arg || `null`);\n}\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = isString(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, -2 /* None */, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, -2 /* None */, node);\n return;\n }\n const multilines = properties.length > 1 || !!(process.env.NODE_ENV !== \"production\") && properties.some((p) => p.value.type !== 4);\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n genNode(value, context);\n if (i < properties.length - 1) {\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, -2 /* None */, node);\n if (isArray(params)) {\n genNodeList(params, context);\n } else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if (isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n } else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n } else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(\n true\n /* without newline */\n );\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n push(`_cache[${node.index}] || (`);\n if (node.isVOnce) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1),`);\n newline();\n push(`(`);\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (node.isVOnce) {\n push(`).cacheIndex = ${node.index},`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n}\n\nconst prohibitedKeywordRE = new RegExp(\n \"\\\\b\" + \"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield\".split(\",\").join(\"\\\\b|\\\\b\") + \"\\\\b\"\n);\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\nfunction validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {\n const exp = node.content;\n if (!exp.trim()) {\n return;\n }\n try {\n new Function(\n asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`\n );\n } catch (e) {\n let message = e.message;\n const keywordMatch = exp.replace(stripStringRE, \"\").match(prohibitedKeywordRE);\n if (keywordMatch) {\n message = `avoid using JavaScript keyword as property name: \"${keywordMatch[0]}\"`;\n }\n context.onError(\n createCompilerError(\n 45,\n node.loc,\n void 0,\n message\n )\n );\n }\n}\n\nconst transformExpression = (node, context) => {\n if (node.type === 5) {\n node.content = processExpression(\n node.content,\n context\n );\n } else if (node.type === 1) {\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n if (dir.type === 7 && dir.name !== \"for\") {\n const exp = dir.exp;\n const arg = dir.arg;\n if (exp && exp.type === 4 && !(dir.name === \"on\" && arg)) {\n dir.exp = processExpression(\n exp,\n context,\n // slot args must be processed as function params\n dir.name === \"slot\"\n );\n }\n if (arg && arg.type === 4 && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\nfunction processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateBrowserExpression(node, context, asParams, asRawStatements);\n }\n return node;\n }\n}\nfunction stringifyExpression(exp) {\n if (isString(exp)) {\n return exp;\n } else if (exp.type === 4) {\n return exp.content;\n } else {\n return exp.children.map(stringifyExpression).join(\"\");\n }\n}\n\nconst transformIf = createStructuralDirectiveTransform(\n /^(if|else|else-if)$/,\n (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9) {\n key += sibling.branches.length;\n }\n }\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(\n branch,\n key,\n context\n );\n } else {\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(\n branch,\n key + ifNode.branches.length - 1,\n context\n );\n }\n };\n });\n }\n);\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== \"else\" && (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(\n createCompilerError(28, dir.loc)\n );\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true && dir.exp) {\n validateBrowserExpression(dir.exp, context);\n }\n if (dir.name === \"if\") {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9,\n loc: node.loc,\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n } else {\n const siblings = context.parent.children;\n const comments = [];\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 3) {\n context.removeNode(sibling);\n !!(process.env.NODE_ENV !== \"production\") && comments.unshift(sibling);\n continue;\n }\n if (sibling && sibling.type === 2 && !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9) {\n if (dir.name === \"else-if\" && sibling.branches[sibling.branches.length - 1].condition === void 0) {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n context.removeNode();\n const branch = createIfBranch(node, dir);\n if (!!(process.env.NODE_ENV !== \"production\") && comments.length && // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent && context.parent.type === 1 && (context.parent.tag === \"transition\" || context.parent.tag === \"Transition\"))) {\n branch.children = [...comments, ...branch.children];\n }\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(\n createCompilerError(\n 29,\n branch.userKey.loc\n )\n );\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n traverseNode(branch, context);\n if (onExit) onExit();\n context.currentNode = null;\n } else {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3;\n return {\n type: 10,\n loc: node.loc,\n condition: dir.name === \"else\" ? void 0 : dir.exp,\n children: isTemplateIf && !findDir(node, \"for\") ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(\n branch.condition,\n createChildrenCodegenNode(branch, keyIndex, context),\n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n !!(process.env.NODE_ENV !== \"production\") ? '\"v-if\"' : '\"\"',\n \"true\"\n ])\n );\n } else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(\n `key`,\n createSimpleExpression(\n `${keyIndex}`,\n false,\n locStub,\n 2\n )\n );\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11) {\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n } else {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n return createVNodeCall(\n context,\n helper(FRAGMENT),\n createObjectExpression([keyProperty]),\n children,\n patchFlag,\n void 0,\n void 0,\n true,\n false,\n false,\n branch.loc\n );\n }\n } else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n if (vnodeCall.type === 13) {\n convertToBlock(vnodeCall, context);\n }\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n } else {\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19) {\n if (node.alternate.type === 19) {\n node = node.alternate;\n } else {\n return node;\n }\n } else if (node.type === 20) {\n node = node.value;\n }\n }\n}\n\nconst transformBind = (dir, _node, context) => {\n const { modifiers, loc } = dir;\n const arg = dir.arg;\n let { exp } = dir;\n if (exp && exp.type === 4 && !exp.content.trim()) {\n {\n exp = void 0;\n }\n }\n if (!exp) {\n if (arg.type !== 4 || !arg.isStatic) {\n context.onError(\n createCompilerError(\n 52,\n arg.loc\n )\n );\n return {\n props: [\n createObjectProperty(arg, createSimpleExpression(\"\", true, loc))\n ]\n };\n }\n transformBindShorthand(dir);\n exp = dir.exp;\n }\n if (arg.type !== 4) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n } else if (!arg.isStatic) {\n arg.content = `${arg.content} || \"\"`;\n }\n if (modifiers.includes(\"camel\")) {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = camelize(arg.content);\n } else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n } else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.includes(\"prop\")) {\n injectPrefix(arg, \".\");\n }\n if (modifiers.includes(\"attr\")) {\n injectPrefix(arg, \"^\");\n }\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst transformBindShorthand = (dir, context) => {\n const arg = dir.arg;\n const propName = camelize(arg.content);\n dir.exp = createSimpleExpression(propName, false, arg.loc);\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n } else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n } else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\nconst transformFor = createStructuralDirectiveTransform(\n \"for\",\n (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, (forNode) => {\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, \"memo\");\n const keyProp = findProp(node, `key`, false, true);\n if (keyProp && keyProp.type === 7 && !keyProp.exp) {\n transformBindShorthand(keyProp);\n }\n const keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);\n const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;\n const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;\n const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;\n forNode.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n renderExp,\n fragmentFlag,\n void 0,\n void 0,\n true,\n !isStableFragment,\n false,\n node.loc\n );\n return () => {\n let childBlock;\n const { children } = forNode;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && isTemplate) {\n node.children.some((c) => {\n if (c.type === 1) {\n const key = findProp(c, \"key\");\n if (key) {\n context.onError(\n createCompilerError(\n 33,\n key.loc\n )\n );\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;\n const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;\n if (slotOutlet) {\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n } else if (needFragmentWrapper) {\n childBlock = createVNodeCall(\n context,\n helper(FRAGMENT),\n keyProperty ? createObjectExpression([keyProperty]) : void 0,\n node.children,\n 64,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else {\n childBlock = children[0].codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n removeHelper(OPEN_BLOCK);\n removeHelper(\n getVNodeBlockHelper(context.inSSR, childBlock.isComponent)\n );\n } else {\n removeHelper(\n getVNodeHelper(context.inSSR, childBlock.isComponent)\n );\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n } else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(\n createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ])\n );\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...keyExp ? [` && _cached.key === `, keyExp] : [],\n ` && ${context.helperString(\n IS_MEMO_SAME\n )}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(\n loop,\n createSimpleExpression(`_cache`),\n createSimpleExpression(String(context.cached++))\n );\n } else {\n renderExp.arguments.push(\n createFunctionExpression(\n createForLoopParams(forNode.parseResult),\n childBlock,\n true\n )\n );\n }\n };\n });\n }\n);\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(\n createCompilerError(31, dir.loc)\n );\n return;\n }\n const parseResult = dir.forParseResult;\n if (!parseResult) {\n context.onError(\n createCompilerError(32, dir.loc)\n );\n return;\n }\n finalizeForParseResult(parseResult, context);\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n scopes.vFor++;\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (onExit) onExit();\n };\n}\nfunction finalizeForParseResult(result, context) {\n if (result.finalized) return;\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(result.source, context);\n if (result.key) {\n validateBrowserExpression(\n result.key,\n context,\n true\n );\n }\n if (result.index) {\n validateBrowserExpression(\n result.index,\n context,\n true\n );\n }\n if (result.value) {\n validateBrowserExpression(\n result.value,\n context,\n true\n );\n }\n }\n result.finalized = true;\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i]) break;\n }\n return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {\n const vSlot = findDir(node, \"slot\");\n if (vSlot) {\n vSlot.exp;\n context.scopes.vSlot++;\n return () => {\n context.scopes.vSlot--;\n };\n }\n }\n};\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, \"for\"))) {\n const result = vFor.forParseResult;\n if (result) {\n finalizeForParseResult(result, context);\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(\n props,\n children,\n false,\n true,\n children.length ? children[0].loc : loc\n);\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n const onComponentSlot = findDir(node, \"slot\", true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(\n createObjectProperty(\n arg || createSimpleExpression(\"default\", true),\n buildSlotFn(exp, void 0, children, loc)\n )\n );\n }\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = /* @__PURE__ */ new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, \"slot\", true))) {\n if (slotElement.type !== 3) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n context.onError(\n createCompilerError(37, slotDir.loc)\n );\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const {\n arg: slotName = createSimpleExpression(`default`, true),\n exp: slotProps,\n loc: dirLoc\n } = slotDir;\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n } else {\n hasDynamicSlots = true;\n }\n const vFor = findDir(slotElement, \"for\");\n const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc);\n let vIf;\n let vElse;\n if (vIf = findDir(slotElement, \"if\")) {\n hasDynamicSlots = true;\n dynamicSlots.push(\n createConditionalExpression(\n vIf.exp,\n buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),\n defaultFallback\n )\n );\n } else if (vElse = findDir(\n slotElement,\n /^else(-if)?$/,\n true\n /* allowEmpty */\n )) {\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp ? createConditionalExpression(\n vElse.exp,\n buildDynamicSlot(\n slotName,\n slotFunction,\n conditionalBranchIndex++\n ),\n defaultFallback\n ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n } else {\n context.onError(\n createCompilerError(30, vElse.loc)\n );\n }\n } else if (vFor) {\n hasDynamicSlots = true;\n const parseResult = vFor.forParseResult;\n if (parseResult) {\n finalizeForParseResult(parseResult, context);\n dynamicSlots.push(\n createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(\n createForLoopParams(parseResult),\n buildDynamicSlot(slotName, slotFunction),\n true\n )\n ])\n );\n } else {\n context.onError(\n createCompilerError(\n 32,\n vFor.loc\n )\n );\n }\n } else {\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(\n createCompilerError(\n 38,\n dirLoc\n )\n );\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === \"default\") {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children2) => {\n const fn = buildSlotFn(props, void 0, children2, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n slotsProperties.push(buildDefaultSlotProperty(void 0, children));\n } else if (implicitDefaultChildren.length && // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {\n if (hasNamedDefaultSlot) {\n context.onError(\n createCompilerError(\n 39,\n implicitDefaultChildren[0].loc\n )\n );\n } else {\n slotsProperties.push(\n buildDefaultSlotProperty(void 0, implicitDefaultChildren)\n );\n }\n }\n }\n const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;\n let slots = createObjectExpression(\n slotsProperties.concat(\n createObjectProperty(\n `_`,\n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(\n slotFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${slotFlagsText[slotFlag]} */` : ``),\n false\n )\n )\n ),\n loc\n );\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(\n createObjectProperty(`key`, createSimpleExpression(String(index), true))\n );\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1:\n if (child.tagType === 2 || hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9:\n if (hasForwardedSlots(child.branches)) return true;\n break;\n case 10:\n case 11:\n if (hasForwardedSlots(child.children)) return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 && node.type !== 12)\n return true;\n return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);\n}\n\nconst directiveImportMap = /* @__PURE__ */ new WeakMap();\nconst transformElement = (node, context) => {\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1;\n let vnodeTag = isComponent ? resolveComponentType(node, context) : `\"${tag}\"`;\n const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = (\n // dynamic component may resolve to plain elements\n isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === \"svg\" || tag === \"foreignObject\" || tag === \"math\")\n );\n if (props.length > 0) {\n const propsBuildResult = buildProps(\n node,\n context,\n void 0,\n isComponent,\n isDynamicComponent\n );\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives = directives && directives.length ? createArrayExpression(\n directives.map((dir) => buildDirectiveArgs(dir, context))\n ) : void 0;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n shouldUseBlock = true;\n patchFlag |= 1024;\n if (!!(process.env.NODE_ENV !== \"production\") && node.children.length > 1) {\n context.onError(\n createCompilerError(46, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n })\n );\n }\n }\n const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT && // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024;\n }\n } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n const hasDynamicTextChild = type === 5 || type === 8;\n if (hasDynamicTextChild && getConstantType(child, context) === 0) {\n patchFlag |= 1;\n }\n if (hasDynamicTextChild || type === 2) {\n vnodeChildren = child;\n } else {\n vnodeChildren = node.children;\n }\n } else {\n vnodeChildren = node.children;\n }\n }\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n node.codegenNode = createVNodeCall(\n context,\n vnodeTag,\n vnodeProps,\n vnodeChildren,\n patchFlag === 0 ? void 0 : patchFlag,\n vnodeDynamicProps,\n vnodeDirectives,\n !!shouldUseBlock,\n false,\n isComponent,\n node.loc\n );\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(\n node,\n \"is\",\n false,\n true\n /* allow empty */\n );\n if (isProp) {\n if (isExplicitDynamic || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n )) {\n let exp;\n if (isProp.type === 6) {\n exp = isProp.value && createSimpleExpression(isProp.value.content, true);\n } else {\n exp = isProp.exp;\n if (!exp) {\n exp = createSimpleExpression(`is`, false, isProp.arg.loc);\n }\n }\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n } else if (isProp.type === 6 && isProp.value.content.startsWith(\"vue:\")) {\n tag = isProp.value.content.slice(4);\n }\n }\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n if (!ssr) context.helper(builtIn);\n return builtIn;\n }\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(\n createObjectExpression(dedupeProperties(properties), elementLoc)\n );\n properties = [];\n }\n if (arg) mergeArgs.push(arg);\n };\n const pushRefVForMarker = () => {\n if (context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = isOn(name);\n if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== \"onclick\" && // omit v-model handlers\n name !== \"onUpdate:modelValue\" && // omit onVnodeXXX hooks\n !isReservedProp(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && isReservedProp(name)) {\n hasVnodeHook = true;\n }\n if (isEventHandler && value.type === 14) {\n value = value.arguments[0];\n }\n if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {\n return;\n }\n if (name === \"ref\") {\n hasRef = true;\n } else if (name === \"class\") {\n hasClassBinding = true;\n } else if (name === \"style\") {\n hasStyleBinding = true;\n } else if (name !== \"key\" && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n if (isComponent && (name === \"class\" || name === \"style\") && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n } else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 6) {\n const { loc, name, nameLoc, value } = prop;\n let isStatic = true;\n if (name === \"ref\") {\n hasRef = true;\n pushRefVForMarker();\n }\n if (name === \"is\" && (isComponentTag(tag) || value && value.content.startsWith(\"vue:\") || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n properties.push(\n createObjectProperty(\n createSimpleExpression(name, true, nameLoc),\n createSimpleExpression(\n value ? value.content : \"\",\n isStatic,\n value ? value.loc : loc\n )\n )\n );\n } else {\n const { name, arg, exp, loc, modifiers } = prop;\n const isVBind = name === \"bind\";\n const isVOn = name === \"on\";\n if (name === \"slot\") {\n if (!isComponent) {\n context.onError(\n createCompilerError(40, loc)\n );\n }\n continue;\n }\n if (name === \"once\" || name === \"memo\") {\n continue;\n }\n if (name === \"is\" || isVBind && isStaticArgOf(arg, \"is\") && (isComponentTag(tag) || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n isVBind && isStaticArgOf(arg, \"key\") || // inline before-update hooks need to force block so that it is invoked\n // before children\n isVOn && hasChildren && isStaticArgOf(arg, \"vue:before-update\")\n ) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, \"ref\")) {\n pushRefVForMarker();\n }\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n pushRefVForMarker();\n pushMergeArg();\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const hasOverridableKeys = mergeArgs.some((arg2) => {\n if (arg2.type === 15) {\n return arg2.properties.some(({ key }) => {\n if (key.type !== 4 || !key.isStatic) {\n return true;\n }\n return key.content !== \"class\" && key.content !== \"style\" && !isOn(key.content);\n });\n } else {\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context,\n loc\n );\n }\n }\n if (isCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context\n )) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n mergeArgs.push(exp);\n } else {\n pushMergeArg({\n type: 14,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n } else {\n context.onError(\n createCompilerError(\n isVBind ? 34 : 35,\n loc\n )\n );\n }\n continue;\n }\n if (isVBind && modifiers.includes(\"prop\")) {\n patchFlag |= 32;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n const { props: props2, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props2.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props2, elementLoc));\n } else {\n properties.push(...props2);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if (isSymbol(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n } else if (!isBuiltInDirective(name)) {\n runtimeDirectives.push(prop);\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = void 0;\n if (mergeArgs.length) {\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(\n context.helper(MERGE_PROPS),\n mergeArgs,\n elementLoc\n );\n } else {\n propsExpression = mergeArgs[0];\n }\n } else if (properties.length) {\n propsExpression = createObjectExpression(\n dedupeProperties(properties),\n elementLoc\n );\n }\n if (hasDynamicKeys) {\n patchFlag |= 16;\n } else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32;\n }\n }\n if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512;\n }\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15:\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === \"class\") {\n classKeyIndex = i;\n } else if (key.content === \"style\") {\n styleKeyIndex = i;\n }\n } else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(\n context.helper(NORMALIZE_CLASS),\n [classProp.value]\n );\n }\n if (styleProp && // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17)) {\n styleProp.value = createCallExpression(\n context.helper(NORMALIZE_STYLE),\n [styleProp.value]\n );\n }\n } else {\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [propsExpression]\n );\n }\n break;\n case 14:\n break;\n default:\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]\n );\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\nfunction dedupeProperties(properties) {\n const knownProps = /* @__PURE__ */ new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (prop.key.type === 8 || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === \"style\" || name === \"class\" || isOn(name)) {\n mergeAsArray(existing, prop);\n }\n } else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17) {\n existing.value.elements.push(incoming.value);\n } else {\n existing.value = createArrayExpression(\n [existing.value, incoming.value],\n existing.loc\n );\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n dirArgs.push(context.helperString(runtime));\n } else {\n {\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp) dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(\n createObjectExpression(\n dir.modifiers.map(\n (modifier) => createObjectProperty(modifier, trueExpression)\n ),\n loc\n )\n );\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1) propsNamesString += \", \";\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === \"component\" || tag === \"Component\";\n}\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n \"{}\",\n \"undefined\",\n \"true\"\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen);\n node.codegenNode = createCallExpression(\n context.helper(RENDER_SLOT),\n slotArgs,\n loc\n );\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = void 0;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (p.value) {\n if (p.name === \"name\") {\n slotName = JSON.stringify(p.value.content);\n } else {\n p.name = camelize(p.name);\n nonNameProps.push(p);\n }\n }\n } else {\n if (p.name === \"bind\" && isStaticArgOf(p.arg, \"name\")) {\n if (p.exp) {\n slotName = p.exp;\n } else if (p.arg && p.arg.type === 4) {\n const name = camelize(p.arg.content);\n slotName = p.exp = createSimpleExpression(name, false, p.arg.loc);\n }\n } else {\n if (p.name === \"bind\" && p.arg && isStaticExp(p.arg)) {\n p.arg.content = camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(\n node,\n context,\n nonNameProps,\n false,\n false\n );\n slotProps = props;\n if (directives.length) {\n context.onError(\n createCompilerError(\n 36,\n directives[0].loc\n )\n );\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35, loc));\n }\n let eventName;\n if (arg.type === 4) {\n if (arg.isStatic) {\n let rawName = arg.content;\n if (!!(process.env.NODE_ENV !== \"production\") && rawName.startsWith(\"vnode\")) {\n context.onError(createCompilerError(51, arg.loc));\n }\n if (rawName.startsWith(\"vue:\")) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType !== 0 || rawName.startsWith(\"vnode\") || !/[A-Z]/.test(rawName) ? (\n // for non-element and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n toHandlerKey(camelize(rawName))\n ) : (\n // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`\n );\n eventName = createSimpleExpression(eventString, true, arg.loc);\n } else {\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n } else {\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = void 0;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp);\n const isInlineStatement = !(isMemberExp || isFnExpression(exp));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n exp,\n context,\n false,\n hasMultipleStatements\n );\n }\n if (isInlineStatement || shouldCache && isMemberExp) {\n exp = createCompoundExpression([\n `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(\n eventName,\n exp || createSimpleExpression(`() => {}`, false, loc)\n )\n ]\n };\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n ret.props.forEach((p) => p.key.isHandlerKey = true);\n return ret;\n};\n\nconst transformText = (node, context) => {\n if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {\n return () => {\n const children = node.children;\n let currentContainer = void 0;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText$1(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression(\n [child],\n child.loc\n );\n }\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n } else {\n currentContainer = void 0;\n break;\n }\n }\n }\n }\n if (!hasText || // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(\n (p) => p.type === 7 && !context.directiveTransforms[p.name]\n ) && // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === \"template\"))) {\n return;\n }\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child) || child.type === 8) {\n const callArgs = [];\n if (child.type !== 2 || child.content !== \" \") {\n callArgs.push(child);\n }\n if (!context.ssr && getConstantType(child, context) === 0) {\n callArgs.push(\n 1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[1]} */` : ``)\n );\n }\n children[i] = {\n type: 12,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(\n context.helper(CREATE_TEXT),\n callArgs\n )\n };\n }\n }\n };\n }\n};\n\nconst seen$1 = /* @__PURE__ */ new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 && findDir(node, \"once\", true)) {\n if (seen$1.has(node) || context.inVOnce || context.inSSR) {\n return;\n }\n seen$1.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(\n cur.codegenNode,\n true\n /* isVNode */\n );\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(\n createCompilerError(41, dir.loc)\n );\n return createTransformProps();\n }\n const rawExp = exp.loc.source;\n const expString = exp.type === 4 ? exp.content : rawExp;\n const bindingType = context.bindingMetadata[rawExp];\n if (bindingType === \"props\" || bindingType === \"props-aliased\") {\n context.onError(createCompilerError(44, exp.loc));\n return createTransformProps();\n }\n const maybeRef = false;\n if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {\n context.onError(\n createCompilerError(42, exp.loc)\n );\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression(\"modelValue\", true);\n const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['\"onUpdate:\" + ', arg]) : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n if (dir.modifiers.length && node.tagType === 1) {\n const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);\n const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + \"Modifiers\"']) : `modelModifiers`;\n props.push(\n createObjectProperty(\n modifiersKey,\n createSimpleExpression(\n `{ ${modifiers} }`,\n false,\n dir.loc,\n 2\n )\n )\n );\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTERS\", context)) {\n return;\n }\n if (node.type === 5) {\n rewriteFilter(node.content, context);\n } else if (node.type === 1) {\n node.props.forEach((prop) => {\n if (prop.type === 7 && prop.name !== \"for\" && prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4) {\n parseFilter(node, context);\n } else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== \"object\") continue;\n if (child.type === 4) {\n parseFilter(child, context);\n } else if (child.type === 8) {\n rewriteFilter(node, context);\n } else if (child.type === 5) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 39 && prev !== 92) inSingle = false;\n } else if (inDouble) {\n if (c === 34 && prev !== 92) inDouble = false;\n } else if (inTemplateString) {\n if (c === 96 && prev !== 92) inTemplateString = false;\n } else if (inRegex) {\n if (c === 47 && prev !== 92) inRegex = false;\n } else if (c === 124 && // pipe\n exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {\n if (expression === void 0) {\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 34:\n inDouble = true;\n break;\n case 39:\n inSingle = true;\n break;\n case 96:\n inTemplateString = true;\n break;\n case 40:\n paren++;\n break;\n case 41:\n paren--;\n break;\n case 91:\n square++;\n break;\n case 93:\n square--;\n break;\n case 123:\n curly++;\n break;\n case 125:\n curly--;\n break;\n }\n if (c === 47) {\n let j = i - 1;\n let p;\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== \" \") break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === void 0) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_FILTERS\",\n context,\n node.loc\n );\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n node.ast = void 0;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf(\"(\");\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, \"filter\")}(${exp})`;\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, \"filter\")}(${exp}${args !== \")\" ? \",\" + args : args}`;\n }\n}\n\nconst seen = /* @__PURE__ */ new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1) {\n const dir = findDir(node, \"memo\");\n if (!dir || seen.has(node)) {\n return;\n }\n seen.add(node);\n return () => {\n const codegenNode = node.codegenNode || context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13) {\n if (node.tagType !== 1) {\n convertToBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(void 0, codegenNode),\n `_cache`,\n String(context.cached++)\n ]);\n }\n };\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...[transformFilter] ,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformExpression] : [],\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\nfunction baseCompile(source, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === \"module\";\n {\n if (options.prefixIdentifiers === true) {\n onError(createCompilerError(47));\n } else if (isModuleMode) {\n onError(createCompilerError(48));\n }\n }\n const prefixIdentifiers = false;\n if (options.cacheHandlers) {\n onError(createCompilerError(49));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(50));\n }\n const resolvedOptions = extend({}, options, {\n prefixIdentifiers\n });\n const ast = isString(source) ? baseParse(source, resolvedOptions) : source;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();\n transform(\n ast,\n extend({}, resolvedOptions, {\n nodeTransforms: [\n ...nodeTransforms,\n ...options.nodeTransforms || []\n // user transforms\n ],\n directiveTransforms: extend(\n {},\n directiveTransforms,\n options.directiveTransforms || {}\n // user transforms\n )\n })\n );\n return generate(ast, resolvedOptions);\n}\n\nconst BindingTypes = {\n \"DATA\": \"data\",\n \"PROPS\": \"props\",\n \"PROPS_ALIASED\": \"props-aliased\",\n \"SETUP_LET\": \"setup-let\",\n \"SETUP_CONST\": \"setup-const\",\n \"SETUP_REACTIVE_CONST\": \"setup-reactive-const\",\n \"SETUP_MAYBE_REF\": \"setup-maybe-ref\",\n \"SETUP_REF\": \"setup-ref\",\n \"OPTIONS\": \"options\",\n \"LITERAL_CONST\": \"literal-const\"\n};\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\nexport { BASE_TRANSITION, BindingTypes, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, CompilerDeprecationTypes, ConstantTypes, ElementTypes, ErrorCodes, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, Namespaces, NodeTypes, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, errorMessages, extractIdentifiers, findDir, findProp, forAliasRE, generate, getBaseTransformPreset, getConstantType, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isCoreComponent, isFnExpression, isFnExpressionBrowser, isFnExpressionNode, isFunctionType, isInDestructureAssignment, isInNewExpression, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, unwrapTSNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };\n","/**\n* @vue/compiler-dom v3.4.38\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { registerRuntimeHelpers, createSimpleExpression, createCompilerError, createObjectProperty, getConstantType, createCallExpression, TO_DISPLAY_STRING, transformModel as transformModel$1, findProp, hasDynamicKeyVBind, findDir, isStaticArgOf, transformOn as transformOn$1, isStaticExp, createCompoundExpression, checkCompatEnabled, noopDirectiveTransform, baseCompile, baseParse } from '@vue/compiler-core';\nexport * from '@vue/compiler-core';\nimport { isVoidTag, isHTMLTag, isSVGTag, isMathMLTag, parseStringStyle, capitalize, makeMap, extend } from '@vue/shared';\n\nconst V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelRadio` : ``);\nconst V_MODEL_CHECKBOX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelCheckbox` : ``);\nconst V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelText` : ``);\nconst V_MODEL_SELECT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelSelect` : ``);\nconst V_MODEL_DYNAMIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelDynamic` : ``);\nconst V_ON_WITH_MODIFIERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnModifiersGuard` : ``);\nconst V_ON_WITH_KEYS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnKeysGuard` : ``);\nconst V_SHOW = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vShow` : ``);\nconst TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Transition` : ``);\nconst TRANSITION_GROUP = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `TransitionGroup` : ``);\nregisterRuntimeHelpers({\n [V_MODEL_RADIO]: `vModelRadio`,\n [V_MODEL_CHECKBOX]: `vModelCheckbox`,\n [V_MODEL_TEXT]: `vModelText`,\n [V_MODEL_SELECT]: `vModelSelect`,\n [V_MODEL_DYNAMIC]: `vModelDynamic`,\n [V_ON_WITH_MODIFIERS]: `withModifiers`,\n [V_ON_WITH_KEYS]: `withKeys`,\n [V_SHOW]: `vShow`,\n [TRANSITION]: `Transition`,\n [TRANSITION_GROUP]: `TransitionGroup`\n});\n\nlet decoder;\nfunction decodeHtmlBrowser(raw, asAttr = false) {\n if (!decoder) {\n decoder = document.createElement(\"div\");\n }\n if (asAttr) {\n decoder.innerHTML = `<div foo=\"${raw.replace(/\"/g, \""\")}\">`;\n return decoder.children[0].getAttribute(\"foo\");\n } else {\n decoder.innerHTML = raw;\n return decoder.textContent;\n }\n}\n\nconst parserOptions = {\n parseMode: \"html\",\n isVoidTag,\n isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n isPreTag: (tag) => tag === \"pre\",\n decodeEntities: decodeHtmlBrowser ,\n isBuiltInComponent: (tag) => {\n if (tag === \"Transition\" || tag === \"transition\") {\n return TRANSITION;\n } else if (tag === \"TransitionGroup\" || tag === \"transition-group\") {\n return TRANSITION_GROUP;\n }\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher\n getNamespace(tag, parent, rootNamespace) {\n let ns = parent ? parent.ns : rootNamespace;\n if (parent && ns === 2) {\n if (parent.tag === \"annotation-xml\") {\n if (tag === \"svg\") {\n return 1;\n }\n if (parent.props.some(\n (a) => a.type === 6 && a.name === \"encoding\" && a.value != null && (a.value.content === \"text/html\" || a.value.content === \"application/xhtml+xml\")\n )) {\n ns = 0;\n }\n } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== \"mglyph\" && tag !== \"malignmark\") {\n ns = 0;\n }\n } else if (parent && ns === 1) {\n if (parent.tag === \"foreignObject\" || parent.tag === \"desc\" || parent.tag === \"title\") {\n ns = 0;\n }\n }\n if (ns === 0) {\n if (tag === \"svg\") {\n return 1;\n }\n if (tag === \"math\") {\n return 2;\n }\n }\n return ns;\n }\n};\n\nconst transformStyle = (node) => {\n if (node.type === 1) {\n node.props.forEach((p, i) => {\n if (p.type === 6 && p.name === \"style\" && p.value) {\n node.props[i] = {\n type: 7,\n name: `bind`,\n arg: createSimpleExpression(`style`, true, p.loc),\n exp: parseInlineCSS(p.value.content, p.loc),\n modifiers: [],\n loc: p.loc\n };\n }\n });\n }\n};\nconst parseInlineCSS = (cssText, loc) => {\n const normalized = parseStringStyle(cssText);\n return createSimpleExpression(\n JSON.stringify(normalized),\n false,\n loc,\n 3\n );\n};\n\nfunction createDOMCompilerError(code, loc) {\n return createCompilerError(\n code,\n loc,\n !!(process.env.NODE_ENV !== \"production\") || false ? DOMErrorMessages : void 0\n );\n}\nconst DOMErrorCodes = {\n \"X_V_HTML_NO_EXPRESSION\": 53,\n \"53\": \"X_V_HTML_NO_EXPRESSION\",\n \"X_V_HTML_WITH_CHILDREN\": 54,\n \"54\": \"X_V_HTML_WITH_CHILDREN\",\n \"X_V_TEXT_NO_EXPRESSION\": 55,\n \"55\": \"X_V_TEXT_NO_EXPRESSION\",\n \"X_V_TEXT_WITH_CHILDREN\": 56,\n \"56\": \"X_V_TEXT_WITH_CHILDREN\",\n \"X_V_MODEL_ON_INVALID_ELEMENT\": 57,\n \"57\": \"X_V_MODEL_ON_INVALID_ELEMENT\",\n \"X_V_MODEL_ARG_ON_ELEMENT\": 58,\n \"58\": \"X_V_MODEL_ARG_ON_ELEMENT\",\n \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\": 59,\n \"59\": \"X_V_MODEL_ON_FILE_INPUT_ELEMENT\",\n \"X_V_MODEL_UNNECESSARY_VALUE\": 60,\n \"60\": \"X_V_MODEL_UNNECESSARY_VALUE\",\n \"X_V_SHOW_NO_EXPRESSION\": 61,\n \"61\": \"X_V_SHOW_NO_EXPRESSION\",\n \"X_TRANSITION_INVALID_CHILDREN\": 62,\n \"62\": \"X_TRANSITION_INVALID_CHILDREN\",\n \"X_IGNORED_SIDE_EFFECT_TAG\": 63,\n \"63\": \"X_IGNORED_SIDE_EFFECT_TAG\",\n \"__EXTEND_POINT__\": 64,\n \"64\": \"__EXTEND_POINT__\"\n};\nconst DOMErrorMessages = {\n [53]: `v-html is missing expression.`,\n [54]: `v-html will override element children.`,\n [55]: `v-text is missing expression.`,\n [56]: `v-text will override element children.`,\n [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,\n [58]: `v-model argument is not supported on plain elements.`,\n [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,\n [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,\n [61]: `v-show is missing expression.`,\n [62]: `<Transition> expects exactly one child element or component.`,\n [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`\n};\n\nconst transformVHtml = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(53, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(54, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`innerHTML`, true, loc),\n exp || createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformVText = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(55, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(56, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`textContent`, true),\n exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(\n context.helperString(TO_DISPLAY_STRING),\n [exp],\n loc\n ) : createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformModel = (dir, node, context) => {\n const baseResult = transformModel$1(dir, node, context);\n if (!baseResult.props.length || node.tagType === 1) {\n return baseResult;\n }\n if (dir.arg) {\n context.onError(\n createDOMCompilerError(\n 58,\n dir.arg.loc\n )\n );\n }\n function checkDuplicatedValue() {\n const value = findDir(node, \"bind\");\n if (value && isStaticArgOf(value.arg, \"value\")) {\n context.onError(\n createDOMCompilerError(\n 60,\n value.loc\n )\n );\n }\n }\n const { tag } = node;\n const isCustomElement = context.isCustomElement(tag);\n if (tag === \"input\" || tag === \"textarea\" || tag === \"select\" || isCustomElement) {\n let directiveToUse = V_MODEL_TEXT;\n let isInvalidType = false;\n if (tag === \"input\" || isCustomElement) {\n const type = findProp(node, `type`);\n if (type) {\n if (type.type === 7) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else if (type.value) {\n switch (type.value.content) {\n case \"radio\":\n directiveToUse = V_MODEL_RADIO;\n break;\n case \"checkbox\":\n directiveToUse = V_MODEL_CHECKBOX;\n break;\n case \"file\":\n isInvalidType = true;\n context.onError(\n createDOMCompilerError(\n 59,\n dir.loc\n )\n );\n break;\n default:\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n break;\n }\n }\n } else if (hasDynamicKeyVBind(node)) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n } else if (tag === \"select\") {\n directiveToUse = V_MODEL_SELECT;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n if (!isInvalidType) {\n baseResult.needRuntime = context.helper(directiveToUse);\n }\n } else {\n context.onError(\n createDOMCompilerError(\n 57,\n dir.loc\n )\n );\n }\n baseResult.props = baseResult.props.filter(\n (p) => !(p.key.type === 4 && p.key.content === \"modelValue\")\n );\n return baseResult;\n};\n\nconst isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);\nconst isNonKeyModifier = /* @__PURE__ */ makeMap(\n // event propagation management\n `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`\n);\nconst maybeKeyModifier = /* @__PURE__ */ makeMap(\"left,right\");\nconst isKeyboardEvent = /* @__PURE__ */ makeMap(\n `onkeyup,onkeydown,onkeypress`,\n true\n);\nconst resolveModifiers = (key, modifiers, context, loc) => {\n const keyModifiers = [];\n const nonKeyModifiers = [];\n const eventOptionModifiers = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n if (modifier === \"native\" && checkCompatEnabled(\n \"COMPILER_V_ON_NATIVE\",\n context,\n loc\n )) {\n eventOptionModifiers.push(modifier);\n } else if (isEventOptionModifier(modifier)) {\n eventOptionModifiers.push(modifier);\n } else {\n if (maybeKeyModifier(modifier)) {\n if (isStaticExp(key)) {\n if (isKeyboardEvent(key.content)) {\n keyModifiers.push(modifier);\n } else {\n nonKeyModifiers.push(modifier);\n }\n } else {\n keyModifiers.push(modifier);\n nonKeyModifiers.push(modifier);\n }\n } else {\n if (isNonKeyModifier(modifier)) {\n nonKeyModifiers.push(modifier);\n } else {\n keyModifiers.push(modifier);\n }\n }\n }\n }\n return {\n keyModifiers,\n nonKeyModifiers,\n eventOptionModifiers\n };\n};\nconst transformClick = (key, event) => {\n const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === \"onclick\";\n return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([\n `(`,\n key,\n `) === \"onClick\" ? \"${event}\" : (`,\n key,\n `)`\n ]) : key;\n};\nconst transformOn = (dir, node, context) => {\n return transformOn$1(dir, node, context, (baseResult) => {\n const { modifiers } = dir;\n if (!modifiers.length) return baseResult;\n let { key, value: handlerExp } = baseResult.props[0];\n const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);\n if (nonKeyModifiers.includes(\"right\")) {\n key = transformClick(key, `onContextmenu`);\n }\n if (nonKeyModifiers.includes(\"middle\")) {\n key = transformClick(key, `onMouseup`);\n }\n if (nonKeyModifiers.length) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [\n handlerExp,\n JSON.stringify(nonKeyModifiers)\n ]);\n }\n if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard\n (!isStaticExp(key) || isKeyboardEvent(key.content))) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [\n handlerExp,\n JSON.stringify(keyModifiers)\n ]);\n }\n if (eventOptionModifiers.length) {\n const modifierPostfix = eventOptionModifiers.map(capitalize).join(\"\");\n key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + \"${modifierPostfix}\"`]);\n }\n return {\n props: [createObjectProperty(key, handlerExp)]\n };\n });\n};\n\nconst transformShow = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(61, loc)\n );\n }\n return {\n props: [],\n needRuntime: context.helper(V_SHOW)\n };\n};\n\nconst transformTransition = (node, context) => {\n if (node.type === 1 && node.tagType === 1) {\n const component = context.isBuiltInComponent(node.tag);\n if (component === TRANSITION) {\n return () => {\n if (!node.children.length) {\n return;\n }\n if (hasMultipleChildren(node)) {\n context.onError(\n createDOMCompilerError(\n 62,\n {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n }\n )\n );\n }\n const child = node.children[0];\n if (child.type === 1) {\n for (const p of child.props) {\n if (p.type === 7 && p.name === \"show\") {\n node.props.push({\n type: 6,\n name: \"persisted\",\n nameLoc: node.loc,\n value: void 0,\n loc: node.loc\n });\n }\n }\n }\n };\n }\n }\n};\nfunction hasMultipleChildren(node) {\n const children = node.children = node.children.filter(\n (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())\n );\n const child = children[0];\n return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);\n}\n\nconst ignoreSideEffectTags = (node, context) => {\n if (node.type === 1 && node.tagType === 0 && (node.tag === \"script\" || node.tag === \"style\")) {\n !!(process.env.NODE_ENV !== \"production\") && context.onError(\n createDOMCompilerError(\n 63,\n node.loc\n )\n );\n context.removeNode();\n }\n};\n\nconst DOMNodeTransforms = [\n transformStyle,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformTransition] : []\n];\nconst DOMDirectiveTransforms = {\n cloak: noopDirectiveTransform,\n html: transformVHtml,\n text: transformVText,\n model: transformModel,\n // override compiler-core\n on: transformOn,\n // override compiler-core\n show: transformShow\n};\nfunction compile(src, options = {}) {\n return baseCompile(\n src,\n extend({}, parserOptions, options, {\n nodeTransforms: [\n // ignore <script> and <tag>\n // this is not put inside DOMNodeTransforms because that list is used\n // by compiler-ssr to generate vnode fallback branches\n ignoreSideEffectTags,\n ...DOMNodeTransforms,\n ...options.nodeTransforms || []\n ],\n directiveTransforms: extend(\n {},\n DOMDirectiveTransforms,\n options.directiveTransforms || {}\n ),\n transformHoist: null \n })\n );\n}\nfunction parse(template, options = {}) {\n return baseParse(template, extend({}, parserOptions, options));\n}\n\nexport { DOMDirectiveTransforms, DOMErrorCodes, DOMErrorMessages, DOMNodeTransforms, TRANSITION, TRANSITION_GROUP, V_MODEL_CHECKBOX, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, V_MODEL_TEXT, V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS, V_SHOW, compile, createDOMCompilerError, parse, parserOptions, transformStyle };\n","/**\n* vue v3.4.38\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport * as runtimeDom from '@vue/runtime-dom';\nimport { initCustomFormatter, registerRuntimeCompiler, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\nimport { compile } from '@vue/compiler-dom';\nimport { isString, NOOP, extend, generateCodeFrame, EMPTY_OBJ } from '@vue/shared';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compileCache = /* @__PURE__ */ new WeakMap();\nfunction getCache(options) {\n let c = compileCache.get(options != null ? options : EMPTY_OBJ);\n if (!c) {\n c = /* @__PURE__ */ Object.create(null);\n compileCache.set(options != null ? options : EMPTY_OBJ, c);\n }\n return c;\n}\nfunction compileToFunction(template, options) {\n if (!isString(template)) {\n if (template.nodeType) {\n template = template.innerHTML;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warn(`invalid template option: `, template);\n return NOOP;\n }\n }\n const key = template;\n const cache = getCache(options);\n const cached = cache[key];\n if (cached) {\n return cached;\n }\n if (template[0] === \"#\") {\n const el = document.querySelector(template);\n if (!!(process.env.NODE_ENV !== \"production\") && !el) {\n warn(`Template element not found or is empty: ${template}`);\n }\n template = el ? el.innerHTML : ``;\n }\n const opts = extend(\n {\n hoistStatic: true,\n onError: !!(process.env.NODE_ENV !== \"production\") ? onError : void 0,\n onWarn: !!(process.env.NODE_ENV !== \"production\") ? (e) => onError(e, true) : NOOP\n },\n options\n );\n if (!opts.isCustomElement && typeof customElements !== \"undefined\") {\n opts.isCustomElement = (tag) => !!customElements.get(tag);\n }\n const { code } = compile(template, opts);\n function onError(err, asWarning = false) {\n const message = asWarning ? err.message : `Template compilation error: ${err.message}`;\n const codeFrame = err.loc && generateCodeFrame(\n template,\n err.loc.start.offset,\n err.loc.end.offset\n );\n warn(codeFrame ? `${message}\n${codeFrame}` : message);\n }\n const render = new Function(\"Vue\", code)(runtimeDom);\n render._rc = true;\n return cache[key] = render;\n}\nregisterRuntimeCompiler(compileToFunction);\n\nexport { compileToFunction as compile };\n"],"names":["makeMap","str","expectsLowerCase","set","Set","split","val","has","toLowerCase","EMPTY_OBJ","NO","isOn","key","charCodeAt","Object","assign","isArray","prototype","hasOwnProperty","Array","isSymbol","isReservedProp","toString","isBuiltInDirective","cacheStringFunction","fn","cache","create","hit","camelizeRE","camelize","replace","_","c","toUpperCase","hyphenateRE","capitalize","charAt","slice","toHandlerKey","s","PatchFlagNames","listDelimiterRE","propertyDelimiterRE","styleCommentRE","parseStringStyle","cssText","ret","forEach","item","tmp","length","trim","HTML_TAGS","SVG_TAGS","MATH_TAGS","VOID_TAGS","isHTMLTag","isSVGTag","isMathMLTag","isVoidTag","FRAGMENT","Symbol","TELEPORT","SUSPENSE","KEEP_ALIVE","BASE_TRANSITION","OPEN_BLOCK","CREATE_BLOCK","CREATE_ELEMENT_BLOCK","CREATE_VNODE","CREATE_ELEMENT_VNODE","CREATE_COMMENT","CREATE_TEXT","CREATE_STATIC","RESOLVE_COMPONENT","RESOLVE_DYNAMIC_COMPONENT","RESOLVE_DIRECTIVE","RESOLVE_FILTER","WITH_DIRECTIVES","RENDER_LIST","RENDER_SLOT","CREATE_SLOTS","TO_DISPLAY_STRING","MERGE_PROPS","NORMALIZE_CLASS","NORMALIZE_STYLE","NORMALIZE_PROPS","GUARD_REACTIVE_PROPS","TO_HANDLERS","CAMELIZE","CAPITALIZE","TO_HANDLER_KEY","SET_BLOCK_TRACKING","PUSH_SCOPE_ID","POP_SCOPE_ID","WITH_CTX","UNREF","IS_REF","WITH_MEMO","IS_MEMO_SAME","helperNameMap","registerRuntimeHelpers","helpers","getOwnPropertySymbols","locStub","start","line","column","offset","end","source","createRoot","children","type","components","directives","hoists","imports","cached","temps","codegenNode","loc","createVNodeCall","context","tag","props","patchFlag","dynamicProps","isBlock","disableTracking","isComponent","helper","getVNodeBlockHelper","inSSR","getVNodeHelper","createArrayExpression","elements","createObjectExpression","properties","createObjectProperty","value","createSimpleExpression","content","isStatic","constType","createCompoundExpression","createCallExpression","callee","args","arguments","createFunctionExpression","params","returns","newline","isSlot","createConditionalExpression","test","consequent","alternate","createCacheExpression","index","isVOnce","createBlockStatement","body","ssr","convertToBlock","node","removeHelper","defaultDelimitersOpen","Uint8Array","defaultDelimitersClose","isTagStartChar","isWhitespace","isEndOfTagSection","toCharCodes","i","Sequences","Cdata","CdataEnd","CommentEnd","ScriptEnd","StyleEnd","TitleEnd","TextareaEnd","Tokenizer","constructor","stack","cbs","this","state","buffer","sectionStart","entityStart","baseState","inRCDATA","inXML","inVPre","newlines","mode","delimiterOpen","delimiterClose","delimiterIndex","currentSequence","sequenceIndex","inSFCRoot","reset","getPos","newlineIndex","peek","stateText","ontext","stateInterpolationOpen","stateInRCDATA","stateInterpolation","stateInterpolationClose","oninterpolation","stateSpecialStartSequence","isEnd","isMatch","stateInTagName","endOfText","actualIndex","stateInClosingTagName","fastForwardTo","Number","stateCDATASequence","stateInDeclaration","cc","push","stateInCommentLike","oncdata","oncomment","startSpecial","sequence","enterRCDATA","stateBeforeTagName","handleTagName","stateInSFCRootTagName","onopentagname","stateBeforeAttrName","stateBeforeClosingTagName","onclosetag","stateAfterClosingTagName","onopentagend","handleAttrStart","ondirname","stateInSelfClosingTag","onselfclosingtag","stateInAttrName","onattribname","handleAttrNameEnd","stateInDirName","stateInDirArg","ondirarg","stateInDynamicDirArg","stateInDirModifier","ondirmodifier","onattribnameend","stateAfterAttrName","onattribend","stateBeforeAttrValue","stateInAttrValueNoQuotes","handleInAttrValue","quote","onattribdata","stateInAttrValueDoubleQuotes","stateInAttrValueSingleQuotes","onerr","stateBeforeDeclaration","stateInProcessingInstruction","onprocessinginstruction","stateBeforeComment","stateInSpecialComment","stateBeforeSpecialS","stateBeforeSpecialT","startEntity","stateInEntity","parse","input","cleanup","finish","handleTrailingData","onend","endIndex","emitCodePoint","cp","consumed","getCompatValue","compatConfig","isCompatEnabled","checkCompatEnabled","enabled","defaultOnError","error","defaultOnWarn","msg","createCompilerError","code","messages","additionalMessage","SyntaxError","String","isStaticExp","p","isCoreComponent","nonIdentifierRE","isSimpleIdentifier","name","validFirstIdentCharRE","validIdentCharRE","whitespaceRE","getExpSource","exp","isMemberExpressionBrowser","path","stateStack","currentOpenBracketCount","currentOpenParensCount","currentStringType","char","pop","isMemberExpression","fnExpRE","isFnExpressionBrowser","isFnExpression","findDir","allowEmpty","findProp","dynamicOnly","isStaticArgOf","arg","hasDynamicKeyVBind","some","isText$1","isVSlot","isTemplateNode","tagType","isSlotOutlet","propsHelperSet","getUnnormalizedProps","callPath","concat","injectProp","prop","propsWithInjection","parentCall","first","unshift","hasProp","result","propKeyName","toValidAssetId","searchValue","replaceValue","getMemoedVNodeCall","forAliasRE","defaultParserOptions","parseMode","ns","delimiters","getNamespace","isPreTag","isCustomElement","onError","onWarn","comments","prefixIdentifiers","currentOptions","currentRoot","currentInput","currentOpenTag","currentProp","currentAttrValue","currentAttrStartIndex","currentAttrEndIndex","inPre","currentVPreBoundary","tokenizer","emitError","onText","getSlice","ontextentity","innerStart","innerEnd","includes","decodeEntities","addNode","createExp","getLoc","endOpenTag","found","e","j","el","shift","onCloseTag","backTrack","isSelfClosing","nameLoc","raw","rawName","modifiers","dirToAttr","setLocEnd","mod","onattribentity","condense","expParseMode","forParseResult","parseForExpression","syncIndex","indexOf","splice","forIteratorRE","stripParensRE","inMatch","match","LHS","RHS","createAliasExpression","asParam","finalized","valueContent","trimmedOffset","iteratorMatch","keyContent","keyOffset","indexContent","innerLoc","parent","lastNode","isImplied","lookAhead","isFragmentTemplate","condenseWhitespace","inlineTemplateProp","find","specialTemplateDir","isUpperCase","isBuiltInComponent","isNativeTag","startsWith","windowsNewlineRE","nodes","shouldCondense","whitespace","removedWhitespace","isAllWhitespace","prev","next","hasNewlineChar","filter","Boolean","prevCharIsWhitespace","dir","attr","message","options","root","hoistStatic","walk","isSingleElementRoot","child","doNotHoistNode","originalCount","hoistedCount","constantType","getConstantType","hoist","flag","getGeneratedPropsConstantType","getNodeProps","scopes","vSlot","i2","branches","transformHoist","hoisted","hmr","constantCache","get","returnType2","generatedPropsType","childType","expType","returnType","allowHoistedHelperSet","getConstantTypeOfHelperCall","keyType","valueType","createTransformContext","filename","hoistStatic2","cacheHandlers","nodeTransforms","directiveTransforms","expressionPlugins","scopeId","slotted","ssrCssVars","bindingMetadata","inline","isTS","nameMatch","selfName","Map","WeakMap","identifiers","vFor","vPre","vOnce","grandParent","currentNode","childIndex","inVOnce","count","currentCount","delete","helperString","replaceNode","removeNode","list","removalIndex","onNodeRemoved","addIdentifiers","removeIdentifiers","identifier","isVNode","filters","transform","traverseNode","createRootCodegen","keys","transformed","traverseChildren","nodeRemoved","exitFns","onExit","createStructuralDirectiveTransform","matches","n","PURE_ANNOTATION","aliasHelper","createCodegenContext","ast","sourceMap","optimizeImports","runtimeGlobalName","runtimeModuleName","ssrRuntimeModuleName","indentLevel","pure","map","indent","deindent","withoutNewLine","repeat","generate","onContextCreated","from","hasHelpers","useWithBlock","preambleContext","genFunctionPreamble","functionName","signature","join","genAssets","genNode","preamble","toJSON","VueBinding","staticHelpers","genHoists","assets","resolver","id","maybeSelfReference","endsWith","JSON","stringify","genNodeListAsArray","multilines","genNodeList","comma","genText","genExpression","genInterpolation","genCompoundExpression","genComment","genVNodeCall","genCallExpression","genObjectExpression","genArrayExpression","genFunctionExpression","genConditionalExpression","genCacheExpression","genExpressionAsPropertyKey","text","patchFlagString","callHelper","genNullableArgs","isNonScopedSlot","needNewline","needsParens","isNested","RegExp","transformIf","processIf","ifNode","branch","isRoot","siblings","sibling","createCodegenNodeForBranch","parentCondition","getParentCondition","processCodegen","createIfBranch","condition","isTemplateIf","userKey","keyIndex","createChildrenCodegenNode","keyProperty","firstChild","needFragmentWrapper","vnodeCall","transformBind","_node","transformBindShorthand","injectPrefix","propName","prefix","transformFor","processFor","forNode","renderExp","isTemplate","memo","keyProp","keyExp","isStableFragment","fragmentFlag","childBlock","slotOutlet","loop","createForLoopParams","parseResult","finalizeForParseResult","valueAlias","keyAlias","objectIndexAlias","memoArgs","createParamsList","defaultFallback","trackSlotScopes","buildClientSlotFn","_vForExp","buildSlots","buildSlotFn","slotsProperties","dynamicSlots","hasDynamicSlots","onComponentSlot","hasTemplateSlots","hasNamedDefaultSlot","implicitDefaultChildren","seenSlotNames","conditionalBranchIndex","slotElement","slotDir","slotChildren","slotLoc","slotName","slotProps","dirLoc","staticSlotName","slotFunction","vIf","vElse","buildDynamicSlot","conditional","add","buildDefaultSlotProperty","children2","node2","isNonWhitespaceContent","slotFlag","hasForwardedSlots","slots","directiveImportMap","transformElement","vnodeTag","resolveComponentType","isDynamicComponent","vnodeProps","vnodeChildren","vnodeDynamicProps","dynamicPropNames","vnodeDirectives","shouldUseBlock","propsBuildResult","buildProps","buildDirectiveArgs","shouldBuildAsSlots","hasDynamicTextChild","stringifyDynamicPropNames","isExplicitDynamic","isComponentTag","isProp","builtIn","elementLoc","mergeArgs","runtimeDirectives","hasChildren","hasRef","hasClassBinding","hasStyleBinding","hasHydrationEventBinding","hasDynamicKeys","hasVnodeHook","pushMergeArg","dedupeProperties","pushRefVForMarker","analyzePatchFlag","isEventHandler","isVBind","isVOn","directiveTransform","props2","needRuntime","propsExpression","classKeyIndex","styleKeyIndex","hasDynamicKey","isHandlerKey","classProp","styleProp","knownProps","deduped","existing","mergeAsArray","incoming","dirArgs","runtime","trueExpression","modifier","propsNamesString","l","transformSlotOutlet","processSlotOutlet","slotArgs","expectedLen","nonNameProps","transformOn","augmentor","eventName","eventString","shouldCache","isMemberExp","isInlineStatement","hasMultipleStatements","transformText","currentContainer","hasText","callArgs","seen$1","WeakSet","transformOnce","cur","transformModel","createTransformProps","rawExp","expString","bindingType","maybeRef","assignmentExp","eventArg","m","modifiersKey","validDivisionCharRE","transformFilter","rewriteFilter","parseFilter","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","seen","transformMemo","getBaseTransformPreset","on","bind","model","baseCompile","isModuleMode","resolvedOptions","noopDirectiveTransform","V_MODEL_RADIO","V_MODEL_CHECKBOX","V_MODEL_TEXT","V_MODEL_SELECT","V_MODEL_DYNAMIC","V_ON_WITH_MODIFIERS","V_ON_WITH_KEYS","V_SHOW","TRANSITION","TRANSITION_GROUP","decoder","decodeHtmlBrowser","asAttr","document","createElement","innerHTML","getAttribute","textContent","parserOptions","rootNamespace","a","transformStyle","parseInlineCSS","normalized","createDOMCompilerError","transformVHtml","transformVText","baseResult","directiveToUse","isInvalidType","isEventOptionModifier","isNonKeyModifier","maybeKeyModifier","isKeyboardEvent","resolveModifiers","keyModifiers","nonKeyModifiers","eventOptionModifiers","transformClick","event","isStaticClick","handlerExp","modifierPostfix","transformShow","ignoreSideEffectTags","DOMNodeTransforms","DOMDirectiveTransforms","cloak","html","show","compile","src","compileCache","getCache","compileToFunction","template","nodeType","querySelector","opts","customElements","render","Function","_rc"],"sourceRoot":""}