vendor.js.map 806 KB

1
  1. {"version":3,"file":"vendor.js","sources":["../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/index.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-cloud/dist/uni-cloud.es.js"],"sourcesContent":["/**\r\n* @vue/shared v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\nfunction makeMap(str, expectsLowerCase) {\r\n const set = new Set(str.split(\",\"));\r\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\r\n}\r\n\r\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\r\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\r\nconst NOOP = () => {\r\n};\r\nconst NO = () => false;\r\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\r\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\r\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\r\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\r\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\r\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\r\nconst isFunction = (val) => typeof val === \"function\";\r\nconst isString = (val) => typeof val === \"string\";\r\nconst isSymbol = (val) => typeof val === \"symbol\";\r\nconst isObject = (val) => val !== null && typeof val === \"object\";\r\nconst isPromise = (val) => {\r\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\r\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\r\nconst isReservedProp = /* @__PURE__ */ makeMap(\r\n // the leading comma is intentional so empty string \"\" is also included\r\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\r\n);\r\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\r\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\r\n);\r\nconst cacheStringFunction = (fn) => {\r\n const cache = /* @__PURE__ */ Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\nconst hyphenate = cacheStringFunction(\r\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\r\n);\r\nconst capitalize = cacheStringFunction((str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n});\r\nconst toHandlerKey = cacheStringFunction((str) => {\r\n const s = str ? `on${capitalize(str)}` : ``;\r\n return s;\r\n});\r\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst looseToNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nconst toNumber = (val) => {\r\n const n = isString(val) ? Number(val) : NaN;\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\r\n};\r\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\r\nfunction genPropsAccessExp(name) {\r\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\r\n}\r\n\r\nconst PatchFlags = {\r\n \"TEXT\": 1,\r\n \"1\": \"TEXT\",\r\n \"CLASS\": 2,\r\n \"2\": \"CLASS\",\r\n \"STYLE\": 4,\r\n \"4\": \"STYLE\",\r\n \"PROPS\": 8,\r\n \"8\": \"PROPS\",\r\n \"FULL_PROPS\": 16,\r\n \"16\": \"FULL_PROPS\",\r\n \"NEED_HYDRATION\": 32,\r\n \"32\": \"NEED_HYDRATION\",\r\n \"STABLE_FRAGMENT\": 64,\r\n \"64\": \"STABLE_FRAGMENT\",\r\n \"KEYED_FRAGMENT\": 128,\r\n \"128\": \"KEYED_FRAGMENT\",\r\n \"UNKEYED_FRAGMENT\": 256,\r\n \"256\": \"UNKEYED_FRAGMENT\",\r\n \"NEED_PATCH\": 512,\r\n \"512\": \"NEED_PATCH\",\r\n \"DYNAMIC_SLOTS\": 1024,\r\n \"1024\": \"DYNAMIC_SLOTS\",\r\n \"DEV_ROOT_FRAGMENT\": 2048,\r\n \"2048\": \"DEV_ROOT_FRAGMENT\",\r\n \"HOISTED\": -1,\r\n \"-1\": \"HOISTED\",\r\n \"BAIL\": -2,\r\n \"-2\": \"BAIL\"\r\n};\r\nconst PatchFlagNames = {\r\n [1]: `TEXT`,\r\n [2]: `CLASS`,\r\n [4]: `STYLE`,\r\n [8]: `PROPS`,\r\n [16]: `FULL_PROPS`,\r\n [32]: `NEED_HYDRATION`,\r\n [64]: `STABLE_FRAGMENT`,\r\n [128]: `KEYED_FRAGMENT`,\r\n [256]: `UNKEYED_FRAGMENT`,\r\n [512]: `NEED_PATCH`,\r\n [1024]: `DYNAMIC_SLOTS`,\r\n [2048]: `DEV_ROOT_FRAGMENT`,\r\n [-1]: `HOISTED`,\r\n [-2]: `BAIL`\r\n};\r\n\r\nconst ShapeFlags = {\r\n \"ELEMENT\": 1,\r\n \"1\": \"ELEMENT\",\r\n \"FUNCTIONAL_COMPONENT\": 2,\r\n \"2\": \"FUNCTIONAL_COMPONENT\",\r\n \"STATEFUL_COMPONENT\": 4,\r\n \"4\": \"STATEFUL_COMPONENT\",\r\n \"TEXT_CHILDREN\": 8,\r\n \"8\": \"TEXT_CHILDREN\",\r\n \"ARRAY_CHILDREN\": 16,\r\n \"16\": \"ARRAY_CHILDREN\",\r\n \"SLOTS_CHILDREN\": 32,\r\n \"32\": \"SLOTS_CHILDREN\",\r\n \"TELEPORT\": 64,\r\n \"64\": \"TELEPORT\",\r\n \"SUSPENSE\": 128,\r\n \"128\": \"SUSPENSE\",\r\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\r\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\r\n \"COMPONENT_KEPT_ALIVE\": 512,\r\n \"512\": \"COMPONENT_KEPT_ALIVE\",\r\n \"COMPONENT\": 6,\r\n \"6\": \"COMPONENT\"\r\n};\r\n\r\nconst SlotFlags = {\r\n \"STABLE\": 1,\r\n \"1\": \"STABLE\",\r\n \"DYNAMIC\": 2,\r\n \"2\": \"DYNAMIC\",\r\n \"FORWARDED\": 3,\r\n \"3\": \"FORWARDED\"\r\n};\r\nconst slotFlagsText = {\r\n [1]: \"STABLE\",\r\n [2]: \"DYNAMIC\",\r\n [3]: \"FORWARDED\"\r\n};\r\n\r\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\";\r\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\r\nconst isGloballyWhitelisted = isGloballyAllowed;\r\n\r\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n let lines = source.split(/(\\r?\\n)/);\r\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\r\n lines = lines.filter((_, idx) => idx % 2 === 0);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(\r\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\r\n );\r\n const lineLength = lines[j].length;\r\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\r\n if (j === i) {\r\n const pad = start - (count - (lineLength + newLineSeqLength));\r\n const length = Math.max(\r\n 1,\r\n end > count ? lineLength - pad : end - start\r\n );\r\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\r\n } else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + \"^\".repeat(length));\r\n }\r\n count += lineLength + newLineSeqLength;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join(\"\\n\");\r\n}\r\n\r\nfunction normalizeStyle(value) {\r\n if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n } else if (isString(value) || isObject(value)) {\r\n return value;\r\n }\r\n}\r\nconst listDelimiterRE = /;(?![^(]*\\))/g;\r\nconst propertyDelimiterRE = /:([^]+)/;\r\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\r\nfunction parseStringStyle(cssText) {\r\n const ret = {};\r\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\r\n if (item) {\r\n const tmp = item.split(propertyDelimiterRE);\r\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\r\n }\r\n });\r\n return ret;\r\n}\r\nfunction stringifyStyle(styles) {\r\n let ret = \"\";\r\n if (!styles || isString(styles)) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n const value = styles[key];\r\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\r\n if (isString(value) || typeof value === \"number\") {\r\n ret += `${normalizedKey}:${value};`;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction normalizeClass(value) {\r\n let res = \"\";\r\n if (isString(value)) {\r\n res = value;\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + \" \";\r\n }\r\n }\r\n } else if (isObject(value)) {\r\n for (const name in value) {\r\n if (value[name]) {\r\n res += name + \" \";\r\n }\r\n }\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\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\";\r\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\";\r\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\";\r\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\r\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\r\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\r\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\r\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\r\n\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\r\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\r\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\r\n);\r\nfunction includeBooleanAttr(value) {\r\n return !!value || value === \"\";\r\n}\r\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\r\nconst attrValidationCache = {};\r\nfunction isSSRSafeAttrName(name) {\r\n if (attrValidationCache.hasOwnProperty(name)) {\r\n return attrValidationCache[name];\r\n }\r\n const isUnsafe = unsafeAttrCharRE.test(name);\r\n if (isUnsafe) {\r\n console.error(`unsafe attribute name: ${name}`);\r\n }\r\n return attrValidationCache[name] = !isUnsafe;\r\n}\r\nconst propsToAttrMap = {\r\n acceptCharset: \"accept-charset\",\r\n className: \"class\",\r\n htmlFor: \"for\",\r\n httpEquiv: \"http-equiv\"\r\n};\r\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\r\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`\r\n);\r\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\r\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`\r\n);\r\nfunction isRenderableAttrValue(value) {\r\n if (value == null) {\r\n return false;\r\n }\r\n const type = typeof value;\r\n return type === \"string\" || type === \"number\" || type === \"boolean\";\r\n}\r\n\r\nconst escapeRE = /[\"'&<>]/;\r\nfunction escapeHtml(string) {\r\n const str = \"\" + string;\r\n const match = escapeRE.exec(str);\r\n if (!match) {\r\n return str;\r\n }\r\n let html = \"\";\r\n let escaped;\r\n let index;\r\n let lastIndex = 0;\r\n for (index = match.index; index < str.length; index++) {\r\n switch (str.charCodeAt(index)) {\r\n case 34:\r\n escaped = \"&quot;\";\r\n break;\r\n case 38:\r\n escaped = \"&amp;\";\r\n break;\r\n case 39:\r\n escaped = \"&#39;\";\r\n break;\r\n case 60:\r\n escaped = \"&lt;\";\r\n break;\r\n case 62:\r\n escaped = \"&gt;\";\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== index) {\r\n html += str.slice(lastIndex, index);\r\n }\r\n lastIndex = index + 1;\r\n html += escaped;\r\n }\r\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\r\n}\r\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\r\nfunction escapeHtmlComment(src) {\r\n return src.replace(commentStripRE, \"\");\r\n}\r\n\r\nfunction looseCompareArrays(a, b) {\r\n if (a.length !== b.length)\r\n return false;\r\n let equal = true;\r\n for (let i = 0; equal && i < a.length; i++) {\r\n equal = looseEqual(a[i], b[i]);\r\n }\r\n return equal;\r\n}\r\nfunction looseEqual(a, b) {\r\n if (a === b)\r\n return true;\r\n let aValidType = isDate(a);\r\n let bValidType = isDate(b);\r\n if (aValidType || bValidType) {\r\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\r\n }\r\n aValidType = isSymbol(a);\r\n bValidType = isSymbol(b);\r\n if (aValidType || bValidType) {\r\n return a === b;\r\n }\r\n aValidType = isArray(a);\r\n bValidType = isArray(b);\r\n if (aValidType || bValidType) {\r\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\r\n }\r\n aValidType = isObject(a);\r\n bValidType = isObject(b);\r\n if (aValidType || bValidType) {\r\n if (!aValidType || !bValidType) {\r\n return false;\r\n }\r\n const aKeysCount = Object.keys(a).length;\r\n const bKeysCount = Object.keys(b).length;\r\n if (aKeysCount !== bKeysCount) {\r\n return false;\r\n }\r\n for (const key in a) {\r\n const aHasKey = a.hasOwnProperty(key);\r\n const bHasKey = b.hasOwnProperty(key);\r\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n }\r\n return String(a) === String(b);\r\n}\r\nfunction looseIndexOf(arr, val) {\r\n return arr.findIndex((item) => looseEqual(item, val));\r\n}\r\n\r\nconst toDisplayString = (val) => {\r\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n if (val && val.__v_isRef) {\r\n return replacer(_key, val.value);\r\n } else if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce(\r\n (entries, [key, val2], i) => {\r\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\r\n return entries;\r\n },\r\n {}\r\n )\r\n };\r\n } else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\r\n };\r\n } else if (isSymbol(val)) {\r\n return stringifySymbol(val);\r\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\r\nconst stringifySymbol = (v, i = \"\") => {\r\n var _a;\r\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\r\n};\r\n\r\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 };\r\n","const isObject = (val) => val !== null && typeof val === 'object';\r\nconst defaultDelimiters = ['{', '}'];\r\nclass BaseFormatter {\r\n constructor() {\r\n this._caches = Object.create(null);\r\n }\r\n interpolate(message, values, delimiters = defaultDelimiters) {\r\n if (!values) {\r\n return [message];\r\n }\r\n let tokens = this._caches[message];\r\n if (!tokens) {\r\n tokens = parse(message, delimiters);\r\n this._caches[message] = tokens;\r\n }\r\n return compile(tokens, values);\r\n }\r\n}\r\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\r\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\r\nfunction parse(format, [startDelimiter, endDelimiter]) {\r\n const tokens = [];\r\n let position = 0;\r\n let text = '';\r\n while (position < format.length) {\r\n let char = format[position++];\r\n if (char === startDelimiter) {\r\n if (text) {\r\n tokens.push({ type: 'text', value: text });\r\n }\r\n text = '';\r\n let sub = '';\r\n char = format[position++];\r\n while (char !== undefined && char !== endDelimiter) {\r\n sub += char;\r\n char = format[position++];\r\n }\r\n const isClosed = char === endDelimiter;\r\n const type = RE_TOKEN_LIST_VALUE.test(sub)\r\n ? 'list'\r\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\r\n ? 'named'\r\n : 'unknown';\r\n tokens.push({ value: sub, type });\r\n }\r\n // else if (char === '%') {\r\n // // when found rails i18n syntax, skip text capture\r\n // if (format[position] !== '{') {\r\n // text += char\r\n // }\r\n // }\r\n else {\r\n text += char;\r\n }\r\n }\r\n text && tokens.push({ type: 'text', value: text });\r\n return tokens;\r\n}\r\nfunction compile(tokens, values) {\r\n const compiled = [];\r\n let index = 0;\r\n const mode = Array.isArray(values)\r\n ? 'list'\r\n : isObject(values)\r\n ? 'named'\r\n : 'unknown';\r\n if (mode === 'unknown') {\r\n return compiled;\r\n }\r\n while (index < tokens.length) {\r\n const token = tokens[index];\r\n switch (token.type) {\r\n case 'text':\r\n compiled.push(token.value);\r\n break;\r\n case 'list':\r\n compiled.push(values[parseInt(token.value, 10)]);\r\n break;\r\n case 'named':\r\n if (mode === 'named') {\r\n compiled.push(values[token.value]);\r\n }\r\n else {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\r\n }\r\n }\r\n break;\r\n case 'unknown':\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Detect 'unknown' type of token!`);\r\n }\r\n break;\r\n }\r\n index++;\r\n }\r\n return compiled;\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst defaultFormatter = new BaseFormatter();\r\nfunction include(str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1);\r\n}\r\nfunction startsWith(str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0);\r\n}\r\nfunction normalizeLocale(locale, messages) {\r\n if (!locale) {\r\n return;\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale;\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS;\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS;\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n return LOCALE_ZH_HANS;\r\n }\r\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\r\n if (messages && Object.keys(messages).length > 0) {\r\n locales = Object.keys(messages);\r\n }\r\n const lang = startsWith(locale, locales);\r\n if (lang) {\r\n return lang;\r\n }\r\n}\r\nclass I18n {\r\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\r\n this.locale = LOCALE_EN;\r\n this.fallbackLocale = LOCALE_EN;\r\n this.message = {};\r\n this.messages = {};\r\n this.watchers = [];\r\n if (fallbackLocale) {\r\n this.fallbackLocale = fallbackLocale;\r\n }\r\n this.formater = formater || defaultFormatter;\r\n this.messages = messages || {};\r\n this.setLocale(locale || LOCALE_EN);\r\n if (watcher) {\r\n this.watchLocale(watcher);\r\n }\r\n }\r\n setLocale(locale) {\r\n const oldLocale = this.locale;\r\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\r\n if (!this.messages[this.locale]) {\r\n // 可能初始化时不存在\r\n this.messages[this.locale] = {};\r\n }\r\n this.message = this.messages[this.locale];\r\n // 仅发生变化时,通知\r\n if (oldLocale !== this.locale) {\r\n this.watchers.forEach((watcher) => {\r\n watcher(this.locale, oldLocale);\r\n });\r\n }\r\n }\r\n getLocale() {\r\n return this.locale;\r\n }\r\n watchLocale(fn) {\r\n const index = this.watchers.push(fn) - 1;\r\n return () => {\r\n this.watchers.splice(index, 1);\r\n };\r\n }\r\n add(locale, message, override = true) {\r\n const curMessages = this.messages[locale];\r\n if (curMessages) {\r\n if (override) {\r\n Object.assign(curMessages, message);\r\n }\r\n else {\r\n Object.keys(message).forEach((key) => {\r\n if (!hasOwn(curMessages, key)) {\r\n curMessages[key] = message[key];\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.messages[locale] = message;\r\n }\r\n }\r\n f(message, values, delimiters) {\r\n return this.formater.interpolate(message, values, delimiters).join('');\r\n }\r\n t(key, locale, values) {\r\n let message = this.message;\r\n if (typeof locale === 'string') {\r\n locale = normalizeLocale(locale, this.messages);\r\n locale && (message = this.messages[locale]);\r\n }\r\n else {\r\n values = locale;\r\n }\r\n if (!hasOwn(message, key)) {\r\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\r\n return key;\r\n }\r\n return this.formater.interpolate(message[key], values).join('');\r\n }\r\n}\r\n\r\nfunction watchAppLocale(appVm, i18n) {\r\n // 需要保证 watch 的触发在组件渲染之前\r\n if (appVm.$watchLocale) {\r\n // vue2\r\n appVm.$watchLocale((newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n else {\r\n appVm.$watch(() => appVm.$locale, (newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n}\r\nfunction getDefaultLocale() {\r\n if (typeof uni !== 'undefined' && uni.getLocale) {\r\n return uni.getLocale();\r\n }\r\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\r\n if (typeof global !== 'undefined' && global.getLocale) {\r\n return global.getLocale();\r\n }\r\n return LOCALE_EN;\r\n}\r\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\r\n // 兼容旧版本入参\r\n if (typeof locale !== 'string') {\r\n // ;[locale, messages] = [\r\n // messages as unknown as string,\r\n // locale as unknown as LocaleMessages,\r\n // ]\r\n // 暂不使用数组解构,uts编译器暂未支持。\r\n const options = [\r\n messages,\r\n locale,\r\n ];\r\n locale = options[0];\r\n messages = options[1];\r\n }\r\n if (typeof locale !== 'string') {\r\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\r\n locale = getDefaultLocale();\r\n }\r\n if (typeof fallbackLocale !== 'string') {\r\n fallbackLocale =\r\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\r\n LOCALE_EN;\r\n }\r\n const i18n = new I18n({\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n watcher,\r\n });\r\n let t = (key, values) => {\r\n if (typeof getApp !== 'function') {\r\n // app view\r\n /* eslint-disable no-func-assign */\r\n t = function (key, values) {\r\n return i18n.t(key, values);\r\n };\r\n }\r\n else {\r\n let isWatchedAppLocale = false;\r\n t = function (key, values) {\r\n const appVm = getApp().$vm;\r\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\r\n // options: {\r\n // \ttype: Array,\r\n // \tdefault () {\r\n // \t\treturn [{\r\n // \t\t\ticon: 'shop',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\r\n // \t\t}, {\r\n // \t\t\ticon: 'cart',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\r\n // \t\t}]\r\n // \t}\r\n // },\r\n if (appVm) {\r\n // 触发响应式\r\n appVm.$locale;\r\n if (!isWatchedAppLocale) {\r\n isWatchedAppLocale = true;\r\n watchAppLocale(appVm, i18n);\r\n }\r\n }\r\n return i18n.t(key, values);\r\n };\r\n }\r\n return t(key, values);\r\n };\r\n return {\r\n i18n,\r\n f(message, values, delimiters) {\r\n return i18n.f(message, values, delimiters);\r\n },\r\n t(key, values) {\r\n return t(key, values);\r\n },\r\n add(locale, message, override = true) {\r\n return i18n.add(locale, message, override);\r\n },\r\n watch(fn) {\r\n return i18n.watchLocale(fn);\r\n },\r\n getLocale() {\r\n return i18n.getLocale();\r\n },\r\n setLocale(newLocale) {\r\n return i18n.setLocale(newLocale);\r\n },\r\n };\r\n}\r\n\r\nconst isString = (val) => typeof val === 'string';\r\nlet formater;\r\nfunction hasI18nJson(jsonObj, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n return walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return hasI18nJson(value, delimiters);\r\n }\r\n });\r\n}\r\nfunction parseI18nJson(jsonObj, values, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, values, delimiters);\r\n }\r\n }\r\n else {\r\n parseI18nJson(value, values, delimiters);\r\n }\r\n });\r\n return jsonObj;\r\n}\r\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\r\n if (!isI18nStr(jsonStr, delimiters)) {\r\n return jsonStr;\r\n }\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n const localeValues = [];\r\n Object.keys(locales).forEach((name) => {\r\n if (name !== locale) {\r\n localeValues.push({\r\n locale: name,\r\n values: locales[name],\r\n });\r\n }\r\n });\r\n localeValues.unshift({ locale, values: locales[locale] });\r\n try {\r\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\r\n }\r\n catch (e) { }\r\n return jsonStr;\r\n}\r\nfunction isI18nStr(value, delimiters) {\r\n return value.indexOf(delimiters[0]) > -1;\r\n}\r\nfunction compileStr(value, values, delimiters) {\r\n return formater.interpolate(value, values, delimiters).join('');\r\n}\r\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n // 存在国际化\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\r\n if (localeValues.length > 1) {\r\n // 格式化国际化语言\r\n const valueLocales = (jsonObj[key + 'Locales'] = {});\r\n localeValues.forEach((localValue) => {\r\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n compileJsonObj(value, localeValues, delimiters);\r\n }\r\n}\r\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n compileValue(jsonObj, key, localeValues, delimiters);\r\n });\r\n return jsonObj;\r\n}\r\nfunction walkJsonObj(jsonObj, walk) {\r\n if (Array.isArray(jsonObj)) {\r\n for (let i = 0; i < jsonObj.length; i++) {\r\n if (walk(jsonObj, i)) {\r\n return true;\r\n }\r\n }\r\n }\r\n else if (isObject(jsonObj)) {\r\n for (const key in jsonObj) {\r\n if (walk(jsonObj, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nfunction resolveLocale(locales) {\r\n return (locale) => {\r\n if (!locale) {\r\n return locale;\r\n }\r\n locale = normalizeLocale(locale) || locale;\r\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\r\n };\r\n}\r\nfunction resolveLocaleChain(locale) {\r\n const chain = [];\r\n const tokens = locale.split('-');\r\n while (tokens.length) {\r\n chain.push(tokens.join('-'));\r\n tokens.pop();\r\n }\r\n return chain;\r\n}\r\n\r\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\r\n","import { isHTMLTag, isSVGTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize } from '@vue/shared';\r\n\r\nconst BUILT_IN_TAG_NAMES = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'audio',\r\n 'button',\r\n 'camera',\r\n 'canvas',\r\n 'checkbox',\r\n 'checkbox-group',\r\n 'cover-image',\r\n 'cover-view',\r\n 'editor',\r\n 'form',\r\n 'functional-page-navigator',\r\n 'icon',\r\n 'image',\r\n 'input',\r\n 'label',\r\n 'live-player',\r\n 'live-pusher',\r\n 'map',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'official-account',\r\n 'open-data',\r\n 'picker',\r\n 'picker-view',\r\n 'picker-view-column',\r\n 'progress',\r\n 'radio',\r\n 'radio-group',\r\n 'rich-text',\r\n 'scroll-view',\r\n 'slider',\r\n 'swiper',\r\n 'swiper-item',\r\n 'switch',\r\n 'text',\r\n 'textarea',\r\n 'video',\r\n 'view',\r\n 'web-view',\r\n 'location-picker',\r\n 'location-view',\r\n];\r\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\r\nconst TAGS = [\r\n 'app',\r\n 'layout',\r\n 'content',\r\n 'main',\r\n 'top-window',\r\n 'left-window',\r\n 'right-window',\r\n 'tabbar',\r\n 'page',\r\n 'page-head',\r\n 'page-wrapper',\r\n 'page-body',\r\n 'page-refresh',\r\n 'actionsheet',\r\n 'modal',\r\n 'toast',\r\n 'resize-sensor',\r\n 'shadow-root',\r\n].map((tag) => 'uni-' + tag);\r\nconst NVUE_BUILT_IN_TAGS = [\r\n 'svg',\r\n 'view',\r\n 'a',\r\n 'div',\r\n 'img',\r\n 'image',\r\n 'text',\r\n 'span',\r\n 'input',\r\n 'textarea',\r\n 'spinner',\r\n 'select',\r\n // slider 被自定义 u-slider 替代\r\n // 'slider',\r\n 'slider-neighbor',\r\n 'indicator',\r\n 'canvas',\r\n 'list',\r\n 'cell',\r\n 'header',\r\n 'loading',\r\n 'loading-indicator',\r\n 'refresh',\r\n 'scrollable',\r\n 'scroller',\r\n 'video',\r\n 'web',\r\n 'embed',\r\n 'tabbar',\r\n 'tabheader',\r\n 'datepicker',\r\n 'timepicker',\r\n 'marquee',\r\n 'countdown',\r\n 'dc-switch',\r\n 'waterfall',\r\n 'richtext',\r\n 'recycle-list',\r\n 'u-scalable',\r\n 'barcode',\r\n 'gcanvas',\r\n];\r\nconst UVUE_BUILT_IN_TAGS = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'native-view',\r\n 'loading-indicator',\r\n 'list-view',\r\n 'list-item',\r\n 'swiper',\r\n 'swiper-item',\r\n 'rich-text',\r\n 'sticky-view',\r\n 'sticky-header',\r\n 'sticky-section',\r\n // 自定义\r\n 'uni-slider',\r\n // 原生实现\r\n 'button',\r\n 'nested-scroll-header',\r\n 'nested-scroll-body',\r\n 'waterflow',\r\n 'flow-item',\r\n];\r\nconst UVUE_WEB_BUILT_IN_TAGS = [\r\n 'list-view',\r\n 'list-item',\r\n 'sticky-section',\r\n 'sticky-header',\r\n 'cloud-db-element',\r\n].map((tag) => 'uni-' + tag);\r\nconst UVUE_IOS_BUILT_IN_TAGS = [\r\n 'scroll-view',\r\n 'web-view',\r\n 'slider',\r\n 'form',\r\n 'switch',\r\n];\r\nconst NVUE_U_BUILT_IN_TAGS = [\r\n 'u-text',\r\n 'u-image',\r\n 'u-input',\r\n 'u-textarea',\r\n 'u-video',\r\n 'u-web-view',\r\n 'u-slider',\r\n 'u-ad',\r\n 'u-ad-draw',\r\n 'u-rich-text',\r\n];\r\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\r\nfunction isBuiltInComponent(tag) {\r\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\r\n return false;\r\n }\r\n // h5 平台会被转换为 v-uni-\r\n const realTag = 'uni-' + tag.replace('v-uni-', '');\r\n // TODO 区分x和非x\r\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\r\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\r\n}\r\nfunction isH5CustomElement(tag, isX = false) {\r\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\r\n return true;\r\n }\r\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\r\n}\r\nfunction isUniXElement(name) {\r\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\r\n}\r\nfunction isH5NativeTag(tag) {\r\n return (tag !== 'head' &&\r\n (isHTMLTag(tag) || isSVGTag(tag)) &&\r\n !isBuiltInComponent(tag));\r\n}\r\nfunction isAppNativeTag(tag) {\r\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\r\n}\r\nconst NVUE_CUSTOM_COMPONENTS = [\r\n 'ad',\r\n 'ad-draw',\r\n 'button',\r\n 'checkbox-group',\r\n 'checkbox',\r\n 'form',\r\n 'icon',\r\n 'label',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'picker',\r\n 'progress',\r\n 'radio-group',\r\n 'radio',\r\n 'rich-text',\r\n 'swiper-item',\r\n 'swiper',\r\n 'switch',\r\n 'slider',\r\n 'picker-view',\r\n 'picker-view-column',\r\n];\r\n// 内置的easycom组件\r\nconst UVUE_BUILT_IN_EASY_COMPONENTS = ['map'];\r\nfunction isAppUVueBuiltInEasyComponent(tag) {\r\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\r\n}\r\n// 主要是指前端实现的组件列表\r\nconst UVUE_CUSTOM_COMPONENTS = [\r\n ...NVUE_CUSTOM_COMPONENTS,\r\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\r\n];\r\nfunction isAppUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppIOSUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppNVueNativeTag(tag) {\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isMiniProgramNativeTag(tag) {\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction isMiniProgramUVueNativeTag(tag) {\r\n // 小程序平台内置的自定义元素,会被转换为 view\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction createIsCustomElement(tags = []) {\r\n return function isCustomElement(tag) {\r\n return tags.includes(tag);\r\n };\r\n}\r\nfunction isComponentTag(tag) {\r\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\r\n}\r\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\r\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\r\n\r\nconst LINEFEED = '\\n';\r\nconst NAVBAR_HEIGHT = 44;\r\nconst TABBAR_HEIGHT = 50;\r\nconst ON_REACH_BOTTOM_DISTANCE = 50;\r\nconst RESPONSIVE_MIN_WIDTH = 768;\r\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\r\n// quickapp-webview 不能使用 default 作为插槽名称\r\nconst SLOT_DEFAULT_NAME = 'd';\r\nconst COMPONENT_NAME_PREFIX = 'VUni';\r\nconst I18N_JSON_DELIMITERS = ['%', '%'];\r\nconst PRIMARY_COLOR = '#007aff';\r\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\r\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\r\nconst UNI_SSR = '__uniSSR';\r\nconst UNI_SSR_TITLE = 'title';\r\nconst UNI_SSR_STORE = 'store';\r\nconst UNI_SSR_DATA = 'data';\r\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\r\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\r\nconst DATA_RE = /^data:.*,.*/;\r\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\r\nconst WXS_PROTOCOL = 'wxs://';\r\nconst JSON_PROTOCOL = 'json://';\r\nconst WXS_MODULES = 'wxsModules';\r\nconst RENDERJS_MODULES = 'renderjsModules';\r\n// lifecycle\r\n// App and Page\r\nconst ON_SHOW = 'onShow';\r\nconst ON_HIDE = 'onHide';\r\n//App\r\nconst ON_LAUNCH = 'onLaunch';\r\nconst ON_ERROR = 'onError';\r\nconst ON_THEME_CHANGE = 'onThemeChange';\r\nconst OFF_THEME_CHANGE = 'offThemeChange';\r\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\r\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\r\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\r\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\r\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\r\nconst ON_EXIT = 'onExit';\r\n//Page\r\nconst ON_LOAD = 'onLoad';\r\nconst ON_READY = 'onReady';\r\nconst ON_UNLOAD = 'onUnload';\r\n// 百度特有\r\nconst ON_INIT = 'onInit';\r\n// 微信特有\r\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\r\nconst ON_RESIZE = 'onResize';\r\nconst ON_BACK_PRESS = 'onBackPress';\r\nconst ON_PAGE_SCROLL = 'onPageScroll';\r\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\r\nconst ON_REACH_BOTTOM = 'onReachBottom';\r\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\r\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\r\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\r\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\r\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\r\n// navigationBar\r\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\r\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\r\n// framework\r\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\r\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\r\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\r\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\r\n// mergeVirtualHostAttributes\r\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\r\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\r\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\r\nconst VIRTUAL_HOST_ID = 'virtualHostId';\r\n\r\nfunction cache(fn) {\r\n const cache = Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\nfunction cacheStringFunction(fn) {\r\n return cache(fn);\r\n}\r\nfunction getLen(str = '') {\r\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\r\n}\r\nfunction hasLeadingSlash(str) {\r\n return str.indexOf('/') === 0;\r\n}\r\nfunction addLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str : '/' + str;\r\n}\r\nfunction removeLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str.slice(1) : str;\r\n}\r\nconst invokeArrayFns = (fns, arg) => {\r\n let ret;\r\n for (let i = 0; i < fns.length; i++) {\r\n ret = fns[i](arg);\r\n }\r\n return ret;\r\n};\r\nfunction updateElementStyle(element, styles) {\r\n for (const attrName in styles) {\r\n element.style[attrName] = styles[attrName];\r\n }\r\n}\r\nfunction once(fn, ctx = null) {\r\n let res;\r\n return ((...args) => {\r\n if (fn) {\r\n res = fn.apply(ctx, args);\r\n fn = null;\r\n }\r\n return res;\r\n });\r\n}\r\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\r\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\r\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\r\n if (mode === 'time') {\r\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\r\n }\r\n else {\r\n return (date.getFullYear() +\r\n '-' +\r\n _completeValue(date.getMonth() + 1) +\r\n '-' +\r\n _completeValue(date.getDate()));\r\n }\r\n}\r\nfunction callOptions(options, data) {\r\n options = options || {};\r\n if (isString(data)) {\r\n data = {\r\n errMsg: data,\r\n };\r\n }\r\n if (/:ok$/.test(data.errMsg)) {\r\n if (isFunction(options.success)) {\r\n options.success(data);\r\n }\r\n }\r\n else {\r\n if (isFunction(options.fail)) {\r\n options.fail(data);\r\n }\r\n }\r\n if (isFunction(options.complete)) {\r\n options.complete(data);\r\n }\r\n}\r\nfunction getValueByDataPath(obj, path) {\r\n if (!isString(path)) {\r\n return;\r\n }\r\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\r\n const parts = path.split('.');\r\n let key = parts[0];\r\n if (!obj) {\r\n obj = {};\r\n }\r\n if (parts.length === 1) {\r\n return obj[key];\r\n }\r\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\r\n}\r\nfunction sortObject(obj) {\r\n let sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj)\r\n .sort()\r\n .forEach((key) => {\r\n const _key = key;\r\n sortObj[_key] = obj[_key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj;\r\n}\r\nfunction getGlobalOnce() {\r\n if (typeof globalThis !== 'undefined') {\r\n return globalThis;\r\n }\r\n // worker\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n // browser\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n // nodejs\r\n // if (typeof global !== 'undefined') {\r\n // return global\r\n // }\r\n function g() {\r\n return this;\r\n }\r\n if (typeof g() !== 'undefined') {\r\n return g();\r\n }\r\n return (function () {\r\n return new Function('return this')();\r\n })();\r\n}\r\nlet g = undefined;\r\nfunction getGlobal() {\r\n if (g) {\r\n return g;\r\n }\r\n g = getGlobalOnce();\r\n return g;\r\n}\r\n\r\nfunction isComponentInternalInstance(vm) {\r\n return !!vm.appContext;\r\n}\r\nfunction resolveComponentInstance(instance) {\r\n return (instance &&\r\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\r\n}\r\nfunction resolveOwnerVm(vm) {\r\n if (!vm) {\r\n return;\r\n }\r\n let componentName = vm.type.name;\r\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\r\n // ownerInstance 内置组件需要使用父 vm\r\n vm = vm.parent;\r\n componentName = vm.type.name;\r\n }\r\n return vm.proxy;\r\n}\r\nfunction isElement(el) {\r\n // Element\r\n return el.nodeType === 1;\r\n}\r\nfunction resolveOwnerEl(instance, multi = false) {\r\n const { vnode } = instance;\r\n if (isElement(vnode.el)) {\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n }\r\n const { subTree } = instance;\r\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\r\n if (subTree.shapeFlag & 16) {\r\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\r\n if (elemVNodes.length > 0) {\r\n if (multi) {\r\n return elemVNodes.map((node) => node.el);\r\n }\r\n return elemVNodes[0].el;\r\n }\r\n }\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n}\r\nfunction dynamicSlotName(name) {\r\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\r\n}\r\nconst customizeRE = /:/g;\r\nfunction customizeEvent(str) {\r\n return camelize(str.replace(customizeRE, '-'));\r\n}\r\nfunction normalizeStyle(value) {\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n const styleObject = {};\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n styleObject[key] = value[key];\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (value instanceof Map) {\r\n const styleObject = {};\r\n value.forEach((value, key) => {\r\n styleObject[key] = value;\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (isString(value)) {\r\n return parseStringStyle(value);\r\n }\r\n else if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item)\r\n ? parseStringStyle(item)\r\n : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n else {\r\n return normalizeStyle$1(value);\r\n }\r\n}\r\nfunction normalizeClass(value) {\r\n let res = '';\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n if (value[key]) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (value instanceof Map) {\r\n value.forEach((value, key) => {\r\n if (value) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + ' ';\r\n }\r\n }\r\n }\r\n else {\r\n res = normalizeClass$1(value);\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\nlet lastLogTime = 0;\r\nfunction formatLog(module, ...args) {\r\n const now = Date.now();\r\n const diff = lastLogTime ? now - lastLogTime : 0;\r\n lastLogTime = now;\r\n return `[${now}][${diff}ms][${module}]:${args\r\n .map((arg) => JSON.stringify(arg))\r\n .join(' ')}`;\r\n}\r\n\r\nfunction formatKey(key) {\r\n return camelize(key.substring(5));\r\n}\r\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\r\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\r\n isBuiltInElement =\r\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\r\n const prototype = HTMLElement.prototype;\r\n const setAttribute = prototype.setAttribute;\r\n prototype.setAttribute = function (key, value) {\r\n if (key.startsWith('data-') && isBuiltInElement(this)) {\r\n const dataset = this.__uniDataset ||\r\n (this.__uniDataset = {});\r\n dataset[formatKey(key)] = value;\r\n }\r\n setAttribute.call(this, key, value);\r\n };\r\n const removeAttribute = prototype.removeAttribute;\r\n prototype.removeAttribute = function (key) {\r\n if (this.__uniDataset &&\r\n key.startsWith('data-') &&\r\n isBuiltInElement(this)) {\r\n delete this.__uniDataset[formatKey(key)];\r\n }\r\n removeAttribute.call(this, key);\r\n };\r\n});\r\nfunction getCustomDataset(el) {\r\n return extend({}, el.dataset, el.__uniDataset);\r\n}\r\n\r\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\r\nfunction toFixed(number, precision) {\r\n const multiplier = Math.pow(10, precision + 1);\r\n const wholeNumber = Math.floor(number * multiplier);\r\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\r\n}\r\nconst defaultRpx2Unit = {\r\n unit: 'rem',\r\n unitRatio: 10 / 320,\r\n unitPrecision: 5,\r\n};\r\nconst defaultMiniProgramRpx2Unit = {\r\n unit: 'rpx',\r\n unitRatio: 1,\r\n unitPrecision: 1,\r\n};\r\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\r\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\r\n // ignore: rpxCalcIncludeWidth\r\n return (val) => val.replace(unitRE, (m, $1) => {\r\n if (!$1) {\r\n return m;\r\n }\r\n if (unitRatio === 1) {\r\n return `${$1}${unit}`;\r\n }\r\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\r\n return value === 0 ? '0' : `${value}${unit}`;\r\n });\r\n}\r\n\r\nfunction passive(passive) {\r\n return { passive };\r\n}\r\nfunction normalizeDataset(el) {\r\n // TODO\r\n return JSON.parse(JSON.stringify(el.dataset || {}));\r\n}\r\nfunction normalizeTarget(el) {\r\n const { id, offsetTop, offsetLeft } = el;\r\n return {\r\n id,\r\n dataset: getCustomDataset(el),\r\n offsetTop,\r\n offsetLeft,\r\n };\r\n}\r\nfunction addFont(family, source, desc) {\r\n const fonts = document.fonts;\r\n if (fonts) {\r\n const fontFace = new FontFace(family, source, desc);\r\n return fontFace.load().then(() => {\r\n fonts.add && fonts.add(fontFace);\r\n });\r\n }\r\n return new Promise((resolve) => {\r\n const style = document.createElement('style');\r\n const values = [];\r\n if (desc) {\r\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\r\n style && values.push(`font-style:${style}`);\r\n weight && values.push(`font-weight:${weight}`);\r\n stretch && values.push(`font-stretch:${stretch}`);\r\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\r\n variant && values.push(`font-variant:${variant}`);\r\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\r\n }\r\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\r\n document.head.appendChild(style);\r\n resolve();\r\n });\r\n}\r\nfunction scrollTo(scrollTop, duration, isH5) {\r\n if (isString(scrollTop)) {\r\n const el = document.querySelector(scrollTop);\r\n if (el) {\r\n const { top } = el.getBoundingClientRect();\r\n scrollTop = top + window.pageYOffset;\r\n // 如果存在,减去 <uni-page-head> 高度\r\n const pageHeader = document.querySelector('uni-page-head');\r\n if (pageHeader) {\r\n scrollTop -= pageHeader.offsetHeight;\r\n }\r\n }\r\n }\r\n if (scrollTop < 0) {\r\n scrollTop = 0;\r\n }\r\n const documentElement = document.documentElement;\r\n const { clientHeight, scrollHeight } = documentElement;\r\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\r\n if (duration === 0) {\r\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\r\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\r\n return;\r\n }\r\n if (window.scrollY === scrollTop) {\r\n return;\r\n }\r\n const scrollTo = (duration) => {\r\n if (duration <= 0) {\r\n window.scrollTo(0, scrollTop);\r\n return;\r\n }\r\n const distaince = scrollTop - window.scrollY;\r\n requestAnimationFrame(function () {\r\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\r\n scrollTo(duration - 10);\r\n });\r\n };\r\n scrollTo(duration);\r\n}\r\n\r\nconst encode = encodeURIComponent;\r\nfunction stringifyQuery(obj, encodeStr = encode) {\r\n const res = obj\r\n ? Object.keys(obj)\r\n .map((key) => {\r\n let val = obj[key];\r\n if (typeof val === undefined || val === null) {\r\n val = '';\r\n }\r\n else if (isPlainObject(val)) {\r\n val = JSON.stringify(val);\r\n }\r\n return encodeStr(key) + '=' + encodeStr(val);\r\n })\r\n .filter((x) => x.length > 0)\r\n .join('&')\r\n : null;\r\n return res ? `?${res}` : '';\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) { }\r\n return '' + text;\r\n}\r\nfunction decodedQuery(query = {}) {\r\n const decodedQuery = {};\r\n Object.keys(query).forEach((name) => {\r\n try {\r\n decodedQuery[name] = decode(query[name]);\r\n }\r\n catch (e) {\r\n decodedQuery[name] = query[name];\r\n }\r\n });\r\n return decodedQuery;\r\n}\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\r\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n let eqPos = searchParam.indexOf('=');\r\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n\r\nfunction parseUrl(url) {\r\n const [path, querystring] = url.split('?', 2);\r\n return {\r\n path,\r\n query: parseQuery(querystring || ''),\r\n };\r\n}\r\n\r\nfunction parseNVueDataset(attr) {\r\n const dataset = {};\r\n if (attr) {\r\n Object.keys(attr).forEach((key) => {\r\n if (key.indexOf('data-') === 0) {\r\n dataset[key.replace('data-', '')] = attr[key];\r\n }\r\n });\r\n }\r\n return dataset;\r\n}\r\n\r\nfunction plusReady(callback) {\r\n if (!isFunction(callback)) {\r\n return;\r\n }\r\n if (window.plus) {\r\n return callback();\r\n }\r\n document.addEventListener('plusready', callback);\r\n}\r\n\r\nclass DOMException extends Error {\r\n constructor(message) {\r\n super(message);\r\n this.name = 'DOMException';\r\n }\r\n}\r\n\r\nfunction normalizeEventType(type, options) {\r\n if (options) {\r\n if (options.capture) {\r\n type += 'Capture';\r\n }\r\n if (options.once) {\r\n type += 'Once';\r\n }\r\n if (options.passive) {\r\n type += 'Passive';\r\n }\r\n }\r\n return `on${capitalize(camelize(type))}`;\r\n}\r\nclass UniEvent {\r\n constructor(type, opts) {\r\n this.defaultPrevented = false;\r\n this.timeStamp = Date.now();\r\n this._stop = false;\r\n this._end = false;\r\n this.type = type;\r\n this.bubbles = !!opts.bubbles;\r\n this.cancelable = !!opts.cancelable;\r\n }\r\n preventDefault() {\r\n this.defaultPrevented = true;\r\n }\r\n stopImmediatePropagation() {\r\n this._end = this._stop = true;\r\n }\r\n stopPropagation() {\r\n this._stop = true;\r\n }\r\n}\r\nfunction createUniEvent(evt) {\r\n if (evt instanceof UniEvent) {\r\n return evt;\r\n }\r\n const [type] = parseEventName(evt.type);\r\n const uniEvent = new UniEvent(type, {\r\n bubbles: false,\r\n cancelable: false,\r\n });\r\n extend(uniEvent, evt);\r\n return uniEvent;\r\n}\r\nclass UniEventTarget {\r\n constructor() {\r\n this.listeners = Object.create(null);\r\n }\r\n dispatchEvent(evt) {\r\n const listeners = this.listeners[evt.type];\r\n if (!listeners) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\r\n }\r\n return false;\r\n }\r\n // 格式化事件类型\r\n const event = createUniEvent(evt);\r\n const len = listeners.length;\r\n for (let i = 0; i < len; i++) {\r\n listeners[i].call(this, event);\r\n if (event._end) {\r\n break;\r\n }\r\n }\r\n return event.cancelable && event.defaultPrevented;\r\n }\r\n addEventListener(type, listener, options) {\r\n type = normalizeEventType(type, options);\r\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\r\n }\r\n removeEventListener(type, callback, options) {\r\n type = normalizeEventType(type, options);\r\n const listeners = this.listeners[type];\r\n if (!listeners) {\r\n return;\r\n }\r\n const index = listeners.indexOf(callback);\r\n if (index > -1) {\r\n listeners.splice(index, 1);\r\n }\r\n }\r\n}\r\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\r\nfunction parseEventName(name) {\r\n let options;\r\n if (optionsModifierRE.test(name)) {\r\n options = {};\r\n let m;\r\n while ((m = name.match(optionsModifierRE))) {\r\n name = name.slice(0, name.length - m[0].length);\r\n options[m[0].toLowerCase()] = true;\r\n }\r\n }\r\n return [hyphenate(name.slice(2)), options];\r\n}\r\n\r\nconst EventModifierFlags = /*#__PURE__*/ (() => {\r\n return {\r\n stop: 1,\r\n prevent: 1 << 1,\r\n self: 1 << 2,\r\n };\r\n})();\r\nfunction encodeModifier(modifiers) {\r\n let flag = 0;\r\n if (modifiers.includes('stop')) {\r\n flag |= EventModifierFlags.stop;\r\n }\r\n if (modifiers.includes('prevent')) {\r\n flag |= EventModifierFlags.prevent;\r\n }\r\n if (modifiers.includes('self')) {\r\n flag |= EventModifierFlags.self;\r\n }\r\n return flag;\r\n}\r\n\r\nconst NODE_TYPE_PAGE = 0;\r\nconst NODE_TYPE_ELEMENT = 1;\r\nconst NODE_TYPE_TEXT = 3;\r\nconst NODE_TYPE_COMMENT = 8;\r\nfunction sibling(node, type) {\r\n const { parentNode } = node;\r\n if (!parentNode) {\r\n return null;\r\n }\r\n const { childNodes } = parentNode;\r\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\r\n}\r\nfunction removeNode(node) {\r\n const { parentNode } = node;\r\n if (parentNode) {\r\n const { childNodes } = parentNode;\r\n const index = childNodes.indexOf(node);\r\n if (index > -1) {\r\n node.parentNode = null;\r\n childNodes.splice(index, 1);\r\n }\r\n }\r\n}\r\nfunction checkNodeId(node) {\r\n if (!node.nodeId && node.pageNode) {\r\n node.nodeId = node.pageNode.genId();\r\n }\r\n}\r\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\r\nclass UniNode extends UniEventTarget {\r\n constructor(nodeType, nodeName, container) {\r\n super();\r\n this.pageNode = null;\r\n this.parentNode = null;\r\n this._text = null;\r\n if (container) {\r\n const { pageNode } = container;\r\n if (pageNode) {\r\n this.pageNode = pageNode;\r\n this.nodeId = pageNode.genId();\r\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\r\n }\r\n }\r\n this.nodeType = nodeType;\r\n this.nodeName = nodeName;\r\n this.childNodes = [];\r\n }\r\n get firstChild() {\r\n return this.childNodes[0] || null;\r\n }\r\n get lastChild() {\r\n const { childNodes } = this;\r\n const length = childNodes.length;\r\n return length ? childNodes[length - 1] : null;\r\n }\r\n get nextSibling() {\r\n return sibling(this, 'n');\r\n }\r\n get nodeValue() {\r\n return null;\r\n }\r\n set nodeValue(_val) { }\r\n get textContent() {\r\n return this._text || '';\r\n }\r\n set textContent(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onTextContent(this, text);\r\n }\r\n }\r\n get parentElement() {\r\n const { parentNode } = this;\r\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\r\n return parentNode;\r\n }\r\n return null;\r\n }\r\n get previousSibling() {\r\n return sibling(this, 'p');\r\n }\r\n appendChild(newChild) {\r\n return this.insertBefore(newChild, null);\r\n }\r\n cloneNode(deep) {\r\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\r\n const { attributes } = cloned;\r\n if (attributes) {\r\n cloned.attributes = extend({}, attributes);\r\n }\r\n if (deep) {\r\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\r\n }\r\n return cloned;\r\n }\r\n insertBefore(newChild, refChild) {\r\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\r\n removeNode(newChild);\r\n newChild.pageNode = this.pageNode;\r\n newChild.parentNode = this;\r\n checkNodeId(newChild);\r\n const { childNodes } = this;\r\n if (refChild) {\r\n const index = childNodes.indexOf(refChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\r\n }\r\n childNodes.splice(index, 0, newChild);\r\n }\r\n else {\r\n childNodes.push(newChild);\r\n }\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\r\n : newChild;\r\n }\r\n removeChild(oldChild) {\r\n const { childNodes } = this;\r\n const index = childNodes.indexOf(oldChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\r\n }\r\n oldChild.parentNode = null;\r\n childNodes.splice(index, 1);\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onRemoveChild(oldChild)\r\n : oldChild;\r\n }\r\n}\r\nconst ATTR_CLASS = 'class';\r\nconst ATTR_STYLE = 'style';\r\nconst ATTR_INNER_HTML = 'innerHTML';\r\nconst ATTR_TEXT_CONTENT = 'textContent';\r\nconst ATTR_V_SHOW = '.vShow';\r\nconst ATTR_V_OWNER_ID = '.vOwnerId';\r\nconst ATTR_V_RENDERJS = '.vRenderjs';\r\nconst ATTR_CHANGE_PREFIX = 'change:';\r\nclass UniBaseNode extends UniNode {\r\n constructor(nodeType, nodeName, container) {\r\n super(nodeType, nodeName, container);\r\n this.attributes = Object.create(null);\r\n this.style = null;\r\n this.vShow = null;\r\n this._html = null;\r\n }\r\n get className() {\r\n return (this.attributes[ATTR_CLASS] || '');\r\n }\r\n set className(val) {\r\n this.setAttribute(ATTR_CLASS, val);\r\n }\r\n get innerHTML() {\r\n return '';\r\n }\r\n set innerHTML(html) {\r\n this._html = html;\r\n }\r\n addEventListener(type, listener, options) {\r\n super.addEventListener(type, listener, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n if (listener.wxsEvent) {\r\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\r\n }\r\n else {\r\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\r\n }\r\n }\r\n }\r\n removeEventListener(type, callback, options) {\r\n super.removeEventListener(type, callback, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\r\n }\r\n }\r\n getAttribute(qualifiedName) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n return this.style;\r\n }\r\n return this.attributes[qualifiedName];\r\n }\r\n removeAttribute(qualifiedName) {\r\n if (qualifiedName == ATTR_STYLE) {\r\n this.style = null;\r\n }\r\n else {\r\n delete this.attributes[qualifiedName];\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveAttribute(this, qualifiedName);\r\n }\r\n }\r\n setAttribute(qualifiedName, value) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n this.style = value;\r\n }\r\n else {\r\n this.attributes[qualifiedName] = value;\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onSetAttribute(this, qualifiedName, value);\r\n }\r\n }\r\n toJSON({ attr, normalize, } = {}) {\r\n const { attributes, style, listeners, _text } = this;\r\n const res = {};\r\n if (Object.keys(attributes).length) {\r\n res.a = normalize ? normalize(attributes) : attributes;\r\n }\r\n const events = Object.keys(listeners);\r\n if (events.length) {\r\n let w = undefined;\r\n const e = {};\r\n events.forEach((name) => {\r\n const handlers = listeners[name];\r\n if (handlers.length) {\r\n // 可能存在多个 handler 且不同 modifiers 吗?\r\n const { wxsEvent, modifiers } = handlers[0];\r\n const modifier = encodeModifier(modifiers || []);\r\n if (!wxsEvent) {\r\n e[name] = modifier;\r\n }\r\n else {\r\n if (!w) {\r\n w = {};\r\n }\r\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\r\n }\r\n }\r\n });\r\n res.e = normalize ? normalize(e, false) : e;\r\n if (w) {\r\n res.w = normalize ? normalize(w, false) : w;\r\n }\r\n }\r\n if (style !== null) {\r\n res.s = normalize ? normalize(style) : style;\r\n }\r\n if (!attr) {\r\n res.i = this.nodeId;\r\n res.n = this.nodeName;\r\n }\r\n if (_text !== null) {\r\n res.t = normalize ? normalize(_text) : _text;\r\n }\r\n return res;\r\n }\r\n}\r\n\r\nclass UniCommentNode extends UniNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_COMMENT, '#comment', container);\r\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\r\n }\r\n toJSON(opts = {}) {\r\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\r\n return opts.attr\r\n ? {}\r\n : {\r\n i: this.nodeId,\r\n };\r\n // return opts.attr\r\n // ? { t: this._text as string }\r\n // : {\r\n // i: this.nodeId!,\r\n // t: this._text as string,\r\n // }\r\n }\r\n}\r\n\r\nclass UniElement extends UniBaseNode {\r\n constructor(nodeName, container) {\r\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\r\n this.tagName = this.nodeName;\r\n }\r\n}\r\nclass UniInputElement extends UniElement {\r\n get value() {\r\n return this.getAttribute('value');\r\n }\r\n set value(val) {\r\n this.setAttribute('value', val);\r\n }\r\n}\r\nclass UniTextAreaElement extends UniInputElement {\r\n}\r\n\r\nclass UniTextNode extends UniBaseNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_TEXT, '#text', container);\r\n this._text = text;\r\n }\r\n get nodeValue() {\r\n return this._text || '';\r\n }\r\n set nodeValue(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onNodeValue(this, text);\r\n }\r\n }\r\n}\r\n\r\nconst forcePatchProps = {\r\n AD: ['data'],\r\n 'AD-DRAW': ['data'],\r\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\r\n MAP: [\r\n 'markers',\r\n 'polyline',\r\n 'circles',\r\n 'controls',\r\n 'include-points',\r\n 'polygons',\r\n ],\r\n PICKER: ['range', 'value'],\r\n 'PICKER-VIEW': ['value'],\r\n 'RICH-TEXT': ['nodes'],\r\n VIDEO: ['danmu-list', 'header'],\r\n 'WEB-VIEW': ['webview-styles'],\r\n};\r\nconst forcePatchPropKeys = ['animation'];\r\n\r\nconst forcePatchProp = (el, key) => {\r\n if (forcePatchPropKeys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n const keys = forcePatchProps[el.nodeName];\r\n if (keys && keys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst ACTION_TYPE_PAGE_CREATE = 1;\r\nconst ACTION_TYPE_PAGE_CREATED = 2;\r\nconst ACTION_TYPE_CREATE = 3;\r\nconst ACTION_TYPE_INSERT = 4;\r\nconst ACTION_TYPE_REMOVE = 5;\r\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\r\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\r\nconst ACTION_TYPE_ADD_EVENT = 8;\r\nconst ACTION_TYPE_REMOVE_EVENT = 9;\r\nconst ACTION_TYPE_SET_TEXT = 10;\r\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\r\nconst ACTION_TYPE_PAGE_SCROLL = 15;\r\nconst ACTION_TYPE_EVENT = 20;\r\n\r\n/**\r\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\r\n */\r\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\r\n let timeout;\r\n const newFn = function () {\r\n clearTimeout(timeout);\r\n const timerFn = () => fn.apply(this, arguments);\r\n timeout = setTimeout(timerFn, delay);\r\n };\r\n newFn.cancel = function () {\r\n clearTimeout(timeout);\r\n };\r\n return newFn;\r\n}\r\n\r\nclass EventChannel {\r\n constructor(id, events) {\r\n this.id = id;\r\n this.listener = {};\r\n this.emitCache = [];\r\n if (events) {\r\n Object.keys(events).forEach((name) => {\r\n this.on(name, events[name]);\r\n });\r\n }\r\n }\r\n emit(eventName, ...args) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return this.emitCache.push({\r\n eventName,\r\n args,\r\n });\r\n }\r\n fns.forEach((opt) => {\r\n opt.fn.apply(opt.fn, args);\r\n });\r\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\r\n }\r\n on(eventName, fn) {\r\n this._addListener(eventName, 'on', fn);\r\n this._clearCache(eventName);\r\n }\r\n once(eventName, fn) {\r\n this._addListener(eventName, 'once', fn);\r\n this._clearCache(eventName);\r\n }\r\n off(eventName, fn) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return;\r\n }\r\n if (fn) {\r\n for (let i = 0; i < fns.length;) {\r\n if (fns[i].fn === fn) {\r\n fns.splice(i, 1);\r\n i--;\r\n }\r\n i++;\r\n }\r\n }\r\n else {\r\n delete this.listener[eventName];\r\n }\r\n }\r\n _clearCache(eventName) {\r\n for (let index = 0; index < this.emitCache.length; index++) {\r\n const cache = this.emitCache[index];\r\n const _name = eventName\r\n ? cache.eventName === eventName\r\n ? eventName\r\n : null\r\n : cache.eventName;\r\n if (!_name)\r\n continue;\r\n const location = this.emit.apply(this, [_name, ...cache.args]);\r\n if (typeof location === 'number') {\r\n this.emitCache.pop();\r\n continue;\r\n }\r\n this.emitCache.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n _addListener(eventName, type, fn) {\r\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\r\n fn,\r\n type,\r\n });\r\n }\r\n}\r\n\r\nconst PAGE_HOOKS = [\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_UNLOAD,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nfunction isRootImmediateHook(name) {\r\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\r\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\r\n}\r\n// isRootImmediateHookX deprecated\r\nfunction isRootHook(name) {\r\n return PAGE_HOOKS.indexOf(name) > -1;\r\n}\r\nconst UniLifecycleHooks = [\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_LAUNCH,\r\n ON_ERROR,\r\n ON_THEME_CHANGE,\r\n ON_PAGE_NOT_FOUND,\r\n ON_UNHANDLE_REJECTION,\r\n ON_EXIT,\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_READY,\r\n ON_UNLOAD,\r\n ON_RESIZE,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\r\n return {\r\n onPageScroll: 1,\r\n onShareAppMessage: 1 << 1,\r\n onShareTimeline: 1 << 2,\r\n };\r\n})();\r\nfunction isUniLifecycleHook(name, value, checkType = true) {\r\n // 检查类型\r\n if (checkType && !isFunction(value)) {\r\n return false;\r\n }\r\n if (UniLifecycleHooks.indexOf(name) > -1) {\r\n // 已预定义\r\n return true;\r\n }\r\n else if (name.indexOf('on') === 0) {\r\n // 以 on 开头\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nlet vueApp;\r\nconst createVueAppHooks = [];\r\n/**\r\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\r\n */\r\nfunction onCreateVueApp(hook) {\r\n // TODO 每个 nvue 页面都会触发\r\n if (vueApp) {\r\n return hook(vueApp);\r\n }\r\n createVueAppHooks.push(hook);\r\n}\r\nfunction invokeCreateVueAppHook(app) {\r\n vueApp = app;\r\n createVueAppHooks.forEach((hook) => hook(app));\r\n}\r\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\r\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\r\n return createErrorHandler(app);\r\n});\r\n\r\nconst E = function () {\r\n // Keep this empty so it's easier to inherit from\r\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\r\n};\r\nE.prototype = {\r\n _id: 1,\r\n on: function (name, callback, ctx) {\r\n var e = this.e || (this.e = {});\r\n (e[name] || (e[name] = [])).push({\r\n fn: callback,\r\n ctx: ctx,\r\n _id: this._id,\r\n });\r\n return this._id++;\r\n },\r\n once: function (name, callback, ctx) {\r\n var self = this;\r\n function listener() {\r\n self.off(name, listener);\r\n callback.apply(ctx, arguments);\r\n }\r\n listener._ = callback;\r\n return this.on(name, listener, ctx);\r\n },\r\n emit: function (name) {\r\n var data = [].slice.call(arguments, 1);\r\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\r\n var i = 0;\r\n var len = evtArr.length;\r\n for (i; i < len; i++) {\r\n evtArr[i].fn.apply(evtArr[i].ctx, data);\r\n }\r\n return this;\r\n },\r\n off: function (name, event) {\r\n var e = this.e || (this.e = {});\r\n var evts = e[name];\r\n var liveEvents = [];\r\n if (evts && event) {\r\n for (var i = evts.length - 1; i >= 0; i--) {\r\n if (evts[i].fn === event ||\r\n evts[i].fn._ === event ||\r\n evts[i]._id === event) {\r\n evts.splice(i, 1);\r\n break;\r\n }\r\n }\r\n liveEvents = evts;\r\n }\r\n // Remove event from queue to prevent memory leak\r\n // Suggested by https://github.com/lazd\r\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\r\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\r\n return this;\r\n },\r\n};\r\nvar E$1 = E;\r\n\r\nconst borderStyles = {\r\n black: 'rgba(0,0,0,0.4)',\r\n white: 'rgba(255,255,255,0.4)',\r\n};\r\nfunction normalizeTabBarStyles(borderStyle) {\r\n if (borderStyle && borderStyle in borderStyles) {\r\n return borderStyles[borderStyle];\r\n }\r\n return borderStyle;\r\n}\r\nfunction normalizeTitleColor(titleColor) {\r\n return titleColor === 'black' ? '#000000' : '#ffffff';\r\n}\r\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\r\n if (isString(styleItem) && styleItem.startsWith('@')) {\r\n const _key = styleItem.replace('@', '');\r\n let _styleItem = modeStyle[_key] || styleItem;\r\n switch (key) {\r\n case 'titleColor':\r\n _styleItem = normalizeTitleColor(_styleItem);\r\n break;\r\n case 'borderStyle':\r\n _styleItem = normalizeTabBarStyles(_styleItem);\r\n break;\r\n }\r\n return _styleItem;\r\n }\r\n return styleItem;\r\n}\r\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\r\n const modeStyle = themeConfig[mode];\r\n const styles = {};\r\n if (typeof modeStyle === 'undefined' || !pageStyle)\r\n return pageStyle;\r\n Object.keys(pageStyle).forEach((key) => {\r\n const styleItem = pageStyle[key]; // Object Array String\r\n const parseStyleItem = () => {\r\n if (isPlainObject(styleItem))\r\n return normalizeStyles(styleItem, themeConfig, mode);\r\n if (isArray(styleItem))\r\n return styleItem.map((item) => {\r\n if (typeof item === 'object')\r\n return normalizeStyles(item, themeConfig, mode);\r\n return resolveStringStyleItem(modeStyle, item);\r\n });\r\n return resolveStringStyleItem(modeStyle, styleItem, key);\r\n };\r\n styles[key] = parseStyleItem();\r\n });\r\n return styles;\r\n}\r\n\r\nfunction getEnvLocale() {\r\n const { env } = process;\r\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\r\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\r\n}\r\n\r\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isH5CustomElement, isH5NativeTag, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\r\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\r\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\r\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\r\n\r\n/**\r\n* @dcloudio/uni-mp-vue v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\n\r\nfunction warn$2(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\r\n\r\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n this.detached = detached;\r\n /**\r\n * @internal\r\n */\r\n this._active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n this.parent = activeEffectScope;\r\n if (!detached && activeEffectScope) {\r\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\r\n this\r\n ) - 1;\r\n }\r\n }\r\n get active() {\r\n return this._active;\r\n }\r\n run(fn) {\r\n if (this._active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n } finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this._active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n if (!this.detached && this.parent && !fromParent) {\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.parent = void 0;\r\n this._active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\r\n );\r\n }\r\n}\r\n\r\nlet activeEffect;\r\nclass ReactiveEffect {\r\n constructor(fn, trigger, scheduler, scope) {\r\n this.fn = fn;\r\n this.trigger = trigger;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n /**\r\n * @internal\r\n */\r\n this._dirtyLevel = 4;\r\n /**\r\n * @internal\r\n */\r\n this._trackId = 0;\r\n /**\r\n * @internal\r\n */\r\n this._runnings = 0;\r\n /**\r\n * @internal\r\n */\r\n this._shouldSchedule = false;\r\n /**\r\n * @internal\r\n */\r\n this._depsLength = 0;\r\n recordEffectScope(this, scope);\r\n }\r\n get dirty() {\r\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\r\n this._dirtyLevel = 1;\r\n pauseTracking();\r\n for (let i = 0; i < this._depsLength; i++) {\r\n const dep = this.deps[i];\r\n if (dep.computed) {\r\n triggerComputed(dep.computed);\r\n if (this._dirtyLevel >= 4) {\r\n break;\r\n }\r\n }\r\n }\r\n if (this._dirtyLevel === 1) {\r\n this._dirtyLevel = 0;\r\n }\r\n resetTracking();\r\n }\r\n return this._dirtyLevel >= 4;\r\n }\r\n set dirty(v) {\r\n this._dirtyLevel = v ? 4 : 0;\r\n }\r\n run() {\r\n this._dirtyLevel = 0;\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let lastShouldTrack = shouldTrack;\r\n let lastEffect = activeEffect;\r\n try {\r\n shouldTrack = true;\r\n activeEffect = this;\r\n this._runnings++;\r\n preCleanupEffect(this);\r\n return this.fn();\r\n } finally {\r\n postCleanupEffect(this);\r\n this._runnings--;\r\n activeEffect = lastEffect;\r\n shouldTrack = lastShouldTrack;\r\n }\r\n }\r\n stop() {\r\n var _a;\r\n if (this.active) {\r\n preCleanupEffect(this);\r\n postCleanupEffect(this);\r\n (_a = this.onStop) == null ? void 0 : _a.call(this);\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction triggerComputed(computed) {\r\n return computed.value;\r\n}\r\nfunction preCleanupEffect(effect2) {\r\n effect2._trackId++;\r\n effect2._depsLength = 0;\r\n}\r\nfunction postCleanupEffect(effect2) {\r\n if (effect2.deps.length > effect2._depsLength) {\r\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\r\n cleanupDepEffect(effect2.deps[i], effect2);\r\n }\r\n effect2.deps.length = effect2._depsLength;\r\n }\r\n}\r\nfunction cleanupDepEffect(dep, effect2) {\r\n const trackId = dep.get(effect2);\r\n if (trackId !== void 0 && effect2._trackId !== trackId) {\r\n dep.delete(effect2);\r\n if (dep.size === 0) {\r\n dep.cleanup();\r\n }\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect instanceof ReactiveEffect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn, NOOP, () => {\r\n if (_effect.dirty) {\r\n _effect.run();\r\n }\r\n });\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nlet pauseScheduleStack = 0;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === void 0 ? true : last;\r\n}\r\nfunction pauseScheduling() {\r\n pauseScheduleStack++;\r\n}\r\nfunction resetScheduling() {\r\n pauseScheduleStack--;\r\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\r\n queueEffectSchedulers.shift()();\r\n }\r\n}\r\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\r\n var _a;\r\n if (dep.get(effect2) !== effect2._trackId) {\r\n dep.set(effect2, effect2._trackId);\r\n const oldDep = effect2.deps[effect2._depsLength];\r\n if (oldDep !== dep) {\r\n if (oldDep) {\r\n cleanupDepEffect(oldDep, effect2);\r\n }\r\n effect2.deps[effect2._depsLength++] = dep;\r\n } else {\r\n effect2._depsLength++;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nconst queueEffectSchedulers = [];\r\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\r\n var _a;\r\n pauseScheduling();\r\n for (const effect2 of dep.keys()) {\r\n let tracking;\r\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\r\n effect2._dirtyLevel = dirtyLevel;\r\n }\r\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n effect2.trigger();\r\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\r\n effect2._shouldSchedule = false;\r\n if (effect2.scheduler) {\r\n queueEffectSchedulers.push(effect2.scheduler);\r\n }\r\n }\r\n }\r\n }\r\n resetScheduling();\r\n}\r\n\r\nconst createDep = (cleanup, computed) => {\r\n const dep = /* @__PURE__ */ new Map();\r\n dep.cleanup = cleanup;\r\n dep.computed = computed;\r\n return dep;\r\n};\r\n\r\nconst targetMap = /* @__PURE__ */ new WeakMap();\r\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\r\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\r\n }\r\n trackEffect(\r\n activeEffect,\r\n dep,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\") {\r\n deps = [...depsMap.values()];\r\n } else if (key === \"length\" && isArray(target)) {\r\n const newLength = Number(newValue);\r\n depsMap.forEach((dep, key2) => {\r\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\r\n deps.push(dep);\r\n }\r\n });\r\n } else {\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n switch (type) {\r\n case \"add\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n } else if (isIntegerKey(key)) {\r\n deps.push(depsMap.get(\"length\"));\r\n }\r\n break;\r\n case \"delete\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\":\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n pauseScheduling();\r\n for (const dep of deps) {\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n 4,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key,\r\n newValue,\r\n oldValue,\r\n oldTarget\r\n } : void 0\r\n );\r\n }\r\n }\r\n resetScheduling();\r\n}\r\nfunction getDepFromReactive(object, key) {\r\n var _a;\r\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\r\n}\r\n\r\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\r\n);\r\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\", i + \"\");\r\n }\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n return arr[key](...args.map(toRaw));\r\n } else {\r\n return res;\r\n }\r\n };\r\n });\r\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n pauseTracking();\r\n pauseScheduling();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetScheduling();\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction hasOwnProperty(key) {\r\n const obj = toRaw(this);\r\n track(obj, \"has\", key);\r\n return obj.hasOwnProperty(key);\r\n}\r\nclass BaseReactiveHandler {\r\n constructor(_isReadonly = false, _isShallow = false) {\r\n this._isReadonly = _isReadonly;\r\n this._isShallow = _isShallow;\r\n }\r\n get(target, key, receiver) {\r\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly2;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly2;\r\n } else if (key === \"__v_isShallow\") {\r\n return isShallow2;\r\n } else if (key === \"__v_raw\") {\r\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\r\n // this means the reciever is a user proxy of the reactive proxy\r\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\r\n return target;\r\n }\r\n return;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly2) {\r\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n if (key === \"hasOwnProperty\") {\r\n return hasOwnProperty;\r\n }\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly2) {\r\n track(target, \"get\", key);\r\n }\r\n if (isShallow2) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n return isReadonly2 ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n }\r\n}\r\nclass MutableReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(false, isShallow2);\r\n }\r\n set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (!this._isShallow) {\r\n const isOldValueReadonly = isReadonly(oldValue);\r\n if (!isShallow(value) && !isReadonly(value)) {\r\n oldValue = toRaw(oldValue);\r\n value = toRaw(value);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n if (isOldValueReadonly) {\r\n return false;\r\n } else {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n }\r\n deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n }\r\n has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\", key);\r\n }\r\n return result;\r\n }\r\n ownKeys(target) {\r\n track(\r\n target,\r\n \"iterate\",\r\n isArray(target) ? \"length\" : ITERATE_KEY\r\n );\r\n return Reflect.ownKeys(target);\r\n }\r\n}\r\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(true, isShallow2);\r\n }\r\n set(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n deleteProperty(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n}\r\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\r\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\r\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\r\n true\r\n);\r\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\r\n\r\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get(target, key, isReadonly = false, isShallow = false) {\r\n target = target[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"get\", key);\r\n }\r\n track(rawTarget, \"get\", rawKey);\r\n }\r\n const { has: has2 } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has2.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n } else if (has2.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n } else if (target !== rawTarget) {\r\n target.get(key);\r\n }\r\n}\r\nfunction has(key, isReadonly = false) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"has\", key);\r\n }\r\n track(rawTarget, \"has\", rawKey);\r\n }\r\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\"];\r\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\r\n return Reflect.get(target, \"size\", target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\", value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2 ? get2.call(target, key) : void 0;\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\", void 0, void 0, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function(...args) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\r\n const isKeyOnly = method === \"keys\" && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(\r\n rawTarget,\r\n \"iterate\",\r\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\r\n );\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done ? { value, done } : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function(...args) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n warn$2(\r\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\r\n toRaw(this)\r\n );\r\n }\r\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations2 = {\r\n get(key) {\r\n return get(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = [\r\n \"keys\",\r\n \"values\",\r\n \"entries\",\r\n Symbol.iterator\r\n ];\r\n iteratorMethods.forEach((method) => {\r\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\r\n method,\r\n true,\r\n true\r\n );\r\n });\r\n return [\r\n mutableInstrumentations2,\r\n readonlyInstrumentations2,\r\n shallowInstrumentations2,\r\n shallowReadonlyInstrumentations2\r\n ];\r\n}\r\nconst [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n] = /* @__PURE__ */ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly;\r\n } else if (key === \"__v_raw\") {\r\n return target;\r\n }\r\n return Reflect.get(\r\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\r\n key,\r\n receiver\r\n );\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has2, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has2.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n warn$2(\r\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\r\n );\r\n }\r\n}\r\n\r\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case \"Object\":\r\n case \"Array\":\r\n return 1 /* COMMON */;\r\n case \"Map\":\r\n case \"Set\":\r\n case \"WeakMap\":\r\n case \"WeakSet\":\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(\r\n target,\r\n false,\r\n mutableHandlers,\r\n mutableCollectionHandlers,\r\n reactiveMap\r\n );\r\n}\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(\r\n target,\r\n false,\r\n shallowReactiveHandlers,\r\n shallowCollectionHandlers,\r\n shallowReactiveMap\r\n );\r\n}\r\nfunction readonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n readonlyHandlers,\r\n readonlyCollectionHandlers,\r\n readonlyMap\r\n );\r\n}\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n shallowReadonlyHandlers,\r\n shallowReadonlyCollectionHandlers,\r\n shallowReadonlyMap\r\n );\r\n}\r\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\r\n return target;\r\n }\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(\r\n target,\r\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\r\n );\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\"]);\r\n }\r\n return !!(value && value[\"__v_isReactive\"]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\"]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\"]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\"];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n if (Object.isExtensible(value)) {\r\n def(value, \"__v_skip\", true);\r\n }\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\r\n\r\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\r\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this.getter = getter;\r\n this._setter = _setter;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this[\"__v_isReadonly\"] = false;\r\n this.effect = new ReactiveEffect(\r\n () => getter(this._value),\r\n () => triggerRefValue(\r\n this,\r\n this.effect._dirtyLevel === 2 ? 2 : 3\r\n )\r\n );\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\"] = isReadonly;\r\n }\r\n get value() {\r\n const self = toRaw(this);\r\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\r\n triggerRefValue(self, 4);\r\n }\r\n trackRefValue(self);\r\n if (self.effect._dirtyLevel >= 2) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\r\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\r\n\r\ngetter: `, this.getter);\r\n }\r\n triggerRefValue(self, 2);\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\r\n get _dirty() {\r\n return this.effect.dirty;\r\n }\r\n set _dirty(v) {\r\n this.effect.dirty = v;\r\n }\r\n // #endregion\r\n}\r\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\r\n warn$2(\"Write operation failed: computed value is readonly\");\r\n } : NOOP;\r\n } else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\r\n\r\nfunction trackRefValue(ref2) {\r\n var _a;\r\n if (shouldTrack && activeEffect) {\r\n ref2 = toRaw(ref2);\r\n trackEffect(\r\n activeEffect,\r\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\r\n () => ref2.dep = void 0,\r\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\r\n ),\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"get\",\r\n key: \"value\"\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\r\n ref2 = toRaw(ref2);\r\n const dep = ref2.dep;\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n dirtyLevel,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"set\",\r\n key: \"value\",\r\n newValue: newVal\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\r\n newVal = useDirectValue ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = useDirectValue ? newVal : toReactive(newVal);\r\n triggerRefValue(this, 4, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref2) {\r\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\r\n}\r\nfunction unref(ref2) {\r\n return isRef(ref2) ? ref2.value : ref2;\r\n}\r\nfunction toValue(source) {\r\n return isFunction(source) ? source() : unref(source);\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n } else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(\r\n () => trackRefValue(this),\r\n () => triggerRefValue(this)\r\n );\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\r\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = propertyToRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === void 0 ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n get dep() {\r\n return getDepFromReactive(toRaw(this._object), this._key);\r\n }\r\n}\r\nclass GetterRefImpl {\r\n constructor(_getter) {\r\n this._getter = _getter;\r\n this.__v_isRef = true;\r\n this.__v_isReadonly = true;\r\n }\r\n get value() {\r\n return this._getter();\r\n }\r\n}\r\nfunction toRef(source, key, defaultValue) {\r\n if (isRef(source)) {\r\n return source;\r\n } else if (isFunction(source)) {\r\n return new GetterRefImpl(source);\r\n } else if (isObject(source) && arguments.length > 1) {\r\n return propertyToRef(source, key, defaultValue);\r\n } else {\r\n return ref(source);\r\n }\r\n}\r\nfunction propertyToRef(source, key, defaultValue) {\r\n const val = source[key];\r\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\r\n}\r\n\r\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn$1(msg, ...args) {\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(\r\n appWarnHandler,\r\n instance,\r\n 11,\r\n [\r\n msg + args.map((a) => {\r\n var _a, _b;\r\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\r\n }).join(\"\"),\r\n instance && instance.proxy,\r\n trace.map(\r\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\r\n ).join(\"\\n\"),\r\n trace\r\n ]\r\n );\r\n } else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n if (trace.length && // avoid spamming console during tests\r\n true) {\r\n warnArgs.push(`\r\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n } else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...i === 0 ? [] : [`\r\n`], ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(\r\n vnode.component,\r\n vnode.type,\r\n isRoot\r\n )}`;\r\n const close = `>` + postfix;\r\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\r\n}\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach((key) => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n } else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n } else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\r\n\r\nconst ErrorTypeStrings = {\r\n [\"sp\"]: \"serverPrefetch hook\",\r\n [\"bc\"]: \"beforeCreate hook\",\r\n [\"c\"]: \"created hook\",\r\n [\"bm\"]: \"beforeMount hook\",\r\n [\"m\"]: \"mounted hook\",\r\n [\"bu\"]: \"beforeUpdate hook\",\r\n [\"u\"]: \"updated\",\r\n [\"bum\"]: \"beforeUnmount hook\",\r\n [\"um\"]: \"unmounted hook\",\r\n [\"a\"]: \"activated hook\",\r\n [\"da\"]: \"deactivated hook\",\r\n [\"ec\"]: \"errorCaptured hook\",\r\n [\"rtc\"]: \"renderTracked hook\",\r\n [\"rtg\"]: \"renderTriggered hook\",\r\n [0]: \"setup function\",\r\n [1]: \"render function\",\r\n [2]: \"watcher getter\",\r\n [3]: \"watcher callback\",\r\n [4]: \"watcher cleanup function\",\r\n [5]: \"native event handler\",\r\n [6]: \"component event handler\",\r\n [7]: \"vnode hook\",\r\n [8]: \"directive hook\",\r\n [9]: \"transition hook\",\r\n [10]: \"app errorHandler\",\r\n [11]: \"app warnHandler\",\r\n [12]: \"ref function\",\r\n [13]: \"async component loader\",\r\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n try {\r\n return args ? fn(...args) : fn();\r\n } catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch((err) => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n const exposedInstance = instance.proxy;\r\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(\r\n appErrorHandler,\r\n null,\r\n 10,\r\n [err, exposedInstance, errorInfo]\r\n );\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const info = ErrorTypeStrings[type] || type;\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n if (throwInDev) {\r\n console.error(err);\r\n } else {\r\n console.error(err);\r\n }\r\n } else {\r\n console.error(err);\r\n }\r\n}\r\n\r\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick$1(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\nfunction findInsertionIndex(id) {\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = start + end >>> 1;\r\n const middleJob = queue[middle];\r\n const middleJobId = getId(middleJob);\r\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\r\n start = middle + 1;\r\n } else {\r\n end = middle;\r\n }\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n if (!queue.length || !queue.includes(\r\n job,\r\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\r\n )) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n } else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction hasQueueJob(job) {\r\n return queue.indexOf(job) > -1;\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n if (!isArray(cb)) {\r\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\r\n cb,\r\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\r\n )) {\r\n pendingPostFlushCbs.push(cb);\r\n }\r\n } else {\r\n pendingPostFlushCbs.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (; i < queue.length; i++) {\r\n const cb = queue[i];\r\n if (cb && cb.pre) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\r\n continue;\r\n }\r\n queue.splice(i, 1);\r\n i--;\r\n cb();\r\n }\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\r\n (a, b) => getId(a) - getId(b)\r\n );\r\n pendingPostFlushCbs.length = 0;\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nconst comparator = (a, b) => {\r\n const diff = getId(a) - getId(b);\r\n if (diff === 0) {\r\n if (a.pre && !b.pre)\r\n return -1;\r\n if (b.pre && !a.pre)\r\n return 1;\r\n }\r\n return diff;\r\n};\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n queue.sort(comparator);\r\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\r\n continue;\r\n }\r\n callWithErrorHandling(job, null, 14);\r\n }\r\n }\r\n } finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n } else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n handleError(\r\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\r\n null,\r\n 10\r\n );\r\n return true;\r\n } else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\r\n\r\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit$1(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n } else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n } else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== \"undefined\" && // some envs mock window but not fully\r\n window.HTMLElement && // also exclude jsdom\r\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\r\n ) {\r\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3e3);\r\n } else {\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:added\" /* COMPONENT_ADDED */\r\n);\r\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:removed\" /* COMPONENT_REMOVED */\r\n);\r\nconst devtoolsComponentRemoved = (component) => {\r\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\r\n !devtools.cleanupBuffer(component)) {\r\n _devtoolsComponentRemoved(component);\r\n }\r\n};\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit$1(\r\n hook,\r\n component.appContext.app,\r\n component.uid,\r\n // fixed by xxxxxx\r\n // 为 0 是 App,无 parent 是 Page 指向 App\r\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\r\n component\r\n );\r\n };\r\n}\r\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:start\" /* PERFORMANCE_START */\r\n);\r\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:end\" /* PERFORMANCE_END */\r\n);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit$1(\r\n \"component:emit\" /* COMPONENT_EMIT */,\r\n component.appContext.app,\r\n component,\r\n event,\r\n params\r\n );\r\n}\r\n\r\nfunction emit(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const {\r\n emitsOptions,\r\n propsOptions: [propsOptions]\r\n } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) && true) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn$1(\r\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\r\n );\r\n }\r\n } else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn$1(\r\n `Invalid event arguments: event validation failed for event \"${event}\".`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith(\"update:\");\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\r\n }\r\n if (number) {\r\n args = rawArgs.map(looseToNumber);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn$1(\r\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\r\n instance,\r\n instance.type\r\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\r\n event\r\n )}\" instead of \"${event}\".`\r\n );\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\r\n props[handlerName = toHandlerKey(camelize(event))];\r\n if (!handler && isModelListener) {\r\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(\r\n handler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n } else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(\r\n onceHandler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== void 0) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw2) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, null);\r\n }\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach((key) => normalized[key] = null);\r\n } else {\r\n extend(normalized, raw);\r\n }\r\n if (isObject(comp)) {\r\n cache.set(comp, normalized);\r\n }\r\n return normalized;\r\n}\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, \"\");\r\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\r\n}\r\n\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = instance && instance.type.__scopeId || null;\r\n return prev;\r\n}\r\nconst withScopeId = (_id) => withCtx;\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\r\n if (!ctx)\r\n return fn;\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n let res;\r\n try {\r\n res = fn(...args);\r\n } finally {\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._n = true;\r\n renderFnWithContext._c = true;\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\r\n\r\nfunction markAttrsAccessed() {\r\n}\r\n\r\nconst COMPONENTS = \"components\";\r\nconst DIRECTIVES = \"directives\";\r\nfunction resolveComponent(name, maybeSelfReference) {\r\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n if (type === COMPONENTS) {\r\n const selfName = getComponentName(\r\n Component,\r\n false\r\n );\r\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = (\r\n // local registration\r\n // check instance[type] first which is resolved for options API\r\n resolve(instance[type] || Component[type], name) || // global registration\r\n resolve(instance.appContext[type], name)\r\n );\r\n if (!res && maybeSelfReference) {\r\n return Component;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\r\n const extra = type === COMPONENTS ? `\r\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\r\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\r\n }\r\n return res;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\r\n );\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\r\n}\r\n\r\nconst ssrContextKey = Symbol.for(\"v-scx\");\r\nconst useSSRContext = () => {\r\n {\r\n const ctx = inject(ssrContextKey);\r\n if (!ctx) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\r\n );\r\n }\r\n return ctx;\r\n }\r\n};\r\n\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\r\n );\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\r\n );\r\n}\r\nconst INITIAL_WATCHER_VALUE = {};\r\nfunction watch(source, cb, options) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\r\n warn$1(\r\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\r\n );\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, {\r\n immediate,\r\n deep,\r\n flush,\r\n once,\r\n onTrack,\r\n onTrigger\r\n} = EMPTY_OBJ) {\r\n if (cb && once) {\r\n const _cb = cb;\r\n cb = (...args) => {\r\n _cb(...args);\r\n unwatch();\r\n };\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\r\n warn$1(\r\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\r\n );\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\r\n if (immediate !== void 0) {\r\n warn$1(\r\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (deep !== void 0) {\r\n warn$1(\r\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (once !== void 0) {\r\n warn$1(\r\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn$1(\r\n `Invalid watch source: `,\r\n s,\r\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\r\n );\r\n };\r\n const instance = currentInstance;\r\n const reactiveGetter = (source2) => deep === true ? source2 : (\r\n // for deep: false, only traverse root-level properties\r\n traverse(source2, deep === false ? 1 : void 0)\r\n );\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow(source);\r\n } else if (isReactive(source)) {\r\n getter = () => reactiveGetter(source);\r\n forceTrigger = true;\r\n } else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\r\n getter = () => source.map((s) => {\r\n if (isRef(s)) {\r\n return s.value;\r\n } else if (isReactive(s)) {\r\n return reactiveGetter(s);\r\n } else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2);\r\n } else {\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\r\n }\r\n });\r\n } else if (isFunction(source)) {\r\n if (cb) {\r\n getter = () => callWithErrorHandling(source, instance, 2);\r\n } else {\r\n getter = () => {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(\r\n source,\r\n instance,\r\n 3,\r\n [onCleanup]\r\n );\r\n };\r\n }\r\n } else {\r\n getter = NOOP;\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4);\r\n cleanup = effect.onStop = void 0;\r\n };\r\n };\r\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active || !effect.dirty) {\r\n return;\r\n }\r\n if (cb) {\r\n const newValue = effect.run();\r\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n } else {\r\n effect.run();\r\n }\r\n };\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === \"sync\") {\r\n scheduler = job;\r\n } else if (flush === \"post\") {\r\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\r\n } else {\r\n job.pre = true;\r\n if (instance)\r\n job.id = instance.uid;\r\n scheduler = () => queueJob(job);\r\n }\r\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\r\n const scope = getCurrentScope();\r\n const unwatch = () => {\r\n effect.stop();\r\n if (scope) {\r\n remove(scope.effects, effect);\r\n }\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n } else {\r\n oldValue = effect.run();\r\n }\r\n } else if (flush === \"post\") {\r\n queuePostRenderEffect$1(\r\n effect.run.bind(effect),\r\n instance && instance.suspense\r\n );\r\n } else {\r\n effect.run();\r\n }\r\n return unwatch;\r\n}\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n } else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const reset = setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n reset();\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split(\".\");\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, depth, currentDepth = 0, seen) {\r\n if (!isObject(value) || value[\"__v_skip\"]) {\r\n return value;\r\n }\r\n if (depth && depth > 0) {\r\n if (currentDepth >= depth) {\r\n return value;\r\n }\r\n currentDepth++;\r\n }\r\n seen = seen || /* @__PURE__ */ new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, depth, currentDepth, seen);\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], depth, currentDepth, seen);\r\n }\r\n } else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, depth, currentDepth, seen);\r\n });\r\n } else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], depth, currentDepth, seen);\r\n }\r\n }\r\n return value;\r\n}\r\n\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\r\n }\r\n}\r\nfunction withDirectives(vnode, directives) {\r\n if (currentRenderingInstance === null) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (dir) {\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n }\r\n return vnode;\r\n}\r\n\r\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: void 0,\r\n warnHandler: void 0,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: /* @__PURE__ */ Object.create(null),\r\n optionsCache: /* @__PURE__ */ new WeakMap(),\r\n propsCache: /* @__PURE__ */ new WeakMap(),\r\n emitsCache: /* @__PURE__ */ new WeakMap()\r\n };\r\n}\r\nlet uid$1 = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (!isFunction(rootComponent)) {\r\n rootComponent = extend({}, rootComponent);\r\n }\r\n if (rootProps != null && !isObject(rootProps)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = /* @__PURE__ */ new WeakSet();\r\n const app = context.app = {\r\n _uid: uid$1++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `app.config cannot be replaced. Modify individual options instead.`\r\n );\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\r\n } else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n } else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `A plugin must either be a function or an object with an \"install\" function.`\r\n );\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\r\n );\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\"Mixins are only available in builds supporting Options API\");\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\r\n warn$1(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\r\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n // fixed by xxxxxx\r\n mount() {\r\n },\r\n // fixed by xxxxxx\r\n unmount() {\r\n },\r\n provide(key, value) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\r\n warn$1(\r\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\r\n );\r\n }\r\n context.provides[key] = value;\r\n return app;\r\n },\r\n runWithContext(fn) {\r\n const lastApp = currentApp;\r\n currentApp = app;\r\n try {\r\n return fn();\r\n } finally {\r\n currentApp = lastApp;\r\n }\r\n }\r\n };\r\n return app;\r\n };\r\n}\r\nlet currentApp = null;\r\n\r\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`provide() can only be used inside setup().`);\r\n }\r\n } else {\r\n let provides = currentInstance.provides;\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n provides[key] = value;\r\n if (currentInstance.type.mpType === \"app\") {\r\n currentInstance.appContext.app.provide(key, value);\r\n }\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance || currentApp) {\r\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\r\n if (provides && key in provides) {\r\n return provides[key];\r\n } else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`injection \"${String(key)}\" not found.`);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\r\nfunction hasInjectionContext() {\r\n return !!(currentInstance || currentRenderingInstance || currentApp);\r\n}\r\n\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction defineComponent(options, extraOptions) {\r\n return isFunction(options) ? (\r\n // #8326: extend call and options.name access are considered side-effects\r\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\r\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\r\n ) : options;\r\n}\r\n\r\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\", target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\", target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n const injected = injectHook(\r\n type,\r\n hook,\r\n keepAliveRoot,\r\n true\r\n /* prepend */\r\n );\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\n\r\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n if (isRootHook(type)) {\r\n target = target.root;\r\n }\r\n const hooks = target[type] || (target[type] = []);\r\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n pauseTracking();\r\n const reset = setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n reset();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n } else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const apiName = toHandlerKey(\r\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\r\n );\r\n warn$1(\r\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\r\n );\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\r\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\r\n);\r\nconst onBeforeMount = createHook(\"bm\");\r\nconst onMounted = createHook(\"m\");\r\nconst onBeforeUpdate = createHook(\"bu\");\r\nconst onUpdated = createHook(\"u\");\r\nconst onBeforeUnmount = createHook(\"bum\");\r\nconst onUnmounted = createHook(\"um\");\r\nconst onServerPrefetch = createHook(\"sp\");\r\nconst onRenderTriggered = createHook(\r\n \"rtg\"\r\n);\r\nconst onRenderTracked = createHook(\r\n \"rtc\"\r\n);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\", hook, target);\r\n}\r\n\r\nfunction toHandlers(obj, preserveCaseIfNecessary) {\r\n const ret = {};\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\r\n warn$1(`v-on with no argument expects an object value.`);\r\n return ret;\r\n }\r\n for (const key in obj) {\r\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\r\n }\r\n return ret;\r\n}\r\n\r\nconst getPublicInstance = (i) => {\r\n if (!i)\r\n return null;\r\n if (isStatefulComponent(i))\r\n return getExposeProxy(i) || i.proxy;\r\n return getPublicInstance(i.parent);\r\n};\r\nconst publicPropertiesMap = (\r\n // Move PURE marker to new line to workaround compiler discarding it\r\n // due to type annotation\r\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\r\n $: (i) => i,\r\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\r\n // $el: i => i.vnode.el,\r\n $el: (i) => i.__$el || (i.__$el = {}),\r\n $data: (i) => i.data,\r\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\r\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\r\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\r\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\r\n $parent: (i) => getPublicInstance(i.parent),\r\n $root: (i) => getPublicInstance(i.root),\r\n $emit: (i) => i.emit,\r\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\r\n $forceUpdate: (i) => i.f || (i.f = () => {\r\n i.effect.dirty = true;\r\n queueJob(i.update);\r\n }),\r\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\r\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\r\n })\r\n);\r\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\r\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\r\nconst PublicInstanceProxyHandlers = {\r\n get({ _: instance }, key) {\r\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\r\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\r\n return true;\r\n }\r\n let normalizedProps;\r\n if (key[0] !== \"$\") {\r\n const n = accessCache[key];\r\n if (n !== void 0) {\r\n switch (n) {\r\n case 1 /* SETUP */:\r\n return setupState[key];\r\n case 2 /* DATA */:\r\n return data[key];\r\n case 4 /* CONTEXT */:\r\n return ctx[key];\r\n case 3 /* PROPS */:\r\n return props[key];\r\n }\r\n } else if (hasSetupBinding(setupState, key)) {\r\n accessCache[key] = 1 /* SETUP */;\r\n return setupState[key];\r\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\r\n accessCache[key] = 2 /* DATA */;\r\n return data[key];\r\n } else if (\r\n // only cache other properties when instance has declared (thus stable)\r\n // props\r\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\r\n ) {\r\n accessCache[key] = 3 /* PROPS */;\r\n return props[key];\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\r\n accessCache[key] = 0 /* OTHER */;\r\n }\r\n }\r\n const publicGetter = publicPropertiesMap[key];\r\n let cssModule, globalProperties;\r\n if (publicGetter) {\r\n if (key === \"$attrs\") {\r\n track(instance, \"get\", key);\r\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\r\n track(instance, \"get\", key);\r\n }\r\n return publicGetter(instance);\r\n } else if (\r\n // css module (injected by vue-loader)\r\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\r\n ) {\r\n return cssModule;\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (\r\n // global properties\r\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\r\n ) {\r\n {\r\n return globalProperties[key];\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\r\n // to infinite warning loop\r\n key.indexOf(\"__v\") !== 0)) {\r\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\r\n warn$1(\r\n `Property ${JSON.stringify(\r\n key\r\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\r\n );\r\n } else if (instance === currentRenderingInstance) {\r\n warn$1(\r\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\r\n );\r\n }\r\n }\r\n },\r\n set({ _: instance }, key, value) {\r\n const { data, setupState, ctx } = instance;\r\n if (hasSetupBinding(setupState, key)) {\r\n setupState[key] = value;\r\n return true;\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\r\n warn$1(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\r\n return false;\r\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\r\n data[key] = value;\r\n return true;\r\n } else if (hasOwn(instance.props, key)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Attempting to mutate prop \"${key}\". Props are readonly.`);\r\n return false;\r\n }\r\n if (key[0] === \"$\" && key.slice(1) in instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\r\n );\r\n return false;\r\n } else {\r\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n value\r\n });\r\n } else {\r\n ctx[key] = value;\r\n }\r\n }\r\n return true;\r\n },\r\n has({\r\n _: { data, setupState, accessCache, ctx, appContext, propsOptions }\r\n }, key) {\r\n let normalizedProps;\r\n return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);\r\n },\r\n defineProperty(target, key, descriptor) {\r\n if (descriptor.get != null) {\r\n target._.accessCache[key] = 0;\r\n } else if (hasOwn(descriptor, \"value\")) {\r\n this.set(target, key, descriptor.value, null);\r\n }\r\n return Reflect.defineProperty(target, key, descriptor);\r\n }\r\n};\r\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\r\n PublicInstanceProxyHandlers.ownKeys = (target) => {\r\n warn$1(\r\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\r\n );\r\n return Reflect.ownKeys(target);\r\n };\r\n}\r\nfunction createDevRenderContext(instance) {\r\n const target = {};\r\n Object.defineProperty(target, `_`, {\r\n configurable: true,\r\n enumerable: false,\r\n get: () => instance\r\n });\r\n Object.keys(publicPropertiesMap).forEach((key) => {\r\n Object.defineProperty(target, key, {\r\n configurable: true,\r\n enumerable: false,\r\n get: () => publicPropertiesMap[key](instance),\r\n // intercepted by the proxy so no need for implementation,\r\n // but needed to prevent set errors\r\n set: NOOP\r\n });\r\n });\r\n return target;\r\n}\r\nfunction exposePropsOnRenderContext(instance) {\r\n const {\r\n ctx,\r\n propsOptions: [propsOptions]\r\n } = instance;\r\n if (propsOptions) {\r\n Object.keys(propsOptions).forEach((key) => {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => instance.props[key],\r\n set: NOOP\r\n });\r\n });\r\n }\r\n}\r\nfunction exposeSetupStateOnRenderContext(instance) {\r\n const { ctx, setupState } = instance;\r\n Object.keys(toRaw(setupState)).forEach((key) => {\r\n if (!setupState.__isScriptSetup) {\r\n if (isReservedPrefix(key[0])) {\r\n warn$1(\r\n `setup() return property ${JSON.stringify(\r\n key\r\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\r\n );\r\n return;\r\n }\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => setupState[key],\r\n set: NOOP\r\n });\r\n }\r\n });\r\n}\r\n\r\nconst warnRuntimeUsage = (method) => warn$1(\r\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\r\n);\r\nfunction defineProps() {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineProps`);\r\n }\r\n return null;\r\n}\r\nfunction defineEmits() {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineEmits`);\r\n }\r\n return null;\r\n}\r\nfunction defineExpose(exposed) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineExpose`);\r\n }\r\n}\r\nfunction withDefaults(props, defaults) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`withDefaults`);\r\n }\r\n return null;\r\n}\r\nfunction useSlots() {\r\n return getContext().slots;\r\n}\r\nfunction useAttrs() {\r\n return getContext().attrs;\r\n}\r\nfunction getContext() {\r\n const i = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\r\n warn$1(`useContext() called without active instance.`);\r\n }\r\n return i.setupContext || (i.setupContext = createSetupContext(i));\r\n}\r\nfunction normalizePropsOrEmits(props) {\r\n return isArray(props) ? props.reduce(\r\n (normalized, p) => (normalized[p] = null, normalized),\r\n {}\r\n ) : props;\r\n}\r\nfunction mergeDefaults(raw, defaults) {\r\n const props = normalizePropsOrEmits(raw);\r\n for (const key in defaults) {\r\n if (key.startsWith(\"__skip\"))\r\n continue;\r\n let opt = props[key];\r\n if (opt) {\r\n if (isArray(opt) || isFunction(opt)) {\r\n opt = props[key] = { type: opt, default: defaults[key] };\r\n } else {\r\n opt.default = defaults[key];\r\n }\r\n } else if (opt === null) {\r\n opt = props[key] = { default: defaults[key] };\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`props default key \"${key}\" has no corresponding declaration.`);\r\n }\r\n if (opt && defaults[`__skip_${key}`]) {\r\n opt.skipFactory = true;\r\n }\r\n }\r\n return props;\r\n}\r\nfunction mergeModels(a, b) {\r\n if (!a || !b)\r\n return a || b;\r\n if (isArray(a) && isArray(b))\r\n return a.concat(b);\r\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\r\n}\r\nfunction createPropsRestProxy(props, excludedKeys) {\r\n const ret = {};\r\n for (const key in props) {\r\n if (!excludedKeys.includes(key)) {\r\n Object.defineProperty(ret, key, {\r\n enumerable: true,\r\n get: () => props[key]\r\n });\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction withAsyncContext(getAwaitable) {\r\n const ctx = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\r\n warn$1(\r\n `withAsyncContext called without active current instance. This is likely a bug.`\r\n );\r\n }\r\n let awaitable = getAwaitable();\r\n unsetCurrentInstance();\r\n if (isPromise(awaitable)) {\r\n awaitable = awaitable.catch((e) => {\r\n setCurrentInstance(ctx);\r\n throw e;\r\n });\r\n }\r\n return [awaitable, () => setCurrentInstance(ctx)];\r\n}\r\n\r\nfunction createDuplicateChecker() {\r\n const cache = /* @__PURE__ */ Object.create(null);\r\n return (type, key) => {\r\n if (cache[key]) {\r\n warn$1(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\r\n } else {\r\n cache[key] = type;\r\n }\r\n };\r\n}\r\nlet shouldCacheAccess = true;\r\nfunction applyOptions$1(instance) {\r\n const options = resolveMergedOptions(instance);\r\n const publicThis = instance.proxy;\r\n const ctx = instance.ctx;\r\n shouldCacheAccess = false;\r\n if (options.beforeCreate) {\r\n callHook(options.beforeCreate, instance, \"bc\");\r\n }\r\n const {\r\n // state\r\n data: dataOptions,\r\n computed: computedOptions,\r\n methods,\r\n watch: watchOptions,\r\n provide: provideOptions,\r\n inject: injectOptions,\r\n // lifecycle\r\n created,\r\n beforeMount,\r\n mounted,\r\n beforeUpdate,\r\n updated,\r\n activated,\r\n deactivated,\r\n beforeDestroy,\r\n beforeUnmount,\r\n destroyed,\r\n unmounted,\r\n render,\r\n renderTracked,\r\n renderTriggered,\r\n errorCaptured,\r\n serverPrefetch,\r\n // public API\r\n expose,\r\n inheritAttrs,\r\n // assets\r\n components,\r\n directives,\r\n filters\r\n } = options;\r\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const [propsOptions] = instance.propsOptions;\r\n if (propsOptions) {\r\n for (const key in propsOptions) {\r\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\r\n }\r\n }\r\n }\r\n function initInjections() {\r\n if (injectOptions) {\r\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\r\n }\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n initInjections();\r\n }\r\n if (methods) {\r\n for (const key in methods) {\r\n const methodHandler = methods[key];\r\n if (isFunction(methodHandler)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n Object.defineProperty(ctx, key, {\r\n value: methodHandler.bind(publicThis),\r\n configurable: true,\r\n enumerable: true,\r\n writable: true\r\n });\r\n } else {\r\n ctx[key] = methodHandler.bind(publicThis);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\r\n );\r\n }\r\n }\r\n }\r\n if (dataOptions) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\r\n warn$1(\r\n `The data option must be a function. Plain object usage is no longer supported.`\r\n );\r\n }\r\n const data = dataOptions.call(publicThis, publicThis);\r\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\r\n warn$1(\r\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\r\n );\r\n }\r\n if (!isObject(data)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`data() should return an object.`);\r\n } else {\r\n instance.data = reactive(data);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n for (const key in data) {\r\n checkDuplicateProperties(\"Data\" /* DATA */, key);\r\n if (!isReservedPrefix(key[0])) {\r\n Object.defineProperty(ctx, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: () => data[key],\r\n set: NOOP\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n shouldCacheAccess = true;\r\n if (computedOptions) {\r\n for (const key in computedOptions) {\r\n const opt = computedOptions[key];\r\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\r\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\r\n warn$1(`Computed property \"${key}\" has no getter.`);\r\n }\r\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\r\n warn$1(\r\n `Write operation failed: computed property \"${key}\" is readonly.`\r\n );\r\n } : NOOP;\r\n const c = computed({\r\n get,\r\n set\r\n });\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => c.value,\r\n set: (v) => c.value = v\r\n });\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\r\n }\r\n }\r\n }\r\n if (watchOptions) {\r\n for (const key in watchOptions) {\r\n createWatcher(watchOptions[key], ctx, publicThis, key);\r\n }\r\n }\r\n function initProvides() {\r\n if (provideOptions) {\r\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\r\n Reflect.ownKeys(provides).forEach((key) => {\r\n provide(key, provides[key]);\r\n });\r\n }\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n initProvides();\r\n }\r\n if (__VUE_CREATED_DEFERRED__) {\r\n let callCreatedHook2 = function() {\r\n initInjections();\r\n initProvides();\r\n if (created) {\r\n callHook(created, instance, \"c\");\r\n }\r\n instance.update();\r\n };\r\n ctx.$callCreatedHook = function(name) {\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n try {\r\n callCreatedHook2();\r\n } finally {\r\n resetTracking();\r\n reset();\r\n }\r\n };\r\n } else {\r\n if (created) {\r\n callHook(created, instance, \"c\");\r\n }\r\n }\r\n function registerLifecycleHook(register, hook) {\r\n if (isArray(hook)) {\r\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\r\n } else if (hook) {\r\n register(hook.bind(publicThis));\r\n }\r\n }\r\n registerLifecycleHook(onBeforeMount, beforeMount);\r\n registerLifecycleHook(onMounted, mounted);\r\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\r\n registerLifecycleHook(onUpdated, updated);\r\n registerLifecycleHook(onActivated, activated);\r\n registerLifecycleHook(onDeactivated, deactivated);\r\n registerLifecycleHook(onErrorCaptured, errorCaptured);\r\n registerLifecycleHook(onRenderTracked, renderTracked);\r\n registerLifecycleHook(onRenderTriggered, renderTriggered);\r\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\r\n registerLifecycleHook(onUnmounted, unmounted);\r\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\r\n if (isArray(expose)) {\r\n if (expose.length) {\r\n const exposed = instance.exposed || (instance.exposed = {});\r\n expose.forEach((key) => {\r\n Object.defineProperty(exposed, key, {\r\n get: () => publicThis[key],\r\n set: (val) => publicThis[key] = val\r\n });\r\n });\r\n } else if (!instance.exposed) {\r\n instance.exposed = {};\r\n }\r\n }\r\n if (render && instance.render === NOOP) {\r\n instance.render = render;\r\n }\r\n if (inheritAttrs != null) {\r\n instance.inheritAttrs = inheritAttrs;\r\n }\r\n if (components)\r\n instance.components = components;\r\n if (directives)\r\n instance.directives = directives;\r\n if (instance.ctx.$onApplyOptions) {\r\n instance.ctx.$onApplyOptions(options, instance, publicThis);\r\n }\r\n}\r\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\r\n if (isArray(injectOptions)) {\r\n injectOptions = normalizeInject(injectOptions);\r\n }\r\n for (const key in injectOptions) {\r\n const opt = injectOptions[key];\r\n let injected;\r\n if (isObject(opt)) {\r\n if (\"default\" in opt) {\r\n injected = inject(\r\n opt.from || key,\r\n opt.default,\r\n true\r\n );\r\n } else {\r\n injected = inject(opt.from || key);\r\n }\r\n } else {\r\n injected = inject(opt);\r\n }\r\n if (isRef(injected)) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => injected.value,\r\n set: (v) => injected.value = v\r\n });\r\n } else {\r\n ctx[key] = injected;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\r\n }\r\n }\r\n}\r\nfunction callHook(hook, instance, type) {\r\n callWithAsyncErrorHandling(\r\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\r\n instance,\r\n type\r\n );\r\n}\r\nfunction createWatcher(raw, ctx, publicThis, key) {\r\n const getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\r\n if (isString(raw)) {\r\n const handler = ctx[raw];\r\n if (isFunction(handler)) {\r\n watch(getter, handler);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch handler specified by key \"${raw}\"`, handler);\r\n }\r\n } else if (isFunction(raw)) {\r\n watch(getter, raw.bind(publicThis));\r\n } else if (isObject(raw)) {\r\n if (isArray(raw)) {\r\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\r\n } else {\r\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\r\n if (isFunction(handler)) {\r\n watch(getter, handler, raw);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\r\n }\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch option: \"${key}\"`, raw);\r\n }\r\n}\r\nfunction resolveMergedOptions(instance) {\r\n const base = instance.type;\r\n const { mixins, extends: extendsOptions } = base;\r\n const {\r\n mixins: globalMixins,\r\n optionsCache: cache,\r\n config: { optionMergeStrategies }\r\n } = instance.appContext;\r\n const cached = cache.get(base);\r\n let resolved;\r\n if (cached) {\r\n resolved = cached;\r\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\r\n {\r\n resolved = base;\r\n }\r\n } else {\r\n resolved = {};\r\n if (globalMixins.length) {\r\n globalMixins.forEach(\r\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\r\n );\r\n }\r\n mergeOptions(resolved, base, optionMergeStrategies);\r\n }\r\n if (isObject(base)) {\r\n cache.set(base, resolved);\r\n }\r\n return resolved;\r\n}\r\nfunction mergeOptions(to, from, strats, asMixin = false) {\r\n const { mixins, extends: extendsOptions } = from;\r\n if (extendsOptions) {\r\n mergeOptions(to, extendsOptions, strats, true);\r\n }\r\n if (mixins) {\r\n mixins.forEach(\r\n (m) => mergeOptions(to, m, strats, true)\r\n );\r\n }\r\n for (const key in from) {\r\n if (asMixin && key === \"expose\") {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\r\n );\r\n } else {\r\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\r\n to[key] = strat ? strat(to[key], from[key]) : from[key];\r\n }\r\n }\r\n return to;\r\n}\r\nconst internalOptionMergeStrats = {\r\n data: mergeDataFn,\r\n props: mergeEmitsOrPropsOptions,\r\n emits: mergeEmitsOrPropsOptions,\r\n // objects\r\n methods: mergeObjectOptions,\r\n computed: mergeObjectOptions,\r\n // lifecycle\r\n beforeCreate: mergeAsArray$1,\r\n created: mergeAsArray$1,\r\n beforeMount: mergeAsArray$1,\r\n mounted: mergeAsArray$1,\r\n beforeUpdate: mergeAsArray$1,\r\n updated: mergeAsArray$1,\r\n beforeDestroy: mergeAsArray$1,\r\n beforeUnmount: mergeAsArray$1,\r\n destroyed: mergeAsArray$1,\r\n unmounted: mergeAsArray$1,\r\n activated: mergeAsArray$1,\r\n deactivated: mergeAsArray$1,\r\n errorCaptured: mergeAsArray$1,\r\n serverPrefetch: mergeAsArray$1,\r\n // assets\r\n components: mergeObjectOptions,\r\n directives: mergeObjectOptions,\r\n // watch\r\n watch: mergeWatchOptions,\r\n // provide / inject\r\n provide: mergeDataFn,\r\n inject: mergeInject\r\n};\r\nfunction mergeDataFn(to, from) {\r\n if (!from) {\r\n return to;\r\n }\r\n if (!to) {\r\n return from;\r\n }\r\n return function mergedDataFn() {\r\n return (extend)(\r\n isFunction(to) ? to.call(this, this) : to,\r\n isFunction(from) ? from.call(this, this) : from\r\n );\r\n };\r\n}\r\nfunction mergeInject(to, from) {\r\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\r\n}\r\nfunction normalizeInject(raw) {\r\n if (isArray(raw)) {\r\n const res = {};\r\n for (let i = 0; i < raw.length; i++) {\r\n res[raw[i]] = raw[i];\r\n }\r\n return res;\r\n }\r\n return raw;\r\n}\r\nfunction mergeAsArray$1(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction mergeObjectOptions(to, from) {\r\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\r\n}\r\nfunction mergeEmitsOrPropsOptions(to, from) {\r\n if (to) {\r\n if (isArray(to) && isArray(from)) {\r\n return [.../* @__PURE__ */ new Set([...to, ...from])];\r\n }\r\n return extend(\r\n /* @__PURE__ */ Object.create(null),\r\n normalizePropsOrEmits(to),\r\n normalizePropsOrEmits(from != null ? from : {})\r\n );\r\n } else {\r\n return from;\r\n }\r\n}\r\nfunction mergeWatchOptions(to, from) {\r\n if (!to)\r\n return from;\r\n if (!from)\r\n return to;\r\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\r\n for (const key in from) {\r\n merged[key] = mergeAsArray$1(to[key], from[key]);\r\n }\r\n return merged;\r\n}\r\n\r\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\r\n setFullProps(instance, rawProps, props, attrs);\r\n for (const key in instance.propsOptions[0]) {\r\n if (!(key in props)) {\r\n props[key] = void 0;\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n if (isStateful) {\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n } else {\r\n if (!instance.type.props) {\r\n instance.props = attrs;\r\n } else {\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction isInHmrContext(instance) {\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const {\r\n props,\r\n attrs,\r\n vnode: { patchFlag }\r\n } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext()) && (optimized || patchFlag > 0) && !(patchFlag & 16)\r\n ) {\r\n if (patchFlag & 8) {\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n let key = propsToUpdate[i];\r\n if (isEmitListener(instance.emitsOptions, key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n if (options) {\r\n if (hasOwn(attrs, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n } else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n camelizedKey,\r\n value,\r\n instance,\r\n false\r\n );\r\n }\r\n } else {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (setFullProps(instance, rawProps, props, attrs)) {\r\n hasAttrsChanged = true;\r\n }\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps || // for camelCase\r\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\r\n if (options) {\r\n if (rawPrevProps && // for camelCase\r\n (rawPrevProps[key] !== void 0 || // for kebab-case\r\n rawPrevProps[kebabKey] !== void 0)) {\r\n props[key] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n key,\r\n void 0,\r\n instance,\r\n true\r\n );\r\n }\r\n } else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key) && true) {\r\n delete attrs[key];\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (hasAttrsChanged) {\r\n trigger(instance, \"set\", \"$attrs\");\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n let rawCastValues;\r\n if (rawProps) {\r\n for (let key in rawProps) {\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n let camelKey;\r\n if (options && hasOwn(options, camelKey = camelize(key))) {\r\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\r\n props[camelKey] = value;\r\n } else {\r\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\r\n }\r\n } else if (!isEmitListener(instance.emitsOptions, key)) {\r\n if (!(key in attrs) || value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n const castValues = rawCastValues || EMPTY_OBJ;\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n key,\r\n castValues[key],\r\n instance,\r\n !hasOwn(castValues, key)\r\n );\r\n }\r\n }\r\n return hasAttrsChanged;\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, \"default\");\r\n if (hasDefault && value === void 0) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\r\n const { propsDefaults } = instance;\r\n if (key in propsDefaults) {\r\n value = propsDefaults[key];\r\n } else {\r\n const reset = setCurrentInstance(instance);\r\n value = propsDefaults[key] = defaultValue.call(\r\n null,\r\n props\r\n );\r\n reset();\r\n }\r\n } else {\r\n value = defaultValue;\r\n }\r\n }\r\n if (opt[0 /* shouldCast */]) {\r\n if (isAbsent && !hasDefault) {\r\n value = false;\r\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.propsCache;\r\n const cached = cache.get(comp);\r\n if (cached) {\r\n return cached;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw2) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, EMPTY_ARR);\r\n }\r\n return EMPTY_ARR;\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\r\n warn$1(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n } else if (raw) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\r\n warn$1(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;\r\n if (booleanIndex > -1 || hasOwn(prop, \"default\")) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const res = [normalized, needCastKeys];\r\n if (isObject(comp)) {\r\n cache.set(comp, res);\r\n }\r\n return res;\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== \"$\" && !isReservedProp(key)) {\r\n return true;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\nfunction getType(ctor) {\r\n if (ctor === null) {\r\n return \"null\";\r\n }\r\n if (typeof ctor === \"function\") {\r\n return ctor.name || \"\";\r\n } else if (typeof ctor === \"object\") {\r\n const name = ctor.constructor && ctor.constructor.name;\r\n return name || \"\";\r\n }\r\n return \"\";\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n return expectedTypes.findIndex((t) => isSameType(t, type));\r\n } else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\nfunction validateProps(rawProps, props, instance) {\r\n const resolvedValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(\r\n key,\r\n resolvedValues[key],\r\n opt,\r\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(resolvedValues) : resolvedValues,\r\n !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))\r\n );\r\n }\r\n}\r\nfunction validateProp(name, value, prop, props, isAbsent) {\r\n const { type, required, validator, skipCheck } = prop;\r\n if (required && isAbsent) {\r\n warn$1('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n if (value == null && !required) {\r\n return;\r\n }\r\n if (type != null && type !== true && !skipCheck) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || \"\");\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn$1(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n if (validator && !validator(value, props)) {\r\n warn$1('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /* @__PURE__ */ makeMap(\r\n \"String,Number,Boolean,Function,Symbol,BigInt\"\r\n);\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n if (!valid && t === \"object\") {\r\n valid = value instanceof type;\r\n }\r\n } else if (expectedType === \"Object\") {\r\n valid = isObject(value);\r\n } else if (expectedType === \"Array\") {\r\n valid = isArray(value);\r\n } else if (expectedType === \"null\") {\r\n valid = value === null;\r\n } else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n if (expectedTypes.length === 0) {\r\n return `Prop type [] for prop \"${name}\" won't match anything. Did you mean to use type Array instead?`;\r\n }\r\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\nfunction styleValue(value, type) {\r\n if (type === \"String\") {\r\n return `\"${value}\"`;\r\n } else if (type === \"Number\") {\r\n return `${Number(value)}`;\r\n } else {\r\n return `${value}`;\r\n }\r\n}\r\nfunction isExplicable(type) {\r\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\r\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\r\n}\r\nfunction isBoolean(...args) {\r\n return args.some((elem) => elem.toLowerCase() === \"boolean\");\r\n}\r\n\r\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(\r\n `<${formatComponentName(instance, instance.type)}> ${type}`,\r\n startTag,\r\n endTag\r\n );\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== void 0) {\r\n return supported;\r\n }\r\n if (typeof window !== \"undefined\" && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n } else {\r\n supported = false;\r\n }\r\n return supported;\r\n}\r\n\r\nconst queuePostRenderEffect$1 = queuePostFlushCb;\r\n\r\nconst isTeleport = (type) => type.__isTeleport;\r\n\r\nconst Fragment = Symbol.for(\"v-fgt\");\r\nconst Text = Symbol.for(\"v-txt\");\r\nconst Comment = Symbol.for(\"v-cmt\");\r\nconst Static = Symbol.for(\"v-stc\");\r\nlet currentBlock = null;\r\nlet isBlockTreeEnabled = 1;\r\nfunction setBlockTracking(value) {\r\n isBlockTreeEnabled += value;\r\n}\r\nfunction isVNode(value) {\r\n return value ? value.__v_isVNode === true : false;\r\n}\r\nconst createVNodeWithArgsTransform = (...args) => {\r\n return _createVNode(\r\n ...args\r\n );\r\n};\r\nconst InternalObjectKey = `__vInternal`;\r\nconst normalizeKey = ({ key }) => key != null ? key : null;\r\nconst normalizeRef = ({\r\n ref,\r\n ref_key,\r\n ref_for\r\n}) => {\r\n if (typeof ref === \"number\") {\r\n ref = \"\" + ref;\r\n }\r\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\r\n};\r\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\r\n const vnode = {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type,\r\n props,\r\n key: props && normalizeKey(props),\r\n ref: props && normalizeRef(props),\r\n scopeId: currentScopeId,\r\n slotScopeIds: null,\r\n children,\r\n component: null,\r\n suspense: null,\r\n ssContent: null,\r\n ssFallback: null,\r\n dirs: null,\r\n transition: null,\r\n el: null,\r\n anchor: null,\r\n target: null,\r\n targetAnchor: null,\r\n staticCount: 0,\r\n shapeFlag,\r\n patchFlag,\r\n dynamicProps,\r\n dynamicChildren: null,\r\n appContext: null,\r\n ctx: currentRenderingInstance\r\n };\r\n if (needFullChildrenNormalization) {\r\n normalizeChildren(vnode, children);\r\n } else if (children) {\r\n vnode.shapeFlag |= isString(children) ? 8 : 16;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\r\n warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\r\n }\r\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\r\n !isBlockNode && // has current parent block\r\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\r\n // component nodes also should always be patched, because even if the\r\n // component doesn't need to update, it needs to persist the instance on to\r\n // the next vnode so that it can be properly unmounted later.\r\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\r\n // vnode should not be considered dynamic due to handler caching.\r\n vnode.patchFlag !== 32) {\r\n currentBlock.push(vnode);\r\n }\r\n return vnode;\r\n}\r\nconst createVNode$1 = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\r\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\r\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\r\n warn$1(`Invalid vnode type when creating vnode: ${type}.`);\r\n }\r\n type = Comment;\r\n }\r\n if (isVNode(type)) {\r\n const cloned = cloneVNode(\r\n type,\r\n props,\r\n true\r\n /* mergeRef: true */\r\n );\r\n if (children) {\r\n normalizeChildren(cloned, children);\r\n }\r\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\r\n if (cloned.shapeFlag & 6) {\r\n currentBlock[currentBlock.indexOf(type)] = cloned;\r\n } else {\r\n currentBlock.push(cloned);\r\n }\r\n }\r\n cloned.patchFlag |= -2;\r\n return cloned;\r\n }\r\n if (isClassComponent(type)) {\r\n type = type.__vccOpts;\r\n }\r\n if (props) {\r\n props = guardReactiveProps(props);\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (isObject(style)) {\r\n if (isProxy(style) && !isArray(style)) {\r\n style = extend({}, style);\r\n }\r\n props.style = normalizeStyle(style);\r\n }\r\n }\r\n const shapeFlag = isString(type) ? 1 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\r\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\r\n type = toRaw(type);\r\n warn$1(\r\n `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\r\n `\r\nComponent that was made reactive: `,\r\n type\r\n );\r\n }\r\n return createBaseVNode(\r\n type,\r\n props,\r\n children,\r\n patchFlag,\r\n dynamicProps,\r\n shapeFlag,\r\n isBlockNode,\r\n true\r\n );\r\n}\r\nfunction guardReactiveProps(props) {\r\n if (!props)\r\n return null;\r\n return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;\r\n}\r\nfunction cloneVNode(vnode, extraProps, mergeRef = false) {\r\n const { props, ref, patchFlag, children } = vnode;\r\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\r\n const cloned = {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type: vnode.type,\r\n props: mergedProps,\r\n key: mergedProps && normalizeKey(mergedProps),\r\n ref: extraProps && extraProps.ref ? (\r\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\r\n // if the vnode itself already has a ref, cloneVNode will need to merge\r\n // the refs so the single vnode can be set on multiple refs\r\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\r\n ) : ref,\r\n scopeId: vnode.scopeId,\r\n slotScopeIds: vnode.slotScopeIds,\r\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\r\n target: vnode.target,\r\n targetAnchor: vnode.targetAnchor,\r\n staticCount: vnode.staticCount,\r\n shapeFlag: vnode.shapeFlag,\r\n // if the vnode is cloned with extra props, we can no longer assume its\r\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\r\n // note: preserve flag for fragments since they use the flag for children\r\n // fast paths only.\r\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\r\n dynamicProps: vnode.dynamicProps,\r\n dynamicChildren: vnode.dynamicChildren,\r\n appContext: vnode.appContext,\r\n dirs: vnode.dirs,\r\n transition: vnode.transition,\r\n // These should technically only be non-null on mounted VNodes. However,\r\n // they *should* be copied for kept-alive vnodes. So we just always copy\r\n // them since them being non-null during a mount doesn't affect the logic as\r\n // they will simply be overwritten.\r\n component: vnode.component,\r\n suspense: vnode.suspense,\r\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\r\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\r\n el: vnode.el,\r\n anchor: vnode.anchor,\r\n ctx: vnode.ctx,\r\n ce: vnode.ce\r\n };\r\n return cloned;\r\n}\r\nfunction deepCloneVNode(vnode) {\r\n const cloned = cloneVNode(vnode);\r\n if (isArray(vnode.children)) {\r\n cloned.children = vnode.children.map(deepCloneVNode);\r\n }\r\n return cloned;\r\n}\r\nfunction createTextVNode(text = \" \", flag = 0) {\r\n return createVNode$1(Text, null, text, flag);\r\n}\r\nfunction normalizeChildren(vnode, children) {\r\n let type = 0;\r\n const { shapeFlag } = vnode;\r\n if (children == null) {\r\n children = null;\r\n } else if (isArray(children)) {\r\n type = 16;\r\n } else if (typeof children === \"object\") {\r\n if (shapeFlag & (1 | 64)) {\r\n const slot = children.default;\r\n if (slot) {\r\n slot._c && (slot._d = false);\r\n normalizeChildren(vnode, slot());\r\n slot._c && (slot._d = true);\r\n }\r\n return;\r\n } else {\r\n type = 32;\r\n const slotFlag = children._;\r\n if (!slotFlag && !(InternalObjectKey in children)) {\r\n children._ctx = currentRenderingInstance;\r\n } else if (slotFlag === 3 && currentRenderingInstance) {\r\n if (currentRenderingInstance.slots._ === 1) {\r\n children._ = 1;\r\n } else {\r\n children._ = 2;\r\n vnode.patchFlag |= 1024;\r\n }\r\n }\r\n }\r\n } else if (isFunction(children)) {\r\n children = { default: children, _ctx: currentRenderingInstance };\r\n type = 32;\r\n } else {\r\n children = String(children);\r\n if (shapeFlag & 64) {\r\n type = 16;\r\n children = [createTextVNode(children)];\r\n } else {\r\n type = 8;\r\n }\r\n }\r\n vnode.children = children;\r\n vnode.shapeFlag |= type;\r\n}\r\nfunction mergeProps(...args) {\r\n const ret = {};\r\n for (let i = 0; i < args.length; i++) {\r\n const toMerge = args[i];\r\n for (const key in toMerge) {\r\n if (key === \"class\") {\r\n if (ret.class !== toMerge.class) {\r\n ret.class = normalizeClass([ret.class, toMerge.class]);\r\n }\r\n } else if (key === \"style\") {\r\n ret.style = normalizeStyle([ret.style, toMerge.style]);\r\n } else if (isOn(key)) {\r\n const existing = ret[key];\r\n const incoming = toMerge[key];\r\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\r\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\r\n }\r\n } else if (key !== \"\") {\r\n ret[key] = toMerge[key];\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nconst emptyAppContext = createAppContext();\r\nlet uid = 0;\r\nfunction createComponentInstance(vnode, parent, suspense) {\r\n const type = vnode.type;\r\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\r\n const instance = {\r\n uid: uid++,\r\n vnode,\r\n type,\r\n parent,\r\n appContext,\r\n root: null,\r\n // to be immediately set\r\n next: null,\r\n subTree: null,\r\n // will be set synchronously right after creation\r\n effect: null,\r\n update: null,\r\n // will be set synchronously right after creation\r\n scope: new EffectScope(\r\n true\r\n /* detached */\r\n ),\r\n render: null,\r\n proxy: null,\r\n exposed: null,\r\n exposeProxy: null,\r\n withProxy: null,\r\n provides: parent ? parent.provides : Object.create(appContext.provides),\r\n accessCache: null,\r\n renderCache: [],\r\n // local resolved assets\r\n components: null,\r\n directives: null,\r\n // resolved props and emits options\r\n propsOptions: normalizePropsOptions(type, appContext),\r\n emitsOptions: normalizeEmitsOptions(type, appContext),\r\n // emit\r\n emit: null,\r\n // to be set immediately\r\n emitted: null,\r\n // props default value\r\n propsDefaults: EMPTY_OBJ,\r\n // inheritAttrs\r\n inheritAttrs: type.inheritAttrs,\r\n // state\r\n ctx: EMPTY_OBJ,\r\n data: EMPTY_OBJ,\r\n props: EMPTY_OBJ,\r\n attrs: EMPTY_OBJ,\r\n slots: EMPTY_OBJ,\r\n refs: EMPTY_OBJ,\r\n setupState: EMPTY_OBJ,\r\n setupContext: null,\r\n attrsProxy: null,\r\n slotsProxy: null,\r\n // suspense related\r\n suspense,\r\n suspenseId: suspense ? suspense.pendingId : 0,\r\n asyncDep: null,\r\n asyncResolved: false,\r\n // lifecycle hooks\r\n // not using enums here because it results in computed properties\r\n isMounted: false,\r\n isUnmounted: false,\r\n isDeactivated: false,\r\n bc: null,\r\n c: null,\r\n bm: null,\r\n m: null,\r\n bu: null,\r\n u: null,\r\n um: null,\r\n bum: null,\r\n da: null,\r\n a: null,\r\n rtg: null,\r\n rtc: null,\r\n ec: null,\r\n sp: null,\r\n // fixed by xxxxxx 用于存储uni-app的元素缓存\r\n $uniElements: /* @__PURE__ */ new Map(),\r\n $templateUniElementRefs: [],\r\n $templateUniElementStyles: {},\r\n $eS: {}\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n instance.ctx = createDevRenderContext(instance);\r\n } else {\r\n instance.ctx = { _: instance };\r\n }\r\n instance.root = parent ? parent.root : instance;\r\n instance.emit = emit.bind(null, instance);\r\n if (vnode.ce) {\r\n vnode.ce(instance);\r\n }\r\n return instance;\r\n}\r\nlet currentInstance = null;\r\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\r\nlet internalSetCurrentInstance;\r\nlet setInSSRSetupState;\r\n{\r\n internalSetCurrentInstance = (i) => {\r\n currentInstance = i;\r\n };\r\n setInSSRSetupState = (v) => {\r\n isInSSRComponentSetup = v;\r\n };\r\n}\r\nconst setCurrentInstance = (instance) => {\r\n const prev = currentInstance;\r\n internalSetCurrentInstance(instance);\r\n instance.scope.on();\r\n return () => {\r\n instance.scope.off();\r\n internalSetCurrentInstance(prev);\r\n };\r\n};\r\nconst unsetCurrentInstance = () => {\r\n currentInstance && currentInstance.scope.off();\r\n internalSetCurrentInstance(null);\r\n};\r\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\r\nfunction validateComponentName(name, { isNativeTag }) {\r\n if (isBuiltInTag(name) || isNativeTag(name)) {\r\n warn$1(\r\n \"Do not use built-in or reserved HTML elements as component id: \" + name\r\n );\r\n }\r\n}\r\nfunction isStatefulComponent(instance) {\r\n return instance.vnode.shapeFlag & 4;\r\n}\r\nlet isInSSRComponentSetup = false;\r\nfunction setupComponent(instance, isSSR = false) {\r\n isSSR && setInSSRSetupState(isSSR);\r\n const {\r\n props\r\n /*, children*/\r\n } = instance.vnode;\r\n const isStateful = isStatefulComponent(instance);\r\n initProps(instance, props, isStateful, isSSR);\r\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\r\n isSSR && setInSSRSetupState(false);\r\n return setupResult;\r\n}\r\nfunction setupStatefulComponent(instance, isSSR) {\r\n const Component = instance.type;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n if (Component.name) {\r\n validateComponentName(Component.name, instance.appContext.config);\r\n }\r\n if (Component.components) {\r\n const names = Object.keys(Component.components);\r\n for (let i = 0; i < names.length; i++) {\r\n validateComponentName(names[i], instance.appContext.config);\r\n }\r\n }\r\n if (Component.directives) {\r\n const names = Object.keys(Component.directives);\r\n for (let i = 0; i < names.length; i++) {\r\n validateDirectiveName(names[i]);\r\n }\r\n }\r\n if (Component.compilerOptions && isRuntimeOnly()) {\r\n warn$1(\r\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\r\n );\r\n }\r\n }\r\n instance.accessCache = /* @__PURE__ */ Object.create(null);\r\n instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n exposePropsOnRenderContext(instance);\r\n }\r\n const { setup } = Component;\r\n if (setup) {\r\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n const setupResult = callWithErrorHandling(\r\n setup,\r\n instance,\r\n 0,\r\n [\r\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props,\r\n setupContext\r\n ]\r\n );\r\n resetTracking();\r\n reset();\r\n if (isPromise(setupResult)) {\r\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `setup() returned a Promise, but the version of Vue you are using does not support it yet.`\r\n );\r\n }\r\n } else {\r\n handleSetupResult(instance, setupResult, isSSR);\r\n }\r\n } else {\r\n finishComponentSetup(instance, isSSR);\r\n }\r\n}\r\nfunction handleSetupResult(instance, setupResult, isSSR) {\r\n if (isFunction(setupResult)) {\r\n {\r\n instance.render = setupResult;\r\n }\r\n } else if (isObject(setupResult)) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\r\n warn$1(\r\n `setup() should not return VNodes directly - return a render function instead.`\r\n );\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n instance.devtoolsRawSetupState = setupResult;\r\n }\r\n instance.setupState = proxyRefs(setupResult);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n exposeSetupStateOnRenderContext(instance);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\r\n warn$1(\r\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\r\n );\r\n }\r\n finishComponentSetup(instance, isSSR);\r\n}\r\nlet compile;\r\nconst isRuntimeOnly = () => !compile;\r\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\r\n const Component = instance.type;\r\n if (!instance.render) {\r\n instance.render = Component.render || NOOP;\r\n }\r\n if (__VUE_OPTIONS_API__ && true) {\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n try {\r\n applyOptions$1(instance);\r\n } finally {\r\n resetTracking();\r\n reset();\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\r\n if (Component.template) {\r\n warn$1(\r\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\r\n );\r\n } else {\r\n warn$1(`Component is missing template or render function.`);\r\n }\r\n }\r\n}\r\nfunction getAttrsProxy(instance) {\r\n return instance.attrsProxy || (instance.attrsProxy = new Proxy(\r\n instance.attrs,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n get(target, key) {\r\n track(instance, \"get\", \"$attrs\");\r\n return target[key];\r\n },\r\n set() {\r\n warn$1(`setupContext.attrs is readonly.`);\r\n return false;\r\n },\r\n deleteProperty() {\r\n warn$1(`setupContext.attrs is readonly.`);\r\n return false;\r\n }\r\n } : {\r\n get(target, key) {\r\n track(instance, \"get\", \"$attrs\");\r\n return target[key];\r\n }\r\n }\r\n ));\r\n}\r\nfunction getSlotsProxy(instance) {\r\n return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {\r\n get(target, key) {\r\n track(instance, \"get\", \"$slots\");\r\n return target[key];\r\n }\r\n }));\r\n}\r\nfunction createSetupContext(instance) {\r\n const expose = (exposed) => {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n if (instance.exposed) {\r\n warn$1(`expose() should be called only once per setup().`);\r\n }\r\n if (exposed != null) {\r\n let exposedType = typeof exposed;\r\n if (exposedType === \"object\") {\r\n if (isArray(exposed)) {\r\n exposedType = \"array\";\r\n } else if (isRef(exposed)) {\r\n exposedType = \"ref\";\r\n }\r\n }\r\n if (exposedType !== \"object\") {\r\n warn$1(\r\n `expose() should be passed a plain object, received ${exposedType}.`\r\n );\r\n }\r\n }\r\n }\r\n instance.exposed = exposed || {};\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n return Object.freeze({\r\n get attrs() {\r\n return getAttrsProxy(instance);\r\n },\r\n get slots() {\r\n return getSlotsProxy(instance);\r\n },\r\n get emit() {\r\n return (event, ...args) => instance.emit(event, ...args);\r\n },\r\n expose\r\n });\r\n } else {\r\n return {\r\n get attrs() {\r\n return getAttrsProxy(instance);\r\n },\r\n slots: instance.slots,\r\n emit: instance.emit,\r\n expose\r\n };\r\n }\r\n}\r\nfunction getExposeProxy(instance) {\r\n if (instance.exposed) {\r\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\r\n get(target, key) {\r\n if (key in target) {\r\n return target[key];\r\n }\r\n return instance.proxy[key];\r\n },\r\n has(target, key) {\r\n return key in target || key in publicPropertiesMap;\r\n }\r\n }));\r\n }\r\n}\r\nconst classifyRE = /(?:^|[-_])(\\w)/g;\r\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\r\nfunction getComponentName(Component, includeInferred = true) {\r\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\r\n}\r\nfunction formatComponentName(instance, Component, isRoot = false) {\r\n let name = getComponentName(Component);\r\n if (!name && Component.__file) {\r\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\r\n if (match) {\r\n name = match[1];\r\n }\r\n }\r\n if (!name && instance && instance.parent) {\r\n const inferFromRegistry = (registry) => {\r\n for (const key in registry) {\r\n if (registry[key] === Component) {\r\n return key;\r\n }\r\n }\r\n };\r\n name = inferFromRegistry(\r\n instance.components || instance.parent.type.components\r\n ) || inferFromRegistry(instance.appContext.components);\r\n }\r\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\r\n}\r\nfunction isClassComponent(value) {\r\n return isFunction(value) && \"__vccOpts\" in value;\r\n}\r\n\r\nconst computed = (getterOrOptions, debugOptions) => {\r\n const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const i = getCurrentInstance();\r\n if (i && i.appContext.config.warnRecursiveComputed) {\r\n c._warnRecursive = true;\r\n }\r\n }\r\n return c;\r\n};\r\n\r\nfunction useModel(props, name, options = EMPTY_OBJ) {\r\n const i = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\r\n warn$1(`useModel() called without active instance.`);\r\n return ref();\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][name]) {\r\n warn$1(`useModel() called with prop \"${name}\" which is not declared.`);\r\n return ref();\r\n }\r\n const camelizedName = camelize(name);\r\n const hyphenatedName = hyphenate(name);\r\n const res = customRef((track, trigger) => {\r\n let localValue;\r\n watchSyncEffect(() => {\r\n const propValue = props[name];\r\n if (hasChanged(localValue, propValue)) {\r\n localValue = propValue;\r\n trigger();\r\n }\r\n });\r\n return {\r\n get() {\r\n track();\r\n return options.get ? options.get(localValue) : localValue;\r\n },\r\n set(value) {\r\n const rawProps = i.vnode.props;\r\n if (!(rawProps && // check if parent has passed v-model\r\n (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {\r\n localValue = value;\r\n trigger();\r\n }\r\n i.emit(`update:${name}`, options.set ? options.set(value) : value);\r\n }\r\n };\r\n });\r\n const modifierKey = name === \"modelValue\" ? \"modelModifiers\" : `${name}Modifiers`;\r\n res[Symbol.iterator] = () => {\r\n let i2 = 0;\r\n return {\r\n next() {\r\n if (i2 < 2) {\r\n return { value: i2++ ? props[modifierKey] || {} : res, done: false };\r\n } else {\r\n return { done: true };\r\n }\r\n }\r\n };\r\n };\r\n return res;\r\n}\r\n\r\nconst version = \"3.4.21\";\r\nconst warn = !!(process.env.NODE_ENV !== \"production\") ? warn$1 : NOOP;\r\nconst resolveFilter = null;\r\n\r\nfunction unwrapper(target) {\r\n return unref(target);\r\n}\r\nfunction defineAsyncComponent(source) {\r\n console.error(\"defineAsyncComponent is unsupported\");\r\n}\r\n\r\nconst ARRAYTYPE = \"[object Array]\";\r\nconst OBJECTTYPE = \"[object Object]\";\r\nfunction diff(current, pre) {\r\n const result = {};\r\n syncKeys(current, pre);\r\n _diff(current, pre, \"\", result);\r\n return result;\r\n}\r\nfunction syncKeys(current, pre) {\r\n current = unwrapper(current);\r\n if (current === pre)\r\n return;\r\n const rootCurrentType = toTypeString(current);\r\n const rootPreType = toTypeString(pre);\r\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\r\n for (let key in pre) {\r\n const currentValue = current[key];\r\n if (currentValue === void 0) {\r\n current[key] = null;\r\n } else {\r\n syncKeys(currentValue, pre[key]);\r\n }\r\n }\r\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\r\n if (current.length >= pre.length) {\r\n pre.forEach((item, index) => {\r\n syncKeys(current[index], item);\r\n });\r\n }\r\n }\r\n}\r\nfunction _diff(current, pre, path, result) {\r\n current = unwrapper(current);\r\n if (current === pre)\r\n return;\r\n const rootCurrentType = toTypeString(current);\r\n const rootPreType = toTypeString(pre);\r\n if (rootCurrentType == OBJECTTYPE) {\r\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\r\n setResult(result, path, current);\r\n } else {\r\n for (let key in current) {\r\n const currentValue = unwrapper(current[key]);\r\n const preValue = pre[key];\r\n const currentType = toTypeString(currentValue);\r\n const preType = toTypeString(preValue);\r\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\r\n if (currentValue != preValue) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n }\r\n } else if (currentType == ARRAYTYPE) {\r\n if (preType != ARRAYTYPE) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n if (currentValue.length < preValue.length) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n currentValue.forEach((item, index) => {\r\n _diff(\r\n item,\r\n preValue[index],\r\n (path == \"\" ? \"\" : path + \".\") + key + \"[\" + index + \"]\",\r\n result\r\n );\r\n });\r\n }\r\n }\r\n } else if (currentType == OBJECTTYPE) {\r\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n for (let subKey in currentValue) {\r\n _diff(\r\n currentValue[subKey],\r\n preValue[subKey],\r\n (path == \"\" ? \"\" : path + \".\") + key + \".\" + subKey,\r\n result\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (rootCurrentType == ARRAYTYPE) {\r\n if (rootPreType != ARRAYTYPE) {\r\n setResult(result, path, current);\r\n } else {\r\n if (current.length < pre.length) {\r\n setResult(result, path, current);\r\n } else {\r\n current.forEach((item, index) => {\r\n _diff(item, pre[index], path + \"[\" + index + \"]\", result);\r\n });\r\n }\r\n }\r\n } else {\r\n setResult(result, path, current);\r\n }\r\n}\r\nfunction setResult(result, k, v) {\r\n result[k] = v;\r\n}\r\n\r\nfunction hasComponentEffect(instance) {\r\n return queue.includes(instance.update);\r\n}\r\nfunction flushCallbacks(instance) {\r\n const ctx = instance.ctx;\r\n const callbacks = ctx.__next_tick_callbacks;\r\n if (callbacks && callbacks.length) {\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:flushCallbacks[\" + callbacks.length + \"]\"\r\n );\r\n }\r\n const copies = callbacks.slice(0);\r\n callbacks.length = 0;\r\n for (let i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\nfunction nextTick(instance, fn) {\r\n const ctx = instance.ctx;\r\n if (!ctx.__next_tick_pending && !hasComponentEffect(instance)) {\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:nextVueTick\"\r\n );\r\n }\r\n return nextTick$1(fn && fn.bind(instance.proxy));\r\n }\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:nextMPTick\"\r\n );\r\n }\r\n let _resolve;\r\n if (!ctx.__next_tick_callbacks) {\r\n ctx.__next_tick_callbacks = [];\r\n }\r\n ctx.__next_tick_callbacks.push(() => {\r\n if (fn) {\r\n callWithErrorHandling(\r\n fn.bind(instance.proxy),\r\n instance,\r\n 14\r\n );\r\n } else if (_resolve) {\r\n _resolve(instance.proxy);\r\n }\r\n });\r\n return new Promise((resolve) => {\r\n _resolve = resolve;\r\n });\r\n}\r\n\r\nfunction clone(src, seen) {\r\n src = unwrapper(src);\r\n const type = typeof src;\r\n if (type === \"object\" && src !== null) {\r\n let copy = seen.get(src);\r\n if (typeof copy !== \"undefined\") {\r\n return copy;\r\n }\r\n if (isArray(src)) {\r\n const len = src.length;\r\n copy = new Array(len);\r\n seen.set(src, copy);\r\n for (let i = 0; i < len; i++) {\r\n copy[i] = clone(src[i], seen);\r\n }\r\n } else {\r\n copy = {};\r\n seen.set(src, copy);\r\n for (const name in src) {\r\n if (hasOwn(src, name)) {\r\n copy[name] = clone(src[name], seen);\r\n }\r\n }\r\n }\r\n return copy;\r\n }\r\n if (type !== \"symbol\") {\r\n return src;\r\n }\r\n}\r\nfunction deepCopy(src) {\r\n return clone(src, typeof WeakMap !== \"undefined\" ? /* @__PURE__ */ new WeakMap() : /* @__PURE__ */ new Map());\r\n}\r\n\r\nfunction getMPInstanceData(instance, keys) {\r\n const data = instance.data;\r\n const ret = /* @__PURE__ */ Object.create(null);\r\n keys.forEach((key) => {\r\n ret[key] = data[key];\r\n });\r\n return ret;\r\n}\r\nfunction patch(instance, data, oldData) {\r\n if (!data) {\r\n return;\r\n }\r\n data = deepCopy(data);\r\n data.$eS = instance.$eS || {};\r\n const ctx = instance.ctx;\r\n const mpType = ctx.mpType;\r\n if (mpType === \"page\" || mpType === \"component\") {\r\n data.r0 = 1;\r\n const start = Date.now();\r\n const mpInstance = ctx.$scope;\r\n const keys = Object.keys(data);\r\n const diffData = diff(data, oldData || getMPInstanceData(mpInstance, keys));\r\n if (Object.keys(diffData).length) {\r\n if (process.env.UNI_DEBUG) {\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"][\\u8017\\u65F6\" + (Date.now() - start) + \"]\\u5DEE\\u91CF\\u66F4\\u65B0\",\r\n JSON.stringify(diffData)\r\n );\r\n }\r\n ctx.__next_tick_pending = true;\r\n mpInstance.setData(diffData, () => {\r\n ctx.__next_tick_pending = false;\r\n flushCallbacks(instance);\r\n });\r\n flushPreFlushCbs();\r\n } else {\r\n flushCallbacks(instance);\r\n }\r\n }\r\n}\r\n\r\nfunction initAppConfig(appConfig) {\r\n appConfig.globalProperties.$nextTick = function $nextTick(fn) {\r\n return nextTick(this.$, fn);\r\n };\r\n}\r\n\r\nfunction onApplyOptions(options, instance, publicThis) {\r\n instance.appContext.config.globalProperties.$applyOptions(\r\n options,\r\n instance,\r\n publicThis\r\n );\r\n const computedOptions = options.computed;\r\n if (computedOptions) {\r\n const keys = Object.keys(computedOptions);\r\n if (keys.length) {\r\n const ctx = instance.ctx;\r\n if (!ctx.$computedKeys) {\r\n ctx.$computedKeys = [];\r\n }\r\n ctx.$computedKeys.push(...keys);\r\n }\r\n }\r\n delete instance.ctx.$onApplyOptions;\r\n}\r\n\r\nfunction setRef$1(instance, isUnmount = false) {\r\n const {\r\n setupState,\r\n $templateRefs,\r\n $templateUniElementRefs,\r\n ctx: { $scope, $mpPlatform }\r\n } = instance;\r\n if ($mpPlatform === \"mp-alipay\") {\r\n return;\r\n }\r\n if (!$scope || !$templateRefs && !$templateUniElementRefs) {\r\n return;\r\n }\r\n if (isUnmount) {\r\n $templateRefs && $templateRefs.forEach(\r\n (templateRef) => setTemplateRef(templateRef, null, setupState)\r\n );\r\n $templateUniElementRefs && $templateUniElementRefs.forEach(\r\n (templateRef) => setTemplateRef(templateRef, null, setupState)\r\n );\r\n return;\r\n }\r\n const check = $mpPlatform === \"mp-baidu\" || $mpPlatform === \"mp-toutiao\";\r\n const doSetByRefs = (refs) => {\r\n if (refs.length === 0) {\r\n return [];\r\n }\r\n const mpComponents = (\r\n // 字节小程序 selectAllComponents 可能返回 null\r\n // https://github.com/dcloudio/uni-app/issues/3954\r\n ($scope.selectAllComponents(\".r\") || []).concat(\r\n $scope.selectAllComponents(\".r-i-f\") || []\r\n )\r\n );\r\n return refs.filter((templateRef) => {\r\n const refValue = findComponentPublicInstance(mpComponents, templateRef.i);\r\n if (check && refValue === null) {\r\n return true;\r\n }\r\n setTemplateRef(templateRef, refValue, setupState);\r\n return false;\r\n });\r\n };\r\n const doSet = () => {\r\n if ($templateRefs) {\r\n const refs = doSetByRefs($templateRefs);\r\n if (refs.length && instance.proxy && instance.proxy.$scope) {\r\n instance.proxy.$scope.setData({ r1: 1 }, () => {\r\n doSetByRefs(refs);\r\n });\r\n }\r\n }\r\n };\r\n if ($templateUniElementRefs && $templateUniElementRefs.length) {\r\n nextTick(instance, () => {\r\n $templateUniElementRefs.forEach((templateRef) => {\r\n if (isArray(templateRef.v)) {\r\n templateRef.v.forEach((v) => {\r\n setTemplateRef(templateRef, v, setupState);\r\n });\r\n } else {\r\n setTemplateRef(templateRef, templateRef.v, setupState);\r\n }\r\n });\r\n });\r\n }\r\n if ($scope._$setRef) {\r\n $scope._$setRef(doSet);\r\n } else {\r\n nextTick(instance, doSet);\r\n }\r\n}\r\nfunction toSkip(value) {\r\n if (isObject(value)) {\r\n markRaw(value);\r\n }\r\n return value;\r\n}\r\nfunction findComponentPublicInstance(mpComponents, id) {\r\n const mpInstance = mpComponents.find(\r\n (com) => com && (com.properties || com.props).uI === id\r\n );\r\n if (mpInstance) {\r\n const vm = mpInstance.$vm;\r\n if (vm) {\r\n return getExposeProxy(vm.$) || vm;\r\n }\r\n return toSkip(mpInstance);\r\n }\r\n return null;\r\n}\r\nfunction setTemplateRef({ r, f }, refValue, setupState) {\r\n if (isFunction(r)) {\r\n r(refValue, {});\r\n } else {\r\n const _isString = isString(r);\r\n const _isRef = isRef(r);\r\n if (_isString || _isRef) {\r\n if (f) {\r\n if (!_isRef) {\r\n return;\r\n }\r\n if (!isArray(r.value)) {\r\n r.value = [];\r\n }\r\n const existing = r.value;\r\n if (existing.indexOf(refValue) === -1) {\r\n existing.push(refValue);\r\n if (!refValue) {\r\n return;\r\n }\r\n if (refValue.$) {\r\n onBeforeUnmount(() => remove(existing, refValue), refValue.$);\r\n }\r\n }\r\n } else if (_isString) {\r\n if (hasOwn(setupState, r)) {\r\n setupState[r] = refValue;\r\n }\r\n } else if (isRef(r)) {\r\n r.value = refValue;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRef(r);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRef(r);\r\n }\r\n }\r\n}\r\nfunction warnRef(ref) {\r\n warn(\"Invalid template ref type:\", ref, `(${typeof ref})`);\r\n}\r\n\r\nconst queuePostRenderEffect = queuePostFlushCb;\r\nfunction mountComponent(initialVNode, options) {\r\n const instance = initialVNode.component = createComponentInstance(initialVNode, options.parentComponent, null);\r\n if (__VUE_OPTIONS_API__) {\r\n instance.ctx.$onApplyOptions = onApplyOptions;\r\n instance.ctx.$children = [];\r\n }\r\n if (options.mpType === \"app\") {\r\n instance.render = NOOP;\r\n }\r\n if (options.onBeforeSetup) {\r\n options.onBeforeSetup(instance, options);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n pushWarningContext(initialVNode);\r\n startMeasure(instance, `mount`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `init`);\r\n }\r\n setupComponent(instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `init`);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n if (options.parentComponent && instance.proxy) {\r\n options.parentComponent.ctx.$children.push(getExposeProxy(instance) || instance.proxy);\r\n }\r\n }\r\n setupRenderEffect(instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n popWarningContext();\r\n endMeasure(instance, `mount`);\r\n }\r\n return instance.proxy;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === \"class\" || key === \"style\" || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nfunction renderComponentRoot(instance) {\r\n const {\r\n type: Component,\r\n vnode,\r\n proxy,\r\n withProxy,\r\n props,\r\n propsOptions: [propsOptions],\r\n slots,\r\n attrs,\r\n emit,\r\n render,\r\n renderCache,\r\n data,\r\n setupState,\r\n ctx,\r\n uid,\r\n appContext: {\r\n app: {\r\n config: {\r\n globalProperties: { pruneComponentPropsCache }\r\n }\r\n }\r\n },\r\n inheritAttrs\r\n } = instance;\r\n instance.$uniElementIds = /* @__PURE__ */ new Map();\r\n instance.$templateRefs = [];\r\n instance.$templateUniElementRefs = [];\r\n instance.$templateUniElementStyles = {};\r\n instance.$ei = 0;\r\n pruneComponentPropsCache(uid);\r\n instance.__counter = instance.__counter === 0 ? 1 : 0;\r\n let result;\r\n const prev = setCurrentRenderingInstance(instance);\r\n try {\r\n if (vnode.shapeFlag & 4) {\r\n fallthroughAttrs(inheritAttrs, props, propsOptions, attrs);\r\n const proxyToUse = withProxy || proxy;\r\n result = render.call(\r\n proxyToUse,\r\n proxyToUse,\r\n renderCache,\r\n props,\r\n setupState,\r\n data,\r\n ctx\r\n );\r\n } else {\r\n fallthroughAttrs(\r\n inheritAttrs,\r\n props,\r\n propsOptions,\r\n Component.props ? attrs : getFunctionalFallthrough(attrs)\r\n );\r\n const render2 = Component;\r\n result = render2.length > 1 ? render2(props, { attrs, slots, emit }) : render2(\r\n props,\r\n null\r\n /* we know it doesn't need it */\r\n );\r\n }\r\n } catch (err) {\r\n handleError(err, instance, 1);\r\n result = false;\r\n }\r\n setRef$1(instance);\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\nfunction fallthroughAttrs(inheritAttrs, props, propsOptions, fallthroughAttrs2) {\r\n if (props && fallthroughAttrs2 && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs2).filter(\r\n (key) => key !== \"class\" && key !== \"style\"\r\n );\r\n if (!keys.length) {\r\n return;\r\n }\r\n if (propsOptions && keys.some(isModelListener)) {\r\n keys.forEach((key) => {\r\n if (!isModelListener(key) || !(key.slice(9) in propsOptions)) {\r\n props[key] = fallthroughAttrs2[key];\r\n }\r\n });\r\n } else {\r\n keys.forEach((key) => props[key] = fallthroughAttrs2[key]);\r\n }\r\n }\r\n}\r\nconst updateComponentPreRender = (instance) => {\r\n pauseTracking();\r\n flushPreFlushCbs();\r\n resetTracking();\r\n};\r\nfunction componentUpdateScopedSlotsFn() {\r\n const scopedSlotsData = this.$scopedSlotsData;\r\n if (!scopedSlotsData || scopedSlotsData.length === 0) {\r\n return;\r\n }\r\n const start = Date.now();\r\n const mpInstance = this.ctx.$scope;\r\n const oldData = mpInstance.data;\r\n const diffData = /* @__PURE__ */ Object.create(null);\r\n scopedSlotsData.forEach(({ path, index, data }) => {\r\n const oldScopedSlotData = getValueByDataPath(oldData, path);\r\n const diffPath = isString(index) ? `${path}.${index}` : `${path}[${index}]`;\r\n if (typeof oldScopedSlotData === \"undefined\" || typeof oldScopedSlotData[index] === \"undefined\") {\r\n diffData[diffPath] = data;\r\n } else {\r\n const diffScopedSlotData = diff(\r\n data,\r\n oldScopedSlotData[index]\r\n );\r\n Object.keys(diffScopedSlotData).forEach((name) => {\r\n diffData[diffPath + \".\" + name] = diffScopedSlotData[name];\r\n });\r\n }\r\n });\r\n scopedSlotsData.length = 0;\r\n if (Object.keys(diffData).length) {\r\n if (process.env.UNI_DEBUG) {\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + this.uid + \"][\\u8017\\u65F6\" + (Date.now() - start) + \"]\\u4F5C\\u7528\\u57DF\\u63D2\\u69FD\\u5DEE\\u91CF\\u66F4\\u65B0\",\r\n JSON.stringify(diffData)\r\n );\r\n }\r\n mpInstance.setData(diffData);\r\n }\r\n}\r\nfunction toggleRecurse({ effect, update }, allowed) {\r\n effect.allowRecurse = update.allowRecurse = allowed;\r\n}\r\nfunction setupRenderEffect(instance) {\r\n const updateScopedSlots = componentUpdateScopedSlotsFn.bind(\r\n instance\r\n );\r\n instance.$updateScopedSlots = () => nextTick$1(() => queueJob(updateScopedSlots));\r\n const componentUpdateFn = () => {\r\n if (!instance.isMounted) {\r\n onBeforeUnmount(() => {\r\n setRef$1(instance, true);\r\n }, instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `patch`);\r\n }\r\n patch(instance, renderComponentRoot(instance));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `patch`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentAdded(instance);\r\n }\r\n } else {\r\n const { next, bu, u } = instance;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n pushWarningContext(next || instance.vnode);\r\n }\r\n toggleRecurse(instance, false);\r\n updateComponentPreRender();\r\n if (bu) {\r\n invokeArrayFns(bu);\r\n }\r\n toggleRecurse(instance, true);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `patch`);\r\n }\r\n patch(instance, renderComponentRoot(instance));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `patch`);\r\n }\r\n if (u) {\r\n queuePostRenderEffect(u);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(instance);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n popWarningContext();\r\n }\r\n }\r\n };\r\n const effect = instance.effect = new ReactiveEffect(\r\n componentUpdateFn,\r\n NOOP,\r\n () => queueJob(update),\r\n instance.scope\r\n // track it in component's effect scope\r\n );\r\n const update = instance.update = () => {\r\n if (effect.dirty) {\r\n effect.run();\r\n }\r\n };\r\n update.id = instance.uid;\r\n toggleRecurse(instance, true);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\r\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\r\n update.ownerInstance = instance;\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n update();\r\n }\r\n}\r\nfunction unmountComponent(instance) {\r\n const { bum, scope, update, um } = instance;\r\n if (bum) {\r\n invokeArrayFns(bum);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n const parentInstance = instance.parent;\r\n if (parentInstance) {\r\n const $children = parentInstance.ctx.$children;\r\n const target = getExposeProxy(instance) || instance.proxy;\r\n const index = $children.indexOf(target);\r\n if (index > -1) {\r\n $children.splice(index, 1);\r\n }\r\n }\r\n }\r\n scope.stop();\r\n if (update) {\r\n update.active = false;\r\n }\r\n if (um) {\r\n queuePostRenderEffect(um);\r\n }\r\n queuePostRenderEffect(() => {\r\n instance.isUnmounted = true;\r\n });\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentRemoved(instance);\r\n }\r\n}\r\nconst oldCreateApp = createAppAPI();\r\nfunction getTarget() {\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n if (typeof my !== \"undefined\") {\r\n return my;\r\n }\r\n}\r\nfunction createVueApp(rootComponent, rootProps = null) {\r\n const target = getTarget();\r\n target.__VUE__ = true;\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\r\n }\r\n const app = oldCreateApp(rootComponent, rootProps);\r\n const appContext = app._context;\r\n initAppConfig(appContext.config);\r\n const createVNode = (initialVNode) => {\r\n initialVNode.appContext = appContext;\r\n initialVNode.shapeFlag = 6;\r\n return initialVNode;\r\n };\r\n const createComponent = function createComponent2(initialVNode, options) {\r\n return mountComponent(createVNode(initialVNode), options);\r\n };\r\n const destroyComponent = function destroyComponent2(component) {\r\n return component && unmountComponent(component.$);\r\n };\r\n app.mount = function mount() {\r\n rootComponent.render = NOOP;\r\n const instance = mountComponent(\r\n createVNode({ type: rootComponent }),\r\n {\r\n mpType: \"app\",\r\n mpInstance: null,\r\n parentComponent: null,\r\n slots: [],\r\n props: null\r\n }\r\n );\r\n app._instance = instance.$;\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n instance.$app = app;\r\n instance.$createComponent = createComponent;\r\n instance.$destroyComponent = destroyComponent;\r\n appContext.$appInstance = instance;\r\n return instance;\r\n };\r\n app.unmount = function unmount() {\r\n warn(`Cannot unmount an app.`);\r\n };\r\n return app;\r\n}\r\n\r\nfunction useCssModule(name = \"$style\") {\r\n {\r\n const instance = getCurrentInstance();\r\n if (!instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\r\n return EMPTY_OBJ;\r\n }\r\n const modules = instance.type.__cssModules;\r\n if (!modules) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\r\n return EMPTY_OBJ;\r\n }\r\n const mod = modules[name];\r\n if (!mod) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\r\n return EMPTY_OBJ;\r\n }\r\n return mod;\r\n }\r\n}\r\n\r\nfunction useCssVars(getter) {\r\n const instance = getCurrentInstance();\r\n if (!instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\r\n return;\r\n }\r\n initCssVarsRender(instance, getter);\r\n}\r\nfunction initCssVarsRender(instance, getter) {\r\n instance.ctx.__cssVars = () => {\r\n const vars = getter(instance.proxy);\r\n const cssVars = {};\r\n for (const key in vars) {\r\n cssVars[`--${key}`] = vars[key];\r\n }\r\n return cssVars;\r\n };\r\n}\r\n\r\nfunction withModifiers() {\r\n}\r\nfunction createVNode() {\r\n}\r\n\r\nfunction injectLifecycleHook(name, hook, publicThis, instance) {\r\n if (isFunction(hook)) {\r\n injectHook(name, hook.bind(publicThis), instance);\r\n }\r\n}\r\nfunction initHooks(options, instance, publicThis) {\r\n const mpType = options.mpType || publicThis.$mpType;\r\n if (!mpType || mpType === 'component') {\r\n // 仅 App,Page 类型支持在 options 中配置 on 生命周期,组件可以使用组合式 API 定义页面生命周期\r\n return;\r\n }\r\n Object.keys(options).forEach((name) => {\r\n if (isUniLifecycleHook(name, options[name], false)) {\r\n const hooks = options[name];\r\n if (isArray(hooks)) {\r\n hooks.forEach((hook) => injectLifecycleHook(name, hook, publicThis, instance));\r\n }\r\n else {\r\n injectLifecycleHook(name, hooks, publicThis, instance);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction applyOptions(options, instance, publicThis) {\r\n initHooks(options, instance, publicThis);\r\n}\r\n\r\nfunction set(target, key, val) {\r\n return (target[key] = val);\r\n}\r\nfunction $callMethod(method, ...args) {\r\n const fn = this[method];\r\n if (fn) {\r\n return fn(...args);\r\n }\r\n console.error(`method ${method} not found`);\r\n return null;\r\n}\r\n\r\nfunction createErrorHandler(app) {\r\n const userErrorHandler = app.config.errorHandler;\r\n return function errorHandler(err, instance, info) {\r\n if (userErrorHandler) {\r\n userErrorHandler(err, instance, info);\r\n }\r\n const appInstance = app._instance;\r\n if (!appInstance || !appInstance.proxy) {\r\n throw err;\r\n }\r\n if (appInstance[ON_ERROR]) {\r\n {\r\n appInstance.proxy.$callHook(ON_ERROR, err);\r\n }\r\n }\r\n else {\r\n logError(err, info, instance ? instance.$.vnode : null, false);\r\n }\r\n };\r\n}\r\nfunction mergeAsArray(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction initOptionMergeStrategies(optionMergeStrategies) {\r\n UniLifecycleHooks.forEach((name) => {\r\n optionMergeStrategies[name] = mergeAsArray;\r\n });\r\n}\r\n\r\nlet realAtob;\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) {\r\n throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");\r\n }\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap;\r\n var result = '';\r\n var r1;\r\n var r2;\r\n var i = 0;\r\n for (; i < str.length;) {\r\n bitmap =\r\n (b64.indexOf(str.charAt(i++)) << 18) |\r\n (b64.indexOf(str.charAt(i++)) << 12) |\r\n ((r1 = b64.indexOf(str.charAt(i++))) << 6) |\r\n (r2 = b64.indexOf(str.charAt(i++)));\r\n result +=\r\n r1 === 64\r\n ? String.fromCharCode((bitmap >> 16) & 255)\r\n : r2 === 64\r\n ? String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255)\r\n : String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255, bitmap & 255);\r\n }\r\n return result;\r\n };\r\n}\r\nelse {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\nfunction b64DecodeUnicode(str) {\r\n return decodeURIComponent(realAtob(str)\r\n .split('')\r\n .map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join(''));\r\n}\r\nfunction getCurrentUserInfo() {\r\n const token = uni.getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0,\r\n };\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n }\r\n catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message);\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo;\r\n}\r\nfunction uniIdMixin(globalProperties) {\r\n globalProperties.uniIDHasRole = function (roleId) {\r\n const { role } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1;\r\n };\r\n globalProperties.uniIDHasPermission = function (permissionId) {\r\n const { permission } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1;\r\n };\r\n globalProperties.uniIDTokenValid = function () {\r\n const { tokenExpired } = getCurrentUserInfo();\r\n return tokenExpired > Date.now();\r\n };\r\n}\r\n\r\nfunction initApp(app) {\r\n const appConfig = app.config;\r\n // 该逻辑全平台会调用\r\n // - 需要兼容支持开发者自定义的 errorHandler\r\n // - nvue、vue 需要使用同一个(once) errorHandler\r\n // - 需要支持 uni.onError 注册监听\r\n // * 目前仅部分小程序平台支持,调用uni.onError时,如果app已存在,则添加到instance的hooks中,如果不存在,则临时存储,初始化instance时添加到hooks中\r\n // * 目前在 errorHandler 中,会调用 app.$callHook(ON_ERROR, err),所以上一步需要将 uni.onError 存储到 app 的 hooks 中\r\n // - 部分平台(目前主要是小程序)开发阶段 uni-console 会调用 uni.onError 注册监听\r\n appConfig.errorHandler = invokeCreateErrorHandler(app, createErrorHandler);\r\n initOptionMergeStrategies(appConfig.optionMergeStrategies);\r\n const globalProperties = appConfig.globalProperties;\r\n {\r\n uniIdMixin(globalProperties);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n globalProperties.$set = set;\r\n globalProperties.$applyOptions = applyOptions;\r\n globalProperties.$callMethod = $callMethod;\r\n }\r\n {\r\n uni.invokeCreateVueAppHook(app);\r\n }\r\n}\r\n\r\nconst propsCaches = Object.create(null);\r\nfunction renderProps(props) {\r\n const { uid, __counter } = getCurrentInstance();\r\n const propsId = (propsCaches[uid] || (propsCaches[uid] = [])).push(guardReactiveProps(props)) - 1;\r\n // 强制每次更新\r\n return uid + ',' + propsId + ',' + __counter;\r\n}\r\nfunction pruneComponentPropsCache(uid) {\r\n delete propsCaches[uid];\r\n}\r\nfunction findComponentPropsData(up) {\r\n if (!up) {\r\n return;\r\n }\r\n const [uid, propsId] = up.split(',');\r\n if (!propsCaches[uid]) {\r\n return;\r\n }\r\n return propsCaches[uid][parseInt(propsId)];\r\n}\r\n\r\nvar plugin = {\r\n install(app) {\r\n initApp(app);\r\n app.config.globalProperties.pruneComponentPropsCache =\r\n pruneComponentPropsCache;\r\n const oldMount = app.mount;\r\n app.mount = function mount(rootContainer) {\r\n const instance = oldMount.call(app, rootContainer);\r\n const createApp = getCreateApp();\r\n if (createApp) {\r\n createApp(instance);\r\n }\r\n else {\r\n // @ts-expect-error 旧编译器\r\n if (typeof createMiniProgramApp !== 'undefined') {\r\n // @ts-expect-error\r\n createMiniProgramApp(instance);\r\n }\r\n }\r\n return instance;\r\n };\r\n },\r\n};\r\nfunction getCreateApp() {\r\n const method = process.env.UNI_MP_PLUGIN\r\n ? 'createPluginApp'\r\n : process.env.UNI_SUBPACKAGE\r\n ? 'createSubpackageApp'\r\n : 'createApp';\r\n if (typeof global !== 'undefined' &&\r\n typeof global[method] !== 'undefined') {\r\n return global[method];\r\n }\r\n else if (typeof my !== 'undefined') {\r\n // 支付宝小程序开启globalObjectMode配置后才会有global\r\n return my[method];\r\n }\r\n}\r\n\r\nfunction stringifyStyle(value) {\r\n if (isString(value)) {\r\n return value;\r\n }\r\n return stringify(normalizeStyle(value));\r\n}\r\n// 不使用 @vue/shared 中的 stringifyStyle (#3456)\r\nfunction stringify(styles) {\r\n let ret = '';\r\n if (!styles || isString(styles)) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`;\r\n }\r\n return ret;\r\n}\r\n\r\nfunction vOn(value, key) {\r\n const instance = getCurrentInstance();\r\n const ctx = instance.ctx;\r\n // 微信小程序,QQ小程序,当 setData diff 的时候,若事件不主动同步过去,会导致事件绑定不更新,(question/137217)\r\n const extraKey = typeof key !== 'undefined' &&\r\n (ctx.$mpPlatform === 'mp-weixin' ||\r\n ctx.$mpPlatform === 'mp-qq' ||\r\n ctx.$mpPlatform === 'mp-xhs') &&\r\n (isString(key) || typeof key === 'number')\r\n ? '_' + key\r\n : '';\r\n const name = 'e' + instance.$ei++ + extraKey;\r\n const mpInstance = ctx.$scope;\r\n if (!value) {\r\n // remove\r\n delete mpInstance[name];\r\n return name;\r\n }\r\n const existingInvoker = mpInstance[name];\r\n if (existingInvoker) {\r\n // patch\r\n existingInvoker.value = value;\r\n }\r\n else {\r\n // add\r\n mpInstance[name] = createInvoker(value, instance);\r\n }\r\n return name;\r\n}\r\nfunction createInvoker(initialValue, instance) {\r\n const invoker = (e) => {\r\n patchMPEvent(e);\r\n let args = [e];\r\n if (instance && instance.ctx.$getTriggerEventDetail) {\r\n if (typeof e.detail === 'number') {\r\n e.detail = instance.ctx.$getTriggerEventDetail(e.detail);\r\n }\r\n }\r\n if (e.detail && e.detail.__args__) {\r\n args = e.detail.__args__;\r\n }\r\n const eventValue = invoker.value;\r\n const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e, eventValue), instance, 5 /* ErrorCodes.NATIVE_EVENT_HANDLER */, args);\r\n // 冒泡事件触发时,启用延迟策略,避免同一批次的事件执行时机不正确,对性能可能有略微影响 https://github.com/dcloudio/uni-app/issues/3228\r\n const eventTarget = e.target;\r\n const eventSync = eventTarget\r\n ? eventTarget.dataset\r\n ? String(eventTarget.dataset.eventsync) === 'true'\r\n : false\r\n : false;\r\n if (bubbles.includes(e.type) && !eventSync) {\r\n setTimeout(invoke);\r\n }\r\n else {\r\n const res = invoke();\r\n if (e.type === 'input' && (isArray(res) || isPromise(res))) {\r\n return;\r\n }\r\n return res;\r\n }\r\n };\r\n invoker.value = initialValue;\r\n return invoker;\r\n}\r\n// 冒泡事件列表\r\nconst bubbles = [\r\n // touch事件暂不做延迟,否则在 Android 上会影响性能,比如一些拖拽跟手手势等\r\n // 'touchstart',\r\n // 'touchmove',\r\n // 'touchcancel',\r\n // 'touchend',\r\n 'tap',\r\n 'longpress',\r\n 'longtap',\r\n 'transitionend',\r\n 'animationstart',\r\n 'animationiteration',\r\n 'animationend',\r\n 'touchforcechange',\r\n];\r\nfunction patchMPEvent(event, instance) {\r\n if (event.type && event.target) {\r\n event.preventDefault = NOOP;\r\n event.stopPropagation = NOOP;\r\n event.stopImmediatePropagation = NOOP;\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n // mp-baidu,checked=>value\r\n if (isPlainObject(event.detail) &&\r\n hasOwn(event.detail, 'checked') &&\r\n !hasOwn(event.detail, 'value')) {\r\n event.detail.value = event.detail.checked;\r\n }\r\n if (isPlainObject(event.detail)) {\r\n event.target = extend({}, event.target, event.detail);\r\n }\r\n }\r\n}\r\nfunction patchStopImmediatePropagation(e, value) {\r\n if (isArray(value)) {\r\n const originalStop = e.stopImmediatePropagation;\r\n e.stopImmediatePropagation = () => {\r\n originalStop && originalStop.call(e);\r\n e._stopped = true;\r\n };\r\n return value.map((fn) => (e) => !e._stopped && fn(e));\r\n }\r\n else {\r\n return value;\r\n }\r\n}\r\n\r\n/**\r\n * Actual implementation\r\n */\r\nfunction vFor(source, renderItem) {\r\n let ret;\r\n if (isArray(source) || isString(source)) {\r\n ret = new Array(source.length);\r\n for (let i = 0, l = source.length; i < l; i++) {\r\n ret[i] = renderItem(source[i], i, i);\r\n }\r\n }\r\n else if (typeof source === 'number') {\r\n if ((process.env.NODE_ENV !== 'production') && !Number.isInteger(source)) {\r\n warn(`The v-for range expect an integer value but got ${source}.`);\r\n return [];\r\n }\r\n ret = new Array(source);\r\n for (let i = 0; i < source; i++) {\r\n ret[i] = renderItem(i + 1, i, i);\r\n }\r\n }\r\n else if (isObject(source)) {\r\n if (source[Symbol.iterator]) {\r\n ret = Array.from(source, (item, i) => renderItem(item, i, i));\r\n }\r\n else {\r\n const keys = Object.keys(source);\r\n ret = new Array(keys.length);\r\n for (let i = 0, l = keys.length; i < l; i++) {\r\n const key = keys[i];\r\n ret[i] = renderItem(source[key], key, i);\r\n }\r\n }\r\n }\r\n else {\r\n ret = [];\r\n }\r\n return ret;\r\n}\r\n\r\nfunction renderSlot(name, props = {}, key) {\r\n const instance = getCurrentInstance();\r\n const { parent, isMounted, ctx: { $scope }, } = instance;\r\n // mp-alipay 为 props\r\n const vueIds = ($scope.properties || $scope.props).uI;\r\n if (!vueIds) {\r\n return;\r\n }\r\n if (!parent && !isMounted) {\r\n // 头条小程序首次 render 时,还没有 parent\r\n onMounted(() => {\r\n renderSlot(name, props, key);\r\n }, instance);\r\n return;\r\n }\r\n const invoker = findScopedSlotInvoker(vueIds, instance);\r\n // 可能不存在,因为插槽不是必需的\r\n if (invoker) {\r\n invoker(name, props, key);\r\n }\r\n}\r\nfunction findScopedSlotInvoker(vueId, instance) {\r\n let parent = instance.parent;\r\n while (parent) {\r\n const invokers = parent.$ssi;\r\n if (invokers && invokers[vueId]) {\r\n return invokers[vueId];\r\n }\r\n parent = parent.parent;\r\n }\r\n}\r\n\r\nfunction withScopedSlot(fn, { name, path, vueId, }) {\r\n const instance = getCurrentInstance();\r\n fn.path = path;\r\n const scopedSlots = (instance.$ssi ||\r\n (instance.$ssi = {}));\r\n const invoker = scopedSlots[vueId] ||\r\n (scopedSlots[vueId] = createScopedSlotInvoker(instance));\r\n if (!invoker.slots[name]) {\r\n invoker.slots[name] = {\r\n fn,\r\n };\r\n }\r\n else {\r\n invoker.slots[name].fn = fn;\r\n }\r\n return getValueByDataPath(instance.ctx.$scope.data, path);\r\n}\r\nfunction createScopedSlotInvoker(instance) {\r\n const invoker = (slotName, args, index) => {\r\n const slot = invoker.slots[slotName];\r\n if (!slot) {\r\n // slot 可能不存在 https://github.com/dcloudio/uni-app/issues/3346\r\n return;\r\n }\r\n const hasIndex = typeof index !== 'undefined';\r\n index = index || 0;\r\n // 确保当前 slot 的上下文,类似 withCtx\r\n const prevInstance = setCurrentRenderingInstance(instance);\r\n const data = slot.fn(args, slotName + (hasIndex ? '-' + index : ''), index);\r\n const path = slot.fn.path;\r\n setCurrentRenderingInstance(prevInstance);\r\n (instance.$scopedSlotsData || (instance.$scopedSlotsData = [])).push({\r\n path,\r\n index,\r\n data,\r\n });\r\n instance.$updateScopedSlots();\r\n };\r\n invoker.slots = {};\r\n return invoker;\r\n}\r\n\r\n/**\r\n * quickapp-webview 不能使用 default 作为插槽名称,故统一转换 default 为 d\r\n * @param names\r\n * @returns\r\n */\r\nfunction dynamicSlot(names) {\r\n if (isString(names)) {\r\n return dynamicSlotName(names);\r\n }\r\n return names.map((name) => dynamicSlotName(name));\r\n}\r\n\r\nfunction setRef(ref, id, opts = {}) {\r\n const { $templateRefs } = getCurrentInstance();\r\n $templateRefs.push({ i: id, r: ref, k: opts.k, f: opts.f });\r\n}\r\n\r\nfunction withModelModifiers(fn, { number, trim }, isComponent = false) {\r\n if (isComponent) {\r\n return (...args) => {\r\n if (trim) {\r\n args = args.map((a) => a.trim());\r\n }\r\n else if (number) {\r\n args = args.map(toNumber);\r\n }\r\n return fn(...args);\r\n };\r\n }\r\n return (event) => {\r\n const value = event.detail.value;\r\n if (trim) {\r\n event.detail.value = value.trim();\r\n }\r\n else if (number) {\r\n event.detail.value = toNumber(value);\r\n }\r\n return fn(event);\r\n };\r\n}\r\n\r\nfunction setupDevtoolsPlugin() {\r\n // noop\r\n}\r\n\r\nconst o = (value, key) => vOn(value, key);\r\nconst f = (source, renderItem) => vFor(source, renderItem);\r\nconst d = (names) => dynamicSlot(names);\r\nconst r = (name, props, key) => renderSlot(name, props, key);\r\nconst w = (fn, options) => withScopedSlot(fn, options);\r\nconst s = (value) => stringifyStyle(value);\r\nconst c = (str) => camelize(str);\r\nconst e = (target, ...sources) => extend(target, ...sources);\r\nconst h = (str) => hyphenate(str);\r\nconst n = (value) => normalizeClass(value);\r\nconst t = (val) => toDisplayString(val);\r\nconst p = (props) => renderProps(props);\r\nconst sr = (ref, id, opts) => setRef(ref, id, opts);\r\nconst m = (fn, modifiers, isComponent = false) => withModelModifiers(fn, modifiers, isComponent);\r\nconst j = (obj) => JSON.stringify(obj);\r\n\r\nfunction createApp(rootComponent, rootProps = null) {\r\n rootComponent && (rootComponent.mpType = 'app');\r\n return createVueApp(rootComponent, rootProps).use(plugin);\r\n}\r\nconst createSSRApp = createApp;\r\n\r\nexport { EffectScope, Fragment, ReactiveEffect, Text, c, callWithAsyncErrorHandling, callWithErrorHandling, computed, createApp, createPropsRestProxy, createSSRApp, createVNode, createVueApp, customRef, d, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtoolsComponentAdded, devtoolsComponentRemoved, devtoolsComponentUpdated, diff, e, effect, effectScope, f, findComponentPropsData, getCurrentInstance, getCurrentScope, getExposeProxy, guardReactiveProps, h, hasInjectionContext, hasQueueJob, inject, injectHook, invalidateJob, isInSSRComponentSetup, isProxy, isReactive, isReadonly, isRef, isShallow, j, logError, m, markRaw, mergeDefaults, mergeModels, mergeProps, n, nextTick$1 as nextTick, o, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, p, patch, provide, proxyRefs, pruneComponentPropsCache, queuePostFlushCb, r, reactive, readonly, ref, resolveComponent, resolveDirective, resolveFilter, s, setCurrentRenderingInstance, setTemplateRef, setupDevtoolsPlugin, shallowReactive, shallowReadonly, shallowRef, sr, stop, t, toHandlers, toRaw, toRef, toRefs, toValue, triggerRef, unref, updateProps, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, version, w, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withModifiers, withScopeId };\r\n","import { isArray, hasOwn, isString, isPlainObject, isObject, capitalize, toRawType, makeMap, isFunction, isPromise, extend, remove } from '@vue/shared';\r\nimport { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n';\r\nimport { Emitter, sortObject, ON_ERROR, onCreateVueApp, invokeCreateVueAppHook } from '@dcloudio/uni-shared';\r\nimport { injectHook } from 'vue';\r\n\r\nfunction validateProtocolFail(name, msg) {\r\n console.warn(`${name}: ${msg}`);\r\n}\r\nfunction validateProtocol(name, data, protocol, onFail) {\r\n if (!onFail) {\r\n onFail = validateProtocolFail;\r\n }\r\n for (const key in protocol) {\r\n const errMsg = validateProp(key, data[key], protocol[key], !hasOwn(data, key));\r\n if (isString(errMsg)) {\r\n onFail(name, errMsg);\r\n }\r\n }\r\n}\r\nfunction validateProtocols(name, args, protocol, onFail) {\r\n if (!protocol) {\r\n return;\r\n }\r\n if (!isArray(protocol)) {\r\n return validateProtocol(name, args[0] || Object.create(null), protocol, onFail);\r\n }\r\n const len = protocol.length;\r\n const argsLen = args.length;\r\n for (let i = 0; i < len; i++) {\r\n const opts = protocol[i];\r\n const data = Object.create(null);\r\n if (argsLen > i) {\r\n data[opts.name] = args[i];\r\n }\r\n validateProtocol(name, data, { [opts.name]: opts }, onFail);\r\n }\r\n}\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n if (!isPlainObject(prop)) {\r\n prop = { type: prop };\r\n }\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n return 'Missing required args: \"' + name + '\"';\r\n }\r\n // missing but optional\r\n if (value == null && !required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n return getInvalidTypeMessage(name, value, expectedTypes);\r\n }\r\n }\r\n // custom validator\r\n if (validator) {\r\n return validator(value);\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol');\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n {\r\n valid = value instanceof type;\r\n }\r\n }\r\n return {\r\n valid,\r\n expectedType,\r\n };\r\n}\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid args: type check failed for args \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\r\n}\r\nfunction isBoolean(...args) {\r\n return args.some((elem) => elem.toLowerCase() === 'boolean');\r\n}\r\n\r\nfunction tryCatch(fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments);\r\n }\r\n catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n };\r\n}\r\n\r\nlet invokeCallbackId = 1;\r\nconst invokeCallbacks = {};\r\nfunction addInvokeCallback(id, name, callback, keepAlive = false) {\r\n invokeCallbacks[id] = {\r\n name,\r\n keepAlive,\r\n callback,\r\n };\r\n return id;\r\n}\r\n// onNativeEventReceive((event,data)=>{}) 需要两个参数,目前写死最多两个参数\r\nfunction invokeCallback(id, res, extras) {\r\n if (typeof id === 'number') {\r\n const opts = invokeCallbacks[id];\r\n if (opts) {\r\n if (!opts.keepAlive) {\r\n delete invokeCallbacks[id];\r\n }\r\n return opts.callback(res, extras);\r\n }\r\n }\r\n return res;\r\n}\r\nconst API_SUCCESS = 'success';\r\nconst API_FAIL = 'fail';\r\nconst API_COMPLETE = 'complete';\r\nfunction getApiCallbacks(args) {\r\n const apiCallbacks = {};\r\n for (const name in args) {\r\n const fn = args[name];\r\n if (isFunction(fn)) {\r\n apiCallbacks[name] = tryCatch(fn);\r\n delete args[name];\r\n }\r\n }\r\n return apiCallbacks;\r\n}\r\nfunction normalizeErrMsg(errMsg, name) {\r\n if (!errMsg || errMsg.indexOf(':fail') === -1) {\r\n return name + ':ok';\r\n }\r\n return name + errMsg.substring(errMsg.indexOf(':fail'));\r\n}\r\nfunction createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } = {}) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const { success, fail, complete } = getApiCallbacks(args);\r\n const hasSuccess = isFunction(success);\r\n const hasFail = isFunction(fail);\r\n const hasComplete = isFunction(complete);\r\n const callbackId = invokeCallbackId++;\r\n addInvokeCallback(callbackId, name, (res) => {\r\n res = res || {};\r\n res.errMsg = normalizeErrMsg(res.errMsg, name);\r\n isFunction(beforeAll) && beforeAll(res);\r\n if (res.errMsg === name + ':ok') {\r\n isFunction(beforeSuccess) && beforeSuccess(res, args);\r\n hasSuccess && success(res);\r\n }\r\n else {\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n return callbackId;\r\n}\r\n\r\nconst HOOK_SUCCESS = 'success';\r\nconst HOOK_FAIL = 'fail';\r\nconst HOOK_COMPLETE = 'complete';\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\nfunction wrapperHook(hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data;\r\n };\r\n}\r\nfunction queue(hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n }\r\n else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then() { },\r\n catch() { },\r\n };\r\n }\r\n }\r\n }\r\n return (promise || {\r\n then(callback) {\r\n return callback(data);\r\n },\r\n catch() { },\r\n });\r\n}\r\nfunction wrapperOptions(interceptors, options = {}) {\r\n [HOOK_SUCCESS, HOOK_FAIL, HOOK_COMPLETE].forEach((name) => {\r\n const hooks = interceptors[name];\r\n if (!isArray(hooks)) {\r\n return;\r\n }\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor(res) {\r\n queue(hooks, res, options).then((res) => {\r\n return (isFunction(oldCallback) && oldCallback(res)) || res;\r\n });\r\n };\r\n });\r\n return options;\r\n}\r\nfunction wrapperReturnValue(method, returnValue) {\r\n const returnValueHooks = [];\r\n if (isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach((hook) => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue;\r\n}\r\nfunction getApiInterceptorHooks(method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach((hook) => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach((hook) => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor;\r\n}\r\nfunction invokeApi(method, api, options, params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(wrapperOptions(getApiInterceptorHooks(method), options), ...params);\r\n });\r\n }\r\n else {\r\n return api(wrapperOptions(interceptor, options), ...params);\r\n }\r\n }\r\n return api(options, ...params);\r\n}\r\n\r\nfunction hasCallback(args) {\r\n if (isPlainObject(args) &&\r\n [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction handlePromise(promise) {\r\n // if (__UNI_FEATURE_PROMISE__) {\r\n // return promise\r\n // .then((data) => {\r\n // return [null, data]\r\n // })\r\n // .catch((err) => [err])\r\n // }\r\n return promise;\r\n}\r\nfunction promisify$1(name, fn) {\r\n return (args = {}, ...rest) => {\r\n if (hasCallback(args)) {\r\n return wrapperReturnValue(name, invokeApi(name, fn, args, rest));\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, fn, extend(args, { success: resolve, fail: reject }), rest);\r\n })));\r\n };\r\n}\r\n\r\nfunction formatApiArgs(args, options) {\r\n args[0];\r\n {\r\n return;\r\n }\r\n}\r\nfunction invokeSuccess(id, name, res) {\r\n const result = {\r\n errMsg: name + ':ok',\r\n };\r\n return invokeCallback(id, extend((res || {}), result));\r\n}\r\nfunction invokeFail(id, name, errMsg, errRes = {}) {\r\n const errMsgPrefix = name + ':fail';\r\n let apiErrMsg = '';\r\n if (!errMsg) {\r\n apiErrMsg = errMsgPrefix;\r\n }\r\n else if (errMsg.indexOf(errMsgPrefix) === 0) {\r\n apiErrMsg = errMsg;\r\n }\r\n else {\r\n apiErrMsg = errMsgPrefix + ' ' + errMsg;\r\n }\r\n {\r\n delete errRes.errCode;\r\n }\r\n let res = extend({ errMsg: apiErrMsg }, errRes);\r\n return invokeCallback(id, res);\r\n}\r\nfunction beforeInvokeApi(name, args, protocol, options) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProtocols(name, args, protocol);\r\n }\r\n const errMsg = formatApiArgs(args);\r\n if (errMsg) {\r\n return errMsg;\r\n }\r\n}\r\nfunction parseErrMsg(errMsg) {\r\n if (!errMsg || isString(errMsg)) {\r\n return errMsg;\r\n }\r\n if (errMsg.stack) {\r\n // 此处同时被鸿蒙arkts和jsvm使用,暂时使用运行时判断鸿蒙jsvm环境,注意此用法仅内部使用\r\n if ((typeof globalThis === 'undefined' || !globalThis.harmonyChannel)) {\r\n console.error(errMsg.message + '\\n' + errMsg.stack);\r\n }\r\n return errMsg.message;\r\n }\r\n return errMsg;\r\n}\r\nfunction wrapperTaskApi(name, fn, protocol, options) {\r\n return (args) => {\r\n const id = createAsyncApiCallback(name, args, options);\r\n const errMsg = beforeInvokeApi(name, [args], protocol);\r\n if (errMsg) {\r\n return invokeFail(id, name, errMsg);\r\n }\r\n return fn(args, {\r\n resolve: (res) => invokeSuccess(id, name, res),\r\n reject: (errMsg, errRes) => invokeFail(id, name, parseErrMsg(errMsg), errRes),\r\n });\r\n };\r\n}\r\nfunction wrapperSyncApi(name, fn, protocol, options) {\r\n return (...args) => {\r\n const errMsg = beforeInvokeApi(name, args, protocol);\r\n if (errMsg) {\r\n throw new Error(errMsg);\r\n }\r\n return fn.apply(null, args);\r\n };\r\n}\r\nfunction wrapperAsyncApi(name, fn, protocol, options) {\r\n return wrapperTaskApi(name, fn, protocol, options);\r\n}\r\nfunction defineSyncApi(name, fn, protocol, options) {\r\n return wrapperSyncApi(name, fn, (process.env.NODE_ENV !== 'production') ? protocol : undefined);\r\n}\r\nfunction defineAsyncApi(name, fn, protocol, options) {\r\n return promisify$1(name, wrapperAsyncApi(name, fn, (process.env.NODE_ENV !== 'production') ? protocol : undefined, options));\r\n}\r\n\r\nconst API_UPX2PX = 'upx2px';\r\nconst Upx2pxProtocol = [\r\n {\r\n name: 'upx',\r\n type: [Number, String],\r\n required: true,\r\n },\r\n];\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\nfunction checkDeviceWidth() {\r\n const { windowWidth, pixelRatio, platform } = Object.assign({}, wx.getWindowInfo(), {\r\n platform: wx.getDeviceInfo().platform,\r\n })\r\n ;\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\nconst upx2px = defineSyncApi(API_UPX2PX, (number, newDeviceWidth) => {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0;\r\n }\r\n let width = newDeviceWidth || deviceWidth;\r\n let result = (number / BASE_DEVICE_WIDTH) * width;\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n }\r\n else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result;\r\n}, Upx2pxProtocol);\r\n\r\nfunction __f__(type, filename, ...args) {\r\n if (filename) {\r\n args.push(filename);\r\n }\r\n console[type].apply(console, args);\r\n}\r\n\r\nconst API_ADD_INTERCEPTOR = 'addInterceptor';\r\nconst API_REMOVE_INTERCEPTOR = 'removeInterceptor';\r\nconst AddInterceptorProtocol = [\r\n {\r\n name: 'method',\r\n type: [String, Object],\r\n required: true,\r\n },\r\n];\r\nconst RemoveInterceptorProtocol = AddInterceptorProtocol;\r\n\r\nfunction mergeInterceptorHook(interceptors, interceptor) {\r\n Object.keys(interceptor).forEach((hook) => {\r\n if (isFunction(interceptor[hook])) {\r\n interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]);\r\n }\r\n });\r\n}\r\nfunction removeInterceptorHook(interceptors, interceptor) {\r\n if (!interceptors || !interceptor) {\r\n return;\r\n }\r\n Object.keys(interceptor).forEach((name) => {\r\n const hooks = interceptors[name];\r\n const hook = interceptor[name];\r\n if (isArray(hooks) && isFunction(hook)) {\r\n remove(hooks, hook);\r\n }\r\n });\r\n}\r\nfunction mergeHook(parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : isArray(childVal)\r\n ? childVal\r\n : [childVal]\r\n : parentVal;\r\n return res ? dedupeHooks(res) : res;\r\n}\r\nfunction dedupeHooks(hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res;\r\n}\r\nconst addInterceptor = defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => {\r\n if (isString(method) && isPlainObject(interceptor)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor);\r\n }\r\n else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}, AddInterceptorProtocol);\r\nconst removeInterceptor = defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => {\r\n if (isString(method)) {\r\n if (isPlainObject(interceptor)) {\r\n removeInterceptorHook(scopedInterceptors[method], interceptor);\r\n }\r\n else {\r\n delete scopedInterceptors[method];\r\n }\r\n }\r\n else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}, RemoveInterceptorProtocol);\r\nconst interceptors = {};\r\n\r\nconst API_ON = '$on';\r\nconst OnProtocol = [\r\n {\r\n name: 'event',\r\n type: String,\r\n required: true,\r\n },\r\n {\r\n name: 'callback',\r\n type: Function,\r\n required: true,\r\n },\r\n];\r\nconst API_ONCE = '$once';\r\nconst OnceProtocol = OnProtocol;\r\nconst API_OFF = '$off';\r\nconst OffProtocol = [\r\n {\r\n name: 'event',\r\n type: [String, Array],\r\n },\r\n {\r\n name: 'callback',\r\n type: [Function, Number],\r\n },\r\n];\r\nconst API_EMIT = '$emit';\r\nconst EmitProtocol = [\r\n {\r\n name: 'event',\r\n type: String,\r\n required: true,\r\n },\r\n];\r\n\r\nclass EventBus {\r\n constructor() {\r\n this.$emitter = new Emitter();\r\n }\r\n on(name, callback) {\r\n return this.$emitter.on(name, callback);\r\n }\r\n once(name, callback) {\r\n return this.$emitter.once(name, callback);\r\n }\r\n off(name, callback) {\r\n if (!name) {\r\n this.$emitter.e = {};\r\n return;\r\n }\r\n this.$emitter.off(name, callback);\r\n }\r\n emit(name, ...args) {\r\n this.$emitter.emit(name, ...args);\r\n }\r\n}\r\nconst eventBus = new EventBus();\r\nconst $on = defineSyncApi(API_ON, (name, callback) => {\r\n eventBus.on(name, callback);\r\n return () => eventBus.off(name, callback);\r\n}, OnProtocol);\r\nconst $once = defineSyncApi(API_ONCE, (name, callback) => {\r\n eventBus.once(name, callback);\r\n return () => eventBus.off(name, callback);\r\n}, OnceProtocol);\r\nconst $off = defineSyncApi(API_OFF, (name, callback) => {\r\n // 类型中不再体现 name 支持 string[] 类型, 仅在 uni.$off 保留该逻辑向下兼容\r\n if (!isArray(name))\r\n name = name ? [name] : [];\r\n name.forEach((n) => eventBus.off(n, callback));\r\n}, OffProtocol);\r\nconst $emit = defineSyncApi(API_EMIT, (name, ...args) => {\r\n eventBus.emit(name, ...args);\r\n}, EmitProtocol);\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\nfunction normalizePushMessage(message) {\r\n try {\r\n return JSON.parse(message);\r\n }\r\n catch (e) { }\r\n return message;\r\n}\r\n/**\r\n * @private\r\n * @param args\r\n */\r\nfunction invokePushCallback(args) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n }\r\n else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n }\r\n else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message),\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break;\r\n }\r\n }\r\n }\r\n else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message),\r\n });\r\n });\r\n }\r\n}\r\nconst getPushCidCallbacks = [];\r\nfunction invokeGetPushCidCallbacks(cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\nconst API_GET_PUSH_CLIENT_ID = 'getPushClientId';\r\nconst getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => {\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n if (cid) {\r\n resolve({ cid });\r\n }\r\n else {\r\n reject(errMsg);\r\n }\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n});\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n }\r\n else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nconst SYNC_API_RE = /^\\$|__f__|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|rpx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/;\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\nconst TASK_APIS = ['request', 'downloadFile', 'uploadFile', 'connectSocket'];\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection'];\r\nconst CALLBACK_API_RE = /^on|^off/;\r\nfunction isContextApi(name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1;\r\n}\r\nfunction isSyncApi(name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1;\r\n}\r\nfunction isCallbackApi(name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush';\r\n}\r\nfunction isTaskApi(name) {\r\n return TASK_APIS.indexOf(name) !== -1;\r\n}\r\nfunction shouldPromise(name) {\r\n if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (onfinally) {\r\n const promise = this.constructor;\r\n return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => {\r\n throw reason;\r\n }));\r\n };\r\n}\r\nfunction promisify(name, api) {\r\n if (!shouldPromise(name)) {\r\n return api;\r\n }\r\n if (!isFunction(api)) {\r\n return api;\r\n }\r\n return function promiseApi(options = {}, ...rest) {\r\n if (isFunction(options.success) ||\r\n isFunction(options.fail) ||\r\n isFunction(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, rest));\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, extend({}, options, {\r\n success: resolve,\r\n fail: reject,\r\n }), rest);\r\n })));\r\n };\r\n}\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\nfunction initWrapper(protocols) {\r\n function processCallback(methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue));\r\n };\r\n }\r\n function processArgs(methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) {\r\n // 一般 api 的参数解析\r\n const toArgs = (keepFromArgs === true ? fromArgs : {}); // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFunction(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFunction(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) {\r\n // 不支持的参数\r\n console.warn(`微信小程序 ${methodName} 暂不支持 ${key}`);\r\n }\r\n else if (isString(keyOption)) {\r\n // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n }\r\n else if (isPlainObject(keyOption)) {\r\n // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n }\r\n else if (CALLBACKS.indexOf(key) !== -1) {\r\n const callback = fromArgs[key];\r\n if (isFunction(callback)) {\r\n toArgs[key] = processCallback(methodName, callback, returnValue);\r\n }\r\n }\r\n else {\r\n if (!keepFromArgs && !hasOwn(toArgs, key)) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs;\r\n }\r\n else if (isFunction(fromArgs)) {\r\n if (isFunction(argsOption)) {\r\n argsOption(fromArgs, {});\r\n }\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs;\r\n }\r\n function processReturnValue(methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFunction(protocols.returnValue)) {\r\n // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n const realKeepReturnValue = keepReturnValue || (false);\r\n return processArgs(methodName, res, returnValue, {}, realKeepReturnValue);\r\n }\r\n return function wrapper(methodName, method) {\r\n /**\r\n * 注意:\r\n * - 此处method为原始全局对象上的uni方法名对应的属性值,比如method值可能为my.login,即undefined\r\n * - uni.env并非方法,但是也会被传入wrapper\r\n */\r\n const hasProtocol = hasOwn(protocols, methodName);\r\n const needWrapper = hasProtocol ||\r\n isFunction(protocols.returnValue) ||\r\n isContextApi(methodName) ||\r\n isTaskApi(methodName);\r\n const hasMethod = hasProtocol || isFunction(method);\r\n if (!hasProtocol && !method) {\r\n // 暂不支持的 api\r\n return function () {\r\n console.error(`微信小程序 暂不支持${methodName}`);\r\n };\r\n }\r\n if (!needWrapper || !hasMethod) {\r\n return method;\r\n }\r\n const protocol = protocols[methodName];\r\n return function (arg1, arg2) {\r\n // 目前 api 最多两个参数\r\n let options = protocol || {};\r\n if (isFunction(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n const returnValue = wx[options.name || methodName].apply(wx, args);\r\n if (isContextApi(methodName) || isTaskApi(methodName)) {\r\n if (returnValue && !returnValue.__v_skip) {\r\n returnValue.__v_skip = true;\r\n }\r\n }\r\n if (isSyncApi(methodName)) {\r\n // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));\r\n }\r\n return returnValue;\r\n };\r\n };\r\n}\r\n\r\nconst getLocale = () => {\r\n // 优先使用 $locale\r\n const app = isFunction(getApp) && getApp({ allowDefault: true });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale;\r\n }\r\n return normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN\r\n ;\r\n};\r\nconst setLocale = (locale) => {\r\n const app = isFunction(getApp) && getApp();\r\n if (!app) {\r\n return false;\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({ locale }));\r\n return true;\r\n }\r\n return false;\r\n};\r\nconst onLocaleChangeCallbacks = [];\r\nconst onLocaleChange = (fn) => {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n};\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale;\r\n}\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId(global = wx) {\r\n return function addDeviceId(_, toRes) {\r\n deviceId = deviceId || global.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId,\r\n });\r\n }\r\n toRes.deviceId = deviceId;\r\n };\r\n}\r\nfunction addSafeAreaInsets(fromRes, toRes) {\r\n if (fromRes.safeArea) {\r\n const safeArea = fromRes.safeArea;\r\n toRes.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: fromRes.windowWidth - safeArea.right,\r\n bottom: fromRes.screenHeight - safeArea.bottom,\r\n };\r\n }\r\n}\r\nfunction getOSInfo(system, platform) {\r\n let osName = '';\r\n let osVersion = '';\r\n if (platform &&\r\n (\"mp-weixin\" === 'mp-baidu')) {\r\n osName = platform;\r\n osVersion = system;\r\n }\r\n else {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n return {\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n };\r\n}\r\nfunction populateParameters(fromRes, toRes) {\r\n const { brand = '', model = '', system = '', language = '', theme, version, platform, fontSizeSetting, SDKVersion, pixelRatio, deviceOrientation, } = fromRes;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n // osName osVersion\r\n const { osName, osVersion } = getOSInfo(system, platform);\r\n let hostVersion = version;\r\n // deviceType\r\n let deviceType = getGetDeviceType(fromRes, model);\r\n // deviceModel\r\n let deviceBrand = getDeviceBrand(brand);\r\n // hostName\r\n let _hostName = getHostName(fromRes);\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n // hostLanguage\r\n const hostLanguage = (language || '').replace(/_/g, '-');\r\n // wx.getAccountInfoSync\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniCompilerVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName,\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined,\r\n isUniAppX: false,\r\n };\r\n extend(toRes, parameters);\r\n}\r\nfunction getGetDeviceType(fromRes, model) {\r\n // deviceType\r\n let deviceType = fromRes.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc',\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break;\r\n }\r\n }\r\n }\r\n return deviceType;\r\n}\r\nfunction getDeviceBrand(brand) {\r\n // deviceModel\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = deviceBrand.toLocaleLowerCase();\r\n }\r\n return deviceBrand;\r\n}\r\nfunction getAppLanguage(defaultLanguage) {\r\n return getLocale ? getLocale() : defaultLanguage;\r\n}\r\nfunction getHostName(fromRes) {\r\n const _platform = 'WeChat'\r\n ;\r\n let _hostName = fromRes.hostName || _platform; // mp-jd\r\n {\r\n if (fromRes.environment) {\r\n _hostName = fromRes.environment;\r\n }\r\n else if (fromRes.host && fromRes.host.env) {\r\n _hostName = fromRes.host.env;\r\n }\r\n }\r\n return _hostName;\r\n}\r\n\r\nconst getSystemInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n addSafeAreaInsets(fromRes, toRes);\r\n useDeviceId()(fromRes, toRes);\r\n populateParameters(fromRes, toRes);\r\n },\r\n};\r\n\r\nconst getSystemInfoSync = getSystemInfo;\r\n\r\nconst redirectTo = {};\r\n\r\nconst previewImage = {\r\n args(fromArgs, toArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return;\r\n }\r\n const urls = fromArgs.urls;\r\n if (!isArray(urls)) {\r\n return;\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return;\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n }\r\n else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n toArgs.current = urls[currentIndex];\r\n toArgs.urls = urls.filter((item, index) => index < currentIndex ? item !== urls[currentIndex] : true);\r\n }\r\n else {\r\n toArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false,\r\n };\r\n },\r\n};\r\n\r\nconst showActionSheet = {\r\n args(fromArgs, toArgs) {\r\n toArgs.alertText = fromArgs.title;\r\n },\r\n};\r\n\r\nconst getDeviceInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n const { brand, model, system = '', platform = '' } = fromRes;\r\n let deviceType = getGetDeviceType(fromRes, model);\r\n let deviceBrand = getDeviceBrand(brand);\r\n useDeviceId()(fromRes, toRes);\r\n const { osName, osVersion } = getOSInfo(system, platform);\r\n toRes = sortObject(extend(toRes, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model,\r\n osName,\r\n osVersion,\r\n }));\r\n },\r\n};\r\n\r\nconst getAppBaseInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n const { version, language, SDKVersion, theme } = fromRes;\r\n let _hostName = getHostName(fromRes);\r\n let hostLanguage = (language || '').replace(/_/g, '-');\r\n const parameters = {\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme,\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n isUniAppX: false,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniCompilerVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n };\r\n extend(toRes, parameters);\r\n },\r\n};\r\n\r\nconst getWindowInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n addSafeAreaInsets(fromRes, toRes);\r\n toRes = sortObject(extend(toRes, {\r\n windowTop: 0,\r\n windowBottom: 0,\r\n }));\r\n },\r\n};\r\n\r\nconst getAppAuthorizeSetting = {\r\n returnValue: function (fromRes, toRes) {\r\n const { locationReducedAccuracy } = fromRes;\r\n toRes.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n toRes.locationAccuracy = 'reduced';\r\n }\r\n else if (locationReducedAccuracy === false) {\r\n toRes.locationAccuracy = 'full';\r\n }\r\n },\r\n};\r\n\r\nconst onError = {\r\n args(fromArgs) {\r\n const app = getApp({ allowDefault: true }) || {};\r\n if (!app.$vm) {\r\n if (!wx.$onErrorHandlers) {\r\n wx.$onErrorHandlers = [];\r\n }\r\n wx.$onErrorHandlers.push(fromArgs);\r\n }\r\n else {\r\n injectHook(ON_ERROR, fromArgs, app.$vm.$);\r\n }\r\n },\r\n};\r\nconst offError = {\r\n args(fromArgs) {\r\n const app = getApp({ allowDefault: true }) || {};\r\n if (!app.$vm) {\r\n if (!wx.$onErrorHandlers) {\r\n return;\r\n }\r\n const index = wx.$onErrorHandlers.findIndex((fn) => fn === fromArgs);\r\n if (index !== -1) {\r\n wx.$onErrorHandlers.splice(index, 1);\r\n }\r\n }\r\n else if (fromArgs.__weh) {\r\n const onErrors = app.$vm.$[ON_ERROR];\r\n if (onErrors) {\r\n const index = onErrors.indexOf(fromArgs.__weh);\r\n if (index > -1) {\r\n onErrors.splice(index, 1);\r\n }\r\n }\r\n }\r\n },\r\n};\r\n\r\nconst onSocketOpen = {\r\n args() {\r\n if (wx.__uni_console__) {\r\n if (wx.__uni_console_warned__) {\r\n return;\r\n }\r\n wx.__uni_console_warned__ = true;\r\n console.warn(`开发模式下小程序日志回显会使用 socket 连接,为了避免冲突,建议使用 SocketTask 的方式去管理 WebSocket 或手动关闭日志回显功能。[详情](https://uniapp.dcloud.net.cn/tutorial/run/mp-log.html)`);\r\n }\r\n },\r\n};\r\nconst onSocketMessage = onSocketOpen;\r\n\r\nconst baseApis = {\r\n $on,\r\n $off,\r\n $once,\r\n $emit,\r\n upx2px,\r\n rpx2px: upx2px,\r\n interceptors,\r\n addInterceptor,\r\n removeInterceptor,\r\n onCreateVueApp,\r\n invokeCreateVueAppHook,\r\n getLocale,\r\n setLocale,\r\n onLocaleChange,\r\n getPushClientId,\r\n onPushMessage,\r\n offPushMessage,\r\n invokePushCallback,\r\n __f__,\r\n};\r\nfunction initUni(api, protocols, platform = wx) {\r\n const wrapper = initWrapper(protocols);\r\n const UniProxyHandlers = {\r\n get(target, key) {\r\n if (hasOwn(target, key)) {\r\n return target[key];\r\n }\r\n if (hasOwn(api, key)) {\r\n return promisify(key, api[key]);\r\n }\r\n if (hasOwn(baseApis, key)) {\r\n return promisify(key, baseApis[key]);\r\n }\r\n // event-api\r\n // provider-api?\r\n return promisify(key, wrapper(key, platform[key]));\r\n },\r\n };\r\n return new Proxy({}, UniProxyHandlers);\r\n}\r\n\r\nfunction initGetProvider(providers) {\r\n return function getProvider({ service, success, fail, complete, }) {\r\n let res;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service],\r\n };\r\n isFunction(success) && success(res);\r\n }\r\n else {\r\n res = {\r\n errMsg: 'getProvider:fail:服务[' + service + ']不存在',\r\n };\r\n isFunction(fail) && fail(res);\r\n }\r\n isFunction(complete) && complete(res);\r\n };\r\n}\r\n\r\nconst objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__',\r\n];\r\nconst singlePageDisableKey = ['lanDebug', 'router', 'worklet'];\r\nconst launchOption = wx.getLaunchOptionsSync\r\n ? wx.getLaunchOptionsSync()\r\n : null;\r\nfunction isWxKey(key) {\r\n if (launchOption &&\r\n launchOption.scene === 1154 &&\r\n singlePageDisableKey.includes(key)) {\r\n return false;\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof wx[key] === 'function';\r\n}\r\nfunction initWx() {\r\n const newWx = {};\r\n for (const key in wx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = wx[key];\r\n }\r\n }\r\n if (typeof globalThis !== 'undefined' &&\r\n typeof requireMiniProgram === 'undefined') {\r\n globalThis.wx = newWx;\r\n }\r\n return newWx;\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nconst getProvider = initGetProvider({\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin'],\r\n});\r\nfunction initComponentMocks(component) {\r\n const res = Object.create(null);\r\n mocks.forEach((name) => {\r\n res[name] = component[name];\r\n });\r\n return res;\r\n}\r\n/**\r\n * 微信小程序内部会 Object.keys(vm),导致告警\r\n * Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\r\n * @returns\r\n */\r\nfunction createSelectorQuery() {\r\n const query = wx$2.createSelectorQuery();\r\n const oldIn = query.in;\r\n query.in = function newIn(component) {\r\n return oldIn.call(this, initComponentMocks(component));\r\n };\r\n return query;\r\n}\r\nconst wx$2 = initWx();\r\nlet baseInfo = wx$2.getAppBaseInfo && wx$2.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx$2.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage = host && host.env === 'SAAASDK'\r\n ? wx$2.miniapp.shareVideoMessage\r\n : wx$2.shareVideoMessage;\r\n\r\nvar shims = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n createSelectorQuery: createSelectorQuery,\r\n getProvider: getProvider,\r\n shareVideoMessage: shareVideoMessage\r\n});\r\n\r\nconst compressImage = {\r\n args(fromArgs, toArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n // @ts-expect-error\r\n if (fromArgs.compressedHeight && !toArgs.compressHeight) {\r\n // @ts-expect-error\r\n toArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n // @ts-expect-error\r\n if (fromArgs.compressedWidth && !toArgs.compressWidth) {\r\n // @ts-expect-error\r\n toArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n },\r\n};\r\n\r\nvar protocols = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n compressImage: compressImage,\r\n getAppAuthorizeSetting: getAppAuthorizeSetting,\r\n getAppBaseInfo: getAppBaseInfo,\r\n getDeviceInfo: getDeviceInfo,\r\n getSystemInfo: getSystemInfo,\r\n getSystemInfoSync: getSystemInfoSync,\r\n getWindowInfo: getWindowInfo,\r\n offError: offError,\r\n onError: onError,\r\n onSocketMessage: onSocketMessage,\r\n onSocketOpen: onSocketOpen,\r\n previewImage: previewImage,\r\n redirectTo: redirectTo,\r\n showActionSheet: showActionSheet\r\n});\r\n\r\nconst wx$1 = initWx();\r\nvar index = initUni(shims, protocols, wx$1);\r\n\r\nexport { index as default, wx$1 as wx };\r\n","const CONSOLE_TYPES = ['log', 'warn', 'error', 'info', 'debug'];\r\nlet sendConsole = null;\r\nconst messageQueue = [];\r\nfunction sendConsoleMessages(messages) {\r\n if (sendConsole == null) {\r\n messageQueue.push(...messages);\r\n return;\r\n }\r\n sendConsole(JSON.stringify({\r\n type: 'console',\r\n data: messages,\r\n }));\r\n}\r\nfunction setSendConsole(value) {\r\n sendConsole = value;\r\n if (value != null && messageQueue.length > 0) {\r\n const messages = messageQueue.slice();\r\n messageQueue.length = 0;\r\n sendConsoleMessages(messages);\r\n }\r\n}\r\nconst originalConsole = /*@__PURE__*/ CONSOLE_TYPES.reduce((methods, type) => {\r\n methods[type] = console[type].bind(console);\r\n return methods;\r\n}, {});\r\nconst atFileRegex = /^at\\s+[\\w/./-]+:\\d+$/;\r\nfunction rewriteConsole() {\r\n function wrapConsole(type) {\r\n return function (...args) {\r\n const originalArgs = [...args];\r\n if (originalArgs.length) {\r\n const maybeAtFile = originalArgs[originalArgs.length - 1];\r\n // 移除最后的 at pages/index/index.uvue:6\r\n if (typeof maybeAtFile === 'string' && atFileRegex.test(maybeAtFile)) {\r\n originalArgs.pop();\r\n }\r\n }\r\n if (__UNI_CONSOLE_KEEP_ORIGINAL__) {\r\n originalConsole[type](...originalArgs);\r\n }\r\n sendConsoleMessages([formatMessage(type, args)]);\r\n };\r\n }\r\n // 百度小程序不允许赋值,所以需要判断是否可写\r\n if (isConsoleWritable()) {\r\n CONSOLE_TYPES.forEach((type) => {\r\n console[type] = wrapConsole(type);\r\n });\r\n return function restoreConsole() {\r\n CONSOLE_TYPES.forEach((type) => {\r\n console[type] = originalConsole[type];\r\n });\r\n };\r\n }\r\n else {\r\n // @ts-expect-error\r\n const oldLog = uni.__f__;\r\n if (oldLog) {\r\n // 重写 uni.__f__ 方法,这样的话,仅能打印开发者代码里的日志,其他没有被重写为__f__的日志将无法打印(比如uni-app框架、小程序框架等)\r\n // @ts-expect-error\r\n uni.__f__ = function (...args) {\r\n const [type, filename, ...rest] = args;\r\n // 原始日志移除 filename\r\n oldLog(type, '', ...rest);\r\n sendConsoleMessages([formatMessage(type, [...rest, filename])]);\r\n };\r\n return function restoreConsole() {\r\n // @ts-expect-error\r\n uni.__f__ = oldLog;\r\n };\r\n }\r\n }\r\n return function restoreConsole() { };\r\n}\r\nfunction isConsoleWritable() {\r\n const value = console.log;\r\n const sym = Symbol();\r\n try {\r\n // @ts-expect-error\r\n console.log = sym;\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n // @ts-expect-error\r\n const isWritable = console.log === sym;\r\n console.log = value;\r\n return isWritable;\r\n}\r\nfunction formatMessage(type, args) {\r\n try {\r\n return {\r\n type,\r\n args: formatArgs(args),\r\n };\r\n }\r\n catch (e) {\r\n originalConsole.error(e);\r\n }\r\n return {\r\n type,\r\n args: [],\r\n };\r\n}\r\nfunction formatArgs(args) {\r\n return args.map((arg) => formatArg(arg));\r\n}\r\nfunction formatArg(arg, depth = 0) {\r\n if (depth >= 7) {\r\n return {\r\n type: 'object',\r\n value: '[Maximum depth reached]',\r\n };\r\n }\r\n return ARG_FORMATTERS[typeof arg](arg, depth);\r\n}\r\nfunction formatObject(value, depth) {\r\n if (value === null) {\r\n return {\r\n type: 'null',\r\n };\r\n }\r\n if (isComponentPublicInstance(value)) {\r\n return formatComponentPublicInstance(value, depth);\r\n }\r\n if (isComponentInternalInstance(value)) {\r\n return formatComponentInternalInstance(value, depth);\r\n }\r\n if (isUniElement(value)) {\r\n return formatUniElement(value, depth);\r\n }\r\n if (isCSSStyleDeclaration(value)) {\r\n return formatCSSStyleDeclaration(value, depth);\r\n }\r\n if (Array.isArray(value)) {\r\n return {\r\n type: 'object',\r\n subType: 'array',\r\n value: {\r\n properties: value.map((v, i) => formatArrayElement(v, i, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Set) {\r\n return {\r\n type: 'object',\r\n subType: 'set',\r\n className: 'Set',\r\n description: `Set(${value.size})`,\r\n value: {\r\n entries: Array.from(value).map((v) => formatSetEntry(v, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Map) {\r\n return {\r\n type: 'object',\r\n subType: 'map',\r\n className: 'Map',\r\n description: `Map(${value.size})`,\r\n value: {\r\n entries: Array.from(value.entries()).map((v) => formatMapEntry(v, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Promise) {\r\n return {\r\n type: 'object',\r\n subType: 'promise',\r\n value: {\r\n properties: [],\r\n },\r\n };\r\n }\r\n if (value instanceof RegExp) {\r\n return {\r\n type: 'object',\r\n subType: 'regexp',\r\n value: String(value),\r\n className: 'Regexp',\r\n };\r\n }\r\n if (value instanceof Date) {\r\n return {\r\n type: 'object',\r\n subType: 'date',\r\n value: String(value),\r\n className: 'Date',\r\n };\r\n }\r\n if (value instanceof Error) {\r\n return {\r\n type: 'object',\r\n subType: 'error',\r\n value: value.message || String(value),\r\n className: value.name || 'Error',\r\n };\r\n }\r\n return {\r\n type: 'object',\r\n value: {\r\n properties: Object.entries(value).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isComponentPublicInstance(value) {\r\n return value.$ && isComponentInternalInstance(value.$);\r\n}\r\nfunction isComponentInternalInstance(value) {\r\n return value.type && value.uid != null && value.appContext;\r\n}\r\nfunction formatComponentPublicInstance(value, depth) {\r\n return {\r\n type: 'object',\r\n className: 'ComponentPublicInstance',\r\n value: {\r\n properties: Object.entries(value.$.type).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction formatComponentInternalInstance(value, depth) {\r\n return {\r\n type: 'object',\r\n className: 'ComponentInternalInstance',\r\n value: {\r\n properties: Object.entries(value.type).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isUniElement(value) {\r\n return value.style && value.tagName != null && value.nodeName != null;\r\n}\r\nfunction formatUniElement(value, depth) {\r\n return {\r\n type: 'object',\r\n // 非 x 没有 UniElement 的概念\r\n // className: 'UniElement',\r\n value: {\r\n properties: Object.entries(value)\r\n .filter(([name]) => [\r\n 'id',\r\n 'tagName',\r\n 'nodeName',\r\n 'dataset',\r\n 'offsetTop',\r\n 'offsetLeft',\r\n 'style',\r\n ].includes(name))\r\n .map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isCSSStyleDeclaration(value) {\r\n return (typeof value.getPropertyValue === 'function' &&\r\n typeof value.setProperty === 'function' &&\r\n value.$styles);\r\n}\r\nfunction formatCSSStyleDeclaration(style, depth) {\r\n return {\r\n type: 'object',\r\n value: {\r\n properties: Object.entries(style.$styles).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction formatObjectProperty(name, value, depth) {\r\n return Object.assign(formatArg(value, depth), {\r\n name,\r\n });\r\n}\r\nfunction formatArrayElement(value, index, depth) {\r\n return Object.assign(formatArg(value, depth), {\r\n name: `${index}`,\r\n });\r\n}\r\nfunction formatSetEntry(value, depth) {\r\n return {\r\n value: formatArg(value, depth),\r\n };\r\n}\r\nfunction formatMapEntry(value, depth) {\r\n return {\r\n key: formatArg(value[0], depth),\r\n value: formatArg(value[1], depth),\r\n };\r\n}\r\nconst ARG_FORMATTERS = {\r\n function(value) {\r\n return {\r\n type: 'function',\r\n value: `function ${value.name}() {}`,\r\n };\r\n },\r\n undefined() {\r\n return {\r\n type: 'undefined',\r\n };\r\n },\r\n object(value, depth) {\r\n return formatObject(value, depth);\r\n },\r\n boolean(value) {\r\n return {\r\n type: 'boolean',\r\n value: String(value),\r\n };\r\n },\r\n number(value) {\r\n return {\r\n type: 'number',\r\n value: String(value),\r\n };\r\n },\r\n bigint(value) {\r\n return {\r\n type: 'bigint',\r\n value: String(value),\r\n };\r\n },\r\n string(value) {\r\n return {\r\n type: 'string',\r\n value,\r\n };\r\n },\r\n symbol(value) {\r\n return {\r\n type: 'symbol',\r\n value: value.description,\r\n };\r\n },\r\n};\r\n\r\nfunction initRuntimeSocket(hosts, port, id) {\r\n if (!hosts || !port || !id)\r\n return Promise.resolve(null);\r\n return hosts\r\n .split(',')\r\n .reduce((promise, host) => {\r\n return promise.then((socket) => {\r\n if (socket)\r\n return socket;\r\n return tryConnectSocket(host, port, id);\r\n });\r\n }, Promise.resolve(null));\r\n}\r\nconst SOCKET_TIMEOUT = 500;\r\nfunction tryConnectSocket(host, port, id) {\r\n return new Promise((resolve, reject) => {\r\n const socket = uni.connectSocket({\r\n url: `ws://${host}:${port}/${id}`,\r\n // 支付宝小程序 是否开启多实例\r\n multiple: true,\r\n fail() {\r\n resolve(null);\r\n },\r\n });\r\n const timer = setTimeout(() => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect timeout: ${host}`);\r\n }\r\n socket.close({\r\n code: 1006,\r\n reason: 'connect timeout',\r\n });\r\n resolve(null);\r\n }, SOCKET_TIMEOUT);\r\n socket.onOpen((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect success: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(socket);\r\n });\r\n socket.onClose((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect close: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(null);\r\n });\r\n socket.onError((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect error: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(null);\r\n });\r\n });\r\n}\r\n\r\nlet sendError = null;\r\n// App.onError会监听到两类错误,一类是小程序自身抛出的,一类是 vue 的 errorHandler 触发的\r\n// uni.onError 和 App.onError 会同时监听到错误(主要是App.onError监听之前的错误),所以需要用 Set 来去重\r\n// uni.onError 会在 App.onError 上边同时增加监听,因为要监听 vue 的errorHandler\r\n// 目前 vue 的 errorHandler 仅会callHook('onError'),所以需要把uni.onError的也挂在 App.onError 上\r\nconst errorQueue = new Set();\r\nfunction sendErrorMessages(errors) {\r\n if (sendError == null) {\r\n errors.forEach((error) => {\r\n errorQueue.add(error);\r\n });\r\n return;\r\n }\r\n sendError(JSON.stringify({\r\n type: 'error',\r\n data: errors.map((err) => {\r\n const isPromiseRejection = err && 'promise' in err && 'reason' in err;\r\n const prefix = isPromiseRejection ? 'UnhandledPromiseRejection: ' : '';\r\n if (isPromiseRejection) {\r\n err = err.reason;\r\n }\r\n if (err instanceof Error && err.stack) {\r\n return prefix + err.stack;\r\n }\r\n if (typeof err === 'object' && err !== null) {\r\n try {\r\n return prefix + JSON.stringify(err);\r\n }\r\n catch (err) {\r\n return prefix + String(err);\r\n }\r\n }\r\n return prefix + String(err);\r\n }),\r\n }));\r\n}\r\nfunction setSendError(value) {\r\n sendError = value;\r\n if (value != null && errorQueue.size > 0) {\r\n const errors = Array.from(errorQueue);\r\n errorQueue.clear();\r\n sendErrorMessages(errors);\r\n }\r\n}\r\nfunction initOnError() {\r\n function onError(error) {\r\n try {\r\n // 小红书小程序 socket.send 时,会报错,onError错误信息为:\r\n // Cannot create property 'errMsg' on string 'taskId'\r\n // 导致陷入死循环\r\n if (typeof PromiseRejectionEvent !== 'undefined' &&\r\n error instanceof PromiseRejectionEvent &&\r\n error.reason instanceof Error &&\r\n error.reason.message &&\r\n error.reason.message.includes(`Cannot create property 'errMsg' on string 'taskId`)) {\r\n return;\r\n }\r\n if (__UNI_CONSOLE_KEEP_ORIGINAL__) {\r\n originalConsole.error(error);\r\n }\r\n sendErrorMessages([error]);\r\n }\r\n catch (err) {\r\n originalConsole.error(err);\r\n }\r\n }\r\n if (typeof uni.onError === 'function') {\r\n uni.onError(onError);\r\n }\r\n if (typeof uni.onUnhandledRejection === 'function') {\r\n uni.onUnhandledRejection(onError);\r\n }\r\n return function offError() {\r\n if (typeof uni.offError === 'function') {\r\n uni.offError(onError);\r\n }\r\n if (typeof uni.offUnhandledRejection === 'function') {\r\n uni.offUnhandledRejection(onError);\r\n }\r\n };\r\n}\r\n\r\nfunction initRuntimeSocketService() {\r\n const hosts = __UNI_SOCKET_HOSTS__;\r\n const port = __UNI_SOCKET_PORT__;\r\n const id = __UNI_SOCKET_ID__;\r\n if (!hosts || !port || !id)\r\n return Promise.resolve(false);\r\n // 百度小程序需要延迟初始化,不然会存在循环引用问题vendor.js\r\n const lazy = typeof swan !== 'undefined';\r\n // 重写需要同步,避免丢失早期日志信息\r\n let restoreError = lazy ? () => { } : initOnError();\r\n let restoreConsole = lazy ? () => { } : rewriteConsole();\r\n // 百度小程序需要异步初始化,不然调用 uni.connectSocket 会循环引入vendor.js\r\n return Promise.resolve().then(() => {\r\n if (lazy) {\r\n restoreError = initOnError();\r\n restoreConsole = rewriteConsole();\r\n }\r\n return initRuntimeSocket(hosts, port, id).then((socket) => {\r\n if (!socket) {\r\n restoreError();\r\n restoreConsole();\r\n originalConsole.error(wrapError('开发模式下日志通道建立 socket 连接失败。'));\r\n originalConsole.error(wrapError('如果是小程序平台,请勾选不校验合法域名配置。'));\r\n originalConsole.error(wrapError('如果是运行到真机,请确认手机与电脑处于同一网络。'));\r\n return false;\r\n }\r\n initMiniProgramGlobalFlag();\r\n socket.onClose(() => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, 'connect close and restore');\r\n }\r\n originalConsole.error(wrapError('开发模式下日志通道 socket 连接关闭,请在 HBuilderX 中重新运行。'));\r\n restoreError();\r\n restoreConsole();\r\n });\r\n setSendConsole((data) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][console]`, data);\r\n }\r\n socket.send({\r\n data,\r\n });\r\n });\r\n setSendError((data) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][error]`, data);\r\n }\r\n socket.send({\r\n data,\r\n });\r\n });\r\n return true;\r\n });\r\n });\r\n}\r\nconst ERROR_CHAR = '\\u200C';\r\nfunction wrapError(error) {\r\n return `${ERROR_CHAR}${error}${ERROR_CHAR}`;\r\n}\r\nfunction initMiniProgramGlobalFlag() {\r\n if (typeof wx !== 'undefined') {\r\n // @ts-expect-error\r\n wx.__uni_console__ = true;\r\n }\r\n else if (typeof my !== 'undefined') {\r\n my.__uni_console__ = true;\r\n }\r\n else if (typeof tt !== 'undefined') {\r\n tt.__uni_console__ = true;\r\n }\r\n else if (typeof swan !== 'undefined') {\r\n swan.__uni_console__ = true;\r\n }\r\n else if (typeof qq !== 'undefined') {\r\n qq.__uni_console__ = true;\r\n }\r\n else if (typeof ks !== 'undefined') {\r\n ks.__uni_console__ = true;\r\n }\r\n else if (typeof jd !== 'undefined') {\r\n jd.__uni_console__ = true;\r\n }\r\n else if (typeof xhs !== 'undefined') {\r\n xhs.__uni_console__ = true;\r\n }\r\n else if (typeof has !== 'undefined') {\r\n has.__uni_console__ = true;\r\n }\r\n else if (typeof qa !== 'undefined') {\r\n qa.__uni_console__ = true;\r\n }\r\n}\r\ninitRuntimeSocketService();\r\n\r\nexport { initRuntimeSocketService };\r\n","import { VIRTUAL_HOST_ID, SLOT_DEFAULT_NAME, invokeArrayFns, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, isUniLifecycleHook, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, VIRTUAL_HOST_STYLE, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared';\r\nimport { hasOwn, isArray, isFunction, extend, isPlainObject, isObject } from '@vue/shared';\r\nimport { injectHook, ref, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, devtoolsComponentAdded, getExposeProxy, pruneComponentPropsCache } from 'vue';\r\nimport { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n';\r\n\r\nfunction initVueIds(vueIds, mpInstance) {\r\n if (!vueIds) {\r\n return;\r\n }\r\n const ids = vueIds.split(',');\r\n const len = ids.length;\r\n if (len === 1) {\r\n mpInstance._$vueId = ids[0];\r\n }\r\n else if (len === 2) {\r\n mpInstance._$vueId = ids[0];\r\n mpInstance._$vuePid = ids[1];\r\n }\r\n}\r\nconst EXTRAS = ['externalClasses'];\r\nfunction initExtraOptions(miniProgramComponentOptions, vueOptions) {\r\n EXTRAS.forEach((name) => {\r\n if (hasOwn(vueOptions, name)) {\r\n miniProgramComponentOptions[name] = vueOptions[name];\r\n }\r\n });\r\n}\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods(mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\nfunction initWxsCallMethods(methods, wxsCallMethods) {\r\n if (!isArray(wxsCallMethods)) {\r\n return;\r\n }\r\n wxsCallMethods.forEach((callMethod) => {\r\n methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args);\r\n };\r\n });\r\n}\r\nfunction selectAllComponents(mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector);\r\n components.forEach((component) => {\r\n const ref = component.properties.uR;\r\n $refs[ref] = component.$vm || component;\r\n });\r\n}\r\nfunction initRefs(instance, mpInstance) {\r\n Object.defineProperty(instance, 'refs', {\r\n get() {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.r', $refs);\r\n const forComponents = mpInstance.selectAllComponents('.r-i-f');\r\n forComponents.forEach((component) => {\r\n const ref = component.properties.uR;\r\n if (!ref) {\r\n return;\r\n }\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || component);\r\n });\r\n return $refs;\r\n },\r\n });\r\n}\r\nfunction findVmByVueId(instance, vuePid) {\r\n // 标准 vue3 中 没有 $children,定制了内核\r\n const $children = instance.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm;\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm;\r\n }\r\n }\r\n}\r\n\r\nconst MP_METHODS = [\r\n 'createSelectorQuery',\r\n 'createIntersectionObserver',\r\n 'selectAllComponents',\r\n 'selectComponent',\r\n];\r\nfunction createEmitFn(oldEmit, ctx) {\r\n return function emit(event, ...args) {\r\n const scope = ctx.$scope;\r\n if (scope && event) {\r\n const detail = { __args__: args };\r\n {\r\n scope.triggerEvent(event, detail);\r\n }\r\n }\r\n return oldEmit.apply(this, [event, ...args]);\r\n };\r\n}\r\nfunction initBaseInstance(instance, options) {\r\n const ctx = instance.ctx;\r\n // mp\r\n ctx.mpType = options.mpType; // @deprecated\r\n ctx.$mpType = options.mpType;\r\n ctx.$mpPlatform = \"mp-weixin\";\r\n ctx.$scope = options.mpInstance;\r\n {\r\n // mergeVirtualHostAttributes\r\n Object.defineProperties(ctx, {\r\n // only id\r\n [VIRTUAL_HOST_ID]: {\r\n get() {\r\n const id = this.$scope.data[VIRTUAL_HOST_ID];\r\n // props in page can be undefined\r\n return id === undefined ? '' : id;\r\n },\r\n },\r\n });\r\n }\r\n // TODO @deprecated\r\n ctx.$mp = {};\r\n if (__VUE_OPTIONS_API__) {\r\n ctx._self = {};\r\n }\r\n // slots\r\n instance.slots = {};\r\n if (isArray(options.slots) && options.slots.length) {\r\n options.slots.forEach((name) => {\r\n instance.slots[name] = true;\r\n });\r\n if (instance.slots[SLOT_DEFAULT_NAME]) {\r\n instance.slots.default = true;\r\n }\r\n }\r\n ctx.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return options.mpInstance.getOpenerEventChannel();\r\n }\r\n };\r\n ctx.$hasHook = hasHook;\r\n ctx.$callHook = callHook;\r\n // $emit\r\n instance.emit = createEmitFn(instance.emit, ctx);\r\n}\r\nfunction initComponentInstance(instance, options) {\r\n initBaseInstance(instance, options);\r\n const ctx = instance.ctx;\r\n MP_METHODS.forEach((method) => {\r\n ctx[method] = function (...args) {\r\n const mpInstance = ctx.$scope;\r\n if (mpInstance && mpInstance[method]) {\r\n return mpInstance[method].apply(mpInstance, args);\r\n }\r\n };\r\n });\r\n}\r\nfunction initMocks(instance, mpInstance, mocks) {\r\n const ctx = instance.ctx;\r\n mocks.forEach((mock) => {\r\n if (hasOwn(mpInstance, mock)) {\r\n instance[mock] = ctx[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\nfunction hasHook(name) {\r\n const hooks = this.$[name];\r\n if (hooks && hooks.length) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction callHook(name, args) {\r\n if (name === 'mounted') {\r\n callHook.call(this, 'bm'); // beforeMount\r\n this.$.isMounted = true;\r\n name = 'm';\r\n }\r\n const hooks = this.$[name];\r\n return hooks && invokeArrayFns(hooks, args);\r\n}\r\n\r\nconst PAGE_INIT_HOOKS = [\r\n ON_LOAD,\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_UNLOAD,\r\n ON_RESIZE,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_ADD_TO_FAVORITES,\r\n // 'onReady', // lifetimes.ready\r\n // 'onPageScroll', // 影响性能,开发者手动注册\r\n // 'onShareTimeline', // 右上角菜单,开发者手动注册\r\n // 'onShareAppMessage' // 右上角菜单,开发者手动注册\r\n];\r\nfunction findHooks(vueOptions, hooks = new Set()) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (isUniLifecycleHook(name, vueOptions[name])) {\r\n hooks.add(name);\r\n }\r\n });\r\n if (__VUE_OPTIONS_API__) {\r\n const { extends: extendsOptions, mixins } = vueOptions;\r\n if (mixins) {\r\n mixins.forEach((mixin) => findHooks(mixin, hooks));\r\n }\r\n if (extendsOptions) {\r\n findHooks(extendsOptions, hooks);\r\n }\r\n }\r\n }\r\n return hooks;\r\n}\r\nfunction initHook(mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.$callHook(hook, args);\r\n };\r\n }\r\n}\r\nconst EXCLUDE_HOOKS = [ON_READY];\r\nfunction initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) {\r\n hooks.forEach((hook) => initHook(mpOptions, hook, excludes));\r\n}\r\nfunction initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) {\r\n findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes));\r\n}\r\nfunction initRuntimeHooks(mpOptions, runtimeHooks) {\r\n if (!runtimeHooks) {\r\n return;\r\n }\r\n const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);\r\n hooks.forEach((hook) => {\r\n if (runtimeHooks & MINI_PROGRAM_PAGE_RUNTIME_HOOKS[hook]) {\r\n initHook(mpOptions, hook, []);\r\n }\r\n });\r\n}\r\nconst findMixinRuntimeHooks = /*#__PURE__*/ once(() => {\r\n const runtimeHooks = [];\r\n const app = isFunction(getApp) && getApp({ allowDefault: true });\r\n if (app && app.$vm && app.$vm.$) {\r\n const mixins = app.$vm.$.appContext.mixins;\r\n if (isArray(mixins)) {\r\n const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);\r\n mixins.forEach((mixin) => {\r\n hooks.forEach((hook) => {\r\n if (hasOwn(mixin, hook) && !runtimeHooks.includes(hook)) {\r\n runtimeHooks.push(hook);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n return runtimeHooks;\r\n});\r\nfunction initMixinRuntimeHooks(mpOptions) {\r\n initHooks(mpOptions, findMixinRuntimeHooks());\r\n}\r\n\r\nconst HOOKS = [\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_ERROR,\r\n ON_THEME_CHANGE,\r\n ON_PAGE_NOT_FOUND,\r\n ON_UNHANDLE_REJECTION,\r\n];\r\nfunction parseApp(instance, parseAppOptions) {\r\n const internalInstance = instance.$;\r\n if (__VUE_PROD_DEVTOOLS__) {\r\n // 定制 App 的 $children\r\n Object.defineProperty(internalInstance.ctx, '$children', {\r\n get() {\r\n return getCurrentPages().map((page) => page.$vm);\r\n },\r\n });\r\n }\r\n const appOptions = {\r\n globalData: (instance.$options && instance.$options.globalData) || {},\r\n $vm: instance, // mp-alipay 组件 data 初始化比 onLaunch 早,提前挂载\r\n onLaunch(options) {\r\n this.$vm = instance; // 飞书小程序可能会把 AppOptions 序列化,导致 $vm 对象部分属性丢失\r\n const ctx = internalInstance.ctx;\r\n if (this.$vm && ctx.$scope && ctx.$callHook) {\r\n // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n // $scope值在微信小程序混合分包情况下存在,额外用$callHook兼容判断处理\r\n return;\r\n }\r\n initBaseInstance(internalInstance, {\r\n mpType: 'app',\r\n mpInstance: this,\r\n slots: [],\r\n });\r\n ctx.globalData = this.globalData;\r\n instance.$callHook(ON_LAUNCH, options);\r\n },\r\n };\r\n const onErrorHandlers = wx.$onErrorHandlers;\r\n if (onErrorHandlers) {\r\n onErrorHandlers.forEach((fn) => {\r\n injectHook(ON_ERROR, fn, internalInstance);\r\n });\r\n onErrorHandlers.length = 0;\r\n }\r\n initLocale(instance);\r\n const vueOptions = instance.$.type;\r\n initHooks(appOptions, HOOKS);\r\n initUnknownHooks(appOptions, vueOptions);\r\n if (__VUE_OPTIONS_API__) {\r\n const methods = vueOptions.methods;\r\n methods && extend(appOptions, methods);\r\n }\r\n return appOptions;\r\n}\r\nfunction initCreateApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n return App(parseApp(vm));\r\n };\r\n}\r\nfunction initCreateSubpackageApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n const appOptions = parseApp(vm);\r\n const app = isFunction(getApp) &&\r\n getApp({\r\n allowDefault: true,\r\n });\r\n if (!app)\r\n return;\r\n vm.$.ctx.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach((name) => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach((name) => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n initAppLifecycle(appOptions, vm);\r\n if (process.env.UNI_SUBPACKAGE) {\r\n (wx.$subpackages || (wx.$subpackages = {}))[process.env.UNI_SUBPACKAGE] = {\r\n $vm: vm,\r\n };\r\n }\r\n };\r\n}\r\nfunction initAppLifecycle(appOptions, vm) {\r\n if (isFunction(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n appOptions.onLaunch(args);\r\n }\r\n if (isFunction(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((args) => {\r\n vm.$callHook('onShow', args);\r\n });\r\n }\r\n if (isFunction(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((args) => {\r\n vm.$callHook('onHide', args);\r\n });\r\n }\r\n}\r\nfunction initLocale(appVm) {\r\n const locale = ref(normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN\r\n );\r\n Object.defineProperty(appVm, '$locale', {\r\n get() {\r\n return locale.value;\r\n },\r\n set(v) {\r\n locale.value = v;\r\n },\r\n });\r\n}\r\n\r\nconst builtInProps = [\r\n // 百度小程序,快手小程序自定义组件不支持绑定动态事件,动态dataset,故通过props传递事件信息\r\n // event-opts\r\n 'eO',\r\n // 组件 ref\r\n 'uR',\r\n // 组件 ref-in-for\r\n 'uRIF',\r\n // 组件 id\r\n 'uI',\r\n // 组件类型 m: 小程序组件\r\n 'uT',\r\n // 组件 props\r\n 'uP',\r\n // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n 'uS',\r\n];\r\nfunction initDefaultProps(options, isBehavior = false) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n // 均不指定类型,避免微信小程序 property received type-uncompatible value 警告\r\n builtInProps.forEach((name) => {\r\n properties[name] = {\r\n type: null,\r\n value: '',\r\n };\r\n });\r\n // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n function observerSlots(newVal) {\r\n const $slots = Object.create(null);\r\n newVal &&\r\n newVal.forEach((slotName) => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots,\r\n });\r\n }\r\n properties.uS = {\r\n type: null,\r\n value: [],\r\n };\r\n {\r\n properties.uS.observer = observerSlots;\r\n }\r\n }\r\n if (options.behaviors) {\r\n // wx://form-field\r\n if (options.behaviors.includes('wx' + '://form-field')) {\r\n if (!options.properties || !options.properties.name) {\r\n properties.name = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n if (!options.properties || !options.properties.value) {\r\n properties.value = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n }\r\n }\r\n return properties;\r\n}\r\nfunction initVirtualHostProps(options) {\r\n const properties = {};\r\n {\r\n if ((options && options.virtualHost)) {\r\n properties[VIRTUAL_HOST_STYLE] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_CLASS] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_HIDDEN] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_ID] = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n }\r\n return properties;\r\n}\r\n/**\r\n *\r\n * @param mpComponentOptions\r\n * @param isBehavior\r\n */\r\nfunction initProps(mpComponentOptions) {\r\n if (!mpComponentOptions.properties) {\r\n mpComponentOptions.properties = {};\r\n }\r\n extend(mpComponentOptions.properties, initDefaultProps(mpComponentOptions), initVirtualHostProps(mpComponentOptions.options));\r\n}\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\nfunction parsePropType(type, defaultValue) {\r\n // [String]=>String\r\n if (isArray(type) && type.length === 1) {\r\n return type[0];\r\n }\r\n return type;\r\n}\r\nfunction normalizePropType(type, defaultValue) {\r\n const res = parsePropType(type);\r\n return PROP_TYPES.indexOf(res) !== -1 ? res : null;\r\n}\r\n/**\r\n * 初始化页面 props,方便接收页面参数,类型均为String,默认值均为''\r\n * @param param\r\n * @param rawProps\r\n */\r\nfunction initPageProps({ properties }, rawProps) {\r\n if (isArray(rawProps)) {\r\n rawProps.forEach((key) => {\r\n properties[key] = {\r\n type: String,\r\n value: '',\r\n };\r\n });\r\n }\r\n else if (isPlainObject(rawProps)) {\r\n Object.keys(rawProps).forEach((key) => {\r\n const opts = rawProps[key];\r\n if (isPlainObject(opts)) {\r\n // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFunction(value)) {\r\n value = value();\r\n }\r\n const type = opts.type;\r\n opts.type = normalizePropType(type);\r\n properties[key] = {\r\n type: opts.type,\r\n value,\r\n };\r\n }\r\n else {\r\n // content:String\r\n properties[key] = {\r\n type: normalizePropType(opts),\r\n };\r\n }\r\n });\r\n }\r\n}\r\nfunction findPropsData(properties, isPage) {\r\n return ((isPage\r\n ? findPagePropsData(properties)\r\n : findComponentPropsData(resolvePropValue(properties.uP))) || {});\r\n}\r\nfunction findPagePropsData(properties) {\r\n const propsData = {};\r\n if (isPlainObject(properties)) {\r\n Object.keys(properties).forEach((name) => {\r\n if (builtInProps.indexOf(name) === -1) {\r\n propsData[name] = resolvePropValue(properties[name]);\r\n }\r\n });\r\n }\r\n return propsData;\r\n}\r\nfunction initFormField(vm) {\r\n // 同步 form-field 的 name,value 值\r\n const vueOptions = vm.$options;\r\n if (isArray(vueOptions.behaviors) &&\r\n vueOptions.behaviors.includes('uni://form-field')) {\r\n vm.$watch('modelValue', () => {\r\n vm.$scope &&\r\n vm.$scope.setData({\r\n name: vm.name,\r\n value: vm.modelValue,\r\n });\r\n }, {\r\n immediate: true,\r\n });\r\n }\r\n}\r\nfunction resolvePropValue(prop) {\r\n return prop;\r\n}\r\n\r\nfunction initData(_) {\r\n return {};\r\n}\r\nfunction initPropsObserver(componentOptions) {\r\n const observe = function observe() {\r\n const up = this.properties.uP;\r\n if (!up) {\r\n return;\r\n }\r\n if (this.$vm) {\r\n updateComponentProps(resolvePropValue(up), this.$vm.$);\r\n }\r\n else if (resolvePropValue(this.properties.uT) === 'm') {\r\n // 小程序组件\r\n updateMiniProgramComponentProperties(resolvePropValue(up), this);\r\n }\r\n };\r\n {\r\n if (!componentOptions.observers) {\r\n componentOptions.observers = {};\r\n }\r\n componentOptions.observers.uP = observe;\r\n }\r\n}\r\nfunction updateMiniProgramComponentProperties(up, mpInstance) {\r\n const prevProps = mpInstance.properties;\r\n const nextProps = findComponentPropsData(up) || {};\r\n if (hasPropsChanged(prevProps, nextProps, false)) {\r\n mpInstance.setData(nextProps);\r\n }\r\n}\r\nfunction updateComponentProps(up, instance) {\r\n const prevProps = toRaw(instance.props);\r\n const nextProps = findComponentPropsData(up) || {};\r\n if (hasPropsChanged(prevProps, nextProps)) {\r\n updateProps(instance, nextProps, prevProps, false);\r\n if (hasQueueJob(instance.update)) {\r\n invalidateJob(instance.update);\r\n }\r\n {\r\n instance.update();\r\n }\r\n }\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, checkLen = true) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (checkLen && nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction initBehaviors(vueOptions) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n let vueProps = vueOptions.props;\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n const behaviors = [];\r\n if (isArray(vueBehaviors)) {\r\n vueBehaviors.forEach((behavior) => {\r\n // 这里的 global 应该是个变量\r\n behaviors.push(behavior.replace('uni://', 'wx' + '://'));\r\n if (behavior === 'uni://form-field') {\r\n if (isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('modelValue');\r\n }\r\n else {\r\n vueProps.name = {\r\n type: String,\r\n default: '',\r\n };\r\n vueProps.modelValue = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: '',\r\n };\r\n }\r\n }\r\n });\r\n }\r\n return behaviors;\r\n}\r\nfunction applyOptions(componentOptions, vueOptions) {\r\n componentOptions.data = initData();\r\n componentOptions.behaviors = initBehaviors(vueOptions);\r\n}\r\n\r\nfunction parseComponent(vueOptions, { parse, mocks, isPage, isPageInProject, initRelation, handleLink, initLifetimes, }) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n pureDataPattern: /^uP$/,\r\n };\r\n if (isArray(vueOptions.mixins)) {\r\n vueOptions.mixins.forEach((item) => {\r\n if (isObject(item.options)) {\r\n extend(options, item.options);\r\n }\r\n });\r\n }\r\n if (vueOptions.options) {\r\n extend(options, vueOptions.options);\r\n }\r\n const mpComponentOptions = {\r\n options,\r\n lifetimes: initLifetimes({ mocks, isPage, initRelation, vueOptions }),\r\n pageLifetimes: {\r\n show() {\r\n if (__VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentAdded(this.$vm.$);\r\n }\r\n this.$vm && this.$vm.$callHook('onPageShow');\r\n },\r\n hide() {\r\n this.$vm && this.$vm.$callHook('onPageHide');\r\n },\r\n resize(size) {\r\n this.$vm && this.$vm.$callHook('onPageResize', size);\r\n },\r\n },\r\n methods: {\r\n __l: handleLink,\r\n },\r\n };\r\n if (__VUE_OPTIONS_API__) {\r\n applyOptions(mpComponentOptions, vueOptions);\r\n }\r\n initProps(mpComponentOptions);\r\n initPropsObserver(mpComponentOptions);\r\n initExtraOptions(mpComponentOptions, vueOptions);\r\n initWxsCallMethods(mpComponentOptions.methods, vueOptions.wxsCallMethods);\r\n {\r\n initWorkletMethods(mpComponentOptions.methods, vueOptions.methods);\r\n }\r\n if (parse) {\r\n parse(mpComponentOptions, { handleLink });\r\n }\r\n return mpComponentOptions;\r\n}\r\nfunction initCreateComponent(parseOptions) {\r\n return function createComponent(vueComponentOptions) {\r\n return Component(parseComponent(vueComponentOptions, parseOptions));\r\n };\r\n}\r\nlet $createComponentFn;\r\nlet $destroyComponentFn;\r\nfunction getAppVm() {\r\n if (process.env.UNI_MP_PLUGIN) {\r\n return wx.$vm;\r\n }\r\n if (process.env.UNI_SUBPACKAGE) {\r\n return wx.$subpackages[process.env.UNI_SUBPACKAGE].$vm;\r\n }\r\n return getApp().$vm;\r\n}\r\nfunction $createComponent(initialVNode, options) {\r\n if (!$createComponentFn) {\r\n $createComponentFn = getAppVm().$createComponent;\r\n }\r\n const proxy = $createComponentFn(initialVNode, options);\r\n return getExposeProxy(proxy.$) || proxy;\r\n}\r\nfunction $destroyComponent(instance) {\r\n if (!$destroyComponentFn) {\r\n $destroyComponentFn = getAppVm().$destroyComponent;\r\n }\r\n return $destroyComponentFn(instance);\r\n}\r\n\r\nfunction parsePage(vueOptions, parseOptions) {\r\n const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions;\r\n const miniProgramPageOptions = parseComponent(vueOptions, {\r\n mocks,\r\n isPage,\r\n isPageInProject: true,\r\n initRelation,\r\n handleLink,\r\n initLifetimes,\r\n });\r\n initPageProps(miniProgramPageOptions, (vueOptions.default || vueOptions).props);\r\n const methods = miniProgramPageOptions.methods;\r\n methods.onLoad = function (query) {\r\n {\r\n this.options = query;\r\n }\r\n this.$page = {\r\n fullPath: addLeadingSlash(this.route + stringifyQuery(query)),\r\n };\r\n return this.$vm && this.$vm.$callHook(ON_LOAD, query);\r\n };\r\n initHooks(methods, PAGE_INIT_HOOKS);\r\n {\r\n initUnknownHooks(methods, vueOptions);\r\n }\r\n initRuntimeHooks(methods, vueOptions.__runtimeHooks);\r\n initMixinRuntimeHooks(methods);\r\n parse && parse(miniProgramPageOptions, { handleLink });\r\n return miniProgramPageOptions;\r\n}\r\nfunction initCreatePage(parseOptions) {\r\n return function createPage(vuePageOptions) {\r\n return Component(parsePage(vuePageOptions, parseOptions));\r\n };\r\n}\r\n\r\nfunction initCreatePluginApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n initAppLifecycle(parseApp(vm), vm);\r\n if (process.env.UNI_MP_PLUGIN) {\r\n wx.$vm = vm;\r\n }\r\n };\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\nfunction initTriggerEvent(mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n return oldTriggerEvent.apply(mpInstance, [\r\n customizeEvent(event),\r\n ...args,\r\n ]);\r\n };\r\n // 京东小程序triggerEvent为只读属性\r\n try {\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n }\r\n catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\nfunction initMiniProgramHook(name, options, isComponent) {\r\n const oldHook = options[name];\r\n if (!oldHook) {\r\n options[name] = function () {\r\n initTriggerEvent(this);\r\n };\r\n }\r\n else {\r\n options[name] = function (...args) {\r\n initTriggerEvent(this);\r\n return oldHook.apply(this, args);\r\n };\r\n }\r\n}\r\nPage = function (options) {\r\n initMiniProgramHook(ON_LOAD, options);\r\n return MPPage(options);\r\n};\r\nComponent = function (options) {\r\n initMiniProgramHook('created', options);\r\n // 小程序组件\r\n const isVueComponent = options.properties && options.properties.uP;\r\n if (!isVueComponent) {\r\n initProps(options);\r\n initPropsObserver(options);\r\n }\r\n return MPComponent(options);\r\n};\r\n\r\n// @ts-expect-error\r\nfunction initLifetimes({ mocks, isPage, initRelation, vueOptions, }) {\r\n return {\r\n attached() {\r\n let properties = this.properties;\r\n initVueIds(properties.uI, this);\r\n const relationOptions = {\r\n vuePid: this._$vuePid,\r\n };\r\n // 处理父子关系\r\n initRelation(this, relationOptions);\r\n // 初始化 vue 实例\r\n const mpInstance = this;\r\n const isMiniProgramPage = isPage(mpInstance);\r\n let propsData = properties;\r\n this.$vm = $createComponent({\r\n type: vueOptions,\r\n props: findPropsData(propsData, isMiniProgramPage),\r\n }, {\r\n mpType: isMiniProgramPage ? 'page' : 'component',\r\n mpInstance,\r\n slots: properties.uS || {}, // vueSlots\r\n parentComponent: relationOptions.parent && relationOptions.parent.$,\r\n onBeforeSetup(instance, options) {\r\n initRefs(instance, mpInstance);\r\n initMocks(instance, mpInstance, mocks);\r\n initComponentInstance(instance, options);\r\n },\r\n });\r\n if (process.env.UNI_DEBUG) {\r\n console.log('uni-app:[' +\r\n Date.now() +\r\n '][' +\r\n (mpInstance.is || mpInstance.route) +\r\n '][' +\r\n this.$vm.$.uid +\r\n ']attached');\r\n }\r\n if (!isMiniProgramPage) {\r\n initFormField(this.$vm);\r\n }\r\n },\r\n ready() {\r\n if (process.env.UNI_DEBUG) {\r\n console.log('uni-app:[' + Date.now() + '][' + (this.is || this.route) + ']ready');\r\n }\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n {\r\n this.$vm.$callHook('mounted');\r\n this.$vm.$callHook(ON_READY);\r\n }\r\n }\r\n },\r\n detached() {\r\n if (this.$vm) {\r\n pruneComponentPropsCache(this.$vm.$.uid);\r\n $destroyComponent(this.$vm);\r\n }\r\n },\r\n };\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\nfunction isPage(mpInstance) {\r\n return !!mpInstance.route;\r\n}\r\nfunction initRelation(mpInstance, detail) {\r\n mpInstance.triggerEvent('__l', detail);\r\n}\r\nfunction handleLink(event) {\r\n // detail 是微信,value 是百度(dipatch)\r\n const detail = (event.detail ||\r\n event.value);\r\n const vuePid = detail.vuePid;\r\n let parentVm;\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n detail.parent = parentVm;\r\n}\r\n\r\nvar parseOptions = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n handleLink: handleLink,\r\n initLifetimes: initLifetimes,\r\n initRelation: initRelation,\r\n isPage: isPage,\r\n mocks: mocks\r\n});\r\n\r\nconst createApp = initCreateApp();\r\nconst createPage = initCreatePage(parseOptions);\r\nconst createComponent = initCreateComponent(parseOptions);\r\nconst createPluginApp = initCreatePluginApp();\r\nconst createSubpackageApp = initCreateSubpackageApp();\r\n{\r\n wx.createApp = global.createApp = createApp;\r\n wx.createPage = createPage;\r\n wx.createComponent = createComponent;\r\n wx.createPluginApp = global.createPluginApp =\r\n createPluginApp;\r\n wx.createSubpackageApp = global.createSubpackageApp =\r\n createSubpackageApp;\r\n}\r\n\r\nexport { createApp, createComponent, createPage, createPluginApp, createSubpackageApp };\r\n","import e from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var s=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},i=r.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var i=0;i<r;i++){var o=n[i>>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i<r;i+=4)t[s+i>>>2]=n[i>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},i=0;i<t;i+=4){var a=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}return new o.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s+=2)n[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new o.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s++)n[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},h=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,a=r/(4*i),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*i,u=e.min(4*c,r);if(c){for(var h=0;h<c;h+=i)this._doProcessBlock(s,h);var l=s.splice(0,c);n.sigBytes-=u}return new o.init(l,u)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=l.extend({cfg:i.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=s.algo={};return s}(Math),n)})),r=s,i=(n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=o.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var s=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var i=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],f=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],I=e[t+10],S=e[t+11],T=e[t+12],b=e[t+13],E=e[t+14],k=e[t+15],P=i[0],C=i[1],A=i[2],O=i[3];P=u(P,C,A,O,o,7,a[0]),O=u(O,P,C,A,c,12,a[1]),A=u(A,O,P,C,p,17,a[2]),C=u(C,A,O,P,f,22,a[3]),P=u(P,C,A,O,g,7,a[4]),O=u(O,P,C,A,m,12,a[5]),A=u(A,O,P,C,y,17,a[6]),C=u(C,A,O,P,_,22,a[7]),P=u(P,C,A,O,w,7,a[8]),O=u(O,P,C,A,v,12,a[9]),A=u(A,O,P,C,I,17,a[10]),C=u(C,A,O,P,S,22,a[11]),P=u(P,C,A,O,T,7,a[12]),O=u(O,P,C,A,b,12,a[13]),A=u(A,O,P,C,E,17,a[14]),P=h(P,C=u(C,A,O,P,k,22,a[15]),A,O,c,5,a[16]),O=h(O,P,C,A,y,9,a[17]),A=h(A,O,P,C,S,14,a[18]),C=h(C,A,O,P,o,20,a[19]),P=h(P,C,A,O,m,5,a[20]),O=h(O,P,C,A,I,9,a[21]),A=h(A,O,P,C,k,14,a[22]),C=h(C,A,O,P,g,20,a[23]),P=h(P,C,A,O,v,5,a[24]),O=h(O,P,C,A,E,9,a[25]),A=h(A,O,P,C,f,14,a[26]),C=h(C,A,O,P,w,20,a[27]),P=h(P,C,A,O,b,5,a[28]),O=h(O,P,C,A,p,9,a[29]),A=h(A,O,P,C,_,14,a[30]),P=l(P,C=h(C,A,O,P,T,20,a[31]),A,O,m,4,a[32]),O=l(O,P,C,A,w,11,a[33]),A=l(A,O,P,C,S,16,a[34]),C=l(C,A,O,P,E,23,a[35]),P=l(P,C,A,O,c,4,a[36]),O=l(O,P,C,A,g,11,a[37]),A=l(A,O,P,C,_,16,a[38]),C=l(C,A,O,P,I,23,a[39]),P=l(P,C,A,O,b,4,a[40]),O=l(O,P,C,A,o,11,a[41]),A=l(A,O,P,C,f,16,a[42]),C=l(C,A,O,P,y,23,a[43]),P=l(P,C,A,O,v,4,a[44]),O=l(O,P,C,A,T,11,a[45]),A=l(A,O,P,C,k,16,a[46]),P=d(P,C=l(C,A,O,P,p,23,a[47]),A,O,o,6,a[48]),O=d(O,P,C,A,_,10,a[49]),A=d(A,O,P,C,E,15,a[50]),C=d(C,A,O,P,m,21,a[51]),P=d(P,C,A,O,T,6,a[52]),O=d(O,P,C,A,f,10,a[53]),A=d(A,O,P,C,I,15,a[54]),C=d(C,A,O,P,c,21,a[55]),P=d(P,C,A,O,w,6,a[56]),O=d(O,P,C,A,k,10,a[57]),A=d(A,O,P,C,y,15,a[58]),C=d(C,A,O,P,b,21,a[59]),P=d(P,C,A,O,g,6,a[60]),O=d(O,P,C,A,S,10,a[61]),A=d(A,O,P,C,p,15,a[62]),C=d(C,A,O,P,v,21,a[63]),i[0]=i[0]+P|0,i[1]=i[1]+C|0,i[2]=i[2]+A|0,i[3]=i[3]+O|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var i=e.floor(s/4294967296),o=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return a},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,i,o){var a=e+(t&n|~t&s)+r+o;return(a<<i|a>>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<<i|a>>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<<i|a>>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<<i|a>>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n;e.exports=(n=r,void function(){var e=n,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,c=o.words,u=0;u<n;u++)a[u]^=1549556828,c[u]^=909522486;i.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})}())})),n((function(e,t){e.exports=r.HmacMD5}))),o=n((function(e,t){e.exports=r.enc.Utf8})),a=n((function(e,t){var n;e.exports=(n=r,function(){var e=n,t=e.lib.WordArray;function s(e,n,s){for(var r=[],i=0,o=0;o<n;o++)if(o%4){var a=s[e.charCodeAt(o-1)]<<o%4*2,c=s[e.charCodeAt(o)]>>>6-o%4*2;r[i>>>2]|=(a|c)<<24-i%4*8,i++}return t.create(r,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i<n;i+=3)for(var o=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)r.push(s.charAt(o>>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join(\"\")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i<n.length;i++)r[n.charCodeAt(i)]=i}var o=n.charAt(64);if(o){var a=e.indexOf(o);-1!==a&&(t=a)}return s(e,t,r)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),n.enc.Base64)}));const c=\"uni_id_token\",u=\"uni_id_token_expired\",h=\"uniIdToken\",l={DEFAULT:\"FUNCTION\",FUNCTION:\"FUNCTION\",OBJECT:\"OBJECT\",CLIENT_DB:\"CLIENT_DB\"},d=\"pending\",p=\"fulfilled\",f=\"rejected\";function g(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function m(e){return\"object\"===g(e)}function y(e){return\"function\"==typeof e}function _(e){return function(){try{return e.apply(e,arguments)}catch(e){console.error(e)}}}const w=\"REJECTED\",v=\"NOT_PENDING\";class I{constructor({createPromise:e,retryRule:t=w}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case w:return this.status===f;case v:return this.status!==d}}exec(){return this.needRetry?(this.status=d,this.promise=this.createPromise().then((e=>(this.status=p,Promise.resolve(e))),(e=>(this.status=f,Promise.reject(e)))),this.promise):this.promise}}class S{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The \"listener\" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let e=0;e<n.length;e++)n[e](...t)}}function T(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const b=\"development\"===process.env.NODE_ENV,E=process.env.UNI_PLATFORM,k=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,P=T(process.env.UNI_SECURE_NETWORK_CONFIG),C=\"h5\"===E?\"web\":\"app-plus\"===E||\"app-harmony\"===E?\"app\":E,A=T(process.env.UNICLOUD_DEBUG),O=T(process.env.UNI_CLOUD_PROVIDER)||[],x=process.env.RUN_BY_HBUILDERX;let N=\"\";try{N=process.env.UNI_APP_ID||\"\"}catch(e){}let R,L={};function U(e,t={}){var n,s;return n=L,s=e,Object.prototype.hasOwnProperty.call(n,s)||(L[e]=t),L[e]}function D(){return R||(R=function(){if(\"undefined\"!=typeof globalThis)return globalThis;if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;function e(){return this}return void 0!==e()?e():new Function(\"return this\")()}(),R)}\"app\"===C&&(L=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const M=[\"invoke\",\"success\",\"fail\",\"complete\"],q=U(\"_globalUniCloudInterceptor\");function F(e,t){q[e]||(q[e]={}),m(t)&&Object.keys(t).forEach((n=>{M.indexOf(n)>-1&&function(e,t,n){let s=q[e][t];s||(s=q[e][t]=[]),-1===s.indexOf(n)&&y(n)&&s.push(n)}(e,n,t[n])}))}function K(e,t){q[e]||(q[e]={}),m(t)?Object.keys(t).forEach((n=>{M.indexOf(n)>-1&&function(e,t,n){const s=q[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete q[e]}function j(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function $(e,t){return q[e]&&q[e][t]||[]}function B(e){F(\"callObject\",e)}const W=U(\"_globalUniCloudListener\"),H={RESPONSE:\"response\",NEED_LOGIN:\"needLogin\",REFRESH_TOKEN:\"refreshToken\"},J={CLIENT_DB:\"clientdb\",CLOUD_FUNCTION:\"cloudfunction\",CLOUD_OBJECT:\"cloudobject\"};function z(e){return W[e]||(W[e]=[]),W[e]}function V(e,t){const n=z(e);n.includes(t)||n.push(t)}function G(e,t){const n=z(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Y(e,t){const n=z(e);for(let e=0;e<n.length;e++){(0,n[e])(t)}}let Q,X=!1;function Z(){return Q||(Q=new Promise((e=>{X&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Q)}function ee(e){const t={};for(const n in e){const s=e[n];y(s)&&(t[n]=_(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||\"unknown system error\",this.code=this.errCode=e.code||e.errCode||\"SYSTEM_ERROR\",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync(),connectSocket:e=>uni.connectSocket(e)};function se(e){return e&&se(e.__v_raw)||e}function re(){return{token:ne.getStorageSync(c)||ne.getStorageSync(h),tokenExpired:ne.getStorageSync(u)}}function ie({token:e,tokenExpired:t}={}){e&&ne.setStorageSync(c,e),t&&ne.setStorageSync(u,t)}let oe,ae;function ce(){return oe||(oe=uni.getSystemInfoSync()),oe}function ue(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}let he={};function le(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(ae)return{...he,...ae,locale:e,LOCALE:e};const t=ce(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,o=[\"appId\",\"appLanguage\",\"appName\",\"appVersion\",\"appVersionCode\",\"appWgtVersion\",\"browserName\",\"browserVersion\",\"deviceBrand\",\"deviceId\",\"deviceModel\",\"deviceType\",\"osName\",\"osVersion\",\"romName\",\"romVersion\",\"ua\",\"hostName\",\"hostVersion\",\"uniPlatform\",\"uniRuntimeVersion\",\"uniRuntimeVersionCode\",\"uniCompilerVersion\",\"uniCompilerVersionCode\"];for(const e in t)Object.hasOwnProperty.call(t,e)&&-1===o.indexOf(e)&&delete t[e];return ae={PLATFORM:r,OS:s,APPID:i,DEVICEID:n,...ue(),...t},{...he,...ae,locale:e,LOCALE:e}}var de={sign:function(e,t){let n=\"\";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+\"&\"+t+\"=\"+e[t])})),n=n.slice(1),i(n,t).toString()},wrappedRequest:function(e,t){return new Promise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={}),b&&\"web\"===C&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400){const n=e.data&&e.data.error&&e.data.error.code||\"SYS_ERR\",r=e.data&&e.data.error&&e.data.error.message||e.errMsg||\"request:fail\";return s(new te({code:n,message:r,requestId:t}))}const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},toBase64:function(e){return a.stringify(o.parse(e))}};var pe=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf(\"mp-\")?\"https://api.next.bspapp.com\":\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=ne,this._getAccessTokenPromiseHub=new I({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:v})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return de.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=de.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=de.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request({...this.setupRequest(t),timeout:e.timeout})}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:i}){if(\"string\"!==g(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new te({code:\"INVALID_PARAM\",message:\"使用cloudPath作为路径时,cloudPath不可包含“\\\\”\"});const a=(await this.getOSSUploadOptionsFromPath({env:o,filename:s?t.split(\"/\").pop():t,fileId:s?t:void 0})).result,c=\"https://\"+a.cdnDomain+\"/\"+a.ossPath,{securityToken:u,accessKeyId:h,signature:l,host:d,ossPath:p,id:f,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:h,Signature:l,host:d,id:f,key:p,policy:m,success_action_status:200};if(u&&(_[\"x-oss-security-token\"]=u),y){const e=JSON.stringify({callbackUrl:y,callbackBody:JSON.stringify({fileId:f,spaceId:this.config.spaceId}),callbackBodyType:\"application/json\"});_.callback=de.toBase64(e)}const w={url:\"https://\"+a.host,formData:_,fileName:\"file\",name:\"file\",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},w,{onUploadProgress:r})),y)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:f})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.info\",params:JSON.stringify({id:e.map((e=>e.split(\"?\")[0])).join(\",\")})};return{fileList:(await this.request(this.setupRequest(t))).result}}};var fe={init(e){const t=new pe(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const ge=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var me;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(me||(me={}));var ye=function(){},_e=n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],h=o.SHA256=i.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],i=n[2],o=n[3],a=n[4],h=n[5],l=n[6],d=n[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var _=s&r^s&i^r&i,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&h^~a&l)+c[p]+u[p];d=l,l=h,h=a,a=o+v|0,o=i,i=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(h),t.HmacSHA256=i._createHmacHelper(h)}(Math),n.SHA256)})),we=_e,ve=n((function(e,t){e.exports=r.HmacSHA256}));const Ie=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function Se(e){return void 0===e}function Te(e){return\"[object Null]\"===Object.prototype.toString.call(e)}function be(e=\"\"){return e.replace(/([\\s\\S]+)\\s+(请前往云开发AI小助手查看问题:.*)/,\"$1\")}function Ee(e=32){const t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";let n=\"\";for(let s=0;s<e;s++)n+=t.charAt(Math.floor(62*Math.random()));return n}var ke;function Pe(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(ke||(ke={}));const Ce={adapter:null,runtime:void 0},Ae=[\"anonymousUuidKey\"];class Oe extends ye{constructor(){super(),Ce.adapter.root.tcbObject||(Ce.adapter.root.tcbObject={})}setItem(e,t){Ce.adapter.root.tcbObject[e]=t}getItem(e){return Ce.adapter.root.tcbObject[e]}removeItem(e){delete Ce.adapter.root.tcbObject[e]}clear(){delete Ce.adapter.root.tcbObject}}function xe(e,t){switch(e){case\"local\":return t.localStorage||new Oe;case\"none\":return new Oe;default:return t.sessionStorage||new Oe}}class Ne{constructor(e){if(!this._storage){this._persistence=Ce.adapter.primaryStorage||e.persistence,this._storage=xe(this._persistence,Ce.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,o=\"device_id\",a=`token_type_${e.env}`,c=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:c,deviceIdKey:o,tokenTypeKey:a}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=xe(e,Ce.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ae.includes(e))continue;const r=this._storage.getItem(s);Se(r)||Te(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const Re={},Le={};function Ue(e){return Re[e]}class De{constructor(e,t){this.data=t||null,this.name=e}}class Me extends De{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const qe=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof Me)return console.error(e.error),this;const n=\"string\"==typeof e?new De(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Fe(e,t){qe.on(e,t)}function Ke(e,t={}){qe.fire(e,t)}function je(e,t){qe.off(e,t)}const $e=\"loginStateChanged\",Be=\"loginStateExpire\",We=\"loginTypeChanged\",He=\"anonymousConverted\",Je=\"refreshAccessToken\";var ze;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}(ze||(ze={}));class Ve{constructor(){this._fnPromiseMap=new Map}async run(e,t){let n=this._fnPromiseMap.get(e);return n||(n=new Promise((async(n,s)=>{try{await this._runIdlePromise();const e=t();n(await e)}catch(e){s(e)}finally{this._fnPromiseMap.delete(e)}})),this._fnPromiseMap.set(e,n)),n}_runIdlePromise(){return Promise.resolve()}}class Ge{constructor(e){this._singlePromise=new Ve,this._cache=Ue(e.env),this._baseURL=`https://${e.env}.ap-shanghai.tcb-api.tencentcloudapi.com`,this._reqClass=new Ce.adapter.reqClass({timeout:e.timeout,timeoutMsg:`请求在${e.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]})}_getDeviceId(){if(this._deviceID)return this._deviceID;const{deviceIdKey:e}=this._cache.keys;let t=this._cache.getStore(e);return\"string\"==typeof t&&t.length>=16&&t.length<=48||(t=Ee(),this._cache.setStore(e,t)),this._deviceID=t,t}async _request(e,t,n={}){const s={\"x-request-id\":Ee(),\"x-device-id\":this._getDeviceId()};if(n.withAccessToken){const{tokenTypeKey:e}=this._cache.keys,t=await this.getAccessToken(),n=this._cache.getStore(e);s.authorization=`${n} ${t}`}return this._reqClass[\"get\"===n.method?\"get\":\"post\"]({url:`${this._baseURL}${e}`,data:t,headers:s})}async _fetchAccessToken(){const{loginTypeKey:e,accessTokenKey:t,accessTokenExpireKey:n,tokenTypeKey:s}=this._cache.keys,r=this._cache.getStore(e);if(r&&r!==ze.ANONYMOUS)throw new te({code:\"INVALID_OPERATION\",message:\"非匿名登录不支持刷新 access token\"});const i=await this._singlePromise.run(\"fetchAccessToken\",(async()=>(await this._request(\"/auth/v1/signin/anonymously\",{},{method:\"post\"})).data)),{access_token:o,expires_in:a,token_type:c}=i;return this._cache.setStore(s,c),this._cache.setStore(t,o),this._cache.setStore(n,Date.now()+1e3*a),o}isAccessTokenExpired(e,t){let n=!0;return e&&t&&(n=t<Date.now()),n}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t}=this._cache.keys,n=this._cache.getStore(e),s=this._cache.getStore(t);return this.isAccessTokenExpired(n,s)?this._fetchAccessToken():n}async refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,loginTypeKey:n}=this._cache.keys;return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.setStore(n,ze.ANONYMOUS),this.getAccessToken()}async getUserInfo(){return this._singlePromise.run(\"getUserInfo\",(async()=>(await this._request(\"/auth/v1/user/me\",{},{withAccessToken:!0,method:\"get\"})).data))}}const Ye=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],Qe={\"X-SDK-Version\":\"1.3.5\"};function Xe(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:o}=n.call(e,t);Object.assign(r,s),Object.assign(i,o)}));const o=t.data;return o&&(()=>{var e;if(e=o,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...o,...r};else for(const e in r)o.append(e,r[e])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Ze(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...Qe,\"x-seqid\":e}}}class et{constructor(e={}){var t;this.config=e,this._reqClass=new Ce.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=Ue(this.config.env),this._localCache=(t=this.config.env,Le[t]),this.oauth=new Ge(this.config),Xe(this._reqClass,\"post\",[Ze]),Xe(this._reqClass,\"upload\",[Ze]),Xe(this._reqClass,\"download\",[Ze])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let i=this._cache.getStore(n);if(!i)throw new te({message:\"未登录CloudBase\"});const o={refresh_token:i},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",o);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===ze.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}Ke(Be),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return Ke(Je),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(i=!1),(!s||!r||r<Date.now())&&i?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}async request(e,t,n){const s=`x-tcb-trace_${this.config.env}`;let r=\"application/x-www-form-urlencoded\";const i={action:e,env:this.config.env,dataVersion:\"2019-08-16\",...t};let o;if(-1===Ye.indexOf(e)&&(this._cache.keys,i.access_token=await this.oauth.getAccessToken()),\"storage.uploadFile\"===e){o=new FormData;for(let e in o)o.hasOwnProperty(e)&&void 0!==o[e]&&o.append(e,i[e]);r=\"multipart/form-data\"}else{r=\"application/json\",o={};for(let e in i)void 0!==i[e]&&(o[e]=i[e])}let a={headers:{\"content-type\":r}};n&&n.timeout&&(a.timeout=n.timeout),n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);const c=this._localCache.getStore(s);c&&(a.headers[\"X-TCB-Trace\"]=c);const{parse:u,inQuery:h,search:l}=t;let d={env:this.config.env};u&&(d.parse=!0),h&&(d={...h,...d});let p=function(e,t,n={}){const s=/\\?/.test(t);let r=\"\";for(let e in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=`${e}=${encodeURIComponent(n[e])}`;return/^http(s)?\\:\\/\\//.test(t+=r)?t:`${e}${t}`}(ge,\"//tcb-api.tencentcloudapi.com/web\",d);l&&(p+=l);const f=await this.post({url:p,data:o,...a}),g=f.header&&f.header[\"x-tcb-trace\"];if(g&&this._localCache.setStore(s,g),200!==Number(f.status)&&200!==Number(f.statusCode)||!f.data)throw new te({code:\"NETWORK_ERROR\",message:\"network request error\"});return f}async send(e,t={},n={}){const s=await this.request(e,t,{...n,onUploadProgress:t.onUploadProgress});if((\"ACCESS_TOKEN_DISABLED\"===s.data.code||\"ACCESS_TOKEN_EXPIRED\"===s.data.code)&&-1===Ye.indexOf(e)){await this.oauth.refreshAccessToken();const s=await this.request(e,t,{...n,onUploadProgress:t.onUploadProgress});if(s.data.code)throw new te({code:s.data.code,message:be(s.data.message)});return s.data}if(s.data.code)throw new te({code:s.data.code,message:be(s.data.message)});return s.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}}const tt={};function nt(e){return tt[e]}class st{constructor(e){this.config=e,this._cache=Ue(e.env),this._request=nt(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}setAccessToken(e,t){const{accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys;this._cache.setStore(n,e),this._cache.setStore(s,t)}async refreshUserInfo(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}class rt{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._envId=e,this._cache=Ue(this._envId),this._request=nt(this._envId),this.setUserInfo()}linkWithTicket(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be string\"});return this._request.send(\"auth.linkWithTicket\",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){return this._request.send(\"auth.updatePassword\",{oldPassword:t,newPassword:e})}updateEmail(e){return this._request.send(\"auth.updateEmail\",{newEmail:e})}updateUsername(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});return this._request.send(\"auth.updateUsername\",{username:e})}async getLinkedUidList(){const{data:e}=await this._request.send(\"auth.getLinkedUidList\",{});let t=!1;const{users:n}=e;return n.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o});this.setLocalUserInfo(a)}async refresh(){const e=await this._request.oauth.getUserInfo();return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class it{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=Ue(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),o=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:o},this.user=new rt(e)}get isAnonymousAuth(){return this.loginType===ze.ANONYMOUS}get isCustomAuth(){return this.loginType===ze.CUSTOM}get isWeixinAuth(){return this.loginType===ze.WECHAT||this.loginType===ze.WECHAT_OPEN||this.loginType===ze.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class ot extends st{async signIn(){this._cache.updatePersistence(\"local\"),await this._request.oauth.getAccessToken(),Ke($e),Ke(We,{env:this.config.env,loginType:ze.ANONYMOUS,persistence:\"local\"});const e=new it(this.config.env);return await e.user.refresh(),e}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),Ke(He,{env:this.config.env}),Ke(We,{loginType:ze.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:i.refresh_token}};throw new te({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,ze.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class at extends st{async signIn(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),Ke($e),Ke(We,{env:this.config.env,loginType:ze.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new it(this.config.env);throw new te({message:\"自定义登录失败\"})}}class ct extends st{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token:i,access_token_expire:o}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Ke($e),Ke(We,{env:this.config.env,loginType:ze.EMAIL,persistence:this.config.persistence}),new it(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class ut extends st{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:ze.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:i,access_token:o}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Ke($e),Ke(We,{env:this.config.env,loginType:ze.USERNAME,persistence:this.config.persistence}),new it(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:\"用户名密码登录失败\"})}}class ht{constructor(e){this.config=e,this._cache=Ue(e.env),this._request=nt(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Fe(We,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new ot(this.config)}customAuthProvider(){return new at(this.config)}emailAuthProvider(){return new ct(this.config)}usernameAuthProvider(){return new ut(this.config)}async signInAnonymously(){return new ot(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new ct(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new ut(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new ot(this.config)),Fe(He,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===ze.ANONYMOUS)throw new te({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),Ke($e),Ke(We,{env:this.config.env,loginType:ze.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){Fe($e,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Fe(Be,e.bind(this))}onAccessTokenRefreshed(e){Fe(Je,e.bind(this))}onAnonymousConverted(e){Fe(He,e.bind(this))}onLoginTypeChanged(e){Fe(We,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{accessTokenKey:e,accessTokenExpireKey:t}=this._cache.keys,n=this._cache.getStore(e),s=this._cache.getStore(t);return this._request.oauth.isAccessTokenExpired(n,s)?null:new it(this.config.env)}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new at(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const lt=function(e,t){t=t||Ie();const n=nt(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:o=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":l,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:p,file:r,name:s,fileType:o,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(new te({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},dt=function(e,t){t=t||Ie();const n=nt(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},pt=function({fileList:e},t){if(t=t||Ie(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return nt(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ft=function({fileList:e},t){t=t||Ie(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return nt(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},gt=async function({fileID:e},t){const n=(await ft.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=nt(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},mt=function({name:e,data:t,query:n,parse:s,search:r,timeout:i},o){const a=o||Ie();let c;try{c=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new te({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const u={inQuery:n,parse:s,search:r,function_name:e,request_data:c};return nt(this.config.env).send(\"functions.invokeFunction\",u,{timeout:i}).then((e=>{if(e.code)a(null,e);else{let t=e.data.response_data;if(s)a(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),a(null,{result:t,requestId:e.requestId})}catch(e){a(new te({message:\"response data must be json\"}))}}return a.promise})).catch((e=>{a(e)})),a.promise},yt={timeout:15e3,persistence:\"session\"},_t=6e5,wt={};class vt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(Ce.adapter||(this.requestClient=new Ce.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...yt,...e},!0){case this.config.timeout>_t:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=_t;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new vt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||Ce.adapter.primaryStorage||yt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;Re[t]=new Ne(e),Le[t]=new Ne({...e,persistence:\"local\"})}(this.config),n=this.config,tt[n.env]=new et(n),this.authObj=new ht(this.config),this.authObj}on(e,t){return Fe.apply(this,[e,t])}off(e,t){return je.apply(this,[e,t])}callFunction(e,t){return mt.apply(this,[e,t])}deleteFile(e,t){return pt.apply(this,[e,t])}getTempFileURL(e,t){return ft.apply(this,[e,t])}downloadFile(e,t){return gt.apply(this,[e,t])}uploadFile(e,t){return lt.apply(this,[e,t])}getUploadMetadata(e,t){return dt.apply(this,[e,t])}registerExtension(e){wt[e.name]=e}async invokeExtension(e,t){const n=wt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=Pe(e)||{};t&&(Ce.adapter=t),n&&(Ce.runtime=n)}}var It=new vt;function St(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var i in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=i+\"=\"+encodeURIComponent(n[i]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class Tt{get(e){const{url:t,data:n,headers:s,timeout:r}=e;return new Promise(((e,i)=>{ne.request({url:St(\"https:\",t),data:n,method:\"GET\",header:s,timeout:r,success(t){e(t)},fail(e){i(e)}})}))}post(e){const{url:t,data:n,headers:s,timeout:r}=e;return new Promise(((e,i)=>{ne.request({url:St(\"https:\",t),data:n,method:\"POST\",header:s,timeout:r,success(t){e(t)},fail(e){i(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:i,headers:o,fileType:a}=e,c=ne.uploadFile({url:St(\"https:\",s),name:\"file\",formData:Object.assign({},i),filePath:r,fileType:a,header:o,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const bt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var Et={genAdapter:function(){return{root:{},reqClass:Tt,localStorage:bt,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};It.useAdapters(Et);const kt=It,Pt=kt.init;kt.init=function(e){e.env=e.spaceId;const t=Pt.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var Ct=kt;async function At(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{ne.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}async function Ot(e,t){let n;for(let s=0;s<e.length;s++){const r=e[s];if(await At(r,t)){n=r;break}}return{address:n,port:t}}const xt={\"serverless.file.resource.generateProximalSign\":\"storage/generate-proximal-sign\",\"serverless.file.resource.report\":\"storage/report\",\"serverless.file.resource.delete\":\"storage/delete\",\"serverless.file.resource.getTempFileURL\":\"storage/get-temp-file-url\"};var Nt=class{constructor(e){if([\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),!e.endpoint)throw new Error(\"集群空间未配置ApiEndpoint,配置后需要重新关联服务空间后生效\");this.config=Object.assign({},e),this.config.provider=\"dcloud\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.adapter=ne}async request(e,t=!0){const n=b&&t;return e=n?await this.setupLocalRequest(e):this.setupRequest(e),Promise.resolve().then((()=>n?this.requestLocal(e):de.wrappedRequest(e,this.adapter.request)))}requestLocal(e){return new Promise(((t,n)=>{this.adapter.request(Object.assign(e,{complete(e){if(e||(e={}),!e.statusCode||e.statusCode>=400){const t=e.data&&e.data.code||\"SYS_ERR\",s=e.data&&e.data.message||\"request:fail\";return n(new te({code:t,message:s}))}t({success:!0,result:e.data})}}))}))}setupRequest(e){const t=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),n={\"Content-Type\":\"application/json\"};n[\"x-serverless-sign\"]=de.sign(t,this.config.clientSecret);const s=le();n[\"x-client-info\"]=encodeURIComponent(JSON.stringify(s));const{token:r}=re();return n[\"x-client-token\"]=r,{url:this.config.requestUrl,method:\"POST\",data:t,dataType:\"json\",header:JSON.parse(JSON.stringify(n))}}async setupLocalRequest(e){const t=le(),{token:n}=re(),s=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now(),clientInfo:t,token:n}),{address:r,servePort:i}=this.__dev__&&this.__dev__.debugInfo||{},{address:o}=await Ot(r,i);return{url:`http://${o}:${i}/${xt[e.method]}`,method:\"POST\",data:s,dataType:\"json\",header:JSON.parse(JSON.stringify({\"Content-Type\":\"application/json\"}))}}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(t,!1)}getUploadFileOptions(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(t)}reportUploadFile(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(t)}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new te({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getUploadFileOptions({cloudPath:t}).then((t=>{const{url:i,formData:o,name:a}=t.result;return r=t.result.fileUrl,new Promise(((t,r)=>{const c=this.adapter.uploadFile({url:i,formData:o,name:a,filePath:e,fileType:n,success(e){e&&e.statusCode<400?t(e):r(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){r(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof s&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))})).then((()=>this.reportUploadFile({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(t).then((e=>{if(e.success)return e.result;throw new te({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const n={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(n).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:\"GET_TEMP_FILE_URL_FAILED\",message:\"获取临时文件链接失败\"})}))}};var Rt={init(e){const t=new Nt(e),n={signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},Lt=n((function(e,t){e.exports=r.enc.Hex}));function Ut(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}))}function Dt(e=\"\",t={}){const{data:n,functionName:s,method:r,headers:i,signHeaderKeys:o=[],config:a}=t,c=String(Date.now()),u=Ut(),h=Object.assign({},i,{\"x-from-app-id\":a.spaceAppId,\"x-from-env-id\":a.spaceId,\"x-to-env-id\":a.spaceId,\"x-from-instance-id\":c,\"x-from-function-name\":s,\"x-client-timestamp\":c,\"x-alipay-source\":\"client\",\"x-request-id\":u,\"x-alipay-callid\":u,\"x-trace-id\":u}),l=[\"x-from-app-id\",\"x-from-env-id\",\"x-to-env-id\",\"x-from-instance-id\",\"x-from-function-name\",\"x-client-timestamp\"].concat(o),[d=\"\",p=\"\"]=e.split(\"?\")||[],f=function(e){const t=\"HMAC-SHA256\",n=e.signedHeaders.join(\";\"),s=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\\n`)).join(\"\"),r=we(e.body).toString(Lt),i=`${e.method.toUpperCase()}\\n${e.path}\\n${e.query}\\n${s}\\n${n}\\n${r}\\n`,o=we(i).toString(Lt),a=`${t}\\n${e.timestamp}\\n${o}\\n`,c=ve(a,e.secretKey).toString(Lt);return`${t} Credential=${e.secretId}, SignedHeaders=${n}, Signature=${c}`}({path:d,query:p,method:r,headers:h,timestamp:c,body:JSON.stringify(n),secretId:a.accessKey,secretKey:a.secretKey,signedHeaders:l.sort()});return{url:`${a.endpoint}${e}`,headers:Object.assign({},h,{Authorization:f})}}function Mt({url:e,data:t,method:n=\"POST\",headers:s={},timeout:r}){return new Promise(((i,o)=>{ne.request({url:e,method:n,data:\"object\"==typeof t?JSON.stringify(t):t,header:s,dataType:\"json\",timeout:r,complete:(e={})=>{const t=s[\"x-trace-id\"]||\"\";if(!e.statusCode||e.statusCode>=400){const{message:n,errMsg:s,trace_id:r}=e.data||{};return o(new te({code:\"SYS_ERR\",message:n||s||\"request:fail\",requestId:r||t}))}i({status:e.statusCode,data:e.data,headers:e.header,requestId:t})}})}))}function qt(e,t){const{path:n,data:s,method:r=\"GET\"}=e,{url:i,headers:o}=Dt(n,{functionName:\"\",data:s,method:r,headers:{\"x-alipay-cloud-mode\":\"oss\",\"x-data-api-type\":\"oss\",\"x-expire-timestamp\":Date.now()+6e4},signHeaderKeys:[\"x-data-api-type\",\"x-expire-timestamp\"],config:t});return Mt({url:i,data:s,method:r,headers:o}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Ft(e=\"\"){const t=e.trim().replace(/^cloud:\\/\\//,\"\"),n=t.indexOf(\"/\");if(n<=0)throw new te({code:\"INVALID_PARAM\",message:\"fileID不合法\"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.spaceId&&console.warn(\"file \".concat(e,\" does not belong to env \").concat(this.config.spaceId)),r}function Kt(e=\"\"){return\"cloud://\".concat(this.config.spaceId,\"/\").concat(e.replace(/^\\/+/,\"\"))}class jt{constructor(e){this.config=e}signedURL(e,t={}){const n=`/ws/function/${e}`,s=this.config.wsEndpoint.replace(/^ws(s)?:\\/\\//,\"\"),r=Object.assign({},t,{accessKeyId:this.config.accessKey,signatureNonce:Ut(),timestamp:\"\"+Date.now()}),i=[n,[\"accessKeyId\",\"authorization\",\"signatureNonce\",\"timestamp\"].sort().map((function(e){return r[e]?\"\".concat(e,\"=\").concat(r[e]):null})).filter(Boolean).join(\"&\"),`host:${s}`].join(\"\\n\"),o=[\"HMAC-SHA256\",we(i).toString(Lt)].join(\"\\n\"),a=ve(o,this.config.secretKey).toString(Lt),c=Object.keys(r).map((e=>`${e}=${encodeURIComponent(r[e])}`)).join(\"&\");return`${this.config.wsEndpoint}${n}?${c}&signature=${a}`}}var $t=class{constructor(e){if([\"spaceId\",\"spaceAppId\",\"accessKey\",\"secretKey\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),e.endpoint){if(\"string\"!=typeof e.endpoint)throw new Error(\"endpoint must be string\");if(!/^https:\\/\\//.test(e.endpoint))throw new Error(\"endpoint must start with https://\");e.endpoint=e.endpoint.replace(/\\/$/,\"\")}this.config=Object.assign({},e,{endpoint:e.endpoint||`https://${e.spaceId}.api-hz.cloudbasefunction.cn`,wsEndpoint:e.wsEndpoint||`wss://${e.spaceId}.api-hz.cloudbasefunction.cn`}),this._websocket=new jt(this.config)}callFunction(e){return function(e,t){const{name:n,data:s,async:r=!1,timeout:i}=e,o=\"POST\",a={\"x-to-function-name\":n};r&&(a[\"x-function-invoke-type\"]=\"async\");const{url:c,headers:u}=Dt(\"/functions/invokeFunction\",{functionName:n,data:s,method:o,headers:a,signHeaderKeys:[\"x-to-function-name\"],config:t});return Mt({url:c,data:s,method:o,headers:u,timeout:i}).then((e=>{let t=0;if(r){const n=e.data||{};t=\"200\"===n.errCode?0:n.errCode,e.data=n.data||{},e.errMsg=n.errMsg}if(0!==t)throw new te({code:t,message:e.errMsg,requestId:e.requestId});return{errCode:t,success:0===t,requestId:e.requestId,result:e.data}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((i,o)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:\"file\",success(e){e&&e.statusCode<400?i(e):o(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){o(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&a&&\"function\"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t=\"\",fileType:n=\"image\",onUploadProgress:s}){if(\"string\"!==g(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=await qt({path:\"/\".concat(t.replace(/^\\//,\"\"),\"?post_url\")},this.config),{file_id:i,upload_url:o,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:o,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:i})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&t({code:\"INVALID_PARAM\",message:\"fileList不能为空数组\"}),e.length>50&&t({code:\"INVALID_PARAM\",message:\"fileList数组长度不能超过50\"});const s=[];for(const n of e){let e;\"string\"!==g(n)&&t({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});try{e=Ft.call(this,n)}catch(t){console.warn(t.errCode,t.errMsg),e=n}s.push({file_id:e,expire:600})}qt({path:\"/?download_url\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:Kt.call(this,e.file_id),tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}async connectWebSocket(e){const{name:t,query:n}=e;return ne.connectSocket({url:this._websocket.signedURL(t,n),complete:()=>{}})}};var Bt={init:e=>{e.provider=\"alipay\";const t=new $t(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Wt({data:e}){let t;t=le();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=re();e&&(n.uniIdToken=e)}return n}async function Ht(e={}){await this.__dev__.initLocalNetwork();const{localAddress:t,localPort:n}=this.__dev__,s={aliyun:\"aliyun\",tencent:\"tcb\",alipay:\"alipay\",dcloud:\"dcloud\"}[this.config.provider],r=this.config.spaceId,i=`http://${t}:${n}/system/check-function`,o=`http://${t}:${n}/cloudfunctions/${e.name}`;return new Promise(((t,n)=>{ne.request({method:\"POST\",url:i,data:{name:e.name,platform:C,provider:s,spaceId:r},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:t,message:n})=>{if(0!==t){switch(t){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e.name})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e.name})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(n||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":console.error(n||\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\");break;case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${n},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._callCloudFunction(e)}return new Promise(((t,n)=>{const r=Wt.call(this,{data:e.data});ne.request({method:\"POST\",url:o,data:{provider:s,platform:C,param:r},timeout:e.timeout,success:({statusCode:e,data:s}={})=>!e||e>=400?n(new te({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):t({result:s}),fail(e){n(new te({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Jt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var zt=/[\\\\^$.*+?()[\\]{}|]/g,Vt=RegExp(zt.source);function Gt(e,t,n){return e.replace(new RegExp((s=t)&&Vt.test(s)?s.replace(zt,\"\\\\$&\"):s,\"g\"),n);var s}const Yt={NONE:\"none\",REQUEST:\"request\",RESPONSE:\"response\",BOTH:\"both\"},Qt=\"_globalUniCloudStatus\",Xt=\"_globalUniCloudSecureNetworkCache__{spaceId}\";class Zt{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||Yt.NONE,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,U(Xt.replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ce()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===Yt.NONE?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===Yt.NONE)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===Yt.REQUEST?n:this.platformDecryptResult(e)}wrapVerifyClientCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare(),(s=JSON.parse(JSON.stringify(s)))._uniCloudOptions=await t.platformGetSignOption();let r=await e({name:n,data:s});return t.isClientKeyNotFound(r)&&(await t.prepare({forceUpdate:!0}),s._uniCloudOptions=await t.platformGetSignOption(),r=await e({name:n,data:s})),r}}wrapEncryptDataCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare();const r=await t.encryptData(s);let i=await e({name:n,data:r});if(t.isClientKeyNotFound(i)){await t.prepare({forceUpdate:!0});const r=await t.encryptData(s);s._uniCloudOptions=await t.platformGetSignOption(),i=await e({name:n,data:r})}return i.result=await t.decryptResult(i.result),i}}}\r\n/*! MIT License. Copyright 2015-2018 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */function en(e){return parseInt(e)===e}function tn(e){if(!en(e.length))return!1;for(var t=0;t<e.length;t++)if(!en(e[t])||e[t]<0||e[t]>255)return!1;return!0}function nn(e,t){if(e.buffer&&\"Uint8Array\"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!tn(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(en(e.length)&&tn(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function sn(e){return new Uint8Array(e)}function rn(e,t,n,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,n)}var on,an={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var s=e.charCodeAt(n++);37===s?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(s)}return nn(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var s=e[n];s<128?(t.push(String.fromCharCode(s)),n++):s>191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join(\"\")}},cn=(on=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var s=e[n];t.push(on[(240&s)>>4]+on[15&s])}return t.join(\"\")}}),un={16:10,24:12,32:14},hn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],ln=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],dn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],pn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],fn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],gn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],mn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],yn=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],_n=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],wn=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],vn=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],In=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Sn=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Tn=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],bn=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function En(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}class kn{constructor(e){if(!(this instanceof kn))throw Error(\"AES must be instanitated with `new`\");Object.defineProperty(this,\"key\",{value:nn(e,!0)}),this._prepare()}_prepare(){var e=un[this.key.length];if(null==e)throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,s=4*(e+1),r=this.key.length/4,i=En(this.key);for(t=0;t<r;t++)n=t>>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c<s;){if(o=i[r-1],i[0]^=ln[o>>16&255]<<24^ln[o>>8&255]<<16^ln[255&o]<<8^ln[o>>24&255]^hn[a]<<24,a+=1,8!=r)for(t=1;t<r;t++)i[t]^=i[t-1];else{for(t=1;t<r/2;t++)i[t]^=i[t-1];o=i[r/2-1],i[r/2]^=ln[255&o]^ln[o>>8&255]<<8^ln[o>>16&255]<<16^ln[o>>24&255]<<24;for(t=r/2+1;t<r;t++)i[t]^=i[t-1]}for(t=0;t<r&&c<s;)u=c>>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u<e;u++)for(var h=0;h<4;h++)o=this._Kd[u][h],this._Kd[u][h]=In[o>>24&255]^Sn[o>>16&255]^Tn[o>>8&255]^bn[255&o]}encrypt(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,n=[0,0,0,0],s=En(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=pn[s[r]>>24&255]^fn[s[(r+1)%4]>>16&255]^gn[s[(r+2)%4]>>8&255]^mn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=sn(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(ln[s[r]>>24&255]^o>>24),a[4*r+1]=255&(ln[s[(r+1)%4]>>16&255]^o>>16),a[4*r+2]=255&(ln[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(ln[255&s[(r+3)%4]]^o);return a}decrypt(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,n=[0,0,0,0],s=En(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=yn[s[r]>>24&255]^_n[s[(r+3)%4]>>16&255]^wn[s[(r+2)%4]>>8&255]^vn[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=sn(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(dn[s[r]>>24&255]^o>>24),a[4*r+1]=255&(dn[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(dn[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(dn[255&s[(r+1)%4]]^o);return a}}class Pn{constructor(e){if(!(this instanceof Pn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new kn(e)}encrypt(e){if((e=nn(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=sn(e.length),n=sn(16),s=0;s<e.length;s+=16)rn(e,n,0,s,s+16),rn(n=this._aes.encrypt(n),t,s);return t}decrypt(e){if((e=nn(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=sn(e.length),n=sn(16),s=0;s<e.length;s+=16)rn(e,n,0,s,s+16),rn(n=this._aes.decrypt(n),t,s);return t}}class Cn{constructor(e,t){if(!(this instanceof Cn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Block Chaining\",this.name=\"cbc\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=sn(16);this._lastCipherblock=nn(t,!0),this._aes=new kn(e)}encrypt(e){if((e=nn(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=sn(e.length),n=sn(16),s=0;s<e.length;s+=16){rn(e,n,0,s,s+16);for(var r=0;r<16;r++)n[r]^=this._lastCipherblock[r];this._lastCipherblock=this._aes.encrypt(n),rn(this._lastCipherblock,t,s)}return t}decrypt(e){if((e=nn(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=sn(e.length),n=sn(16),s=0;s<e.length;s+=16){rn(e,n,0,s,s+16),n=this._aes.decrypt(n);for(var r=0;r<16;r++)t[s+r]=n[r]^this._lastCipherblock[r];rn(e,this._lastCipherblock,0,s,s+16)}return t}}class An{constructor(e,t,n){if(!(this instanceof An))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Feedback\",this.name=\"cfb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 size)\")}else t=sn(16);n||(n=1),this.segmentSize=n,this._shiftRegister=nn(t,!0),this._aes=new kn(e)}encrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");for(var t,n=nn(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];rn(this._shiftRegister,this._shiftRegister,0,this.segmentSize),rn(n,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}decrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");for(var t,n=nn(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];rn(this._shiftRegister,this._shiftRegister,0,this.segmentSize),rn(e,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}}class On{constructor(e,t){if(!(this instanceof On))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Output Feedback\",this.name=\"ofb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=sn(16);this._lastPrecipher=nn(t,!0),this._lastPrecipherIndex=16,this._aes=new kn(e)}encrypt(e){for(var t=nn(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t}decrypt(e){return this.encrypt(e)}}class xn{constructor(e){if(!(this instanceof xn))throw Error(\"Counter must be instanitated with `new`\");0===e||e||(e=1),\"number\"==typeof e?(this._counter=sn(16),this.setValue(e)):this.setBytes(e)}setValue(e){if(\"number\"!=typeof e||parseInt(e)!=e)throw new Error(\"invalid counter value (must be an integer)\");if(e>Number.MAX_SAFE_INTEGER)throw new Error(\"integer value out of safe range\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)}setBytes(e){if(16!=(e=nn(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e}increment(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}}}class Nn{constructor(e,t){if(!(this instanceof Nn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof xn||(t=new xn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new kn(e)}encrypt(e){for(var t=nn(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t}decrypt(e){return this.encrypt(e)}}var Rn={AES:kn,Counter:xn,ModeOfOperation:{ecb:Pn,cbc:Cn,cfb:An,ofb:On,ctr:Nn},utils:{hex:cn,utf8:an},padding:{pkcs7:{pad:function(e){var t=16-(e=nn(e,!0)).length%16,n=sn(e.length+t);rn(e,n);for(var s=e.length;s<n.length;s++)n[s]=t;return n},strip:function(e){if((e=nn(e,!0)).length<16)throw new Error(\"PKCS#7 invalid length\");var t=e[e.length-1];if(t>16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s<t;s++)if(e[n+s]!==t)throw new Error(\"PKCS#7 invalid padding byte\");var r=sn(n);return rn(e,r,0,0,n),r}}},_arrayTest:{coerceArray:nn,createArray:sn,copyArray:rn}};function Ln(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(t)),r=Rn.utils.utf8.toBytes(n),i=Rn.utils.utf8.toBytes(e),o=new Rn.ModeOfOperation.cbc(s,r),a=Rn.padding.pkcs7.pad(i),c=o.encrypt(a);return uni.arrayBufferToBase64(c)}const Un=\"uni-secure-network\",Dn={SYSTEM_ERROR:{code:2e4,message:\"System error\"},APP_INFO_INVALID:{code:20101,message:\"Invalid client\"},GET_ENCRYPT_KEY_FAILED:{code:20102,message:\"Get encrypt key failed\"}},Mn={10001:\"Secure network is not supported on current playground or unimpsdk\",10003:\"Config missing in current app. If the problem pesist, please contact DCloud.\",10009:\"Encrypt payload failed\",10010:\"Decrypt response failed\"};function qn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:i,message:o,cause:a}=e||{};return new te({subject:t||n||Un,code:s||i||Dn.SYSTEM_ERROR.code,message:r||o,cause:a})}let Fn,Kn,jn=null;class $n extends Zt{constructor(e){super(e),this.clientType=\"mp-weixin\",this.userEncryptKey=null}isLogin(){return!!this.scopedGlobalCache.mpWeixinCode||!!this.scopedGlobalCache.mpWeixinOpenid}async prepare(){if(!this.isLogin()){if(!this.scopedGlobalCache.initPromise)throw new Error(\"`uniCloud.initSecureNetworkByWeixin` has not yet been called\");if(await this.scopedGlobalCache.initPromise,!this.isLogin())throw new Error(\"uniCloud.initSecureNetworkByWeixin` has not yet been called or successfully excuted\")}}async getUserEncryptKey(){if(this.userEncryptKey)return this.userEncryptKey;if(jn&&jn.expireTime){const e=Date.now();if(jn.expireTime-e>0)return this.userEncryptKey=jn,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{jn=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(qn({...Dn.GET_ENCRYPT_KEY_FAILED,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:Ln(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ce().platform,timestamp:Date.now()}),e,t),encryptKeyId:n,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid}}async platformEncryptData(e){const{encryptKey:t,iv:n,version:s}=await this.getUserEncryptKey(),r={secretType:this.secretType,encryptKeyId:s,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid};return this.secretType===Yt.RESPONSE?{content:e,_uniCloudOptions:r}:{content:Ln(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ce().platform,timestamp:Date.now()}),t,n),_uniCloudOptions:r}}async platformDecryptResult(e){const{content:t}=e,{encryptKey:n,iv:s}=await this.getUserEncryptKey();return JSON.parse(function(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(e)),r=new Uint8Array(uni.base64ToArrayBuffer(t)),i=Rn.utils.utf8.toBytes(n),o=new Rn.ModeOfOperation.cbc(r,i),a=Rn.padding.pkcs7.strip(o.decrypt(s));return Rn.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Bn(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s<t.length;s++){const r=t[s];n[r]=function(...t){return new Promise(((n,s)=>{\"function\"==typeof e[r]?e[r](...t,(function({type:e,data:t,errCode:r,errMsg:i,errSubject:o,message:a}={}){\"success\"===e?n(t):s(qn({errCode:r,errMsg:Mn[r]||i||a,errSubject:o}))})):s(qn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Wn extends Zt{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Bn(uni.requireNativePlugin(\"plus\"))},this.systemInfo=Fn||(Fn=ce())}async hasClientKey(){return this._hasClientKey=await this.appUtils.hasClientKey({provider:this.provider,spaceId:this.spaceId}),this._hasClientKey}async getAppClientKey(){const{data:e,key:t}=await this.appUtils.encryptGetClientKeyPayload({data:JSON.stringify({})}),n=(await this.uniCloudIns.callFunction({name:\"DCloud-clientDB\",data:{redirectTo:\"encryption\",action:\"getAppClientKey\",data:e,key:t}})).result||{};if(0!==n.errCode)throw function(e){return new te({subject:e.errSubject||Un,code:e.errCode||e.code||Dn.SYSTEM_ERROR.code,message:e.errMsg||e.message})}(n);const{clientKey:s,key:r}=n;await this.appUtils.setClientKey({provider:this.provider,spaceId:this.spaceId,clientKey:s,key:r})}async ensureClientKey({forceUpdate:e=!1}={}){if(!0!==await this.hasClientKey()||e)return e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus===d||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==f||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=p})).catch((e=>{throw this.scopedGlobalCache.initStatus=f,e})),this.scopedGlobalCache.initStatus=d),this.scopedGlobalCache.initPromise}async prepare({forceUpdate:e=!1}={}){await this.ensureClientKey({forceUpdate:e})}async platformGetSignOption(){const{data:e,key:t}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify({})});return{verifyClientSign:e,encryptKeyId:t}}async platformEncryptData(e){const{data:t,key:n}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify(e)}),s={secretType:this.secretType,encryptKeyId:n};return this.secretType===Yt.RESPONSE?{content:e,_uniCloudOptions:s}:{content:t,_uniCloudOptions:s}}async platformDecryptResult(e){const{content:t,_uniCloudOptions:n={}}=e,s=n.encryptKeyId,r=await this.appUtils.decrypt({provider:this.provider,spaceId:this.spaceId,data:t,key:s});return JSON.parse(r.data)}isClientKeyNotFound(e={}){const t=e.result||{};return 70009===t.errCode&&t.errSubject===Un}}function Hn({secretType:e}={}){return e===Yt.REQUEST||e===Yt.RESPONSE||e===Yt.BOTH}function Jn({name:e,data:t={}}={}){return\"app\"===C&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function zn({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ce();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=P;if(!n)return{};e=function(e){return\"tencent\"===e?\"tcb\":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const h=function(e,t){let n,s,r;for(let i=0;i<e.length;i++){const o=e[i];o!==t?\"*\"!==o?o.split(\",\").map((e=>e.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!h)return!1;if((c[h]||[]).find(((e={})=>e.appId===s&&(e.platform||\"\").toLowerCase()===o.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${o}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),qn(Dn.APP_INFO_INVALID)}function Vn({functionName:e,result:t,logPvd:n}){if(b&&this.__dev__.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function Gn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Wt.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\",dcloud:\"dcloud\"}[this.config.provider],i=Hn(n),o=Jn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&Vn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&Vn.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s<n.length;s++){const{rule:r,content:i,mode:o}=n[s],a=e.match(r);if(!a)continue;let c=i;for(let e=1;e<a.length;e++)c=Gt(c,`{$${e}}`,a[e]);for(const e in t)c=Gt(c,`{${e}}`,t[e]);return\"replace\"===o?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:Jt,extraInfo:{functionName:s}})),Promise.reject(e))))};e.callFunction=function(t){const{provider:s,spaceId:r}=e.config,i=t.name;let o,a;if(t.data=t.data||{},b&&e.__dev__.debugInfo&&!e.__dev__.debugInfo.forceRemote&&O?(e._callCloudFunction||(e._callCloudFunction=n,e._callLocalFunction=Ht),o=Ht):o=n,o=o.bind(e),Jn(t))a=n.call(e,t);else if(function({name:e,data:t={}}){return\"mp-weixin\"===C&&\"uni-id-co\"===e&&\"secureNetworkHandshakeByWeixin\"===t.method}(t))a=o.call(e,t);else if(Hn(t)){a=new Kn({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t)}else if(zn({provider:s,spaceId:r,functionName:i})){a=new Kn({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t)}else a=o(t);return Object.defineProperty(a,\"result\",{get:()=>(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a.then((e=>(\"undefined\"!=typeof UTSJSONObject&&(e.result=new UTSJSONObject(e.result)),e)))}}Kn=\"mp-weixin\"!==C&&\"app\"!==C?class{constructor(){throw qn({message:`Platform ${C} is not supported by secure network`})}}:k?\"mp-weixin\"===C?$n:Wn:class{constructor(){throw qn({message:`Platform ${C} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Yn=Symbol(\"CLIENT_DB_INTERNAL\");function Qn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Yn,e.inspect=null,e.__v_raw=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(\"symbol\"==typeof n)return e[n];if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function Xn(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const Zn=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function es(e,t){return Zn.indexOf(`${e}.${t}`)>-1}function ts(e){switch(g(e=se(e))){case\"array\":return e.map((e=>ts(e)));case\"object\":return e._internalType===Yn||Object.keys(e).forEach((t=>{e[t]=ts(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function ns(e){return e&&e.content&&e.content.$method}class ss{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:ts(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=ns(e),n=ns(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===ns(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=ns(e),n=ns(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return rs({$method:e,$param:ts(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn(\"count\"):function(){return this._send(\"count\",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn(\"remove\"):function(){return this._send(\"remove\",Array.from(arguments))}}get(){return this._send(\"get\",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn(\"add\"):function(){return this._send(\"add\",Array.from(arguments))}}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn(\"set\"):function(){throw new Error(\"JQL禁止使用set方法\")}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:ts(t)}),b){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function rs(e,t,n){return Qn(new ss(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),es(s,t)?rs({$method:t},e,n):function(){return rs({$method:t,$param:ts(Array.from(arguments))},e,n)}}})}function is({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}class os{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=U(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=Xn(this._authCallBacks)),this._isJQL=t,Object.assign(this,Xn(this._dbCallBacks)),this.env=Qn({},{get:(e,t)=>({$env:t})}),this.Geo=Qn({},{get:(e,t)=>is({path:[\"Geo\"],method:t})}),this.serverDate=is({path:[],method:\"serverDate\"}),this.RegExp=is({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}function as(e,t={}){return Qn(new e(t),{get:(e,t)=>es(\"db\",t)?rs({$method:t},null,e):function(){return rs({$method:t,$param:ts(Array.from(arguments))},null,e)}})}class cs extends os{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;n<s.length;n++){const r=s[n];r.udb&&\"function\"==typeof r.udb.setResult&&(t?r.udb.setResult(t):r.udb.setResult(e.result.dataList[n]))}}const i=this,o=this._isJQL?\"databaseForJQL\":\"database\";function a(e){return i._callback(\"error\",[e]),j($(o,\"fail\"),e).then((()=>j($(o,\"complete\"),e))).then((()=>(r(null,e),Y(H.RESPONSE,{type:J.CLIENT_DB,content:e}),Promise.reject(e))))}const c=j($(o,\"invoke\")),u=this._uniClient;return c.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:l.CLIENT_DB,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let e=0;e<u.length;e++){const{level:t,message:n,detail:s}=u[e];let r=\"[System Info]\"+n;s&&(r=`${r}\\n详细信息:${s}`),(console[\"app\"===C&&\"warn\"===t?\"error\":t]||console.log)(r)}if(t){return a(new te({code:t,message:n,requestId:e.requestId}))}e.result.errCode=e.result.errCode||e.result.code,e.result.errMsg=e.result.errMsg||e.result.message,s&&c&&(ie({token:s,tokenExpired:c}),this._callbackAuth(\"refreshToken\",[{token:s,tokenExpired:c}]),this._callback(\"refreshToken\",[{token:s,tokenExpired:c}]),Y(H.REFRESH_TOKEN,{token:s,tokenExpired:c}));const h=[{prop:\"affectedDocs\",tips:\"affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代\"},{prop:\"code\",tips:\"code不再推荐使用,请使用errCode替代\"},{prop:\"message\",tips:\"message不再推荐使用,请使用errMsg替代\"}];for(let t=0;t<h.length;t++){const{prop:n,tips:s}=h[t];if(n in e.result){const t=e.result[n];Object.defineProperty(e.result,n,{get:()=>(console.warn(s),t)})}}return function(e){return j($(o,\"success\"),e).then((()=>j($(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Y(H.RESPONSE,{type:J.CLIENT_DB,content:t}),Promise.resolve(t)}))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return a(new te({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const us=\"token无效,跳转登录页面\",hs=\"token过期,跳转登录页面\",ls={TOKEN_INVALID_TOKEN_EXPIRED:hs,TOKEN_INVALID_INVALID_CLIENTID:us,TOKEN_INVALID:us,TOKEN_INVALID_WRONG_TOKEN:us,TOKEN_INVALID_ANONYMOUS_USER:us},ds={\"uni-id-token-expired\":hs,\"uni-id-check-token-failed\":us,\"uni-id-token-not-exist\":us,\"uni-id-check-device-feature-failed\":us};function ps(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function fs(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ps(t,e.path)):!1===e.needLogin&&s.push(ps(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function gs(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function ms(){return function(e){let t=e&&e.$page&&e.$page.fullPath||\"\";return t?(\"/\"!==t.charAt(0)&&(t=\"/\"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function ys(){return gs(ms())}function _s(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=gs(e);return n.some((e=>e.pagePath===s))}const ws=!!e.uniIdRouter;const{loginPage:vs,routerNeedLogin:Is,resToLogin:Ss,needLoginPage:Ts,notNeedLoginPage:bs,loginPageInTabBar:Es}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=fs(t),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=fs(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...h],notNeedLoginPage:[...u,...l],loginPageInTabBar:_s(i,r)}}();if(Ts.indexOf(vs)>-1)throw new Error(`Login page [${vs}] should not be \"needLogin\", please check your pages.json`);function ks(e){const t=ys();if(\"/\"===e.charAt(0))return e;const[n,s]=e.split(\"?\"),r=n.replace(/^\\//,\"\").split(\"/\"),i=t.split(\"/\");i.pop();for(let e=0;e<r.length;e++){const t=r[e];\"..\"===t?i.pop():\".\"!==t&&i.push(t)}return\"\"===i[0]&&i.shift(),\"/\"+i.join(\"/\")+(s?\"?\"+s:\"\")}function Ps(e){const t=gs(ks(e));return!(bs.indexOf(t)>-1)&&(Ts.indexOf(t)>-1||Is.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function Cs({redirect:e}){const t=gs(e),n=gs(vs);return ys()!==n&&t!==n}function As({api:e,redirect:t}={}){if(!t||!Cs({redirect:t}))return;const n=function(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}(vs,t);Es?\"navigateTo\"!==e&&\"redirectTo\"!==e||(e=\"switchTab\"):\"switchTab\"===e&&(e=\"navigateTo\");const s={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{s[e]({url:n})}),0)}function Os({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=re();let n;if(e){if(t<Date.now()){const e=\"uni-id-token-expired\";n={errCode:e,errMsg:ds[e]}}}else{const e=\"uni-id-check-token-failed\";n={errCode:e,errMsg:ds[e]}}return n}();if(Ps(e)&&n){n.uniIdRedirectUrl=e;if(z(H.NEED_LOGIN).length>0)return setTimeout((()=>{Y(H.NEED_LOGIN,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function xs(){!function(){const e=ms(),{abortLoginPageJump:t,autoToLoginPage:n}=Os({url:e});t||n&&As({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t<e.length;t++){const n=e[t];uni.addInterceptor(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=Os({url:e.url});return t?e:s?(As({api:n,redirect:ks(e.url)}),!1):e}})}}function Ns(){this.onResponse((e=>{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in ds}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in ls}(n)}s&&function(e={}){const t=z(H.NEED_LOGIN);Z().then((()=>{const n=ms();if(n&&Cs({redirect:n}))return t.length>0?Y(H.NEED_LOGIN,Object.assign({uniIdRedirectUrl:n},e)):void(vs&&As({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Rs(e){!function(e){e.onResponse=function(e){V(H.RESPONSE,e)},e.offResponse=function(e){G(H.RESPONSE,e)}}(e),function(e){e.onNeedLogin=function(e){V(H.NEED_LOGIN,e)},e.offNeedLogin=function(e){G(H.NEED_LOGIN,e)},ws&&(U(Qt).needLoginInit||(U(Qt).needLoginInit=!0,Z().then((()=>{xs.call(e)})),Ss&&Ns.call(e)))}(e),function(e){e.onRefreshToken=function(e){V(H.REFRESH_TOKEN,e)},e.offRefreshToken=function(e){G(H.REFRESH_TOKEN,e)}}(e)}let Ls;const Us=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",Ds=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function Ms(){const e=re().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(Ls(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}Ls=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!Ds.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,r=\"\",i=0;i<e.length;)t=Us.indexOf(e.charAt(i++))<<18|Us.indexOf(e.charAt(i++))<<12|(n=Us.indexOf(e.charAt(i++)))<<6|(s=Us.indexOf(e.charAt(i++))),r+=64===n?String.fromCharCode(t>>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var qs=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function i(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const i=t.tempFiles,o=i.length;let a=0;return new Promise((n=>{for(;a<s;)c();function c(){const s=a++;if(s>=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({provider:u.provider,filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s<o&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,s<o&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){return function(t={type:\"all\"}){return\"image\"===t.type?i(e,function(e){const{count:t,sizeType:n,sourceType:i=[\"album\",\"camera\"],extension:o}=e;return new Promise(((e,a)=>{uni.chooseImage({count:t,sizeType:n,sourceType:i,extension:o,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:o=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:i,sourceType:o,extension:a,success(t){const{tempFilePath:n,duration:s,size:i,height:o,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:i,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:o,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let o=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),\"function\"!=typeof o)return i({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});o({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Fs=t(qs);const Ks={auto:\"auto\",onready:\"onready\",manual:\"manual\"};function js(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{},mixinDatacomError:null}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===Ks.manual)return;let n=!1;const s=[];for(let r=2;r<e.length;r++)e[r]!==t[r]&&(s.push(e[r]),n=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(n,s)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:n}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage=\"\",this.mixinDatacomError=null,this.mixinDatacomGet().then((n=>{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length<this.pageSize;const i=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=i,t&&t(i)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,this.mixinDatacomError=e,n&&n(e)})))},mixinDatacomGet(t={}){let n;t=t||{},n=\"undefined\"!=typeof __uniX&&__uniX?e.databaseForJQL(this.spaceInfo):e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const o=t.field||this.field;o&&(n=n.field(o));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}function $s(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),\"object\"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:r,errorOptions:i,parseSystemError:o}=n,a=!s;return new Proxy({},{get(s,c){switch(c){case\"toString\":return\"[object UniCloudObject]\";case\"toJSON\":return{}}return function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,o;try{return await j($(t,\"invoke\"),{...r}),i=await e(...s),await j($(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await j($(t,\"fail\"),{...r,error:o}),o}finally{await j($(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...u){let h;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:l.OBJECT,data:{method:c,params:u}};\"object\"==typeof n.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s[\"*\"];r&&(t.secretType=r)}(n,d);let p=!1;try{h=await e.callFunction(d)}catch(e){p=!0,h={result:new te(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=h.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(ie(y),Y(H.REFRESH_TOKEN,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:u,errSubject:f,errCode:g,errMsg:m})).errMsg||m}if(a)if(\"toast\"===i.type)uni.showToast({title:e,icon:\"none\"});else{if(\"modal\"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((i,o)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){i(e)},fail(){i({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:e,showCancel:i.retry,cancelText:\"取消\",confirmText:i.retry?\"重试\":\"确定\"});if(i.retry&&t)return s(...u)}}const n=new te({subject:f,code:g,message:m,requestId:h.requestId});throw n.detail=h.result,Y(H.RESPONSE,{type:J.CLOUD_OBJECT,content:n}),n}return Y(H.RESPONSE,{type:J.CLOUD_OBJECT,content:h.result}),h.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})}})}}function Bs(e){return U(Xt.replace(\"{spaceId}\",e.config.spaceId))}async function Ws({openid:e,callLoginByWeixin:t=!1}={}){const n=Bs(this);if(\"mp-weixin\"!==C)throw new Error(`[SecureNetwork] API \\`initSecureNetworkByWeixin\\` is not supported on platform \\`${C}\\``);if(e&&t)throw new Error(\"[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time\");if(e)return n.mpWeixinOpenid=e,{};const s=await new Promise(((e,t)=>{uni.login({success(t){e(t.code)},fail(e){t(new Error(e.errMsg))}})})),r=this.importObject(\"uni-id-co\",{customUI:!0});return await r.secureNetworkHandshakeByWeixin({code:s,callLoginByWeixin:t}),n.mpWeixinCode=s,{code:s}}async function Hs(e){const t=Bs(this);return t.initPromise||(t.initPromise=Ws.call(this,e).then((e=>e)).catch((e=>{throw delete t.initPromise,e}))),t.initPromise}function Js(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Hs.call(e,{openid:t,callLoginByWeixin:n})}}function zs(e){!function(e){he=e}(e)}function Vs(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Gs extends S{constructor(){super(),this._uniPushMessageCallback=this._receivePushMessage.bind(this),this._currentMessageId=-1,this._payloadQueue=[]}init(){return Promise.all([Vs(\"getSystemInfo\")(),Vs(\"getPushClientId\")()]).then((([{appId:e}={},{cid:t}={}]=[])=>{if(!e)throw new Error(\"Invalid appId, please check the manifest.json file\");if(!t)throw new Error(\"Invalid push client id\");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+\"-\"+Math.floor(9e5*Math.random()+1e5),this.emit(\"open\"),this._initMessageListener()}),(e=>{throw this.emit(\"error\",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if(\"receive\"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||\"UNI_CLOUD_SSE\"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;\"end\"===t?this._end({messageId:n,message:s}):\"message\"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit(\"message\",t)}_end({messageId:e,message:t}={}){this.emit(\"end\",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit(\"close\")}}async function Ys(e){if(!b)return Promise.resolve();if(\"app\"===C){const{osName:e,osVersion:t}=ce();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发期间需要,发行后不需要)\")}const t=e.__dev__;if(!t.debugInfo)return;const{address:n,servePort:s}=t.debugInfo,{address:r}=await Ot(n,s);if(r)return t.localAddress=r,void(t.localPort=s);const i=console[\"app\"===C?\"error\":\"warn\"];let o=\"\";if(\"remote\"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,o=\"当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\"):o=\"无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\",o+=\"\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\\n- 检查是否错误的使用拦截器修改uni.request方法的参数\",\"web\"===C&&(o+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),0===C.indexOf(\"mp-\")&&(o+=\"\\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp\"),!t.debugInfo.forceRemote)throw new Error(o);i(o)}function Qs(e){e._initPromiseHub||(e._initPromiseHub=new I({createPromise:function(){let t=Promise.resolve();var n;n=1,t=new Promise((e=>{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const Xs={tcb:Ct,tencent:Ct,aliyun:fe,private:Rt,dcloud:Rt,alipay:Bt};let Zs=new class{init(e){let t={};const n=Xs[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),b&&function(e){if(!b)return;const t={};e.__dev__=t,t.debugLog=b&&(\"web\"===C&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===C||\"mp-harmony\"===C);const n=A;n&&!n.code&&(t.debugInfo=n);const s=new I({createPromise:function(){return Ys(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Qs(t),Gn(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),function(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=as(cs,{uniClient:e});return this._database=n,n},e.databaseForJQL=function(t){if(t&&Object.keys(t).length>0)return e.init(t).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const n=as(cs,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=Ms,e.chooseAndUploadFile=Fs.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return js(e)}}),e.SSEChannel=Gs,e.initSecureNetworkByWeixin=Js(e),e.setCustomClientInfo=zs,e.importObject=$s(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if(\"callFunction\"===t){const e=n&&n.type||l.DEFAULT;s=e!==l.DEFAULT}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:c}=ee(n),u=i.then((()=>s?Promise.resolve():j($(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):j($(t,\"success\"),e).then((()=>j($(t,\"complete\"),e))).then((()=>(r&&Y(H.RESPONSE,{type:J.CLOUD_FUNCTION,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):j($(t,\"fail\"),e).then((()=>j($(t,\"complete\"),e))).then((()=>(Y(H.RESPONSE,{type:J.CLOUD_FUNCTION,content:e}),Promise.reject(e))))));if(!(o||a||c))return u;u.then((e=>{o&&o(e),c&&c(e),r&&Y(H.RESPONSE,{type:J.CLOUD_FUNCTION,content:e})}),(e=>{a&&a(e),c&&c(e),r&&Y(H.RESPONSE,{type:J.CLOUD_FUNCTION,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=O;let t={};if(e&&1===e.length)t=e[0],Zs=Zs.init(t),Zs._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":x?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{Zs[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}if(Object.assign(Zs,{get mixinDatacom(){return js(Zs)}}),Rs(Zs),Zs.addInterceptor=F,Zs.removeInterceptor=K,Zs.interceptObject=B,b&&\"web\"===C&&(window.uniCloud=Zs),\"app\"===C&&(uni.__uniCloud=Zs),\"app\"===C||\"web\"===C){const e=D();e.uniCloud=Zs,e.UniCloudError=te}})();var er=Zs;export{te as UniCloudError,er as default,Zs as uniCloud};\r\n"],"names":["set","i","hasOwnProperty","hasOwn","isObject","_","c","s","invokeArrayFns","n","v","compile","index","formater","uni","t","key","values","locale","createErrorHandler","E","e","self","E$1","l","effect","trigger","computed","isReadonly","isShallow","has","r","a","queue","p","b","diff","version","isModelListener","Component","once","createApp","plugin","callHook","get","h","m","initProps","resolvePropValue","getType","validateProp","assertType","getInvalidTypeMessage","isSimpleType","styleValue","isExplicable","isBoolean","resolve","f","ref","emit","uid","pruneComponentPropsCache","u","createVNode","createComponent","createComponent2","initHooks","applyOptions","permission","o","interceptors","res","options","errMsg","Emitter","cid","protocols","global","getProvider","mocks","value","host","err","onError","offError","wx","isPage","observe","parse","initRelation","handleLink","initLifetimes","size","parseOptions","createPage","d","g","y","w","I","S","T","k","P","C","A","O","tt","ks"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}