(function(e){function t(t){for(var n,a,s=t[0],c=t[1],l=t[2],d=0,f=[];d0}));r=i(r);var a=e.substring(0,t).split(",").map((function(e){return e.trim()}));a.forEach((function(e){n[e]||(n[e]={}),Object.keys(r).forEach((function(t){n[e][t]=r[t]}))})),e=e.slice(o+1).trim()};while(e.length>0&&-1!==e.indexOf("{")&&-1!==e.indexOf("}"))i();return n}function T(e,t){var o=e.getValue(0);o?localStorage.setItem(t,o):localStorage.removeItem(t)}function E(e){var t=g.a.format(e,{parser:"markdown",plugins:[b.a]});return t}function I(e){var t=g.a.format(e,{parser:"css",plugins:[C.a]});return t}function $(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"pre",t=document.getElementsByClassName("code__pre");t.length>0&&t.forEach((function(t){t.style.whiteSpace=e}))}function R(e){var t=document.createElement("a");t.download="content.md",t.style.display="none";var o=new Blob([e]);t.href=URL.createObjectURL(o),document.body.appendChild(t),t.click(),document.body.removeChild(t)}function G(e){for(var t=e.data,o=e.rows,n=e.cols,i="",r=[],a=0;a1?a-1:a;1===a?r.push("---\t"):r.push(t["k_".concat(c,"_").concat(s)]||"")}i+=r.join("\t|\t"),i+="\t|\n"}return i}var M=o("466b"),A=o.n(M);function j(){for(var e=document.getElementById("output"),t=e.getElementsByTagName("img"),o=0;o=1&&i<=127?t+=e.charAt(o):i>2047?(t+=String.fromCharCode(224|i>>12&15),t+=String.fromCharCode(128|i>>6&63),t+=String.fromCharCode(128|i>>0&63)):(t+=String.fromCharCode(192|i>>6&31),t+=String.fromCharCode(128|i>>0&63));return t}var Ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function $e(e){var t,o,n,i,r,a;n=e.length,o=0,t="";while(o>2),t+=Ie.charAt((3&i)<<4),t+="==";break}if(r=e.charCodeAt(o++),o==n){t+=Ie.charAt(i>>2),t+=Ie.charAt((3&i)<<4|(240&r)>>4),t+=Ie.charAt((15&r)<<2),t+="=";break}a=e.charCodeAt(o++),t+=Ie.charAt(i>>2),t+=Ie.charAt((3&i)<<4|(240&r)>>4),t+=Ie.charAt((15&r)<<2|(192&a)>>6),t+=Ie.charAt(63&a)}return t}function Re(e){return e=e.replace(/\+/g,"-"),e=e.replace(/\//g,"_"),e}function Ge(e,t){if(e){var o="github"===t?he:be,n=o.username,i=o.repoList,r=o.branch,a=o.accessTokenList,s=Math.floor(Math.random()*a.length),c=a[s].replace("doocsmd",""),l=Math.floor(Math.random()*i.length),u=i[l];return{username:n,repo:u,branch:r,accessToken:c}}var d=JSON.parse(localStorage.getItem("".concat(t,"Config"))),f=d.repo.replace("https://".concat(t,".com/"),"").replace("http://".concat(t,".com/"),"").replace("".concat(t,".com/"),"").split("/");return{username:f[0],repo:f[1],branch:d.branch||"master",accessToken:d.accessToken}}function Me(){var e=new Date,t=e.getFullYear(),o=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getDate().toString().padStart(2,"0");return"".concat(t,"/").concat(o,"/").concat(n)}function Ae(e){var t=(new Date).getTime(),o=e.split(".")[1];return"".concat(t,"-").concat(Object(_e["a"])(),".").concat(o)}function je(e,t){return ze.apply(this,arguments)}function ze(){return ze=Object(f["a"])(regeneratorRuntime.mark((function e(t,o){var n,i,r,a,s,c,l,u,d,f,m,p;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n="default"===localStorage.getItem("imgHost"),i=Ge(n,"github"),r=i.username,a=i.repo,s=i.branch,c=i.accessToken,l=Me(),u="https://api.github.com/repos/".concat(r,"/").concat(a,"/contents/").concat(l,"/"),d=Ae(o),e.next=7,ge({url:u+d,method:"put",headers:{Authorization:"token ".concat(c)},data:{content:t,branch:s,message:"Upload by ".concat(window.location.href)}});case 7:return f=e.sent,m="raw.githubusercontent.com/".concat(r,"/").concat(a,"/").concat(s,"/"),p="cdn.jsdelivr.net/gh/".concat(r,"/").concat(a,"@").concat(s,"/"),e.abrupt("return",n?f.content.download_url.replace(m,p):f.content.download_url);case 11:case"end":return e.stop()}}),e)}))),ze.apply(this,arguments)}function He(e,t){return qe.apply(this,arguments)}function qe(){return qe=Object(f["a"])(regeneratorRuntime.mark((function e(t,o){var n,i,r,a,s,c,l,u,d,f;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n="default"===localStorage.getItem("imgHost"),i=Ge(n,"gitee"),r=i.username,a=i.repo,s=i.branch,c=i.accessToken,l=Me(),u=Ae(o),d="https://gitee.com/api/v5/repos/".concat(r,"/").concat(a,"/contents/").concat(l,"/").concat(u),e.next=7,ge({url:d,method:"POST",data:{content:t,branch:s,access_token:c,message:"Upload by ".concat(window.location.href)}});case 7:return f=e.sent,e.abrupt("return",encodeURI(f.content.download_url));case 9:case"end":return e.stop()}}),e)}))),qe.apply(this,arguments)}function Ne(e,t,o){var n=JSON.stringify(o),i=$e(Ee(n)),r=Ce.a.HmacSHA1(i,t),a=r.toString(Ce.a.enc.Base64);return"".concat(e,":").concat(Re(a),":").concat(i)}function De(e){return Fe.apply(this,arguments)}function Fe(){return Fe=Object(f["a"])(regeneratorRuntime.mark((function e(t){var o,n,i,r,a,s,c,l,u,d,f;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=JSON.parse(localStorage.getItem("qiniuConfig")),n=o.accessKey,i=o.secretKey,r=o.bucket,a=o.region,s=o.path,c=o.domain,l=Ne(n,i,{scope:r,deadline:Math.trunc((new Date).getTime()/1e3)+3600}),u=s?"".concat(s,"/"):"",d=u+Ae(t.name),f=Te["a"](t,d,l,{},{region:a}),e.abrupt("return",new Promise((function(e,t){f.subscribe({next:function(e){console.log(e)},error:function(e){t(e.message)},complete:function(t){e("".concat(c,"/").concat(t.key))}})})));case 6:case"end":return e.stop()}}),e)}))),Fe.apply(this,arguments)}function Ve(e,t){return Ke.apply(this,arguments)}function Ke(){return Ke=Object(f["a"])(regeneratorRuntime.mark((function e(t,o){var n,i,r,a,s,c,l,u,d,f,m,p;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=Ae(o),i=JSON.parse(localStorage.getItem("aliOSSConfig")),r=i.region,a=i.bucket,s=i.accessKeyId,c=i.accessKeySecret,l=i.cdnHost,u=i.path,d=Oe()(t,"base64"),f="".concat(u,"/").concat(n),m=new Se.a({region:r,bucket:a,accessKeyId:s,accessKeySecret:c}),e.prev=5,e.next=8,m.put(f,d);case 8:if(p=e.sent,""!=l){e.next=11;break}return e.abrupt("return",p.url);case 11:return e.abrupt("return","".concat(l,"/").concat(""==u?n:f));case 14:return e.prev=14,e.t0=e["catch"](5),e.abrupt("return",Promise.reject(e.t0));case 17:case"end":return e.stop()}}),e,null,[[5,14]])}))),Ke.apply(this,arguments)}function Be(e){return Le.apply(this,arguments)}function Le(){return Le=Object(f["a"])(regeneratorRuntime.mark((function e(t){var o,n,i,r,a,s,c,l,u;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=Ae(t.name),n=JSON.parse(localStorage.getItem("txCOSConfig")),i=n.secretId,r=n.secretKey,a=n.bucket,s=n.region,c=n.path,l=n.cdnHost,u=new we.a({SecretId:i,SecretKey:r}),e.abrupt("return",new Promise((function(e,n){u.putObject({Bucket:a,Region:s,Key:"".concat(c,"/").concat(o),Body:t},(function(t,i){t?n(t):e(l?""==c?"".concat(l,"/").concat(o):"".concat(l,"/").concat(c,"/").concat(o):"https://".concat(i.Location))}))})));case 4:case"end":return e.stop()}}),e)}))),Le.apply(this,arguments)}function Pe(e,t){var o=localStorage.getItem("imgHost");switch(!o&&localStorage.setItem("imgHost","default"),o){case"aliOSS":return Ve(e,t.name);case"txCOS":return Be(t);case"qiniu":return De(t);case"gitee":return He(e,t.name);case"github":return je(e,t.name);default:return je(e,t.name)}}var Qe={fileUpload:Pe};function Je(e){return new Promise((function(t,o){var n=Ue(e);if(n)o(n);else{var i=new FileReader;i.readAsDataURL(e),i.onload=function(){var n=this.result.split(",").pop();Qe.fileUpload(n,e).then((function(e){t(e)})).catch((function(e){o(e)}))}}}))}function Ue(e){return/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(e.name)?e.size>5242880&&"由于公众号限制,图片大小不能超过 5.0M":"请上传 JPG/PNG/GIF 格式的图片"}var We={props:{value:{type:Boolean,default:!1},top:{type:Number,default:0},left:{type:Number,default:0}},data:function(){return{menu:[[{text:"上传图片",key:"insertPic"},{text:"插入表格",key:"insertTable"},{text:"页面重置",key:"pageReset"}],[{text:"下载 Markdown 文档",key:"download"},{text:"格式化 Markdown 文档",key:"formatMarkdown"}]]}},methods:{closeCB:function(){this.$emit("input",!1)},onMouseDown:function(e){this.$emit("menuTick",e),this.$emit("closeMenu",!1)}}},Ye=We,Ze=(o("16aa"),Object(L["a"])(Ye,ue,de,!1,null,"449cad31",null)),Xe=Ze.exports,et=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-dialog",{staticClass:"upload__dialog",attrs:{title:"本地上传",visible:e.value},on:{close:function(t){return e.$emit("close")}}},[o("el-tabs",{attrs:{type:"activeName",value:"upload"}},[o("el-tab-pane",{staticClass:"upload-panel",attrs:{label:"选择上传",name:"upload"}},[o("el-select",{attrs:{placeholder:"请选择",size:"small"},on:{change:e.changeImgHost},model:{value:e.imgHost,callback:function(t){e.imgHost=t},expression:"imgHost"}},e._l(e.options,(function(e){return o("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),o("el-upload",{directives:[{name:"loading",rawName:"v-loading",value:e.uploadingImg,expression:"uploadingImg"}],attrs:{drag:"",action:"",headers:{"Content-Type":"multipart/form-data"},"show-file-list":!1,multiple:!0,accept:".jpg, .jpeg, .png, .gif",name:"file","before-upload":e.beforeUpload}},[o("i",{staticClass:"el-icon-upload"}),o("div",{staticClass:"el-upload__text"},[e._v(" 将图片拖到此处,或 "),o("em",[e._v("点击上传")])])])],1),o("el-tab-pane",{staticClass:"github-panel",attrs:{label:"Gitee 图床",name:"gitee"}},[o("el-form",{staticClass:"setting-form",attrs:{model:e.formGitee,"label-position":"right","label-width":"140px"}},[o("el-form-item",{attrs:{label:"Gitee 仓库",required:!0}},[o("el-input",{attrs:{placeholder:"如:gitee.com/yanglbme/resource"},model:{value:e.formGitee.repo,callback:function(t){e.$set(e.formGitee,"repo","string"===typeof t?t.trim():t)},expression:"formGitee.repo"}})],1),o("el-form-item",{attrs:{label:"分支"}},[o("el-input",{attrs:{placeholder:"如:release,可不填,默认 master"},model:{value:e.formGitee.branch,callback:function(t){e.$set(e.formGitee,"branch","string"===typeof t?t.trim():t)},expression:"formGitee.branch"}})],1),o("el-form-item",{attrs:{label:"私人令牌",required:!0}},[o("el-input",{attrs:{"show-password":"",placeholder:"如:cc1d0c1426d0fd0902bd2d7184b14da61b8abc46"},model:{value:e.formGitee.accessToken,callback:function(t){e.$set(e.formGitee,"accessToken","string"===typeof t?t.trim():t)},expression:"formGitee.accessToken"}}),o("el-link",{attrs:{type:"primary",href:"https://gitee.com/profile/personal_access_tokens",target:"_blank"}},[e._v("请在 Gitee「设置->安全设置->私人令牌」中生成")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:e.saveGiteeConfiguration}},[e._v("保存配置")])],1)],1)],1),o("el-tab-pane",{staticClass:"github-panel",attrs:{label:"GitHub 图床",name:"github"}},[o("el-form",{staticClass:"setting-form",attrs:{model:e.formGitHub,"label-position":"right","label-width":"140px"}},[o("el-form-item",{attrs:{label:"GitHub 仓库",required:!0}},[o("el-input",{attrs:{placeholder:"如:github.com/yanglbme/resource"},model:{value:e.formGitHub.repo,callback:function(t){e.$set(e.formGitHub,"repo","string"===typeof t?t.trim():t)},expression:"formGitHub.repo"}})],1),o("el-form-item",{attrs:{label:"分支"}},[o("el-input",{attrs:{placeholder:"如:release,可不填,默认 master"},model:{value:e.formGitHub.branch,callback:function(t){e.$set(e.formGitHub,"branch","string"===typeof t?t.trim():t)},expression:"formGitHub.branch"}})],1),o("el-form-item",{attrs:{label:"Token",required:!0}},[o("el-input",{attrs:{"show-password":"",placeholder:"如:cc1d0c1426d0fd0902bd2d7184b14da61b8abc46"},model:{value:e.formGitHub.accessToken,callback:function(t){e.$set(e.formGitHub,"accessToken","string"===typeof t?t.trim():t)},expression:"formGitHub.accessToken"}}),o("el-link",{attrs:{type:"primary",href:"https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token",target:"_blank"}},[e._v("如何获取 GitHub Token?")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:e.saveGitHubConfiguration}},[e._v("保存配置")])],1)],1)],1),o("el-tab-pane",{staticClass:"github-panel",attrs:{label:"阿里云 OSS",name:"aliOSS"}},[o("el-form",{staticClass:"setting-form",attrs:{model:e.formAliOSS,"label-position":"right","label-width":"140px"}},[o("el-form-item",{attrs:{label:"AccessKey ID",required:!0}},[o("el-input",{attrs:{placeholder:"如:LTAI4GdoocsmdoxUf13ylbaNHk"},model:{value:e.formAliOSS.accessKeyId,callback:function(t){e.$set(e.formAliOSS,"accessKeyId","string"===typeof t?t.trim():t)},expression:"formAliOSS.accessKeyId"}})],1),o("el-form-item",{attrs:{label:"AccessKey Secret",required:!0}},[o("el-input",{attrs:{"show-password":"",placeholder:"如:cc1d0c142doocs0902bd2d7md4b14da6ylbabc46"},model:{value:e.formAliOSS.accessKeySecret,callback:function(t){e.$set(e.formAliOSS,"accessKeySecret","string"===typeof t?t.trim():t)},expression:"formAliOSS.accessKeySecret"}})],1),o("el-form-item",{attrs:{label:"Bucket",required:!0}},[o("el-input",{attrs:{placeholder:"如:doocs"},model:{value:e.formAliOSS.bucket,callback:function(t){e.$set(e.formAliOSS,"bucket","string"===typeof t?t.trim():t)},expression:"formAliOSS.bucket"}})],1),o("el-form-item",{attrs:{label:"Bucket 所在区域",required:!0}},[o("el-input",{attrs:{placeholder:"如:oss-cn-shenzhen"},model:{value:e.formAliOSS.region,callback:function(t){e.$set(e.formAliOSS,"region","string"===typeof t?t.trim():t)},expression:"formAliOSS.region"}})],1),o("el-form-item",{attrs:{label:"自定义 CDN 域名",required:!1}},[o("el-input",{attrs:{placeholder:"如:https://imagecdn.alidaodao.com,可不填"},model:{value:e.formAliOSS.cdnHost,callback:function(t){e.$set(e.formAliOSS,"cdnHost","string"===typeof t?t.trim():t)},expression:"formAliOSS.cdnHost"}})],1),o("el-form-item",{attrs:{label:"存储路径"}},[o("el-input",{attrs:{placeholder:"如:img,可不填,默认为根目录"},model:{value:e.formAliOSS.path,callback:function(t){e.$set(e.formAliOSS,"path","string"===typeof t?t.trim():t)},expression:"formAliOSS.path"}}),o("el-link",{attrs:{type:"primary",href:"https://help.aliyun.com/document_detail/31883.html",target:"_blank"}},[e._v("如何使用阿里云 OSS?")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:e.saveAliOSSConfiguration}},[e._v("保存配置")])],1)],1)],1),o("el-tab-pane",{staticClass:"github-panel",attrs:{label:"腾讯云 COS",name:"txCOS"}},[o("el-form",{staticClass:"setting-form",attrs:{model:e.formTxCOS,"label-position":"right","label-width":"140px"}},[o("el-form-item",{attrs:{label:"SecretId",required:!0}},[o("el-input",{attrs:{placeholder:"如:AKIDnQp1w3DOOCSs8F5MDp9tdoocsmdUPonW3"},model:{value:e.formTxCOS.secretId,callback:function(t){e.$set(e.formTxCOS,"secretId","string"===typeof t?t.trim():t)},expression:"formTxCOS.secretId"}})],1),o("el-form-item",{attrs:{label:"SecretKey",required:!0}},[o("el-input",{attrs:{"show-password":"",placeholder:"如:ukLmdtEJ9271f3DOocsMDsCXdS3YlbW0"},model:{value:e.formTxCOS.secretKey,callback:function(t){e.$set(e.formTxCOS,"secretKey","string"===typeof t?t.trim():t)},expression:"formTxCOS.secretKey"}})],1),o("el-form-item",{attrs:{label:"Bucket",required:!0}},[o("el-input",{attrs:{placeholder:"如:doocs-3212520134"},model:{value:e.formTxCOS.bucket,callback:function(t){e.$set(e.formTxCOS,"bucket","string"===typeof t?t.trim():t)},expression:"formTxCOS.bucket"}})],1),o("el-form-item",{attrs:{label:"Bucket 所在区域",required:!0}},[o("el-input",{attrs:{placeholder:"如:ap-guangzhou"},model:{value:e.formTxCOS.region,callback:function(t){e.$set(e.formTxCOS,"region","string"===typeof t?t.trim():t)},expression:"formTxCOS.region"}})],1),o("el-form-item",{attrs:{label:"自定义 CDN 域名",required:!1}},[o("el-input",{attrs:{placeholder:"如:https://imagecdn.alidaodao.com,可不填"},model:{value:e.formTxCOS.cdnHost,callback:function(t){e.$set(e.formTxCOS,"cdnHost","string"===typeof t?t.trim():t)},expression:"formTxCOS.cdnHost"}})],1),o("el-form-item",{attrs:{label:"存储路径"}},[o("el-input",{attrs:{placeholder:"如:img,可不填,默认根目录"},model:{value:e.formTxCOS.path,callback:function(t){e.$set(e.formTxCOS,"path","string"===typeof t?t.trim():t)},expression:"formTxCOS.path"}}),o("el-link",{attrs:{type:"primary",href:"https://cloud.tencent.com/document/product/436/38484",target:"_blank"}},[e._v("如何使用腾讯云 COS?")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:e.saveTxCOSConfiguration}},[e._v("保存配置")])],1)],1)],1),o("el-tab-pane",{staticClass:"github-panel",attrs:{label:"七牛云 Kodo",name:"qiniu"}},[o("el-form",{staticClass:"setting-form",attrs:{model:e.formQiniu,"label-position":"right","label-width":"140px"}},[o("el-form-item",{attrs:{label:"AccessKey",required:!0}},[o("el-input",{attrs:{placeholder:"如:6DD3VaLJ_SQgOdoocsyTV_YWaDmdnL2n8EGx7kG"},model:{value:e.formQiniu.accessKey,callback:function(t){e.$set(e.formQiniu,"accessKey","string"===typeof t?t.trim():t)},expression:"formQiniu.accessKey"}})],1),o("el-form-item",{attrs:{label:"SecretKey",required:!0}},[o("el-input",{attrs:{"show-password":"",placeholder:"如:qgZa5qrvDOOcsmdKStD1oCjZ9nB7MDvJUs_34SIm"},model:{value:e.formQiniu.secretKey,callback:function(t){e.$set(e.formQiniu,"secretKey","string"===typeof t?t.trim():t)},expression:"formQiniu.secretKey"}})],1),o("el-form-item",{attrs:{label:"Bucket",required:!0}},[o("el-input",{attrs:{placeholder:"如:md"},model:{value:e.formQiniu.bucket,callback:function(t){e.$set(e.formQiniu,"bucket","string"===typeof t?t.trim():t)},expression:"formQiniu.bucket"}})],1),o("el-form-item",{attrs:{label:"Bucket 对应域名",required:!0}},[o("el-input",{attrs:{placeholder:"如:https://images.123ylb.cn"},model:{value:e.formQiniu.domain,callback:function(t){e.$set(e.formQiniu,"domain","string"===typeof t?t.trim():t)},expression:"formQiniu.domain"}})],1),o("el-form-item",{attrs:{label:"存储区域",required:!0}},[o("el-input",{attrs:{placeholder:"如:z2"},model:{value:e.formQiniu.region,callback:function(t){e.$set(e.formQiniu,"region","string"===typeof t?t.trim():t)},expression:"formQiniu.region"}})],1),o("el-form-item",{attrs:{label:"存储路径",required:!1}},[o("el-input",{attrs:{placeholder:"如:img,可不填,默认为根目录"},model:{value:e.formQiniu.path,callback:function(t){e.$set(e.formQiniu,"path","string"===typeof t?t.trim():t)},expression:"formQiniu.path"}}),o("el-link",{attrs:{type:"primary",href:"https://developer.qiniu.com/kodo",target:"_blank"}},[e._v("如何使用七牛云 Kodo?")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:e.saveQiniuConfiguration}},[e._v("保存配置")])],1)],1)],1)],1)],1)},tt=[],ot={props:{value:{type:Boolean,default:!1}},data:function(){return{formGitHub:{repo:"",branch:"",accessToken:""},formGitee:{repo:"",branch:"",accessToken:""},formAliOSS:{accessKeyId:"",accessKeySecret:"",bucket:"",region:"",path:"",cdnHost:""},formTxCOS:{secretId:"",secretKey:"",bucket:"",region:"",path:"",cdnHost:""},formQiniu:{accessKey:"",secretKey:"",bucket:"",domain:"",region:""},options:[{value:"default",label:"默认"},{value:"gitee",label:"Gitee"},{value:"github",label:"GitHub"},{value:"aliOSS",label:"阿里云"},{value:"txCOS",label:"腾讯云"},{value:"qiniu",label:"七牛云"}],imgHost:"default",uploadingImg:!1}},created:function(){localStorage.getItem("githubConfig")&&(this.formGitHub=JSON.parse(localStorage.getItem("githubConfig"))),localStorage.getItem("giteeConfig")&&(this.formGitee=JSON.parse(localStorage.getItem("giteeConfig"))),localStorage.getItem("aliOSSConfig")&&(this.formAliOSS=JSON.parse(localStorage.getItem("aliOSSConfig"))),localStorage.getItem("txCOSConfig")&&(this.formTxCOS=JSON.parse(localStorage.getItem("txCOSConfig"))),localStorage.getItem("imgHost")&&(this.imgHost=localStorage.getItem("imgHost"))},methods:{changeImgHost:function(){localStorage.setItem("imgHost",this.imgHost),this.$message({showClose:!0,message:"已成功切换图床",type:"success"})},saveGitHubConfiguration:function(){if(this.formGitHub.repo&&this.formGitHub.accessToken)localStorage.setItem("githubConfig",JSON.stringify(this.formGitHub)),this.$message({message:"保存成功",type:"success"});else{var e=this.formGitHub.repo?"token":"GitHub 仓库";this.$message({showClose:!0,message:"参数「".concat(e,"」不能为空"),type:"error"})}},saveGiteeConfiguration:function(){if(this.formGitee.repo&&this.formGitee.accessToken)localStorage.setItem("giteeConfig",JSON.stringify(this.formGitee)),this.$message({message:"保存成功",type:"success"});else{var e=this.formGitee.repo?"私人令牌":"Gitee 仓库";this.$message({showClose:!0,message:"参数「".concat(e,"」不能为空"),type:"error"})}},saveAliOSSConfiguration:function(){this.formAliOSS.accessKeyId&&this.formAliOSS.accessKeySecret&&this.formAliOSS.bucket&&this.formAliOSS.region?(localStorage.setItem("aliOSSConfig",JSON.stringify(this.formAliOSS)),this.$message({message:"保存成功",type:"success"})):this.$message({showClose:!0,message:"阿里云 OSS 参数配置不全",type:"error"})},saveTxCOSConfiguration:function(){this.formTxCOS.secretId&&this.formTxCOS.secretKey&&this.formTxCOS.bucket&&this.formTxCOS.region?(localStorage.setItem("txCOSConfig",JSON.stringify(this.formTxCOS)),this.$message({message:"保存成功",type:"success"})):this.$message({showClose:!0,message:"腾讯云 COS 参数配置不全",type:"error"})},saveQiniuConfiguration:function(){this.formQiniu.accessKey&&this.formQiniu.secretKey&&this.formQiniu.bucket&&this.formQiniu.domain&&this.formQiniu.region?(localStorage.setItem("qiniuConfig",JSON.stringify(this.formQiniu)),this.$message({message:"保存成功",type:"success"})):this.$message({showClose:!0,message:"七牛云 Kodo 参数配置不全",type:"error"})},beforeUpload:function(e){var t=this,o=localStorage.getItem("imgHost"),n=localStorage.getItem("".concat(o,"Config"));return n||""===o||"default"===o?(this.uploadingImg=!0,Je(e).then((function(e){t.$emit("uploaded",e),t.uploadingImg=!1})).catch((function(e){t.uploadingImg=!1,t.$message({showClose:!0,message:e,type:"error"})})),!1):(this.$message.error("请先配置 ".concat(o," 图床参数")),!1)}}},nt=ot,it=(o("0fd0"),Object(L["a"])(nt,et,tt,!1,null,"fab4705a",null)),rt=it.exports;o("f9d4");var at={data:function(){return{showCssEditor:!1,aboutDialogVisible:!1,dialogUploadImgVisible:!1,dialogFormVisible:!1,isCoping:!1,isImgLoading:!1,backLight:!1,timeout:null,changeTimer:null,source:"",mouseLeft:0,mouseTop:0}},components:{editorHeader:Y,aboutDialog:ne,insertFormDialog:le,rightClickMenu:Xe,uploadImgDialog:rt},computed:Object(l["a"])({},Object(V["c"])({wxRenderer:function(e){return e.wxRenderer},output:function(e){return e.output},editor:function(e){return e.editor},cssEditor:function(e){return e.cssEditor},currentSize:function(e){return e.currentSize},currentColor:function(e){return e.currentColor},nightMode:function(e){return e.nightMode},rightClickMenuVisible:function(e){return e.rightClickMenuVisible}})),created:function(){var e=this;this.initEditorState(),this.$nextTick((function(){e.initEditor(),e.initCssEditor(),e.onEditorRefresh()}))},methods:Object(l["a"])({initEditor:function(){var e=this;this.initEditorEntity(),this.editor.on("change",(function(t,o){e.changeTimer&&clearTimeout(e.changeTimer),e.changeTimer=setTimeout((function(){e.onEditorRefresh(),T(e.editor,"__editor_content")}),300)})),this.editor.on("paste",(function(t,o){if(o.clipboardData&&o.clipboardData.items&&!e.isImgLoading)for(var n=0,i=o.clipboardData.items.length;n=65&&t.keyCode<=90||189===t.keyCode)&&e.showHint(t)})),this.cssEditor.on("update",(function(t){e.cssChanged(),T(e.cssEditor,"__css_content")}))},cssChanged:function(){var e=_(this.cssEditor.getValue(0)),t=x(this.currentSize.replace("px",""));t=O(e,this.currentColor,t),this.setWxRendererOptions({theme:t}),this.onEditorRefresh()},uploaded:function(e){if(e){this.dialogUploadImgVisible=!1;var t=this.editor.getCursor(),o=e,n="![](".concat(o,")");this.editor.replaceSelection("\n".concat(n,"\n"),t),this.$message({showClose:!0,message:"图片上传成功",type:"success"}),this.onEditorRefresh()}else this.$message({showClose:!0,message:"上传图片未知异常",type:"error"})},leftAndRightScroll:function(){var e=this,t=function(t){var i,r;clearTimeout(e.timeout),"preview"===t?(i=e.$refs.preview.$el,r=document.getElementsByClassName("CodeMirror-scroll")[0],e.editor.off("scroll",o),e.timeout=setTimeout((function(){e.editor.on("scroll",o)}),300)):"editor"===t&&(i=document.getElementsByClassName("CodeMirror-scroll")[0],r=e.$refs.preview.$el,r.removeEventListener("scroll",n,!1),e.timeout=setTimeout((function(){r.addEventListener("scroll",n,!1)}),300));var a=i.scrollTop/(i.scrollHeight-i.offsetHeight),s=a*(r.scrollHeight-r.offsetHeight);r.scrollTo(0,s)},o=function(){t("editor")},n=function(){t("preview")};this.$refs.preview.$el.addEventListener("scroll",n,!1),this.editor.on("scroll",o)},onEditorRefresh:function(){this.editorRefresh(),setTimeout((function(){return PR.prettyPrint()}),0)},endCopy:function(){var e=this;this.backLight=!1,setTimeout((function(){e.isCoping=!1}),800)},downloadEditorContent:function(){R(this.editor.getValue(0))},formatContent:function(){var e=E(this.editor.getValue(0));localStorage.setItem("__editor_content",e),this.editor.setValue(e)},openMenu:function(e){var t=105,o=this.$el.getBoundingClientRect().left,n=this.$el.offsetWidth,i=n-t,r=e.clientX-o;this.mouseLeft=Math.min(i,r),this.mouseTop=e.clientY+10,this.$store.commit("setRightClickMenuVisible",!0)},closeRightClickMenu:function(){this.$store.commit("setRightClickMenuVisible",!1)},onMenuEvent:function(e){switch(e){case"pageReset":this.$refs.header.showResetConfirm=!0;break;case"insertPic":this.dialogUploadImgVisible=!0;break;case"download":this.downloadEditorContent();break;case"insertTable":this.dialogFormVisible=!0;break;case"formatMarkdown":this.formatContent();break;default:break}}},Object(V["b"])(["initEditorState","initEditorEntity","setWxRendererOptions","editorRefresh","initCssEditorEntity"])),mounted:function(){var e=this;setTimeout((function(){e.leftAndRightScroll(),PR.prettyPrint()}),300)}},st=at,ct=(o("7318"),o("85fe"),Object(L["a"])(st,s,c,!1,null,"47950998",null)),lt=ct.exports,ut={name:"App",components:{Loading:a["default"],CodemirrorEditor:lt},data:function(){return{loading:!0}},mounted:function(){var e=this;setTimeout((function(){e.loading=!1}),100)}},dt=ut,ft=(o("91eb"),Object(L["a"])(dt,i,r,!1,null,"f01d475a",null)),mt=ft.exports,pt=o("d4ec"),gt=o("0e54"),ht=o.n(gt),bt=function e(t){var o=this;Object(pt["a"])(this,e),this.opts=t;var n=!0,i=[],r=0,a=null,s="Menlo, Operator Mono, Consolas, Monaco, monospace",c=function(e,t){return Object.assign({},e,t)};this.buildTheme=function(e){var t={},n=c(e.BASE,{"font-family":o.opts.fonts,"font-size":o.opts.size}),i=c(n,{});for(var r in e.inline)if(e.inline.hasOwnProperty(r)){var a=e.inline[r];t[r]=c(n,a)}for(var l in e.block)if(e.block.hasOwnProperty(l)){var u=e.block[l];"code"===l&&(u["font-family"]=s),t[l]=c(i,u)}return t};var l=function(e,t){var o=[],n=a[e];if(!n)return"";for(var i in n)o.push(i+":"+n[i]);return'style="'.concat(o.join(";")+(t||""),'"')},u=function(e,t){return i.push([++r,e,t]),r};this.buildFootnotes=function(){var e=i.map((function(e){return e[1]===e[2]?'['.concat(e[0],"]
: ").concat(e[1],"
"):'['.concat(e[0],"]
").concat(e[1],": ").concat(e[2],"
")}));return"引用链接
").concat(e.join("\n"),"
")},this.buildAddition=function(){return"\n \n "},this.setOptions=function(e){o.opts=c(o.opts,e)},this.hasFootnotes=function(){return 0!==i.length},this.getRenderer=function(e){i=[],r=0,a=o.buildTheme(o.opts.theme);var t=new ht.a.Renderer;return t.heading=function(e,t){switch(t){case 1:return"").concat(e,"
");case 2:return"").concat(e,"
");case 3:return"").concat(e,"
");default:return"").concat(e,"
")}},t.paragraph=function(e){return-1!=e.indexOf("
")},t.blockquote=function(e){return e=e.replace(//g,"")),"
").concat(e,"
")},t.code=function(e,t){e=e.replace(//g,">");var o=e.split("\n").map((function(e){return''.concat(e||"
","
")})),n="github";return'\n \n \n ').concat(o.join(""),"\n
\n \n ")},t.codespan=function(e,t){return"").concat(e,"
")},t.listitem=function(e){return"<%s/>').concat(e,"")},t.list=function(e,t,o){e=e.replace(/<\/*p.*?>/g,"");var n=e.split("<%s/>");if(!t)return e=n.join("•"),"").concat(e,"
");e=n[0];for(var i=1;i").concat(e,"")},t.image=function(e,t,o){var i="";o&&(i="").concat(o,""));var r=l("figure"),a=l(n?"image":"image_org");return"")},t.link=function(t,o,n){if(0===t.indexOf("https://mp.weixin.qq.com"))return'").concat(n,"");if(t===n||!e)return n;var i=u(o||n,t);return"").concat(n,"[").concat(i,"]")},t.strong=function(e){return"").concat(e,"")},t.em=function(e){return''.concat(e,"")},t.table=function(e,t){return'").concat(e,"").concat(t,"
")},t.tablecell=function(e,t){return"").concat(e," | ")},t.hr=function(){return'
'},t}},vt=bt,Ct=o("56b3"),yt=o.n(Ct),St='# 示例文章:Google 搜索的即时自动补全功能究竟是如何“工作”的?\n> Google 搜索**自动补全功能**的强大,相信不少朋友都能感受到,它帮助我们更快地“补全”我们所要输入的搜索关键字。那么,它怎么知道我们要输入什么内容?它又是如何工作的?在这篇文章里,我们一起来看看。\n\n## 使用自动补全\nGoogle 搜索的自动补全功能可以在 Google 搜索应用的大多数位置使用,包括 [Google](https://www.google.com/) 主页、适用于 IOS 和 Android 的 Google 应用,我们只需要在 Google 搜索框上开始键入关键字,就可以看到联想词了。\n\n![](https://gitee.com/yanglbme/resource/raw/master/doocs-md/juejin.gif)\n\n在上图示例中,我们可以看到,输入关键字 `juej`,Google 搜索会联想到“掘金”、“掘金小册”、“绝句”等等,好处就是,我们无须输入完整的关键字即可轻松完成针对这些 topics 的搜索。\n\n谷歌搜索的自动补全功能对于使用移动设备的用户来说特别有用,用户可以轻松在难以键入的小屏幕上完成搜索。当然,对于移动设备用户和台式机用户而言,这都节省了大量的时间。根据 Google 官方报告,自动补全功能可以减少大约 25% 的打字,累积起来,预计每天可以节省 200 多年的打字时间。是的,每天!\n\n> 注意,本文所提到的“**联想词**”与“**预测**”,是同一个意思。\n\n## 基于“预测”而非“建议”\nGoogle 官方将自动补全功能称之为“预测”,而不是“建议”,为什么呢?其实是有充分理由的。自动补全功能是为了**帮助用户完成他们打算进行的搜索**,而不是建议用户要执行什么搜索。\n\n那么,Google 是如何确定这些“预测”的?其实,Google 会根据趋势搜索 [trends](https://trends.google.com/trends/?geo=US) 给到我们这些“预测”。简单来说,哪个热门、哪个搜索频率高,就更可能推给我们。当然,这也与我们当前所处的位置以及我们的搜索历史相关。\n\n另外,这些“预测”也会随着我们键入的关键字的变更而更改。例如,当我们把键入的关键字从 `juej` 更改为 `juex` 时,与“掘金”相关的预测会“消失”,同时,与“觉醒”、“决心”相关联的词会出现。\n\n![](https://gitee.com/yanglbme/resource/raw/master/doocs-md/juex.gif)\n\n## 为什么看不到某些联想词?\n如果我们在输入某个关键字时看不到联想词,那么表明 Google 的算法可能检测到:\n\n- 这个关键字不是热门字词;\n- 搜索的字词太新了,我们可能需要等待几天或几周才能看到联想词;\n- 这是一个侮辱性或敏感字词,这个搜索字词违反了 Google 的相关政策。更加详细的情况,可以了解 [Google 搜索自动补全政策](https://support.google.com/websearch/answer/7368877)。\n\n## 为什么会看到某些不当的联想词?\nGoogle 拥有专门设计的系统,可以自动捕获不适当的预测结果而不显示出来。然而,Google 每天需要处理数十亿次搜索,这意味着 Google 每天会显示数十亿甚至上百亿条预测。再好的系统,也可能存在缺陷,不正确的预测也可能随时会出现。\n\n我们作为 Google 搜索的用户,如果认定某条预测违反了相关的搜索自动补全政策,可以进行举报反馈,点击右下角“**举报不当的联想查询**”并勾选相关选项即可。\n\n![](https://gitee.com/yanglbme/resource/raw/master/doocs-md/report.gif)\n\n## 如何实现自动补全算法?\n目前,Google 官方似乎并没有公开搜索自动补全的算法实现,但是业界在这方面已经有了不少研究。\n\n一个好的自动补全器必须是快速的,并且在用户键入下一个字符后立即更新联想词列表。**自动补全器的核心是一个函数,它接受输入的前缀,并搜索以给定前缀开头的词汇或语句列表**。通常来说,只需要返回少量的数目即可。\n\n接下来,我们先从一个简单且低效的实现开始,并在此基础上逐步构建更高效的方法。\n\n### 词汇表实现\n一个**简单粗暴的实现方式**是:顺序查找词汇表,依次检查每个词汇,看它是否以给定的前缀开头。\n\n但是,此方法需要将前缀与每个词汇进行匹配检查,若词汇量较少,这种方式可能勉强行得通。但是,如果词汇量规模较大,效率就太低了。\n\n一个**更好的实现方式是**:让词汇按字典顺序排序。借助二分搜索算法,可以快速搜索有序词汇表中的前缀。由于二分搜索的每一步都会将搜索的范围减半,因此,总的搜索时间与词汇表中单词数量的对数成正比,即时间复杂度是 `O(log N)`。二分搜索的性能很好,但有没有更好的实现呢?当然有,往下看。\n\n### 前缀树实现\n通常来说,许多词汇都以相同的前缀开头,比如 `need`、`nested` 都以 `ne` 开头,`seed`、`speed` 都以 `s` 开头。要是为每个单词分别存储公共前缀似乎很浪费。\n\n![](https://gitee.com/yanglbme/resource/raw/master/doocs-md/pretree.png)\n\n前缀树是一种利用公共前缀来加速补全速度的数据结构。前缀树在节点树中排列一组单词,单词沿着从根节点到叶子节点的路径存储,树的层次对应于前缀的字母位置。\n\n前缀的补全是顺着前缀定义的路径来查找的。例如,在上图的前缀树中,前缀 `ne` 对应于从子节点取左边缘 `N` 和唯一边缘 `E` 的路径。然后可以通过继续遍历从 `E` 节点可以达到的所有叶节点来生成补全列表。在图中,`ne` 的补全可以是两个分支:`-ed` 和 `-sted`。如果在数中找不到由前缀定义的路径,则说明词汇表中不包含以该前缀开头的单词。\n\n### 有限状态自动机(DFA)实现\n前缀树可以有效处理公共前缀,但是,对于其他共享词部分,仍会分别存储在每个分支中。比如,后缀 `ed`、`ing`、`tion` 在英文单词中特别常见。在上一个例子中,`e`、`d` 分别存放在了每一个分支上。\n\n有没有一种方法可以更加节省存储空间呢?有的,那就是 DFA。\n\n\n\n\n在上面的例子中,单词 `need`、`nested`、`seed` 和 `speed` 仅由 9 个节点组成,而上一张图中的前缀树包含了 17 个节点。\n\n可以看出,最小化前缀树 DFA 可以在很大程度上减少数据结构的大小。即使词汇量很大,最小化 DFA 通常也适合在内存中存储,避免昂贵的磁盘访问是实现快速自动补全的关键。\n\n### 一些扩展\n上面介绍了如何利用合理的数据结构实现基本的自动补全功能。这些数据结构可以通过多种方式进行扩展,从而改善用户体验。\n\n通常,满足特定前缀的词汇可能很多,而用户界面上能够显示的却不多,我们更希望能显示最常搜索或者最有价值的词汇。这通常可以通过为词汇表中的每个单词增加一个代表单词值的**权重** `weight`,并且按照权重高低来排序自动补全列表。\n\n- 对于排序后的词汇表来说,在词汇表每个元素上增加 `weight` 属性并不难;\n- 对于前缀树来说,将 `weight` 存储在叶子节点中,也是很简单的一个实现;\n- 对于 `DFA` 来说,则较为复杂。因为一个叶子节点可以通过多条路径到达。一种解决方案是将权重关联到路径而不是叶子节点。\n\n目前有不少开源库都提供了这个功能,比如主流的搜索引擎框架 [Elasticsearch](https://www.elastic.co/products/elasticsearch)、[Solr](https://lucene.apache.org/solr/) 等,基于此,我们可以实现高效而强大的自动补全功能。\n\n#### 推荐阅读\n- [阿里又一个 20k+ stars 开源项目诞生,恭喜 fastjson!](https://mp.weixin.qq.com/s/RNKDCK2KoyeuMeEs6GUrow)\n- [刷掉 90% 候选人的互联网大厂海量数据面试题(附题解 + 方法总结)](https://mp.weixin.qq.com/s/rjGqxUvrEqJNlo09GrT1Dw)\n- [好用!期待已久的文本块功能究竟如何在 Java 13 中发挥作用?](https://mp.weixin.qq.com/s/kalGv5T8AZGxTnLHr2wDsA)\n- [2019 GitHub 开源贡献排行榜新鲜出炉!微软谷歌领头,阿里跻身前 12!](https://mp.weixin.qq.com/s/_q812aGD1b9QvZ2WFI0Qgw)\n\n---\n\n欢迎关注我的公众号“**Doocs开源社区**”,原创技术文章第一时间推送。\n\n\n \n\n\n',kt=St;n["default"].use(V["a"]);var wt={wxRenderer:null,output:"",html:"",editor:null,cssEditor:null,currentFont:"",currentSize:"",currentColor:"",citeStatus:0,nightMode:!1,codeTheme:"github",rightClickMenuVisible:!1},xt={setEditorValue:function(e,t){e.editor.setValue(t)},setCssEditorValue:function(e,t){e.cssEditor.setValue(t)},setWxRendererOptions:function(e,t){e.wxRenderer.setOptions(t)},setCiteStatus:function(e,t){e.citeStatus=t,localStorage.setItem("citeStatus",t)},setCurrentFont:function(e,t){e.currentFont=t,localStorage.setItem("fonts",t)},setCurrentSize:function(e,t){e.currentSize=t,localStorage.setItem("size",t)},setCurrentColor:function(e,t){e.currentColor=t,localStorage.setItem("color",t)},setCurrentCodeTheme:function(e,t){e.codeTheme=t,localStorage.setItem("codeTheme",t)},setRightClickMenuVisible:function(e,t){e.rightClickMenuVisible=t},themeChanged:function(e){e.nightMode=!e.nightMode,localStorage.setItem("nightMode",e.nightMode)},initEditorState:function(e){e.currentFont=localStorage.getItem("fonts")||H.builtinFonts[0].value,e.currentColor=localStorage.getItem("color")||H.colorOption[0].value,e.currentSize=localStorage.getItem("size")||H.sizeOption[2].value,e.codeTheme=localStorage.getItem("codeTheme")||H.codeThemeOption[0].value,e.citeStatus="true"===localStorage.getItem("citeStatus"),e.nightMode="true"===localStorage.getItem("nightMode"),e.wxRenderer=new vt({theme:w(e.currentColor),fonts:e.currentFont,size:e.currentSize,status:e.citeStatus})},initEditorEntity:function(e){e.editor=yt.a.fromTextArea(document.getElementById("editor"),{value:"",mode:"text/x-markdown",theme:"xq-light",lineNumbers:!1,lineWrapping:!0,styleActiveLine:!0,autoCloseBrackets:!0,extraKeys:{"Ctrl-F":function(e){var t=E(e.getValue(0));localStorage.setItem("__editor_content",t),e.setValue(t)},"Ctrl-S":function(e){}}}),e.editor.setValue(localStorage.getItem("__editor_content")||E(kt))},initCssEditorEntity:function(e){e.cssEditor=yt.a.fromTextArea(document.getElementById("cssEditor"),{value:"",mode:"css",theme:"style-mirror",lineNumbers:!1,lineWrapping:!0,matchBrackets:!0,autofocus:!0,extraKeys:{"Ctrl-F":function(e){var t=I(e.getValue(0));localStorage.setItem("__css_content",t),e.setValue(t)},"Ctrl-S":function(e){}}}),e.cssEditor.setValue(localStorage.getItem("__css_content")||N)},editorRefresh:function(e){var t=ht()(e.editor.getValue(0),{renderer:e.wxRenderer.getRenderer(e.citeStatus)});t=t.replace(/(style=".*?)"/,'$1;margin-top: 0"'),e.citeStatus&&(t+=e.wxRenderer.buildFootnotes(),t+=e.wxRenderer.buildAddition()),e.output=t},clearEditorToDefault:function(e){var t=E(kt);e.editor.setValue(t),e.cssEditor.setValue(N)}},Ot=new V["a"].Store({state:wt,mutations:xt,actions:{}}),_t=o("5c96"),Tt=o.n(_t);o("0fae");n["default"].use(_t["Container"]),n["default"].use(_t["Header"]),n["default"].use(_t["Upload"]),n["default"].use(_t["Tooltip"]),n["default"].use(_t["Form"]),n["default"].use(_t["FormItem"]),n["default"].use(_t["Select"]),n["default"].use(_t["Option"]),n["default"].use(_t["ColorPicker"]),n["default"].use(_t["Switch"]),n["default"].use(_t["Button"]),n["default"].use(_t["Main"]),n["default"].use(_t["Col"]),n["default"].use(_t["Row"]),n["default"].use(_t["Dialog"]),n["default"].use(_t["Loading"]),n["default"].component(_t["Message"].name,_t["Message"]),n["default"].prototype.$loading=_t["Loading"].service,n["default"].prototype.$message=_t["Message"];o("a7be"),o("0f7c"),o("8d7e"),o("7b00"),o("959b"),o("10b2"),o("8c33"),o("31c5"),o("9b74"),o("111b6"),o("90ba");n["default"].use(Tt.a),n["default"].config.productionTip=!1,new n["default"]({store:Ot,render:function(e){return e(mt)}}).$mount("#app")},6:function(e,t){},6719:function(e,t,o){},7:function(e,t){},7318:function(e,t,o){"use strict";o("c9f2")},8:function(e,t){},"85fe":function(e,t,o){"use strict";o("db6c")},9:function(e,t){},"90ba":function(e,t,o){},"90be":function(e,t,o){},"91eb":function(e,t,o){"use strict";o("2ce0")},a67b:function(e,t,o){"use strict";o("6719")},c9f2:function(e,t,o){},cb57:function(e,t,o){"use strict";var n=o("eff7"),i=o.n(n);t["default"]=i.a},cfec:function(e,t,o){"use strict";o("e499")},db6c:function(e,t,o){},e499:function(e,t,o){},eff7:function(e,t){},ff20:function(e,t,o){}});
//# sourceMappingURL=app.f0ddc953.js.map