!function(){__webpack_require__.f={};// This file contains only the entry chunk.
// The chunk loading function for additional chunks
__webpack_require__.e=function(chunkId){returnPromise.all(Object.keys(__webpack_require__.f).reduce(function(promises,key){__webpack_require__.f[key](chunkId,promises);returnpromises;},[]));};}();
varinstalledChunks={main:0,};__webpack_require__.f.j=function(chunkId,promises){// JSONP chunk loading for javascript
varinstalledChunkData=__webpack_require__.o(installedChunks,chunkId)?installedChunks[chunkId]:undefined;if(installedChunkData!==0){// 0 means "already installed".
// a Promise means "currently loading".
if(installedChunkData){// 这里的promises参数,其实是e函数中reduce的那个初始变量的引用,在e函数中组装成了promise的数组
promises.push(installedChunkData[2]);}else{if(true){// all chunks have JS
// setup Promise in chunk cache
varpromise=newPromise(function(resolve,reject){installedChunkData=installedChunks[chunkId]=[resolve,reject];});promises.push((installedChunkData[2]=promise));// start chunk loading
varurl=__webpack_require__.p+__webpack_require__.u(chunkId);// create error before stack unwound to get useful stacktrace later
varerror=newError();varloadingEnded=function(event){if(__webpack_require__.o(installedChunks,chunkId)){installedChunkData=installedChunks[chunkId];if(installedChunkData!==0)installedChunks[chunkId]=undefined;if(installedChunkData){varerrorType=event&&(event.type==="load"?"missing":event.type);varrealSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")";error.name="ChunkLoadError";error.type=errorType;error.request=realSrc;installedChunkData[1](error);}}};__webpack_require__.l(url,loadingEnded,"chunk-"+chunkId,chunkId);}elseinstalledChunks[chunkId]=0;}}};
!(function(){varinProgress={};vardataWebpackPrefix="app2:";// loadScript function to load a script via script tag
__webpack_require__.l=function(url,done,key,chunkId){if(inProgress[url]){inProgress[url].push(done);return;}varscript,needAttach;if(key!==undefined){// 判断现有head中是否存在相同路径的chunk
varscripts=document.getElementsByTagName("script");for(vari=0;i<scripts.length;i++){vars=scripts[i];if(s.getAttribute("src")==url||s.getAttribute("data-webpack")==dataWebpackPrefix+key){script=s;break;}}}if(!script){// 动态创建script标签
needAttach=true;script=document.createElement("script");script.charset="utf-8";script.timeout=120;if(__webpack_require__.nc){script.setAttribute("nonce",__webpack_require__.nc);}script.setAttribute("data-webpack",dataWebpackPrefix+key);script.src=url;}inProgress[url]=[done];varonScriptComplete=function(prev,event){// avoid mem leaks in IE.
script.onerror=script.onload=null;clearTimeout(timeout);vardoneFns=inProgress[url];deleteinProgress[url];script.parentNode&&script.parentNode.removeChild(script);// 执行回调函数
doneFns&&doneFns.forEach(function(fn){returnfn(event);});if(prev)returnprev(event);};vartimeout=setTimeout(onScriptComplete.bind(null,undefined,{type:"timeout",target:script,}),120000);// 监听script加载完毕的事件和错误事件
script.onerror=onScriptComplete.bind(null,script.onerror);script.onload=onScriptComplete.bind(null,script.onload);needAttach&&document.head.appendChild(script);};})();
varwebpackJsonpCallback=function(parentChunkLoadingFunction,data){varchunkIds=data[0];varmoreModules=data[1];varruntime=data[2];// add "moreModules" to the modules object,
// then flag all "chunkIds" as loaded and fire callback
varmoduleId,chunkId,i=0;if(chunkIds.some(function(id){returninstalledChunks[id]!==0;})){for(moduleIdinmoreModules){if(__webpack_require__.o(moreModules,moduleId)){__webpack_require__.m[moduleId]=moreModules[moduleId];}}if(runtime)varresult=runtime(__webpack_require__);}if(parentChunkLoadingFunction)parentChunkLoadingFunction(data);for(;i<chunkIds.length;i++){chunkId=chunkIds[i];if(__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]){installedChunks[chunkId][0]();}installedChunks[chunkId]=0;}};