var __wxAppData = {}; var __wxRoute; var __wxRouteBegin; var __wxAppCode__ = {}; var global = {}; var __wxAppCurrentFile__; if(typeof __WXML_GLOBAL__ !== 'undefined'){ delete __WXML_GLOBAL__.ops_cached//remove ops_cached(v8 下会有 cache) } // var Component = Component || function() {}; // var definePlugin = definePlugin || function() {}; // var requirePlugin = requirePlugin || function() {}; // var Behavior = Behavior || function() {}; var $gwx; /*v0.5vv_20190703_syb_scopedata*/global.__wcc_version__='v0.5vv_20190703_syb_scopedata';global.__wcc_version_info__={"customComponents":true,"fixZeroRpx":true,"propValueDeepCopy":false}; var $gwxc var $gaic={} $gwx=function(path,global){ if(typeof global === 'undefined') global={};if(typeof __WXML_GLOBAL__ === 'undefined') {__WXML_GLOBAL__={}; }__WXML_GLOBAL__.modules = __WXML_GLOBAL__.modules || {}; function _(a,b){if(typeof(b)!='undefined')a.children.push(b);} function _v(k){if(typeof(k)!='undefined')return {tag:'virtual','wxKey':k,children:[]};return {tag:'virtual',children:[]};} function _n(tag){$gwxc++;if($gwxc>=16000){throw 'Dom limit exceeded, please check if there\'s any mistake you\'ve made.'};return {tag:'wx-'+tag,attr:{},children:[],n:[],raw:{},generics:{}}} function _p(a,b){b&&a.properities.push(b);} function _s(scope,env,key){return typeof(scope[key])!='undefined'?scope[key]:env[key]} function _wp(m){console.warn("WXMLRT_$gwx:"+m)} function _wl(tname,prefix){_wp(prefix+':-1:-1:-1: Template `' + tname + '` is being called recursively, will be stop.')} $gwn=console.warn; $gwl=console.log; function $gwh() { function x() { } x.prototype = { hn: function( obj, all ) { if( typeof(obj) == 'object' ) { var cnt=0; var any1=false,any2=false; for(var x in obj) { any1=any1|x==='__value__'; any2=any2|x==='__wxspec__'; cnt++; if(cnt>2)break; } return cnt == 2 && any1 && any2 && ( all || obj.__wxspec__ !== 'm' || this.hn(obj.__value__) === 'h' ) ? "h" : "n"; } return "n"; }, nh: function( obj, special ) { return { __value__: obj, __wxspec__: special ? special : true } }, rv: function( obj ) { return this.hn(obj,true)==='n'?obj:this.rv(obj.__value__); }, hm: function( obj ) { if( typeof(obj) == 'object' ) { var cnt=0; var any1=false,any2=false; for(var x in obj) { any1=any1|x==='__value__'; any2=any2|x==='__wxspec__'; cnt++; if(cnt>2)break; } return cnt == 2 && any1 && any2 && (obj.__wxspec__ === 'm' || this.hm(obj.__value__) ); } return false; } } return new x; } wh=$gwh(); function $gstack(s){ var tmp=s.split('\n '+' '+' '+' '); for(var i=0;i=': case '<=': case '>': case '<': case '<<': case '>>': _a = rev( ops[1], e, s, g, o, _f ); _b = rev( ops[2], e, s, g, o, _f ); _c = should_pass_type_info && (wh.hn( _a ) === 'h' || wh.hn( _b ) === 'h'); switch( rop ) { case '+': _d = wh.rv( _a ) + wh.rv( _b ); break; case '*': _d = wh.rv( _a ) * wh.rv( _b ); break; case '/': _d = wh.rv( _a ) / wh.rv( _b ); break; case '%': _d = wh.rv( _a ) % wh.rv( _b ); break; case '|': _d = wh.rv( _a ) | wh.rv( _b ); break; case '^': _d = wh.rv( _a ) ^ wh.rv( _b ); break; case '&': _d = wh.rv( _a ) & wh.rv( _b ); break; case '===': _d = wh.rv( _a ) === wh.rv( _b ); break; case '==': _d = wh.rv( _a ) == wh.rv( _b ); break; case '!=': _d = wh.rv( _a ) != wh.rv( _b ); break; case '!==': _d = wh.rv( _a ) !== wh.rv( _b ); break; case '>=': _d = wh.rv( _a ) >= wh.rv( _b ); break; case '<=': _d = wh.rv( _a ) <= wh.rv( _b ); break; case '>': _d = wh.rv( _a ) > wh.rv( _b ); break; case '<': _d = wh.rv( _a ) < wh.rv( _b ); break; case '<<': _d = wh.rv( _a ) << wh.rv( _b ); break; case '>>': _d = wh.rv( _a ) >> wh.rv( _b ); break; default: break; } return _c ? wh.nh( _d, "c" ) : _d; break; case '-': _a = ops.length === 3 ? rev( ops[1], e, s, g, o, _f ) : 0; _b = ops.length === 3 ? rev( ops[2], e, s, g, o, _f ) : rev( ops[1], e, s, g, o, _f ); _c = should_pass_type_info && (wh.hn( _a ) === 'h' || wh.hn( _b ) === 'h'); _d = _c ? wh.rv( _a ) - wh.rv( _b ) : _a - _b; return _c ? wh.nh( _d, "c" ) : _d; break; case '!': _a = rev( ops[1], e, s, g, o, _f ); _c = should_pass_type_info && (wh.hn( _a ) == 'h'); _d = !wh.rv(_a); return _c ? wh.nh( _d, "c" ) : _d; case '~': _a = rev( ops[1], e, s, g, o, _f ); _c = should_pass_type_info && (wh.hn( _a ) == 'h'); _d = ~wh.rv(_a); return _c ? wh.nh( _d, "c" ) : _d; default: $gwn('unrecognized op' + rop ); } } function rev( ops, e, s, g, o, newap ) { var op = ops[0]; var _f = false; if ( typeof newap !== "undefined" ) o.ap = newap; if( typeof(op)==='object' ) { var vop=op[0]; var _a, _aa, _b, _bb, _c, _d, _s, _e, _ta, _tb, _td; switch(vop) { case 2: return ArithmeticEv(ops,e,s,g,o); break; case 4: return rev( ops[1], e, s, g, o, _f ); break; case 5: switch( ops.length ) { case 2: _a = rev( ops[1],e,s,g,o,_f ); return should_pass_type_info?[_a]:[wh.rv(_a)]; return [_a]; break; case 1: return []; break; default: _a = rev( ops[1],e,s,g,o,_f ); _b = rev( ops[2],e,s,g,o,_f ); _a.push( should_pass_type_info ? _b : wh.rv( _b ) ); return _a; break; } break; case 6: _a = rev(ops[1],e,s,g,o); var ap = o.ap; _ta = wh.hn(_a)==='h'; _aa = _ta ? wh.rv(_a) : _a; o.is_affected |= _ta; if( should_pass_type_info ) { if( _aa===null || typeof(_aa) === 'undefined' ) { return _ta ? wh.nh(undefined, 'e') : undefined; } _b = rev(ops[2],e,s,g,o,_f); _tb = wh.hn(_b) === 'h'; _bb = _tb ? wh.rv(_b) : _b; o.ap = ap; o.is_affected |= _tb; if( _bb===null || typeof(_bb) === 'undefined' || _bb === "__proto__" || _bb === "prototype" || _bb === "caller" ) { return (_ta || _tb) ? wh.nh(undefined, 'e') : undefined; } _d = _aa[_bb]; if ( typeof _d === 'function' && !ap ) _d = undefined; _td = wh.hn(_d)==='h'; o.is_affected |= _td; return (_ta || _tb) ? (_td ? _d : wh.nh(_d, 'e')) : _d; } else { if( _aa===null || typeof(_aa) === 'undefined' ) { return undefined; } _b = rev(ops[2],e,s,g,o,_f); _tb = wh.hn(_b) === 'h'; _bb = _tb ? wh.rv(_b) : _b; o.ap = ap; o.is_affected |= _tb; if( _bb===null || typeof(_bb) === 'undefined' || _bb === "__proto__" || _bb === "prototype" || _bb === "caller" ) { return undefined; } _d = _aa[_bb]; if ( typeof _d === 'function' && !ap ) _d = undefined; _td = wh.hn(_d)==='h'; o.is_affected |= _td; return _td ? wh.rv(_d) : _d; } case 7: switch(ops[1][0]) { case 11: o.is_affected |= wh.hn(g)==='h'; return g; case 3: _s = wh.rv( s ); _e = wh.rv( e ); _b = ops[1][1]; if (g && g.f && g.f.hasOwnProperty(_b) ) { _a = g.f; o.ap = true; } else { _a = _s && _s.hasOwnProperty(_b) ? s : (_e && _e.hasOwnProperty(_b) ? e : undefined ); } if( should_pass_type_info ) { if( _a ) { _ta = wh.hn(_a) === 'h'; _aa = _ta ? wh.rv( _a ) : _a; _d = _aa[_b]; _td = wh.hn(_d) === 'h'; o.is_affected |= _ta || _td; _d = _ta && !_td ? wh.nh(_d,'e') : _d; return _d; } } else { if( _a ) { _ta = wh.hn(_a) === 'h'; _aa = _ta ? wh.rv( _a ) : _a; _d = _aa[_b]; _td = wh.hn(_d) === 'h'; o.is_affected |= _ta || _td; return wh.rv(_d); } } return undefined; } break; case 8: _a = {}; _a[ops[1]] = rev(ops[2],e,s,g,o,_f); return _a; break; case 9: _a = rev(ops[1],e,s,g,o,_f); _b = rev(ops[2],e,s,g,o,_f); function merge( _a, _b, _ow ) { var ka, _bbk; _ta = wh.hn(_a)==='h'; _tb = wh.hn(_b)==='h'; _aa = wh.rv(_a); _bb = wh.rv(_b); for(var k in _bb) { if ( _ow || !_aa.hasOwnProperty(k) ) { _aa[k] = should_pass_type_info ? (_tb ? wh.nh(_bb[k],'e') : _bb[k]) : wh.rv(_bb[k]); } } return _a; } var _c = _a var _ow = true if ( typeof(ops[1][0]) === "object" && ops[1][0][0] === 10 ) { _a = _b _b = _c _ow = false } if ( typeof(ops[1][0]) === "object" && ops[1][0][0] === 10 ) { var _r = {} return merge( merge( _r, _a, _ow ), _b, _ow ); } else return merge( _a, _b, _ow ); break; case 10: _a = rev(ops[1],e,s,g,o,_f); _a = should_pass_type_info ? _a : wh.rv( _a ); return _a ; break; case 12: var _r; _a = rev(ops[1],e,s,g,o); if ( !o.ap ) { return should_pass_type_info && wh.hn(_a)==='h' ? wh.nh( _r, 'f' ) : _r; } var ap = o.ap; _b = rev(ops[2],e,s,g,o,_f); o.ap = ap; _ta = wh.hn(_a)==='h'; _tb = _ca(_b); _aa = wh.rv(_a); _bb = wh.rv(_b); snap_bb=$gdc(_bb,"nv_"); try{ _r = typeof _aa === "function" ? $gdc(_aa.apply(null, snap_bb)) : undefined; } catch (e){ e.message = e.message.replace(/nv_/g,""); e.stack = e.stack.substring(0,e.stack.indexOf("\n", e.stack.lastIndexOf("at nv_"))); e.stack = e.stack.replace(/\snv_/g," "); e.stack = $gstack(e.stack); if(g.debugInfo) { e.stack += "\n "+" "+" "+" at "+g.debugInfo[0]+":"+g.debugInfo[1]+":"+g.debugInfo[2]; console.error(e); } _r = undefined; } return should_pass_type_info && (_tb || _ta) ? wh.nh( _r, 'f' ) : _r; } } else { if( op === 3 || op === 1) return ops[1]; else if( op === 11 ) { var _a=''; for( var i = 1 ; i < ops.length ; i++ ) { var xp = wh.rv(rev(ops[i],e,s,g,o,_f)); _a += typeof(xp) === 'undefined' ? '' : xp; } return _a; } } } function wrapper( ops, e, s, g, o, newap ) { if( ops[0] == '11182016' ) { g.debugInfo = ops[2]; return rev( ops[1], e, s, g, o, newap ); } else { g.debugInfo = null; return rev( ops, e, s, g, o, newap ); } } return wrapper; } gra=$gwrt(true); grb=$gwrt(false); function TestTest( expr, ops, e,s,g, expect_a, expect_b, expect_affected ) { { var o = {is_affected:false}; var a = gra( ops, e,s,g, o ); if( JSON.stringify(a) != JSON.stringify( expect_a ) || o.is_affected != expect_affected ) { console.warn( "A. " + expr + " get result " + JSON.stringify(a) + ", " + o.is_affected + ", but " + JSON.stringify( expect_a ) + ", " + expect_affected + " is expected" ); } } { var o = {is_affected:false}; var a = grb( ops, e,s,g, o ); if( JSON.stringify(a) != JSON.stringify( expect_b ) || o.is_affected != expect_affected ) { console.warn( "B. " + expr + " get result " + JSON.stringify(a) + ", " + o.is_affected + ", but " + JSON.stringify( expect_b ) + ", " + expect_affected + " is expected" ); } } } function wfor( to_iter, func, env, _s, global, father, itemname, indexname, keyname ) { var _n = wh.hn( to_iter ) === 'n'; var scope = wh.rv( _s ); var has_old_item = scope.hasOwnProperty(itemname); var has_old_index = scope.hasOwnProperty(indexname); var old_item = scope[itemname]; var old_index = scope[indexname]; var full = Object.prototype.toString.call(wh.rv(to_iter)); var type = full[8]; if( type === 'N' && full[10] === 'l' ) type = 'X'; var _y; if( _n ) { if( type === 'A' ) { var r_iter_item; for( var i = 0 ; i < to_iter.length ; i++ ) { scope[itemname] = to_iter[i]; scope[indexname] = _n ? i : wh.nh(i, 'h'); r_iter_item = wh.rv(to_iter[i]); var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined; _y = _v(key); _(father,_y); func( env, scope, _y, global ); } } else if( type === 'O' ) { var i = 0; var r_iter_item; for( var k in to_iter ) { scope[itemname] = to_iter[k]; scope[indexname] = _n ? k : wh.nh(k, 'h'); r_iter_item = wh.rv(to_iter[k]); var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined; _y = _v(key); _(father,_y); func( env,scope,_y,global ); i++; } } else if( type === 'S' ) { for( var i = 0 ; i < to_iter.length ; i++ ) { scope[itemname] = to_iter[i]; scope[indexname] = _n ? i : wh.nh(i, 'h'); _y = _v( to_iter[i] + i ); _(father,_y); func( env,scope,_y,global ); } } else if( type === 'N' ) { for( var i = 0 ; i < to_iter ; i++ ) { scope[itemname] = i; scope[indexname] = _n ? i : wh.nh(i, 'h'); _y = _v( i ); _(father,_y); func(env,scope,_y,global); } } else { } } else { var r_to_iter = wh.rv(to_iter); var r_iter_item, iter_item; if( type === 'A' ) { for( var i = 0 ; i < r_to_iter.length ; i++ ) { iter_item = r_to_iter[i]; iter_item = wh.hn(iter_item)==='n' ? wh.nh(iter_item,'h') : iter_item; r_iter_item = wh.rv( iter_item ); scope[itemname] = iter_item scope[indexname] = _n ? i : wh.nh(i, 'h'); var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined; _y = _v(key); _(father,_y); func( env, scope, _y, global ); } } else if( type === 'O' ) { var i=0; for( var k in r_to_iter ) { iter_item = r_to_iter[k]; iter_item = wh.hn(iter_item)==='n'? wh.nh(iter_item,'h') : iter_item; r_iter_item = wh.rv( iter_item ); scope[itemname] = iter_item; scope[indexname] = _n ? k : wh.nh(k, 'h'); var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined; _y=_v(key); _(father,_y); func( env, scope, _y, global ); i++ } } else if( type === 'S' ) { for( var i = 0 ; i < r_to_iter.length ; i++ ) { iter_item = wh.nh(r_to_iter[i],'h'); scope[itemname] = iter_item; scope[indexname] = _n ? i : wh.nh(i, 'h'); _y = _v( to_iter[i] + i ); _(father,_y); func( env, scope, _y, global ); } } else if( type === 'N' ) { for( var i = 0 ; i < r_to_iter ; i++ ) { iter_item = wh.nh(i,'h'); scope[itemname] = iter_item; scope[indexname]= _n ? i : wh.nh(i,'h'); _y = _v( i ); _(father,_y); func(env,scope,_y,global); } } else { } } if(has_old_item) { scope[itemname]=old_item; } else { delete scope[itemname]; } if(has_old_index) { scope[indexname]=old_index; } else { delete scope[indexname]; } } function _ca(o) { if ( wh.hn(o) == 'h' ) return true; if ( typeof o !== "object" ) return false; for(var i in o){ if ( o.hasOwnProperty(i) ){ if (_ca(o[i])) return true; } } return false; } function _da( node, attrname, opindex, raw, o ) { var isaffected = false; var value = $gdc( raw, "", 2 ); if ( o.ap && value && value.constructor===Function ) { attrname = "$wxs:" + attrname; node.attr["$gdc"] = $gdc; } if ( o.is_affected || _ca(raw) ) { node.n.push( attrname ); node.raw[attrname] = raw; } node.attr[attrname] = value; } function _r( node, attrname, opindex, env, scope, global ) { global.opindex=opindex; var o = {}, _env; var a = grb( z[opindex], env, scope, global, o ); _da( node, attrname, opindex, a, o ); } function _rz( z, node, attrname, opindex, env, scope, global ) { global.opindex=opindex; var o = {}, _env; var a = grb( z[opindex], env, scope, global, o ); _da( node, attrname, opindex, a, o ); } function _o( opindex, env, scope, global ) { global.opindex=opindex; var nothing = {}; var r = grb( z[opindex], env, scope, global, nothing ); return (r&&r.constructor===Function) ? undefined : r; } function _oz( z, opindex, env, scope, global ) { global.opindex=opindex; var nothing = {}; var r = grb( z[opindex], env, scope, global, nothing ); return (r&&r.constructor===Function) ? undefined : r; } function _1( opindex, env, scope, global, o ) { var o = o || {}; global.opindex=opindex; return gra( z[opindex], env, scope, global, o ); } function _1z( z, opindex, env, scope, global, o ) { var o = o || {}; global.opindex=opindex; return gra( z[opindex], env, scope, global, o ); } function _2( opindex, func, env, scope, global, father, itemname, indexname, keyname ) { var o = {}; var to_iter = _1( opindex, env, scope, global ); wfor( to_iter, func, env, scope, global, father, itemname, indexname, keyname ); } function _2z( z, opindex, func, env, scope, global, father, itemname, indexname, keyname ) { var o = {}; var to_iter = _1z( z, opindex, env, scope, global ); wfor( to_iter, func, env, scope, global, father, itemname, indexname, keyname ); } function _m(tag,attrs,generics,env,scope,global) { var tmp=_n(tag); var base=0; for(var i = 0 ; i < attrs.length ; i+=2 ) { if(base+attrs[i+1]<0) { tmp.attr[attrs[i]]=true; } else { _r(tmp,attrs[i],base+attrs[i+1],env,scope,global); if(base===0)base=attrs[i+1]; } } for(var i=0;i=0;x--){if(e[p].i[x]&&d[e[p].i[x]][c])return d[e[p].i[x]][c]};for(var x=e[p].ti.length-1;x>=0;x--){var q=_grp(e[p].ti[x],e,p);if(q&&d[q][c])return d[q][c]}var ii=_gapi(e,p);for(var x=0;x=0;k--)if(e[p].j[k]){for(var q=e[e[p].j[k]].ti.length-1;q>=0;q--){var pp=_grp(e[e[p].j[k]].ti[q],e,p);if(pp&&d[pp][c]){return d[pp][c]}}}} function _gapi(e,p){if(!p)return [];if($gaic[p]){return $gaic[p]};var ret=[],q=[],h=0,t=0,put={},visited={};q.push(p);visited[p]=true;t++;while(h'],[[7],[3,'merchantListSize']],[1,1]]) Z([1,true]) Z([3,'__l']) Z([3,'1']) Z([[4],[[5],[1,'default']]]) Z(z[2]) Z([[2,'+'],[[2,'+'],[1,'2'],[1,',']],[1,'1']]) Z(z[4]) Z([3,'__i0__']) Z([3,'merchant']) Z([[6],[[7],[3,'$root']],[3,'l0']]) Z([3,'id']) Z(z[2]) Z([3,'__e']) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[[5],[[5],[1,'openEquipmentStatisticsByAdmin']],[[4],[[5],[1,'$0']]]],[[4],[[5],[[4],[[5],[[4],[[5],[[5],[[5],[1,'merchantList']],[1,'id']],[[6],[[6],[[7],[3,'merchant']],[3,'$orig']],[3,'id']]]]]]]]]]]]]]]]) Z([[6],[[7],[3,'merchant']],[3,'m0']]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'3-'],[[7],[3,'__i0__']]],[1,',']],[1,'2']]) })(__WXML_GLOBAL__.ops_cached.$gwx_20);return __WXML_GLOBAL__.ops_cached.$gwx_20 } function gz$gwx_21(){ if( __WXML_GLOBAL__.ops_cached.$gwx_21)return __WXML_GLOBAL__.ops_cached.$gwx_21 __WXML_GLOBAL__.ops_cached.$gwx_21=[]; (function(z){var a=11;function Z(ops){z.push(ops)} Z([[2,'>'],[[6],[[7],[3,'merchantList']],[3,'length']],[1,1]]) Z([1,true]) Z([3,'__l']) Z([3,'1']) Z([[4],[[5],[1,'default']]]) Z([3,'index']) Z([3,'merchant']) Z([[6],[[7],[3,'$root']],[3,'l1']]) Z([3,'id']) Z(z[2]) Z([[2,'==='],[[7],[3,'index']],[1,0]]) Z([[6],[[7],[3,'merchant']],[3,'m0']]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'4-'],[[7],[3,'index']]],[1,',']],[1,'1']]) Z(z[4]) Z([3,'padding:20rpx;background-color:aliceblue;']) Z([[2,'=='],[[6],[[6],[[6],[[7],[3,'merchant']],[3,'$orig']],[3,'equipmentList']],[3,'length']],[1,0]]) Z([[2,'>'],[[6],[[6],[[6],[[7],[3,'merchant']],[3,'$orig']],[3,'equipmentList']],[3,'length']],[1,0]]) Z(z[2]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'5-'],[[7],[3,'index']]],[1,',']],[[2,'+'],[1,'4-'],[[7],[3,'index']]]]) Z(z[4]) Z([3,'__i0__']) Z([3,'equipment']) Z([[6],[[7],[3,'merchant']],[3,'l0']]) Z(z[8]) Z(z[2]) Z([[6],[[7],[3,'equipment']],[3,'m1']]) Z([[2,'+'],[[2,'+'],[[2,'+'],[[2,'+'],[[2,'+'],[1,'6-'],[[7],[3,'index']]],[1,'-']],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'5-'],[[7],[3,'index']]]]) Z(z[4]) Z(z[2]) Z(z[1]) Z([3,'7']) Z(z[4]) Z([3,'__i1__']) Z(z[22]) Z([[6],[[7],[3,'$root']],[3,'l2']]) Z(z[8]) Z(z[2]) Z([[6],[[7],[3,'equipment']],[3,'m4']]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'10-'],[[7],[3,'__i1__']]],[1,',']],[1,'7']]) Z(z[4]) })(__WXML_GLOBAL__.ops_cached.$gwx_21);return __WXML_GLOBAL__.ops_cached.$gwx_21 } function gz$gwx_22(){ if( __WXML_GLOBAL__.ops_cached.$gwx_22)return __WXML_GLOBAL__.ops_cached.$gwx_22 __WXML_GLOBAL__.ops_cached.$gwx_22=[]; (function(z){var a=11;function Z(ops){z.push(ops)} Z([[2,'!='],[[7],[3,'id']],[1,1]]) Z([[2,'>'],[[6],[[6],[[6],[[7],[3,'merchantList']],[1,0]],[3,'equipmentList']],[3,'length']],[1,1]]) Z([1,true]) Z([3,'__l']) Z([3,'1']) Z([[4],[[5],[1,'default']]]) Z(z[3]) Z([[2,'+'],[[2,'+'],[1,'2'],[1,',']],[1,'1']]) Z(z[5]) Z(z[3]) Z([3,'__e']) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[[5],[[5],[1,'openByAdmin']],[[4],[[5],[[5],[1,'$0']],[1,'$1']]]],[[4],[[5],[[5],[1,'merchantList.__$n0.name']],[1,'merchantList.__$n0.id']]]]]]]]]]]) Z([[6],[[7],[3,'$root']],[3,'m0']]) Z([[2,'+'],[[2,'+'],[1,'3'],[1,',']],[1,'2']]) Z([3,'__i0__']) Z([3,'equipment']) Z([[6],[[7],[3,'$root']],[3,'l0']]) Z([3,'id']) Z(z[3]) Z(z[10]) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[[5],[[5],[1,'openByEquipment']],[[4],[[5],[[5],[1,'$0']],[1,'$1']]]],[[4],[[5],[[5],[1,'merchantList.__$n0.name']],[[4],[[5],[[4],[[5],[[5],[[5],[[5],[1,'merchantList.__$n0.equipmentList']],[1,'id']],[[6],[[6],[[7],[3,'equipment']],[3,'$orig']],[3,'id']]],[1,'id']]]]]]]]]]]]]]]) Z([[6],[[7],[3,'equipment']],[3,'m1']]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'4-'],[[7],[3,'__i0__']]],[1,',']],[1,'2']]) Z(z[3]) Z(z[10]) Z([[4],[[5],[[4],[[5],[[5],[1,'^treeItemClick']],[[4],[[5],[[4],[[5],[1,'treeItemClick']]]]]]]]]) Z([[7],[3,'list']]) Z([3,'5']) })(__WXML_GLOBAL__.ops_cached.$gwx_22);return __WXML_GLOBAL__.ops_cached.$gwx_22 } function gz$gwx_23(){ if( __WXML_GLOBAL__.ops_cached.$gwx_23)return __WXML_GLOBAL__.ops_cached.$gwx_23 __WXML_GLOBAL__.ops_cached.$gwx_23=[]; (function(z){var a=11;function Z(ops){z.push(ops)} Z([3,'warp']) Z([3,'__l']) Z([3,'font']) Z([3,'1']) Z([[4],[[5],[1,'default']]]) Z(z[1]) Z([3,'__e']) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[1,'buy']]]]]]]]]) Z([3,'购买优惠码']) Z([[2,'+'],[[2,'+'],[1,'2'],[1,',']],[1,'1']]) Z([3,'box']) Z(z[1]) Z(z[6]) Z([1,false]) Z([[4],[[5],[[4],[[5],[[5],[1,'^change']],[[4],[[5],[[4],[[5],[1,'change']]]]]]]]]) Z([1,true]) Z([3,'全部']) Z(z[13]) Z([[7],[3,'list']]) Z([3,'hideAll']) Z([1,4]) Z([3,'height: 18px;font-size: 13px;']) Z([3,'3']) Z(z[1]) Z(z[6]) Z(z[14]) Z([3,'4']) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'5'],[1,',']],[1,'4']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'6'],[1,',']],[1,'5']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'7'],[1,',']],[1,'5']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'8'],[1,',']],[1,'5']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'9'],[1,',']],[1,'5']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[1,'10'],[1,',']],[1,'5']]) Z(z[4]) Z([3,'__i0__']) Z([3,'item']) Z([[7],[3,'tableList']]) Z([3,'id']) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]],[1,',']],[1,'4']]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'12-'],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]]]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'13-'],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]]]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'14-'],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]]]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'15-'],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]]]) Z(z[4]) Z(z[1]) Z([[2,'+'],[[2,'+'],[[2,'+'],[1,'16-'],[[7],[3,'__i0__']]],[1,',']],[[2,'+'],[1,'11-'],[[7],[3,'__i0__']]]]) Z(z[4]) })(__WXML_GLOBAL__.ops_cached.$gwx_23);return __WXML_GLOBAL__.ops_cached.$gwx_23 } function gz$gwx_24(){ if( __WXML_GLOBAL__.ops_cached.$gwx_24)return __WXML_GLOBAL__.ops_cached.$gwx_24 __WXML_GLOBAL__.ops_cached.$gwx_24=[]; (function(z){var a=11;function Z(ops){z.push(ops)} Z([3,'page-fill']) Z([3,'header']) Z([[7],[3,'weixinUp']]) Z([[7],[3,'weixinDown']]) Z([3,'__l']) Z([3,'1']) Z([[4],[[5],[1,'default']]]) Z([[7],[3,'ifForeign']]) Z([[7],[3,'gid']]) Z(z[4]) Z([3,'__e']) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[1,'open']]]]]]]]]) Z([3,'优惠码']) Z([[2,'+'],[[2,'+'],[1,'2'],[1,',']],[1,'1']]) Z([[7],[3,'show']]) Z(z[4]) Z(z[10]) Z([[4],[[5],[[4],[[5],[[5],[1,'^click']],[[4],[[5],[[4],[[5],[1,'updataName']]]]]]]]]) Z([[6],[[7],[3,'$root']],[3,'m1']]) Z([[2,'+'],[[2,'+'],[1,'3'],[1,',']],[1,'1']]) })(__WXML_GLOBAL__.ops_cached.$gwx_24);return __WXML_GLOBAL__.ops_cached.$gwx_24 } function gz$gwx_25(){ if( __WXML_GLOBAL__.ops_cached.$gwx_25)return __WXML_GLOBAL__.ops_cached.$gwx_25 __WXML_GLOBAL__.ops_cached.$gwx_25=[]; (function(z){var a=11;function Z(ops){z.push(ops)} })(__WXML_GLOBAL__.ops_cached.$gwx_25);return __WXML_GLOBAL__.ops_cached.$gwx_25 } __WXML_GLOBAL__.ops_set.$gwx=z; __WXML_GLOBAL__.ops_init.$gwx=true; var nv_require=function(){var nnm={};var nom={};return function(n){return function(){if(!nnm[n]) return undefined;try{if(!nom[n])nom[n]=nnm[n]();return nom[n];}catch(e){e.message=e.message.replace(/nv_/g,'');var tmp = e.stack.substring(0,e.stack.lastIndexOf(n));e.stack = tmp.substring(0,tmp.lastIndexOf('\n'));e.stack = e.stack.replace(/\snv_/g,' ');e.stack = $gstack(e.stack);e.stack += '\n at ' + n.substring(2);console.error(e);} }}}() var x=['./components/mix-tree/mix-tree.wxml','./components/t-table/t-table.wxml','./components/t-table/t-td.wxml','./components/t-table/t-th.wxml','./components/t-table/t-tr.wxml','./components/uni-badge/uni-badge.wxml','./components/uni-collapse-item/uni-collapse-item.wxml','./components/uni-collapse/uni-collapse.wxml','./components/uni-icon/uni-icon.wxml','./components/uni-list-item/uni-list-item.wxml','./components/uni-list/uni-list.wxml','./components/xfl-select/xfl-select.wxml','./pages/Charts/elseStatistics.wxml','./pages/Charts/equipmentStatistics.wxml','./pages/Charts/mainStatistics.wxml','./pages/Login/Login.wxml','./pages/Login/loginWeixin.wxml','./pages/User/buyPromo.wxml','./pages/User/equipmentName.wxml','./pages/User/equipmentSratisticsList.wxml','./pages/User/equipmentStatusList.wxml','./pages/User/merchantList.wxml','./pages/User/promoCode.wxml','./pages/User/user.wxml','./pages/WeixinSwicth/WeixinSwicth.wxml'];d_[x[0]]={} var m0=function(e,s,r,gg){ var z=gz$gwx_1() return r } e_[x[0]]={f:m0,j:[],i:[],ti:[],ic:[]} d_[x[1]]={} var m1=function(e,s,r,gg){ var z=gz$gwx_2() var xC=_n('slot') _(r,xC) return r } e_[x[1]]={f:m1,j:[],i:[],ti:[],ic:[]} d_[x[2]]={} var m2=function(e,s,r,gg){ var z=gz$gwx_3() var fE=_n('slot') _(r,fE) return r } e_[x[2]]={f:m2,j:[],i:[],ti:[],ic:[]} d_[x[3]]={} var m3=function(e,s,r,gg){ var z=gz$gwx_4() var hG=_n('slot') _(r,hG) return r } e_[x[3]]={f:m3,j:[],i:[],ti:[],ic:[]} d_[x[4]]={} var m4=function(e,s,r,gg){ var z=gz$gwx_5() var cI=_n('view') _rz(z,cI,'class',0,e,s,gg) var oJ=_v() _(cI,oJ) if(_oz(z,1,e,s,gg)){oJ.wxVkey=1 } var lK=_n('slot') _(cI,lK) oJ.wxXCkey=1 _(r,cI) return r } e_[x[4]]={f:m4,j:[],i:[],ti:[],ic:[]} d_[x[5]]={} var m5=function(e,s,r,gg){ var z=gz$gwx_6() var tM=_v() _(r,tM) if(_oz(z,0,e,s,gg)){tM.wxVkey=1 } tM.wxXCkey=1 return r } e_[x[5]]={f:m5,j:[],i:[],ti:[],ic:[]} d_[x[6]]={} var m6=function(e,s,r,gg){ var z=gz$gwx_7() var bO=_mz(z,'view',['class',0,'hoverClass',1],[],e,s,gg) var oP=_mz(z,'view',['bindtap',2,'class',1,'data-event-opts',2],[],e,s,gg) var xQ=_v() _(oP,xQ) if(_oz(z,5,e,s,gg)){xQ.wxVkey=1 } var oR=_mz(z,'uni-icon',['bind:__l',6,'color',1,'size',2,'type',3,'vueId',4],[],e,s,gg) _(oP,oR) xQ.wxXCkey=1 _(bO,oP) var fS=_n('slot') _(bO,fS) _(r,bO) return r } e_[x[6]]={f:m6,j:[],i:[],ti:[],ic:[]} d_[x[7]]={} var m7=function(e,s,r,gg){ var z=gz$gwx_8() var hU=_n('slot') _(r,hU) return r } e_[x[7]]={f:m7,j:[],i:[],ti:[],ic:[]} d_[x[8]]={} var m8=function(e,s,r,gg){ var z=gz$gwx_9() return r } e_[x[8]]={f:m8,j:[],i:[],ti:[],ic:[]} d_[x[9]]={} var m9=function(e,s,r,gg){ var z=gz$gwx_10() var oX=_mz(z,'view',['bindtap',0,'class',1,'data-event-opts',1,'hoverClass',2],[],e,s,gg) var lY=_n('view') _rz(z,lY,'class',4,e,s,gg) var aZ=_v() _(lY,aZ) if(_oz(z,5,e,s,gg)){aZ.wxVkey=1 } else{aZ.wxVkey=2 var b3=_v() _(aZ,b3) if(_oz(z,6,e,s,gg)){b3.wxVkey=1 var o4=_mz(z,'uni-icon',['bind:__l',7,'class',1,'color',2,'size',3,'type',4,'vueId',5],[],e,s,gg) _(b3,o4) } b3.wxXCkey=1 b3.wxXCkey=3 } var t1=_v() _(lY,t1) if(_oz(z,13,e,s,gg)){t1.wxVkey=1 } var e2=_v() _(lY,e2) if(_oz(z,14,e,s,gg)){e2.wxVkey=1 var x5=_n('view') _rz(z,x5,'class',15,e,s,gg) var o6=_v() _(x5,o6) if(_oz(z,16,e,s,gg)){o6.wxVkey=1 var h9=_mz(z,'uni-badge',['bind:__l',17,'text',1,'type',2,'vueId',3],[],e,s,gg) _(o6,h9) } var f7=_v() _(x5,f7) if(_oz(z,21,e,s,gg)){f7.wxVkey=1 } var c8=_v() _(x5,c8) if(_oz(z,22,e,s,gg)){c8.wxVkey=1 var o0=_mz(z,'uni-icon',['bind:__l',23,'class',1,'color',2,'size',3,'type',4,'vueId',5],[],e,s,gg) _(c8,o0) } o6.wxXCkey=1 o6.wxXCkey=3 f7.wxXCkey=1 c8.wxXCkey=1 c8.wxXCkey=3 _(e2,x5) } aZ.wxXCkey=1 aZ.wxXCkey=3 t1.wxXCkey=1 e2.wxXCkey=1 e2.wxXCkey=3 _(oX,lY) _(r,oX) return r } e_[x[9]]={f:m9,j:[],i:[],ti:[],ic:[]} d_[x[10]]={} var m10=function(e,s,r,gg){ var z=gz$gwx_11() var oBB=_n('slot') _(r,oBB) return r } e_[x[10]]={f:m10,j:[],i:[],ti:[],ic:[]} d_[x[11]]={} var m11=function(e,s,r,gg){ var z=gz$gwx_12() var aDB=_v() _(r,aDB) if(_oz(z,0,e,s,gg)){aDB.wxVkey=1 } aDB.wxXCkey=1 return r } e_[x[11]]={f:m11,j:[],i:[],ti:[],ic:[]} d_[x[12]]={} var m12=function(e,s,r,gg){ var z=gz$gwx_13() var eFB=_mz(z,'main-statistics',['adminId',0,'bind:__l',1,'equipmentId',1,'pname',2,'vueId',3],[],e,s,gg) _(r,eFB) return r } e_[x[12]]={f:m12,j:[],i:[],ti:[],ic:[]} d_[x[13]]={} var m13=function(e,s,r,gg){ var z=gz$gwx_14() var oHB=_v() _(r,oHB) if(_oz(z,0,e,s,gg)){oHB.wxVkey=1 } oHB.wxXCkey=1 return r } e_[x[13]]={f:m13,j:[],i:[],ti:[],ic:[]} d_[x[14]]={} var m14=function(e,s,r,gg){ var z=gz$gwx_15() return r } e_[x[14]]={f:m14,j:[],i:[],ti:[],ic:[]} d_[x[15]]={} var m15=function(e,s,r,gg){ var z=gz$gwx_16() return r } e_[x[15]]={f:m15,j:[],i:[],ti:[],ic:[]} d_[x[16]]={} var m16=function(e,s,r,gg){ var z=gz$gwx_17() return r } e_[x[16]]={f:m16,j:[],i:[],ti:[],ic:[]} d_[x[17]]={} var m17=function(e,s,r,gg){ var z=gz$gwx_18() return r } e_[x[17]]={f:m17,j:[],i:[],ti:[],ic:[]} d_[x[18]]={} var m18=function(e,s,r,gg){ var z=gz$gwx_19() return r } e_[x[18]]={f:m18,j:[],i:[],ti:[],ic:[]} d_[x[19]]={} var m19=function(e,s,r,gg){ var z=gz$gwx_20() var cOB=_v() _(r,cOB) if(_oz(z,0,e,s,gg)){cOB.wxVkey=1 var oPB=_mz(z,'uni-collapse',['accordion',1,'bind:__l',1,'vueId',2,'vueSlots',3],[],e,s,gg) var lQB=_mz(z,'uni-list',['bind:__l',5,'vueId',1,'vueSlots',2],[],e,s,gg) var aRB=_v() _(lQB,aRB) var tSB=function(bUB,eTB,oVB,gg){ var oXB=_mz(z,'uni-list-item',['bind:__l',12,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],bUB,eTB,gg) _(oVB,oXB) return oVB } aRB.wxXCkey=4 _2z(z,10,tSB,e,s,gg,aRB,'merchant','__i0__','id') _(oPB,lQB) _(cOB,oPB) } else{cOB.wxVkey=2 } cOB.wxXCkey=1 cOB.wxXCkey=3 return r } e_[x[19]]={f:m19,j:[],i:[],ti:[],ic:[]} d_[x[20]]={} var m20=function(e,s,r,gg){ var z=gz$gwx_21() var cZB=_v() _(r,cZB) if(_oz(z,0,e,s,gg)){cZB.wxVkey=1 var h1B=_mz(z,'uni-collapse',['accordion',1,'bind:__l',1,'vueId',2,'vueSlots',3],[],e,s,gg) var o2B=_v() _(h1B,o2B) var c3B=function(l5B,o4B,a6B,gg){ var e8B=_mz(z,'uni-collapse-item',['bind:__l',9,'open',1,'title',2,'vueId',3,'vueSlots',4],[],l5B,o4B,gg) var b9B=_n('view') _rz(z,b9B,'style',14,l5B,o4B,gg) var o0B=_v() _(b9B,o0B) if(_oz(z,15,l5B,o4B,gg)){o0B.wxVkey=1 } var xAC=_v() _(b9B,xAC) if(_oz(z,16,l5B,o4B,gg)){xAC.wxVkey=1 var oBC=_mz(z,'uni-collapse',['bind:__l',17,'showAnimation',1,'vueId',2,'vueSlots',3],[],l5B,o4B,gg) var fCC=_v() _(oBC,fCC) var cDC=function(oFC,hEC,cGC,gg){ var lIC=_mz(z,'uni-collapse-item',['bind:__l',25,'title',1,'vueId',2,'vueSlots',3],[],oFC,hEC,gg) _(cGC,lIC) return cGC } fCC.wxXCkey=4 _2z(z,23,cDC,l5B,o4B,gg,fCC,'equipment','__i0__','id') _(xAC,oBC) } o0B.wxXCkey=1 xAC.wxXCkey=1 xAC.wxXCkey=3 _(e8B,b9B) _(a6B,e8B) return a6B } o2B.wxXCkey=4 _2z(z,7,c3B,e,s,gg,o2B,'merchant','index','id') _(cZB,h1B) } else{cZB.wxVkey=2 var aJC=_mz(z,'uni-collapse',['bind:__l',29,'showAnimation',1,'vueId',2,'vueSlots',3],[],e,s,gg) var tKC=_v() _(aJC,tKC) var eLC=function(oNC,bMC,xOC,gg){ var fQC=_mz(z,'uni-collapse-item',['bind:__l',37,'title',1,'vueId',2,'vueSlots',3],[],oNC,bMC,gg) _(xOC,fQC) return xOC } tKC.wxXCkey=4 _2z(z,35,eLC,e,s,gg,tKC,'equipment','__i1__','id') _(cZB,aJC) } cZB.wxXCkey=1 cZB.wxXCkey=3 cZB.wxXCkey=3 return r } e_[x[20]]={f:m20,j:[],i:[],ti:[],ic:[]} d_[x[21]]={} var m21=function(e,s,r,gg){ var z=gz$gwx_22() var hSC=_n('view') var oTC=_v() _(hSC,oTC) if(_oz(z,0,e,s,gg)){oTC.wxVkey=1 var cUC=_n('view') var oVC=_v() _(cUC,oVC) if(_oz(z,1,e,s,gg)){oVC.wxVkey=1 var lWC=_mz(z,'uni-collapse',['accordion',2,'bind:__l',1,'vueId',2,'vueSlots',3],[],e,s,gg) var aXC=_mz(z,'uni-list',['bind:__l',6,'vueId',1,'vueSlots',2],[],e,s,gg) var tYC=_mz(z,'uni-list-item',['bind:__l',9,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],e,s,gg) _(aXC,tYC) var eZC=_v() _(aXC,eZC) var b1C=function(x3C,o2C,o4C,gg){ var c6C=_mz(z,'uni-list-item',['bind:__l',18,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],x3C,o2C,gg) _(o4C,c6C) return o4C } eZC.wxXCkey=4 _2z(z,16,b1C,e,s,gg,eZC,'equipment','__i0__','id') _(lWC,aXC) _(oVC,lWC) } else{oVC.wxVkey=2 } oVC.wxXCkey=1 oVC.wxXCkey=3 _(oTC,cUC) } var h7C=_mz(z,'mix-tree',['bind:__l',23,'bind:treeItemClick',1,'data-event-opts',2,'list',3,'vueId',4],[],e,s,gg) _(hSC,h7C) oTC.wxXCkey=1 oTC.wxXCkey=3 _(r,hSC) return r } e_[x[21]]={f:m21,j:[],i:[],ti:[],ic:[]} d_[x[22]]={} var m22=function(e,s,r,gg){ var z=gz$gwx_23() var c9C=_n('view') _rz(z,c9C,'class',0,e,s,gg) var o0C=_mz(z,'uni-list',['bind:__l',1,'class',1,'vueId',2,'vueSlots',3],[],e,s,gg) var lAD=_mz(z,'uni-list-item',['bind:__l',5,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],e,s,gg) _(o0C,lAD) _(c9C,o0C) var aBD=_n('view') _rz(z,aBD,'class',10,e,s,gg) var tCD=_mz(z,'xfl-select',['placeholder',-1,'bind:__l',11,'bind:change',1,'clearable',2,'data-event-opts',3,'focusShowList',4,'initValue',5,'isCanInput',6,'list',7,'selectHideType',8,'showItemNum',9,'style_Container',10,'vueId',11],[],e,s,gg) _(aBD,tCD) var eDD=_mz(z,'t-table',['bind:__l',23,'bind:change',1,'data-event-opts',2,'vueId',3,'vueSlots',4],[],e,s,gg) var bED=_mz(z,'t-tr',['bind:__l',28,'vueId',1,'vueSlots',2],[],e,s,gg) var oFD=_mz(z,'t-th',['bind:__l',31,'vueId',1,'vueSlots',2],[],e,s,gg) _(bED,oFD) var xGD=_mz(z,'t-th',['bind:__l',34,'vueId',1,'vueSlots',2],[],e,s,gg) _(bED,xGD) var oHD=_mz(z,'t-th',['bind:__l',37,'vueId',1,'vueSlots',2],[],e,s,gg) _(bED,oHD) var fID=_mz(z,'t-th',['bind:__l',40,'vueId',1,'vueSlots',2],[],e,s,gg) _(bED,fID) var cJD=_mz(z,'t-th',['bind:__l',43,'vueId',1,'vueSlots',2],[],e,s,gg) _(bED,cJD) _(eDD,bED) var hKD=_v() _(eDD,hKD) var oLD=function(oND,cMD,lOD,gg){ var tQD=_mz(z,'t-tr',['bind:__l',50,'vueId',1,'vueSlots',2],[],oND,cMD,gg) var eRD=_mz(z,'t-td',['bind:__l',53,'vueId',1,'vueSlots',2],[],oND,cMD,gg) _(tQD,eRD) var bSD=_mz(z,'t-td',['bind:__l',56,'vueId',1,'vueSlots',2],[],oND,cMD,gg) _(tQD,bSD) var oTD=_mz(z,'t-td',['bind:__l',59,'vueId',1,'vueSlots',2],[],oND,cMD,gg) _(tQD,oTD) var xUD=_mz(z,'t-td',['bind:__l',62,'vueId',1,'vueSlots',2],[],oND,cMD,gg) _(tQD,xUD) var oVD=_mz(z,'t-td',['bind:__l',65,'vueId',1,'vueSlots',2],[],oND,cMD,gg) _(tQD,oVD) _(lOD,tQD) return lOD } hKD.wxXCkey=4 _2z(z,48,oLD,e,s,gg,hKD,'item','__i0__','id') _(aBD,eDD) _(c9C,aBD) _(r,c9C) return r } e_[x[22]]={f:m22,j:[],i:[],ti:[],ic:[]} d_[x[23]]={} var m23=function(e,s,r,gg){ var z=gz$gwx_24() var cXD=_n('view') _rz(z,cXD,'class',0,e,s,gg) var hYD=_n('view') _rz(z,hYD,'class',1,e,s,gg) var oZD=_v() _(hYD,oZD) if(_oz(z,2,e,s,gg)){oZD.wxVkey=1 } var c1D=_v() _(hYD,c1D) if(_oz(z,3,e,s,gg)){c1D.wxVkey=1 } oZD.wxXCkey=1 c1D.wxXCkey=1 _(cXD,hYD) var o2D=_mz(z,'uni-list',['bind:__l',4,'vueId',1,'vueSlots',2],[],e,s,gg) var l3D=_v() _(o2D,l3D) if(_oz(z,7,e,s,gg)){l3D.wxVkey=1 var t5D=_v() _(l3D,t5D) if(_oz(z,8,e,s,gg)){t5D.wxVkey=1 var e6D=_mz(z,'uni-list-item',['bind:__l',9,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],e,s,gg) _(t5D,e6D) } t5D.wxXCkey=1 t5D.wxXCkey=3 } var a4D=_v() _(o2D,a4D) if(_oz(z,14,e,s,gg)){a4D.wxVkey=1 var b7D=_mz(z,'uni-list-item',['bind:__l',15,'bind:click',1,'data-event-opts',2,'title',3,'vueId',4],[],e,s,gg) _(a4D,b7D) } l3D.wxXCkey=1 l3D.wxXCkey=3 a4D.wxXCkey=1 a4D.wxXCkey=3 _(cXD,o2D) _(r,cXD) return r } e_[x[23]]={f:m23,j:[],i:[],ti:[],ic:[]} d_[x[24]]={} var m24=function(e,s,r,gg){ var z=gz$gwx_25() return r } e_[x[24]]={f:m24,j:[],i:[],ti:[],ic:[]} if(path&&e_[path]){ return function(env,dd,global){$gwxc=0;var root={"tag":"wx-page"};root.children=[] var main=e_[path].f if (typeof global==="undefined")global={};global.f=$gdc(f_[path],"",1); try{ main(env,{},root,global); _tsd(root) }catch(err){ console.log(err) } return root; } } } __wxAppCode__['app.json']={"pages":["pages/Login/Login","pages/Login/loginWeixin","pages/Charts/mainStatistics","pages/User/merchantList","pages/User/equipmentSratisticsList","pages/User/equipmentStatusList","pages/User/user","pages/User/promoCode","pages/User/buyPromo","pages/User/equipmentName","pages/Charts/elseStatistics","pages/Charts/equipmentStatistics","pages/WeixinSwicth/WeixinSwicth"],"window":{"navigationBarTextStyle":"white","navigationBarTitleText":"","navigationBarBackgroundColor":"#206DC3","backgroundColor":"#F8F8F8","animationType":"slide-in-right","animationDuration":200},"tabBar":{"color":"#7A7E83","selectedColor":"#007AFF","borderStyle":"black","backgroundColor":"#F8F8F8","list":[{"pagePath":"pages/Charts/mainStatistics","iconPath":"static/img/home.png","selectedIconPath":"static/img/homeHL.png","text":"首页"},{"pagePath":"pages/User/merchantList","iconPath":"static/img/merchantList.png","selectedIconPath":"static/img/merchantListHL.png","text":"机器销售"},{"pagePath":"pages/Charts/equipmentStatistics","iconPath":"static/img/equipmentSratisticsList.png","selectedIconPath":"static/img/equipmentSratisticsListHL.png","text":"机器排行"},{"pagePath":"pages/User/equipmentStatusList","iconPath":"static/img/equipment.png","selectedIconPath":"static/img/equipmentHL.png","text":"机器状态"},{"pagePath":"pages/User/user","iconPath":"static/img/user.png","selectedIconPath":"static/img/userHL.png","text":"我的"}]},"nvueCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"申泽智能物联","compilerVersion":"2.4.2","usingComponents":{"main-statistics":"/pages/Charts/mainStatistics"}}; __wxAppCode__['app.wxml']=$gwx('./app.wxml'); __wxAppCode__['components/mix-tree/mix-tree.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/mix-tree/mix-tree.wxml']=$gwx('./components/mix-tree/mix-tree.wxml'); __wxAppCode__['components/t-table/t-table.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/t-table/t-table.wxml']=$gwx('./components/t-table/t-table.wxml'); __wxAppCode__['components/t-table/t-td.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/t-table/t-td.wxml']=$gwx('./components/t-table/t-td.wxml'); __wxAppCode__['components/t-table/t-th.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/t-table/t-th.wxml']=$gwx('./components/t-table/t-th.wxml'); __wxAppCode__['components/t-table/t-tr.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/t-table/t-tr.wxml']=$gwx('./components/t-table/t-tr.wxml'); __wxAppCode__['components/uni-badge/uni-badge.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/uni-badge/uni-badge.wxml']=$gwx('./components/uni-badge/uni-badge.wxml'); __wxAppCode__['components/uni-collapse-item/uni-collapse-item.json']={"usingComponents":{"uni-icon":"/components/uni-icon/uni-icon"},"component":true}; __wxAppCode__['components/uni-collapse-item/uni-collapse-item.wxml']=$gwx('./components/uni-collapse-item/uni-collapse-item.wxml'); __wxAppCode__['components/uni-collapse/uni-collapse.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/uni-collapse/uni-collapse.wxml']=$gwx('./components/uni-collapse/uni-collapse.wxml'); __wxAppCode__['components/uni-icon/uni-icon.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/uni-icon/uni-icon.wxml']=$gwx('./components/uni-icon/uni-icon.wxml'); __wxAppCode__['components/uni-list-item/uni-list-item.json']={"usingComponents":{"uni-icon":"/components/uni-icon/uni-icon","uni-badge":"/components/uni-badge/uni-badge"},"component":true}; __wxAppCode__['components/uni-list-item/uni-list-item.wxml']=$gwx('./components/uni-list-item/uni-list-item.wxml'); __wxAppCode__['components/uni-list/uni-list.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/uni-list/uni-list.wxml']=$gwx('./components/uni-list/uni-list.wxml'); __wxAppCode__['components/xfl-select/xfl-select.json']={"usingComponents":{},"component":true}; __wxAppCode__['components/xfl-select/xfl-select.wxml']=$gwx('./components/xfl-select/xfl-select.wxml'); __wxAppCode__['pages/Charts/elseStatistics.json']={"navigationBarTitleText":"统计图表","usingComponents":{"main-statistics":"/pages/Charts/mainStatistics"}}; __wxAppCode__['pages/Charts/elseStatistics.wxml']=$gwx('./pages/Charts/elseStatistics.wxml'); __wxAppCode__['pages/Charts/equipmentStatistics.json']={"navigationBarTitleText":"销售排行","usingComponents":{}}; __wxAppCode__['pages/Charts/equipmentStatistics.wxml']=$gwx('./pages/Charts/equipmentStatistics.wxml'); __wxAppCode__['pages/Charts/mainStatistics.json']={"navigationBarTitleText":"统计图表","usingComponents":{}}; __wxAppCode__['pages/Charts/mainStatistics.wxml']=$gwx('./pages/Charts/mainStatistics.wxml'); __wxAppCode__['pages/Login/Login.json']={"navigationStyle":"custom","disableScroll":true,"usingComponents":{}}; __wxAppCode__['pages/Login/Login.wxml']=$gwx('./pages/Login/Login.wxml'); __wxAppCode__['pages/Login/loginWeixin.json']={"navigationStyle":"custom","usingComponents":{}}; __wxAppCode__['pages/Login/loginWeixin.wxml']=$gwx('./pages/Login/loginWeixin.wxml'); __wxAppCode__['pages/User/buyPromo.json']={"navigationBarTitleText":"购买优惠码","usingComponents":{}}; __wxAppCode__['pages/User/buyPromo.wxml']=$gwx('./pages/User/buyPromo.wxml'); __wxAppCode__['pages/User/equipmentName.json']={"navigationBarTitleText":"修改设备名称","usingComponents":{}}; __wxAppCode__['pages/User/equipmentName.wxml']=$gwx('./pages/User/equipmentName.wxml'); __wxAppCode__['pages/User/equipmentSratisticsList.json']={"navigationBarTitleText":"机器排行","enablePullDownRefresh":true,"usingComponents":{"uni-collapse":"/components/uni-collapse/uni-collapse","uni-collapse-item":"/components/uni-collapse-item/uni-collapse-item","uni-list":"/components/uni-list/uni-list","uni-list-item":"/components/uni-list-item/uni-list-item"}}; __wxAppCode__['pages/User/equipmentSratisticsList.wxml']=$gwx('./pages/User/equipmentSratisticsList.wxml'); __wxAppCode__['pages/User/equipmentStatusList.json']={"navigationBarTitleText":"机器状态","enablePullDownRefresh":true,"usingComponents":{"uni-collapse":"/components/uni-collapse/uni-collapse","uni-collapse-item":"/components/uni-collapse-item/uni-collapse-item","uni-list":"/components/uni-list/uni-list","uni-list-item":"/components/uni-list-item/uni-list-item"}}; __wxAppCode__['pages/User/equipmentStatusList.wxml']=$gwx('./pages/User/equipmentStatusList.wxml'); __wxAppCode__['pages/User/merchantList.json']={"navigationBarTitleText":"机器销售","enablePullDownRefresh":true,"usingComponents":{"uni-collapse":"/components/uni-collapse/uni-collapse","uni-collapse-item":"/components/uni-collapse-item/uni-collapse-item","uni-list":"/components/uni-list/uni-list","uni-list-item":"/components/uni-list-item/uni-list-item","mix-tree":"/components/mix-tree/mix-tree"}}; __wxAppCode__['pages/User/merchantList.wxml']=$gwx('./pages/User/merchantList.wxml'); __wxAppCode__['pages/User/promoCode.json']={"navigationBarTitleText":"优惠码","usingComponents":{"uni-list":"/components/uni-list/uni-list","uni-list-item":"/components/uni-list-item/uni-list-item","t-table":"/components/t-table/t-table","t-th":"/components/t-table/t-th","t-tr":"/components/t-table/t-tr","t-td":"/components/t-table/t-td","xfl-select":"/components/xfl-select/xfl-select"}}; __wxAppCode__['pages/User/promoCode.wxml']=$gwx('./pages/User/promoCode.wxml'); __wxAppCode__['pages/User/user.json']={"navigationBarTitleText":"我的","usingComponents":{"uni-list":"/components/uni-list/uni-list","uni-list-item":"/components/uni-list-item/uni-list-item"}}; __wxAppCode__['pages/User/user.wxml']=$gwx('./pages/User/user.wxml'); __wxAppCode__['pages/WeixinSwicth/WeixinSwicth.json']={"navigationBarTitleText":"微信绑定","menuSrc":"static/img/leftTriangle.png","enablePullDownRefresh":true,"usingComponents":{}}; __wxAppCode__['pages/WeixinSwicth/WeixinSwicth.wxml']=$gwx('./pages/WeixinSwicth/WeixinSwicth.wxml'); define('common/main.js',function(require, module, exports, window, document, frames, self, location, navigator, localStorage, history, Caches, screen, alert, confirm, prompt, fetch, XMLHttpRequest, WebSocket, webkit, WeixinJSCore, Reporter, print, WeixinJSBridge){ (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/main"],[ /* 0 */ /*!********************************!*\ !*** E:/sheverAPP/APP/main.js ***! \********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(createApp) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5);\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 3));\nvar _vueI18n = _interopRequireDefault(__webpack_require__(/*! vue-i18n */ 9));\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 11));\nvar _http = _interopRequireDefault(__webpack_require__(/*! ./configs/http */ 17));\nvar _store = _interopRequireDefault(__webpack_require__(/*! ./store */ 30));\nvar _env = _interopRequireDefault(__webpack_require__(/*! @/configs/env */ 18));\nvar _zh = _interopRequireDefault(__webpack_require__(/*! @/common/lang/zh */ 34));\nvar _en = _interopRequireDefault(__webpack_require__(/*! @/common/lang/en */ 35));\nvar _mainStatistics = _interopRequireDefault(__webpack_require__(/*! @/pages/Charts/mainStatistics */ 36));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};var ownKeys = Object.keys(source);if (typeof Object.getOwnPropertySymbols === 'function') {ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {return Object.getOwnPropertyDescriptor(source, sym).enumerable;}));}ownKeys.forEach(function (key) {_defineProperty(target, key, source[key]);});}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\n\n\n_vue.default.use(_vueI18n.default);\n_vue.default.config.productionTip = !!_env.default.isProduction;\nvar i18n = new _vueI18n.default({\n locale: 'en-US', // 默认选择的语言\n // locale: 'zh-CN',\n messages: {\n 'zh-CN': _zh.default, // 中文语言包\n 'en-US': _en.default // 英文语言包\n } });\n\n\n_App.default.mpType = 'app';\n\n// Vue.prototype.serverurl=\"http://127.0.0.1:8090\";\n_vue.default.prototype.serverurl = \"https://app.sunzee.com.cn/ShenzeeServer\";\n_vue.default.prototype.$store = _store.default;\n_vue.default.prototype._i18n = i18n;\nvar app = new _vue.default(_objectSpread({\n i18n: i18n,\n store: _store.default },\n_App.default));\n\ncreateApp(app).$mount();\n\nObject.keys(_http.default).forEach(function (key) {\n _vue.default.prototype[\"$\".concat(key)] = _http.default[key];\n});\n\n_vue.default.component('mainStatistics', _mainStatistics.default);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-app-plus/dist/index.js */ 1)[\"createApp\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbIlZ1ZSIsInVzZSIsIlZ1ZUkxOG4iLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiZW52IiwiaXNQcm9kdWN0aW9uIiwiaTE4biIsImxvY2FsZSIsIm1lc3NhZ2VzIiwiemgiLCJlbiIsIkFwcCIsIm1wVHlwZSIsInByb3RvdHlwZSIsInNlcnZlcnVybCIsIiRzdG9yZSIsInN0b3JlIiwiX2kxOG4iLCJhcHAiLCIkbW91bnQiLCJPYmplY3QiLCJrZXlzIiwiYXBpcyIsImZvckVhY2giLCJrZXkiLCJjb21wb25lbnQiLCJtYWluU3RhdGlzdGljcyJdLCJtYXBwaW5ncyI6ImlEQUFBLHdDQUFtQjtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkc7OztBQUdBQSxhQUFJQyxHQUFKLENBQVFDLGdCQUFSO0FBQ0FGLGFBQUlHLE1BQUosQ0FBV0MsYUFBWCxHQUEyQixDQUFDLENBQUNDLGFBQUlDLFlBQWpDO0FBQ0EsSUFBTUMsSUFBSSxHQUFHLElBQUlMLGdCQUFKLENBQVk7QUFDdkJNLFFBQU0sRUFBRSxPQURlLEVBQ0w7QUFDbEI7QUFDQ0MsVUFBUSxFQUFFO0FBQ0osYUFBU0MsV0FETCxFQUNXO0FBQ2YsYUFBU0MsV0FGTCxDQUVXO0FBRlgsR0FIWSxFQUFaLENBQWI7OztBQVNBQyxhQUFJQyxNQUFKLEdBQWEsS0FBYjs7QUFFQTtBQUNBYixhQUFJYyxTQUFKLENBQWNDLFNBQWQsR0FBd0IseUNBQXhCO0FBQ0FmLGFBQUljLFNBQUosQ0FBY0UsTUFBZCxHQUF1QkMsY0FBdkI7QUFDQWpCLGFBQUljLFNBQUosQ0FBY0ksS0FBZCxHQUFzQlgsSUFBdEI7QUFDQSxJQUFNWSxHQUFHLEdBQUcsSUFBSW5CLFlBQUo7QUFDWE8sTUFBSSxFQUFKQSxJQURXO0FBRVhVLE9BQUssRUFBTEEsY0FGVztBQUdSTCxZQUhRLEVBQVo7O0FBS0EsVUFBQU8sR0FBRyxFQUFDQyxNQUFKOztBQUVBQyxNQUFNLENBQUNDLElBQVAsQ0FBWUMsYUFBWixFQUFrQkMsT0FBbEIsQ0FBMEIsVUFBQUMsR0FBRyxFQUFJO0FBQ2hDekIsZUFBSWMsU0FBSixZQUFrQlcsR0FBbEIsS0FBMkJGLGNBQUtFLEdBQUwsQ0FBM0I7QUFDQSxDQUZEOztBQUlBekIsYUFBSTBCLFNBQUosQ0FBYyxnQkFBZCxFQUFnQ0MsdUJBQWhDLEUiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAndW5pLXBhZ2VzJztpbXBvcnQgJ0BkY2xvdWRpby91bmktc3RhdCc7XHJcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5pbXBvcnQgVnVlSTE4biBmcm9tICd2dWUtaTE4bidcclxuaW1wb3J0IEFwcCBmcm9tICcuL0FwcCdcclxuaW1wb3J0IGFwaXMgZnJvbSAnLi9jb25maWdzL2h0dHAnO1xyXG5pbXBvcnQgc3RvcmUgZnJvbSAnLi9zdG9yZSc7XHJcbmltcG9ydCBlbnYgZnJvbSAnQC9jb25maWdzL2Vudic7XHJcbmltcG9ydCB6aCBmcm9tICdAL2NvbW1vbi9sYW5nL3poJztcclxuaW1wb3J0IGVuIGZyb20gJ0AvY29tbW9uL2xhbmcvZW4nO1xyXG5pbXBvcnQgbWFpblN0YXRpc3RpY3MgZnJvbSAnQC9wYWdlcy9DaGFydHMvbWFpblN0YXRpc3RpY3MnO1xyXG5cclxuXHJcblZ1ZS51c2UoVnVlSTE4bilcclxuVnVlLmNvbmZpZy5wcm9kdWN0aW9uVGlwID0gISFlbnYuaXNQcm9kdWN0aW9uO1xyXG5jb25zdCBpMThuID0gbmV3IFZ1ZUkxOG4oeyAgXHJcbiAgbG9jYWxlOiAnZW4tVVMnLCAgLy8g6buY6K6k6YCJ5oup55qE6K+t6KiAXHJcbiAgLy8gbG9jYWxlOiAnemgtQ04nLFxyXG4gICBtZXNzYWdlczoge1xyXG4gICAgICAgICAnemgtQ04nOiB6aCwgICAvLyDkuK3mlofor63oqIDljIVcclxuICAgICAgICAgJ2VuLVVTJzogZW4gICAgLy8g6Iux5paH6K+t6KiA5YyFXHJcbiAgICAgICB9XHJcbn0pO1xyXG5cclxuQXBwLm1wVHlwZSA9ICdhcHAnXHJcblxyXG4vLyBWdWUucHJvdG90eXBlLnNlcnZlcnVybD1cImh0dHA6Ly8xMjcuMC4wLjE6ODA5MFwiO1xyXG5WdWUucHJvdG90eXBlLnNlcnZlcnVybD1cImh0dHBzOi8vYXBwLnN1bnplZS5jb20uY24vU2hlbnplZVNlcnZlclwiO1xyXG5WdWUucHJvdG90eXBlLiRzdG9yZSA9IHN0b3JlO1xyXG5WdWUucHJvdG90eXBlLl9pMThuID0gaTE4bjtcclxuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XHJcblx0aTE4bixcclxuXHRzdG9yZSxcclxuXHQuLi5BcHAsXHJcbn0pO1xyXG5hcHAuJG1vdW50KCk7XHJcblxyXG5PYmplY3Qua2V5cyhhcGlzKS5mb3JFYWNoKGtleSA9PiB7XHJcblx0VnVlLnByb3RvdHlwZVtgJCR7a2V5fWBdID0gYXBpc1trZXldO1xyXG59KTtcclxuXHJcblZ1ZS5jb21wb25lbnQoJ21haW5TdGF0aXN0aWNzJywgbWFpblN0YXRpc3RpY3MpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */, /* 2 */, /* 3 */, /* 4 */, /* 5 */, /* 6 */, /* 7 */, /* 8 */, /* 9 */, /* 10 */, /* 11 */ /*!********************************!*\ !*** E:/sheverAPP/APP/App.vue ***! \********************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 12);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=css& */ 14);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib/runtime/componentNormalizer.js */ 16);\nvar render, staticRenderFns\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"sheverAPP/APP/App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUN1RDtBQUNMO0FBQ2E7OztBQUcvRDtBQUNpSTtBQUNqSSxnQkFBZ0Isa0pBQVU7QUFDMUIsRUFBRSx5RUFBTTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLElBQUksS0FBVSxFQUFFLFlBWWY7QUFDRDtBQUNlLGdGIiwiZmlsZSI6IjExLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9Y3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCJFOlxcXFxIYnVpbGRlclhcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcdnVlLWhvdC1yZWxvYWQtYXBpXFxcXGRpc3RcXFxcaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIW1vZHVsZS5ob3QuZGF0YSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMmMwNWUxMTgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMmMwNWUxMTgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic2hldmVyQVBQL0FQUC9BcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///11\n"); /***/ }), /* 12 */ /*!*********************************************************!*\ !*** E:/sheverAPP/APP/App.vue?vue&type=script&lang=js& ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib??vue-loader-options!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 13);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZ0QixDQUFnQixnd0JBQUcsRUFBQyIsImZpbGUiOiIxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xMi0xIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vd2VicGFjay11bmktbXAtbG9hZGVyL2xpYi9zY3JpcHQuanMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMTItMSEuLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc2NyaXB0LmpzIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stY3VzdG9tLWJsb2NrLWxvYWRlci9pbmRleC5qcz8/cmVmLS0wLTEhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby93ZWJwYWNrLXVuaS1tcC1sb2FkZXIvbGliL3N0eWxlLmpzIS4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///12\n"); /***/ }), /* 13 */ /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/sheverAPP/APP/App.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(__f__, uni) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _default =\n{\n onLaunch: function onLaunch() {\n console.log(__f__('App Launch', \" at App.vue:4\"));\n //默认语言\n var lan = 'en';\n\n // var lan = 'zh'\n try {\n var res = uni.getSystemInfoSync();\n lan = res.language;\n } catch (e) {\n console.log(__f__('error=' + e, \" at App.vue:13\"));\n }\n console.log(__f__('lan=' + lan, \" at App.vue:15\"));\n if (lan == 'en') {\n this._i18n.locale = 'en-US';\n }\n if (lan == 'zh-Hans-CN' || lan == 'zh') {\n this._i18n.locale = 'zh-CN';\n }\n uni.setTabBarItem({ index: 0, text: this.$t('tabs.tab1') });\n uni.setTabBarItem({ index: 1, text: this.$t('tabs.tab2') });\n uni.setTabBarItem({ index: 2, text: this.$t('tabs.tab3') });\n uni.setTabBarItem({ index: 3, text: this.$t('tabs.tab4') });\n uni.setTabBarItem({ index: 4, text: this.$t('tabs.tab5') });\n }\n // onShow: function() {\n // \tconsole.log('App Show');\n // },\n // onHide: function() {\n // \tconsole.log('返回上一页');\n // \tuni.navigateTo({\n // \t url: 'pages/User/user'\n // \t});\n // },\n // onBackPress: function(){\n // \tconsole.log('返回上一页2');\n // }\n};exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-app-plus/dist/index.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBSEEsQ0FHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJDQSxDIiwiZmlsZSI6IjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRvbkxhdW5jaDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdBcHAgTGF1bmNoJyk7XHJcblx0XHRcdC8v6buY6K6k6K+t6KiAXHJcblx0XHRcdHZhciBsYW4gPSAnZW4nXHJcblx0XHRcdFxyXG5cdFx0XHQvLyB2YXIgbGFuID0gJ3poJ1xyXG5cdFx0XHQgdHJ5IHtcclxuXHRcdFx0XHRjb25zdCByZXMgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcclxuXHRcdFx0XHRsYW4gPSByZXMubGFuZ3VhZ2VcclxuXHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdlcnJvcj0nK2UpXHJcblx0XHRcdH1cclxuXHRcdFx0Y29uc29sZS5sb2coJ2xhbj0nK2xhbik7IFxyXG5cdFx0XHQgaWYobGFuID09ICdlbicpIHtcclxuXHRcdFx0XHQgdGhpcy5faTE4bi5sb2NhbGUgPSAnZW4tVVMnXHJcblx0XHRcdCB9XHJcblx0XHRcdCBpZihsYW4gPT0gJ3poLUhhbnMtQ04nIHx8IGxhbj09J3poJykge1xyXG5cdFx0XHRcdCB0aGlzLl9pMThuLmxvY2FsZSA9ICd6aC1DTidcclxuXHRcdFx0IH1cclxuXHRcdFx0IHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDAsdGV4dDogdGhpcy4kdCgndGFicy50YWIxJyl9KTtcclxuXHRcdFx0IHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDEsdGV4dDogdGhpcy4kdCgndGFicy50YWIyJyl9KTtcclxuXHRcdFx0IHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDIsdGV4dDogdGhpcy4kdCgndGFicy50YWIzJyl9KTtcclxuXHRcdFx0IHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDMsdGV4dDogdGhpcy4kdCgndGFicy50YWI0Jyl9KTtcclxuXHRcdFx0IHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDQsdGV4dDogdGhpcy4kdCgndGFicy50YWI1Jyl9KTtcclxuXHRcdH0sXHJcblx0XHQvLyBvblNob3c6IGZ1bmN0aW9uKCkge1xyXG5cdFx0Ly8gXHRjb25zb2xlLmxvZygnQXBwIFNob3cnKTtcclxuXHRcdC8vIH0sXHJcblx0XHQvLyBvbkhpZGU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0Ly8gXHRjb25zb2xlLmxvZygn6L+U5Zue5LiK5LiA6aG1Jyk7XHJcblx0XHQvLyBcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdC8vIFx0ICAgIHVybDogJ3BhZ2VzL1VzZXIvdXNlcidcclxuXHRcdC8vIFx0fSk7XHJcblx0XHQvLyB9LFxyXG5cdFx0Ly8gb25CYWNrUHJlc3M6IGZ1bmN0aW9uKCl7XHJcblx0XHQvLyBcdGNvbnNvbGUubG9nKCfov5Tlm57kuIrkuIDpobUyJyk7XHJcblx0XHQvLyB9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuPHN0eWxlPlxyXG5cdC8q5q+P5Liq6aG16Z2i5YWs5YWxY3NzICovXHJcblx0LyogdW5pLmNzcyAtIOmAmueUqOe7hOS7tuOAgeaooeadv+agt+W8j+W6k++8jOWPr+S7peW9k+S9nOS4gOWll3Vp5bqT5bqU55SoICovXHJcblx0QGltcG9ydCAnLi9jb21tb24vdW5pLmNzcyc7XHJcblx0LyogaWNvbuWbvuaghyAqL1xyXG5cdEBmb250LWZhY2Uge1xyXG5cdCAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7ICAvKiBwcm9qZWN0IGlkIDEwOTUxODggKi9cclxuXHQgIHNyYzogdXJsKCdodHRwczovL2F0LmFsaWNkbi5jb20vdC9mb250XzEwOTUxODhfbHZ3dGtua2sxNnMuZW90Jyk7XHJcblx0ICBzcmM6IHVybCgnaHR0cHM6Ly9hdC5hbGljZG4uY29tL3QvZm9udF8xMDk1MTg4X2x2d3RrbmtrMTZzLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0ICB1cmwoJ2h0dHBzOi8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTA5NTE4OF9sdnd0a25razE2cy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuXHQgIHVybCgnaHR0cHM6Ly9hdC5hbGljZG4uY29tL3QvZm9udF8xMDk1MTg4X2x2d3RrbmtrMTZzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHQgIHVybCgnaHR0cHM6Ly9hdC5hbGljZG4uY29tL3QvZm9udF8xMDk1MTg4X2x2d3RrbmtrMTZzLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuXHQgIHVybCgnaHR0cHM6Ly9hdC5hbGljZG4uY29tL3QvZm9udF8xMDk1MTg4X2x2d3RrbmtrMTZzLnN2ZyNpY29uZm9udCcpIGZvcm1hdCgnc3ZnJyk7XHJcblx0fVxyXG5cdC5pY29uIHtcclxuXHQgIGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0ICBjb2xvcjogIzAwMDAwMDtcclxuXHQgIGZvbnQtZmFtaWx5OiBpY29uZm9udDtcclxuXHR9XHJcblx0Lmljb24td2FybmluZzpiZWZvcmUgeyBcclxuXHRcdGNvbnRlbnQ6ICdcXGU2MDQnO1xyXG5cdFx0Zm9udC1zaXplOiA0OHVweDtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n"); /***/ }), /* 14 */ /*!*****************************************************************!*\ !*** E:/sheverAPP/APP/App.vue?vue&type=style&index=0&lang=css& ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-1!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/css-loader??ref--6-oneOf-1-2!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib??vue-loader-options!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css& */ 15);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQSs4QixDQUFnQixpK0JBQUcsRUFBQyIsImZpbGUiOiIxNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTYtb25lT2YtMS0wIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTEhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTIhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTYtb25lT2YtMS0wIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTEhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTIhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///14\n"); /***/ }), /* 15 */ /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-1!./node_modules/css-loader??ref--6-oneOf-1-2!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/sheverAPP/APP/App.vue?vue&type=style&index=0&lang=css& ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///15\n"); /***/ }), /* 16 */, /* 17 */, /* 18 */, /* 19 */, /* 20 */, /* 21 */, /* 22 */, /* 23 */, /* 24 */, /* 25 */, /* 26 */, /* 27 */, /* 28 */, /* 29 */, /* 30 */, /* 31 */, /* 32 */, /* 33 */, /* 34 */, /* 35 */, /* 36 */ /*!********************************************************!*\ !*** E:/sheverAPP/APP/pages/Charts/mainStatistics.vue ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mainStatistics.vue?vue&type=template&id=5612b7fe& */ 37);\n/* harmony import */ var _mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mainStatistics.vue?vue&type=script&lang=js& */ 39);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mainStatistics.vue?vue&type=style&index=0&lang=css& */ 46);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"sheverAPP/APP/pages/Charts/mainStatistics.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUE2RjtBQUMzQjtBQUNMO0FBQ2E7OztBQUcxRTtBQUN1STtBQUN2SSxnQkFBZ0Isa0pBQVU7QUFDMUIsRUFBRSxvRkFBTTtBQUNSLEVBQUUseUZBQU07QUFDUixFQUFFLGtHQUFlO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEVBQUUsWUFpQmY7QUFDRDtBQUNlLGdGIiwiZmlsZSI6IjM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTYxMmI3ZmUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbWFpblN0YXRpc3RpY3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vbWFpblN0YXRpc3RpY3MudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIkU6XFxcXEhidWlsZGVyWFxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFx2dWUtaG90LXJlbG9hZC1hcGlcXFxcZGlzdFxcXFxpbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghbW9kdWxlLmhvdC5kYXRhKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc1NjEyYjdmZScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc1NjEyYjdmZScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vbWFpblN0YXRpc3RpY3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTU2MTJiN2ZlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzU2MTJiN2ZlJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzaGV2ZXJBUFAvQVBQL3BhZ2VzL0NoYXJ0cy9tYWluU3RhdGlzdGljcy52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///36\n"); /***/ }), /* 37 */ /*!***************************************************************************************!*\ !*** E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=template&id=5612b7fe& ***! \***************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_templateLoader_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/templateLoader.js??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mainStatistics.vue?vue&type=template&id=5612b7fe& */ 38);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_templateLoader_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_templateLoader_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_template_id_5612b7fe___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiIzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4taGJ1aWxkZXJ4L3BhY2thZ2VzL3dlYnBhY2stdW5pLW52dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMTctMCEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvdGVtcGxhdGUuanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTYxMmI3ZmUmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///37\n"); /***/ }), /* 38 */ /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=template&id=5612b7fe& ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var m0 = _vm.$t(\"mainStatistics.name\")\n var m1 = _vm.$t(\"mainStatistics.company\")\n var m2 = _vm.$t(\"mainStatistics.dayTotalMoney\")\n var m3 = _vm.$t(\"mainStatistics.dayTotalNum\")\n var m4 = _vm.$t(\"mainStatistics.weekTotalMoney\")\n var m5 = _vm.$t(\"mainStatistics.weekTotalNum\")\n var m6 = _vm.$t(\"mainStatistics.monthTotalMoney\")\n var m7 = _vm.$t(\"mainStatistics.monthTotalNum\")\n var m8 = _vm.$t(\"mainStatistics.yearTotalMoney\")\n var m9 = _vm.$t(\"mainStatistics.yearTotalNum\")\n var m10 = _vm.$t(\"mainStatistics.machineTotalNum\")\n var m11 = _vm.$t(\"mainStatistics.machineUseNum\")\n var m12 = _vm.$t(\"mainStatistics.day\")\n var m13 = _vm.$t(\"mainStatistics.week\")\n var m14 = _vm.$t(\"mainStatistics.month\")\n var m15 = _vm.$t(\"mainStatistics.year\")\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n m0: m0,\n m1: m1,\n m2: m2,\n m3: m3,\n m4: m4,\n m5: m5,\n m6: m6,\n m7: m7,\n m8: m8,\n m9: m9,\n m10: m10,\n m11: m11,\n m12: m12,\n m13: m13,\n m14: m14,\n m15: m15\n }\n }\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgdmFyIG0wID0gX3ZtLiR0KFwibWFpblN0YXRpc3RpY3MubmFtZVwiKVxuICB2YXIgbTEgPSBfdm0uJHQoXCJtYWluU3RhdGlzdGljcy5jb21wYW55XCIpXG4gIHZhciBtMiA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLmRheVRvdGFsTW9uZXlcIilcbiAgdmFyIG0zID0gX3ZtLiR0KFwibWFpblN0YXRpc3RpY3MuZGF5VG90YWxOdW1cIilcbiAgdmFyIG00ID0gX3ZtLiR0KFwibWFpblN0YXRpc3RpY3Mud2Vla1RvdGFsTW9uZXlcIilcbiAgdmFyIG01ID0gX3ZtLiR0KFwibWFpblN0YXRpc3RpY3Mud2Vla1RvdGFsTnVtXCIpXG4gIHZhciBtNiA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLm1vbnRoVG90YWxNb25leVwiKVxuICB2YXIgbTcgPSBfdm0uJHQoXCJtYWluU3RhdGlzdGljcy5tb250aFRvdGFsTnVtXCIpXG4gIHZhciBtOCA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLnllYXJUb3RhbE1vbmV5XCIpXG4gIHZhciBtOSA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLnllYXJUb3RhbE51bVwiKVxuICB2YXIgbTEwID0gX3ZtLiR0KFwibWFpblN0YXRpc3RpY3MubWFjaGluZVRvdGFsTnVtXCIpXG4gIHZhciBtMTEgPSBfdm0uJHQoXCJtYWluU3RhdGlzdGljcy5tYWNoaW5lVXNlTnVtXCIpXG4gIHZhciBtMTIgPSBfdm0uJHQoXCJtYWluU3RhdGlzdGljcy5kYXlcIilcbiAgdmFyIG0xMyA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLndlZWtcIilcbiAgdmFyIG0xNCA9IF92bS4kdChcIm1haW5TdGF0aXN0aWNzLm1vbnRoXCIpXG4gIHZhciBtMTUgPSBfdm0uJHQoXCJtYWluU3RhdGlzdGljcy55ZWFyXCIpXG4gIF92bS4kbXAuZGF0YSA9IE9iamVjdC5hc3NpZ24oXG4gICAge30sXG4gICAge1xuICAgICAgJHJvb3Q6IHtcbiAgICAgICAgbTA6IG0wLFxuICAgICAgICBtMTogbTEsXG4gICAgICAgIG0yOiBtMixcbiAgICAgICAgbTM6IG0zLFxuICAgICAgICBtNDogbTQsXG4gICAgICAgIG01OiBtNSxcbiAgICAgICAgbTY6IG02LFxuICAgICAgICBtNzogbTcsXG4gICAgICAgIG04OiBtOCxcbiAgICAgICAgbTk6IG05LFxuICAgICAgICBtMTA6IG0xMCxcbiAgICAgICAgbTExOiBtMTEsXG4gICAgICAgIG0xMjogbTEyLFxuICAgICAgICBtMTM6IG0xMyxcbiAgICAgICAgbTE0OiBtMTQsXG4gICAgICAgIG0xNTogbTE1XG4gICAgICB9XG4gICAgfVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n"); /***/ }), /* 39 */ /*!*********************************************************************************!*\ !*** E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=script&lang=js& ***! \*********************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mainStatistics.vue?vue&type=script&lang=js& */ 40);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTR3QixDQUFnQiwyd0JBQUcsRUFBQyIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xMi0xIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vd2VicGFjay11bmktbXAtbG9hZGVyL2xpYi9zY3JpcHQuanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xMi0xIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vd2VicGFjay11bmktbXAtbG9hZGVyL2xpYi9zY3JpcHQuanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///39\n"); /***/ }), /* 40 */ /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 41));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _vuex = __webpack_require__(/*! vuex */ 31);\n\n\n\n\nvar _uCharts = _interopRequireDefault(__webpack_require__(/*! @/components/u-charts/u-charts.js */ 44));\nvar _util = __webpack_require__(/*! @/common/util.js */ 45);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);}_next(undefined);});};}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};var ownKeys = Object.keys(source);if (typeof Object.getOwnPropertySymbols === 'function') {ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {return Object.getOwnPropertyDescriptor(source, sym).enumerable;}));}ownKeys.forEach(function (key) {_defineProperty(target, key, source[key]);});}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\n\n\n\nvar _self;\nvar canvaColumn1 = null;\nvar canvaColumn2 = null;\nvar canvaColumn3 = null;\nvar canvaColumn4 = null;var _default =\n{\n name: 'mainStatistics',\n props: {\n equipmentId: '',\n adminId: '',\n pname: '' },\n\n data: function data() {\n return {\n machineTotalNum: 0,\n machineUseNum: 0,\n dayTotalMoney: 0,\n dayTotalNum: 0,\n weekTotalMoney: 0,\n weekTotalNum: 0,\n monthTotalMoney: 0,\n monthTotalNum: 0,\n yearTotalMoney: 0,\n yearTotalNum: 0,\n cWidth: '',\n cHeight: '',\n pixelRatio: 1,\n startDate1: '',\n startDate2: '',\n endDate2: '',\n startDate3: '',\n endDate3: '',\n startDate4: '',\n endDate4: '',\n today: '',\n week: ''\n // pname:''\n };\n },\n computed: _objectSpread({},\n (0, _vuex.mapState)(['loginUser']), {\n pnameData: {\n get: function get() {\n return this.pname;\n } } }),\n\n\n // onLoad(option){\n // \tconsole.log(\"onLoad\")\n // \tthis.init();\n // },\n onShow: function onShow() {\n uni.setNavigationBarTitle({ title: this.$t('mainStatistics.title') });\n uni.setTabBarItem({ index: 0, text: this.$t('tabs.tab1') });\n // console.log(\"onShow\");\n var test = uni.getStorageSync('test');\n //判断是不是初次登陆\n if (test == 2) {\n this.init();\n }\n this.day();\n },\n mounted: function mounted() {\n // console.log(\"mounted\");\n this.init();\n this.day();\n },\n methods: _objectSpread({},\n (0, _vuex.mapActions)('chart', ['getStatistics', 'getMainStatistics', 'getMachineNum']), {\n init: function () {var _init = _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:\n if (!this.pname) {\n this.pname = this.loginUser.name;\n }\n _self = this;\n //图表中图\n this.cWidth = uni.upx2px(690);\n this.cHeight = uni.upx2px(370);_context.next = 6;return (\n\n this.getMainStatisticsData());case 6:_context.next = 8;return (\n\n this.initDateRang(new Date(), 'day'));case 8:_context.next = 10;return (\n this.initDateRang(new Date(), 'week'));case 10:_context.next = 12;return (\n this.initDateRang(new Date(), 'month'));case 12:_context.next = 14;return (\n this.initDateRang(new Date(), 'year'));case 14:\n\n //初次登陆跳转后,把test变成2\n uni.setStorageSync('test', '2');case 15:case \"end\":return _context.stop();}}}, _callee, this);}));function init() {return _init.apply(this, arguments);}return init;}(),\n\n\n day: function day() {\n var date = new Date();\n // var daystr = dateUtils.formateDate(date, 'yyyy年MM月dd日');\n var daystr = _util.dateUtils.formateDate(date, 'yyyy-MM-dd');\n this.today = daystr;\n // var str= '星期'+'日一二三四五六'.charAt(date.getDay());\n this.week = this.$t('mainStatistics.week' + date.getDay());\n // if(this.$t('mainStatistics.name')=='Name'){\n // \tif(date.getDay()=='0'){\n // \t\tthis.week = \"SUN\";\n // \t}\n // \tif(date.getDay()=='1'){\n // \t\tthis.week = \"MON\";\n // \t}\n // \tif(date.getDay()=='2'){\n // \t\tthis.week = \"TUE\";\n // \t}\n // \tif(date.getDay()=='3'){\n // \t\tthis.week = \"WED\";\n // \t}\n // \tif(date.getDay()=='4'){\n // \t\tthis.week = \"THU\";\n // \t}\n // \tif(date.getDay()=='5'){\n // \t\tthis.week = \"FRI\";\n // \t}\n // \tif(date.getDay()=='6'){\n // \t\tthis.week = \"SAT\";\n // \t}\n // }\n },\n initDateRang: function initDateRang(day, chartType) {\n var daystr = _util.dateUtils.formateDate(day, 'yyyy/MM/dd');\n if (chartType === 'day') {\n this.startDate1 = _util.dateUtils.formateDate(day, 'yyyy/MM/dd');\n }\n if (chartType === 'week') {\n this.startDate2 = _util.dateUtils.formateDate(_util.dateUtils.getFirstDayOfWeek(day), 'yyyy/MM/dd');\n this.endDate2 = _util.dateUtils.formateDate(_util.dateUtils.getLastDayOfWeek(day), 'yyyy/MM/dd');\n }\n if (chartType === 'month') {\n this.startDate3 = _util.dateUtils.formateDate(_util.dateUtils.getCurrentMonFirstDate(day), 'yyyy/MM/dd');\n this.endDate3 = _util.dateUtils.formateDate(_util.dateUtils.getCurrentMonLastDate(day), 'yyyy/MM/dd');\n }\n if (chartType === 'year') {\n this.startDate4 = _util.dateUtils.formateDate(_util.dateUtils.getCurrentYearFirstDate(day), 'yyyy/MM/dd');\n this.endDate4 = _util.dateUtils.formateDate(_util.dateUtils.getCurrentYearLastDate(day), 'yyyy/MM/dd');\n }\n\n return this.getStatisticsData(chartType);\n },\n /**上一个 */\n pre: function pre(chartType) {\n var day;\n if (chartType === 'day') {// 日\n day = new Date(this.startDate1);\n day.setDate(day.getDate() - 1);\n }\n if (chartType === 'week') {// 周\n day = new Date(this.startDate2);\n day.setDate(day.getDate() - 7);\n }\n if (chartType === 'month') {// 月\n day = new Date(this.startDate3);\n day.setMonth(day.getMonth() - 1);\n }\n if (chartType === 'year') {// 年\n day = new Date(this.startDate4);\n day.setFullYear(day.getFullYear() - 1);\n }\n this.initDateRang(day, chartType);\n },\n /**下一个 */\n next: function next(chartType) {\n var day;\n if (chartType === 'day') {// 日\n day = new Date(this.startDate1);\n day.setDate(day.getDate() + 1);\n }\n if (chartType === 'week') {// 周\n day = new Date(this.startDate2);\n day.setDate(day.getDate() + 7);\n }\n if (chartType === 'month') {// 月\n day = new Date(this.startDate3);\n day.setMonth(day.getMonth() + 1);\n }\n if (chartType === 'year') {// 年\n day = new Date(this.startDate4);\n day.setFullYear(day.getFullYear() + 1);\n }\n\n this.initDateRang(day, chartType);\n },\n getStatisticsData: function getStatisticsData(chartType) {var _this = this;\n var param = {\n 'chartType': chartType };\n\n if (chartType == 'day') {\n param['startDate'] = this.startDate1;\n param['endDate'] = this.startDate1;\n }\n if (chartType == 'week') {\n param['startDate'] = this.startDate2;\n param['endDate'] = this.endDate2;\n }\n if (chartType == 'month') {\n param['startDate'] = this.startDate3;\n param['endDate'] = this.endDate3;\n }\n if (chartType == 'year') {\n param['startDate'] = this.startDate4;\n param['endDate'] = this.endDate4;\n }\n if (this.adminId) {// 子组件,则拿传过来的参\n param['adminId'] = this.adminId;\n } else if ('admin' !== this.loginUser['username']) {//否则为主页,拿登录用户\n param['adminId'] = this.loginUser['id'];\n }\n if (this.equipmentId) {\n param['equipmentId'] = this.equipmentId;\n }\n\n return this.getStatistics(param).\n then(function (data) {\n uni.stopPullDownRefresh();\n if (param['chartType'] == 'day') {\n canvaColumn1 = _this.initChart('canvaColumn1', data);\n }\n if (param['chartType'] == 'week') {\n canvaColumn2 = _this.initChart('canvaColumn2', data);\n }\n if (param['chartType'] == 'month') {\n canvaColumn3 = _this.initChart('canvaColumn3', data);\n }\n if (param['chartType'] == 'year') {\n canvaColumn4 = _this.initChart('canvaColumn4', data);\n }\n\n }, function (_) {\n uni.stopPullDownRefresh();\n if (param['chartType'] == 'day') {\n canvaColumn1 = _this.initChart('canvaColumn1', {\n categories: ['暂无数据'],\n series: [{\n name: '销售个数',\n data: [0] }] });\n\n\n }\n if (param['chartType'] == 'week') {\n canvaColumn2 = _this.initChart('canvaColumn2', {\n categories: ['暂无数据'],\n series: [{\n name: '销售个数',\n data: [0] }] });\n\n\n }\n if (param['chartType'] == 'month') {\n canvaColumn3 = _this.initChart('canvaColumn3', {\n categories: ['暂无数据'],\n series: [{\n name: '销售个数',\n data: [0] }] });\n\n\n }\n if (param['chartType'] == 'year') {\n canvaColumn4 = _this.initChart('canvaColumn4', {\n categories: ['暂无数据'],\n series: [{\n name: '销售个数',\n data: [0] }] });\n\n\n }\n });\n },\n initChart: function initChart(canvasId, chartData) {var _this2 = this;\n if (this.$t('lang') != 'zh') {\n chartData.categories = chartData.categories.map(function (e) {\n if (e.indexOf('点') >= 0) {\n return e.replace('点', _this2.$t('mainStatistics.oclock'));\n }\n if (e.indexOf('周') >= 0) {\n var weekNum = e.substring(e.length - 1) == '日' ? '0' : e.substring(e.length - 1);\n return _this2.$t('mainStatistics.week' + weekNum);\n }\n if (e.indexOf('月') >= 0) {\n var res = e.toString();\n if (res.length > 3) {\n return e.replace('月', _this2.$t('mainStatistics.mon'));\n } else {\n return e.replace('月', _this2.$t('mainStatistics.y'));\n }\n }\n return e;\n });\n\n chartData.series = chartData.series.map(function (e) {\n if (e['name'] == '销售个数') {\n e['name'] = _this2.$t('mainStatistics.saleNum');\n }\n if (e['name'] == '销售额') {\n e['name'] = _this2.$t('mainStatistics.saleroom');\n }\n return e;\n });\n }\n return new _uCharts.default({\n $this: _self,\n canvasId: canvasId,\n enableScroll: true,\n type: 'column',\n legend: true,\n fontSize: 10,\n background: '#FFFFFF', //y轴颜色\n pixelRatio: 1,\n animation: true,\n categories: chartData.categories,\n series: chartData.series,\n xAxis: {\n type: 'grid',\n gridType: 'dash',\n itemCount: 5, //x轴单屏显示数据的数量,默认为5个\n scrollShow: true, //新增是否显示滚动条,默认false\n scrollAlign: 'left', //滚动条初始位置\n scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF 滚动条颜色底色\n scrollColor: '#DEE7F7', //默认为 #A6A6A6 滚动条颜色\n disableGrid: true },\n\n\n yAxis: {\n\n type: 'grid',\n gridType: 'soild'\n // disabled:true\n // disableGrid:true,\n },\n dataLabel: true,\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio,\n extra: {\n column: {\n // width: _self.cWidth*_self.pixelRatio*0.45/chartData.categories.length\n width: 18 } } });\n\n\n\n },\n getMainStatisticsData: function getMainStatisticsData() {var _this3 = this;\n var param = {};\n if (this.adminId) {// 子组件,则拿传过来的参\n param['adminId'] = this.adminId;\n } else if ('admin' !== this.loginUser['username']) {//否则为主页,拿登录用户\n param['adminId'] = this.loginUser['id'];\n }\n if (this.equipmentId) {\n param['equipmentId'] = this.equipmentId;\n }\n // console.log('getMainStatisticsData:{}', param);\n var adminId = param.adminId;\n var equipmentId = this.equipmentId;\n var serverurl = this.serverurl;\n uni.request({\n url: serverurl + '/TEquipment/getMachineNum',\n data: {\n \"adminId\": adminId,\n \"equipmentId\": equipmentId },\n\n method: \"POST\",\n success: function success(res) {\n var list = res.data.data;\n _this3.machineTotalNum = list[0];\n _this3.machineUseNum = list[1];\n } });\n\n return this.getMainStatistics(param).\n then(function (data) {var _iteratorNormalCompletion = true;var _didIteratorError = false;var _iteratorError = undefined;try {\n for (var _iterator = data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {var bean = _step.value;\n if (bean['categorie'] === 'day') {\n _this3.dayTotalMoney = bean['salePrice'];\n _this3.dayTotalNum = bean['saleNum'];\n }\n if (bean['categorie'] === 'week') {\n _this3.weekTotalMoney = bean['salePrice'];\n _this3.weekTotalNum = bean['saleNum'];\n }\n if (bean['categorie'] === 'month') {\n _this3.monthTotalMoney = bean['salePrice'];\n _this3.monthTotalNum = bean['saleNum'];\n }\n if (bean['categorie'] === 'year') {\n _this3.yearTotalMoney = bean['salePrice'];\n _this3.yearTotalNum = bean['saleNum'];\n }\n }} catch (err) {_didIteratorError = true;_iteratorError = err;} finally {try {if (!_iteratorNormalCompletion && _iterator.return != null) {_iterator.return();}} finally {if (_didIteratorError) {throw _iteratorError;}}}\n uni.stopPullDownRefresh();\n }, function (_) {return void uni.stopPullDownRefresh();});\n },\n\n touchLine1: function touchLine1(e) {\n if (canvaColumn1) {\n canvaColumn1.scrollStart(e);\n }\n },\n moveLine1: function moveLine1(e) {\n if (canvaColumn1) {\n canvaColumn1.scroll(e);\n }\n },\n touchEndLine1: function touchEndLine1(e) {\n if (canvaColumn1) {\n canvaColumn1.scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvaColumn1.showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n }\n },\n touchLine2: function touchLine2(e) {\n if (canvaColumn2) {\n canvaColumn2.scrollStart(e);\n }\n },\n moveLine2: function moveLine2(e) {\n if (canvaColumn2) {\n canvaColumn2.scroll(e);\n }\n },\n touchEndLine2: function touchEndLine2(e) {\n if (canvaColumn2) {\n canvaColumn2.scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvaColumn2.showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n }\n },\n touchLine3: function touchLine3(e) {\n if (canvaColumn3) {\n canvaColumn3.scrollStart(e);\n }\n },\n moveLine3: function moveLine3(e) {\n if (canvaColumn3) {\n canvaColumn3.scroll(e);\n }\n },\n touchEndLine3: function touchEndLine3(e) {\n if (canvaColumn3) {\n canvaColumn3.scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvaColumn3.showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n }\n },\n touchLine4: function touchLine4(e) {\n if (canvaColumn4) {\n canvaColumn4.scrollStart(e);\n }\n },\n moveLine4: function moveLine4(e) {\n if (canvaColumn4) {\n canvaColumn4.scroll(e);\n }\n },\n touchEndLine4: function touchEndLine4(e) {\n if (canvaColumn4) {\n canvaColumn4.scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvaColumn4.showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n }\n } }) };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-app-plus/dist/index.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvQ2hhcnRzL21haW5TdGF0aXN0aWNzLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0tBOzs7OztBQUtBO0FBQ0EsNEQ7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCO0FBQ0E7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsbUJBREE7QUFFQSxlQUZBO0FBR0EsYUFIQSxFQUZBOztBQU9BLE1BUEEsa0JBT0E7QUFDQTtBQUNBLHdCQURBO0FBRUEsc0JBRkE7QUFHQSxzQkFIQTtBQUlBLG9CQUpBO0FBS0EsdUJBTEE7QUFNQSxxQkFOQTtBQU9BLHdCQVBBO0FBUUEsc0JBUkE7QUFTQSx1QkFUQTtBQVVBLHFCQVZBO0FBV0EsZ0JBWEE7QUFZQSxpQkFaQTtBQWFBLG1CQWJBO0FBY0Esb0JBZEE7QUFlQSxvQkFmQTtBQWdCQSxrQkFoQkE7QUFpQkEsb0JBakJBO0FBa0JBLGtCQWxCQTtBQW1CQSxvQkFuQkE7QUFvQkEsa0JBcEJBO0FBcUJBLGVBckJBO0FBc0JBO0FBQ0E7QUF2QkE7QUF5QkEsR0FqQ0E7QUFrQ0E7QUFDQSxvQ0FEQTtBQUVBO0FBQ0EsU0FEQSxpQkFDQTtBQUNBO0FBQ0EsT0FIQSxFQUZBLEdBbENBOzs7QUEwQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQTlDQSxvQkE4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQXhEQTtBQXlEQSxTQXpEQSxxQkF5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQTdEQTtBQThEQTtBQUNBLHlGQURBO0FBRUEsUUFGQTtBQUdB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QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXZYQTtBQXdYQSxpQkF4WEEseUJBd1hBLENBeFhBLEVBd1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FIQTs7QUFLQTtBQUNBLEtBbFlBO0FBbVlBLGNBbllBLHNCQW1ZQSxDQW5ZQSxFQW1ZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBdllBO0FBd1lBLGFBeFlBLHFCQXdZQSxDQXhZQSxFQXdZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBNVlBO0FBNllBLGlCQTdZQSx5QkE2WUEsQ0E3WUEsRUE2WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUhBOztBQUtBO0FBQ0EsS0F2WkEsR0E5REEsRSIsImZpbGUiOiI0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiaGVhZFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInVzZXJGbGFnaW1nXCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy91c2VyRmxhZy5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBuYW1lXCI+XHJcblx0XHRcdFx0PGZvbnQgY2xhc3M9XCJ3ZW56aVwiIHN0eWxlPVwiY29sb3I6ICNCREQ2RjM7Zm9udC1zaXplOjI4dXB4XCI+IHt7JHQoJ21haW5TdGF0aXN0aWNzLm5hbWUnKX19OiB7e3BuYW1lRGF0YX19PC9mb250PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY29tcGFueVwiPlxyXG5cdFx0XHRcdDxmb250IHN0eWxlPVwiY29sb3I6ICNCREQ2RjM7Zm9udC1zaXplOjI4dXB4XCI+e3skdCgnbWFpblN0YXRpc3RpY3MuY29tcGFueScpfX08L2ZvbnQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwicmlcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJyaVNoZWxsXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaUltZ1wiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwid2lkdGg6IDY0dXB4O2hlaWdodDogNjR1cHg7cGFkZGluZy10b3A6IDIwdXB4O1wiIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcmkucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaVRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cInRleHQtYWxpZ246bGVmdDtmb250LXNpemU6Mjh1cHg7Zm9udC1mYW1pbHk6UGluZ0ZhbmctU0MtTWVkaXVtXCI+XHJcblx0XHRcdFx0XHRcdDxmb250IGNsYXNzPVwiZm9udExlZnRcIiBzdHlsZT1cImNvbG9yOiAjNTk2RDgzO1wiPnt7JHQoJ21haW5TdGF0aXN0aWNzLmRheVRvdGFsTW9uZXknKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e2RheVRvdGFsTW9uZXl9fTwvZm9udD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyOHVweDtmb250LWZhbWlseTpQaW5nRmFuZy1TQy1NZWRpdW1cIj5cclxuXHRcdFx0XHRcdFx0PGZvbnQgY2xhc3M9XCJmb250TGVmdFwiIHN0eWxlPVwiY29sb3I6ICM1OTZEODM7XCI+e3skdCgnbWFpblN0YXRpc3RpY3MuZGF5VG90YWxOdW0nKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e2RheVRvdGFsTnVtfX08L2ZvbnQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicmlxaVwiPlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiIGNsYXNzPVwidG9keVwiPlxyXG5cdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogIzU5NkQ4MztcIj57e3RvZGF5fX08L2ZvbnQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiIGNsYXNzPVwieGluZ3FpXCI+XHJcblx0XHRcdFx0XHQ8Zm9udCBzdHlsZT1cImNvbG9yOiAjNTk2RDgzO1wiPnt7d2Vla319PC9mb250PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmb3VyVGl0bGVcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VyXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VySW1nXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDogNTR1cHg7aGVpZ2h0OiA1NHVweDtwYWRkaW5nLXRvcDogMjB1cHg7XCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy96aG91LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvdXJTaGVsbFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvbmVcIj5cclxuXHRcdFx0XHRcdFx0PGZvbnQgY2xhc3M9XCJmb250TGVmdFwiIHN0eWxlPVwiY29sb3I6ICM1OTZEODM7XCI+e3skdCgnbWFpblN0YXRpc3RpY3Mud2Vla1RvdGFsTW9uZXknKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e3dlZWtUb3RhbE1vbmV5fX08L2ZvbnQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR3b1wiPlxyXG5cdFx0XHRcdFx0XHQ8Zm9udCBjbGFzcz1cImZvbnRMZWZ0XCIgc3R5bGU9XCJjb2xvcjogIzU5NkQ4MztcIj57eyR0KCdtYWluU3RhdGlzdGljcy53ZWVrVG90YWxOdW0nKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e3dlZWtUb3RhbE51bX19PC9mb250PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VyXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VySW1nXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDogNTR1cHg7aGVpZ2h0OiA1NHVweDtwYWRkaW5nLXRvcDogMjB1cHg7XCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy95dWUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm91clNoZWxsXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9uZVwiPlxyXG5cdFx0XHRcdFx0XHQ8Zm9udCBjbGFzcz1cImZvbnRMZWZ0XCIgc3R5bGU9XCJjb2xvcjogIzU5NkQ4MztcIj57eyR0KCdtYWluU3RhdGlzdGljcy5tb250aFRvdGFsTW9uZXknKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e21vbnRoVG90YWxNb25leX19PC9mb250PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0d29cIj5cclxuXHRcdFx0XHRcdFx0PGZvbnQgY2xhc3M9XCJmb250TGVmdFwiIHN0eWxlPVwiY29sb3I6ICM1OTZEODM7XCI+e3skdCgnbWFpblN0YXRpc3RpY3MubW9udGhUb3RhbE51bScpfX06PC9mb250PlxyXG5cdFx0XHRcdFx0XHQ8Zm9udCBzdHlsZT1cImNvbG9yOiAjRUQzNDFGO1wiPnt7bW9udGhUb3RhbE51bX19PC9mb250PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VyXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VySW1nXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDogNTR1cHg7aGVpZ2h0OiA1NHVweDtwYWRkaW5nLXRvcDogMjB1cHg7XCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9uaWFuLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvdXJTaGVsbFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvbmVcIj5cclxuXHRcdFx0XHRcdFx0PGZvbnQgY2xhc3M9XCJmb250TGVmdFwiIHN0eWxlPVwiY29sb3I6ICM1OTZEODM7XCI+e3skdCgnbWFpblN0YXRpc3RpY3MueWVhclRvdGFsTW9uZXknKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e3llYXJUb3RhbE1vbmV5fX08L2ZvbnQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR3b1wiPlxyXG5cdFx0XHRcdFx0XHQ8Zm9udCBjbGFzcz1cImZvbnRMZWZ0XCIgc3R5bGU9XCJjb2xvcjogIzU5NkQ4MztcIj57eyR0KCdtYWluU3RhdGlzdGljcy55ZWFyVG90YWxOdW0nKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e3llYXJUb3RhbE51bX19PC9mb250PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VyXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3VySW1nXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDogNTR1cHg7aGVpZ2h0OiA1NHVweDtwYWRkaW5nLXRvcDogMjB1cHg7XCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy96b25nLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvdXJTaGVsbFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvbmVcIj5cclxuXHRcdFx0XHRcdFx0PGZvbnQgY2xhc3M9XCJmb250TGVmdFwiIHN0eWxlPVwiY29sb3I6ICM1OTZEODM7XCI+e3skdCgnbWFpblN0YXRpc3RpY3MubWFjaGluZVRvdGFsTnVtJyl9fTo8L2ZvbnQ+XHJcblx0XHRcdFx0XHRcdDxmb250IHN0eWxlPVwiY29sb3I6ICNFRDM0MUY7XCI+e3ttYWNoaW5lVG90YWxOdW19fTwvZm9udD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidHdvXCI+XHJcblx0XHRcdFx0XHRcdDxmb250IGNsYXNzPVwiZm9udExlZnRcIiBzdHlsZT1cImNvbG9yOiAjNTk2RDgzO1wiPnt7JHQoJ21haW5TdGF0aXN0aWNzLm1hY2hpbmVVc2VOdW0nKX19OjwvZm9udD5cclxuXHRcdFx0XHRcdFx0PGZvbnQgc3R5bGU9XCJjb2xvcjogI0VEMzQxRjtcIj57e21hY2hpbmVVc2VOdW19fTwvZm9udD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jb2x1bW5zXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1iZy13aGl0ZSBxaXVuLXRpdGxlLWJhciBxaXVuLWNvbW1vbi1tdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi10aXRsZS1kb3QtbGlnaHRcIj48dmlldyBjbGFzcz1cImRpc1wiPnt7JHQoJ21haW5TdGF0aXN0aWNzLmRheScpfX08L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2hpamlhblwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO3Bvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJwcmUoJ2RheScpXCIgY2xhc3M9XCJwcmVJbWdcIiBzcmM9XCIvc3RhdGljL2ltZy9sZWZ0VHJpYW5nbGUucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDxzcGFuPnt7c3RhcnREYXRlMX19PC9zcGFuPlxyXG5cdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cIm5leHQoJ2RheScpXCIgY2xhc3M9XCJuZXh0SW1nXCIgc3JjPVwiL3N0YXRpYy9pbWcvcmlnaHRUcmlhbmdsZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY2hhcnRzXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1wiPlxyXG5cdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFDb2x1bW4xXCIgaWQ9XCJjYW52YUNvbHVtbjFcIiBjbGFzcz1cImNoYXJ0c1wiIGRpc2FibGUtc2Nyb2xsPXRydWUgQHRvdWNoc3RhcnQ9XCJ0b3VjaExpbmUxXCJcclxuXHRcdFx0XHQgQHRvdWNobW92ZT1cIm1vdmVMaW5lMVwiIEB0b3VjaGVuZD1cInRvdWNoRW5kTGluZTFcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XCI+PC9jYW52YXM+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibGluZVwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jb2x1bW5zXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1iZy13aGl0ZSBxaXVuLXRpdGxlLWJhciBxaXVuLWNvbW1vbi1tdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi10aXRsZS1kb3QtbGlnaHRcIj48dmlldyBjbGFzcz1cImRpc1wiPnt7JHQoJ21haW5TdGF0aXN0aWNzLndlZWsnKX19PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNoaWppYW5cIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwicHJlKCd3ZWVrJylcIiBjbGFzcz1cInByZUltZ1wiIHNyYz1cIi9zdGF0aWMvaW1nL2xlZnRUcmlhbmdsZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHNwYW4+e3tzdGFydERhdGUyfX0gLS0ge3tlbmREYXRlMn19PC9zcGFuPlxyXG5cdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cIm5leHQoJ3dlZWsnKVwiIGNsYXNzPVwibmV4dEltZ1wiIHNyYz1cIi9zdGF0aWMvaW1nL3JpZ2h0VHJpYW5nbGUucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNoYXJ0c1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcIj5cclxuXHRcdFx0XHQ8Y2FudmFzIGNhbnZhcy1pZD1cImNhbnZhQ29sdW1uMlwiIGlkPVwiY2FudmFDb2x1bW4yXCIgY2xhc3M9XCJjaGFydHNcIiBkaXNhYmxlLXNjcm9sbD10cnVlIEB0b3VjaHN0YXJ0PVwidG91Y2hMaW5lMlwiXHJcblx0XHRcdFx0IEB0b3VjaG1vdmU9XCJtb3ZlTGluZTJcIiBAdG91Y2hlbmQ9XCJ0b3VjaEVuZExpbmUyXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1wiPjwvY2FudmFzPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImxpbmVcIj48L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY29sdW1uc1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tYmctd2hpdGUgcWl1bi10aXRsZS1iYXIgcWl1bi1jb21tb24tbXRcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tdGl0bGUtZG90LWxpZ2h0XCI+PHZpZXcgY2xhc3M9XCJkaXNcIj57eyR0KCdtYWluU3RhdGlzdGljcy5tb250aCcpfX08L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2hpamlhblwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO3Bvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJwcmUoJ21vbnRoJylcIiBjbGFzcz1cInByZUltZ1wiIHNyYz1cIi9zdGF0aWMvaW1nL2xlZnRUcmlhbmdsZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHNwYW4+e3tzdGFydERhdGUzfX0gLS0ge3tlbmREYXRlM319PC9zcGFuPlxyXG5cdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cIm5leHQoJ21vbnRoJylcIiBjbGFzcz1cIm5leHRJbWdcIiBzcmM9XCIvc3RhdGljL2ltZy9yaWdodFRyaWFuZ2xlLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jaGFydHNcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XCI+XHJcblx0XHRcdFx0PGNhbnZhcyBjYW52YXMtaWQ9XCJjYW52YUNvbHVtbjNcIiBpZD1cImNhbnZhQ29sdW1uM1wiIGNsYXNzPVwiY2hhcnRzXCIgZGlzYWJsZS1zY3JvbGw9dHJ1ZSBAdG91Y2hzdGFydD1cInRvdWNoTGluZTNcIlxyXG5cdFx0XHRcdCBAdG91Y2htb3ZlPVwibW92ZUxpbmUzXCIgQHRvdWNoZW5kPVwidG91Y2hFbmRMaW5lM1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcIj48L2NhbnZhcz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJsaW5lXCI+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNvbHVtbnNcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWJnLXdoaXRlIHFpdW4tdGl0bGUtYmFyIHFpdW4tY29tbW9uLW10XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLXRpdGxlLWRvdC1saWdodFwiPjx2aWV3IGNsYXNzPVwiZGlzXCI+e3skdCgnbWFpblN0YXRpc3RpY3MueWVhcicpfX08L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2hpamlhblwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO3Bvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJwcmUoJ3llYXInKVwiIGNsYXNzPVwicHJlSW1nXCIgc3JjPVwiL3N0YXRpYy9pbWcvbGVmdFRyaWFuZ2xlLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8c3Bhbj57e3N0YXJ0RGF0ZTR9fSAtLSB7e2VuZERhdGU0fX08L3NwYW4+XHJcblx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwibmV4dCgneWVhcicpXCIgY2xhc3M9XCJuZXh0SW1nXCIgc3JjPVwiL3N0YXRpYy9pbWcvcmlnaHRUcmlhbmdsZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY2hhcnRzXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1wiPlxyXG5cdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFDb2x1bW40XCIgaWQ9XCJjYW52YUNvbHVtbjRcIiBjbGFzcz1cImNoYXJ0c1wiIGRpc2FibGUtc2Nyb2xsPXRydWUgQHRvdWNoc3RhcnQ9XCJ0b3VjaExpbmU0XCJcclxuXHRcdFx0XHQgQHRvdWNobW92ZT1cIm1vdmVMaW5lNFwiIEB0b3VjaGVuZD1cInRvdWNoRW5kTGluZTRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XCI+PC9jYW52YXM+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcEFjdGlvbnMsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gJ3Z1ZXgnO1xyXG5cdGltcG9ydCB1Q2hhcnRzIGZyb20gJ0AvY29tcG9uZW50cy91LWNoYXJ0cy91LWNoYXJ0cy5qcyc7XHJcblx0aW1wb3J0IHtcclxuXHRcdGRhdGVVdGlsc1xyXG5cdH0gZnJvbSAnQC9jb21tb24vdXRpbC5qcyc7XHJcblxyXG5cdHZhciBfc2VsZjtcclxuXHR2YXIgY2FudmFDb2x1bW4xID0gbnVsbDtcclxuXHR2YXIgY2FudmFDb2x1bW4yID0gbnVsbDtcclxuXHR2YXIgY2FudmFDb2x1bW4zID0gbnVsbDtcclxuXHR2YXIgY2FudmFDb2x1bW40ID0gbnVsbDtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRuYW1lOiAnbWFpblN0YXRpc3RpY3MnLFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0ZXF1aXBtZW50SWQ6ICcnLFxyXG5cdFx0XHRhZG1pbklkOiAnJyxcclxuXHRcdFx0cG5hbWU6ICcnLFxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0bWFjaGluZVRvdGFsTnVtOiAwLFxyXG5cdFx0XHRcdG1hY2hpbmVVc2VOdW06IDAsXHJcblx0XHRcdFx0ZGF5VG90YWxNb25leTogMCxcclxuXHRcdFx0XHRkYXlUb3RhbE51bTogMCxcclxuXHRcdFx0XHR3ZWVrVG90YWxNb25leTogMCxcclxuXHRcdFx0XHR3ZWVrVG90YWxOdW06IDAsXHJcblx0XHRcdFx0bW9udGhUb3RhbE1vbmV5OiAwLFxyXG5cdFx0XHRcdG1vbnRoVG90YWxOdW06IDAsXHJcblx0XHRcdFx0eWVhclRvdGFsTW9uZXk6IDAsXHJcblx0XHRcdFx0eWVhclRvdGFsTnVtOiAwLFxyXG5cdFx0XHRcdGNXaWR0aDogJycsXHJcblx0XHRcdFx0Y0hlaWdodDogJycsXHJcblx0XHRcdFx0cGl4ZWxSYXRpbzogMSxcclxuXHRcdFx0XHRzdGFydERhdGUxOiAnJyxcclxuXHRcdFx0XHRzdGFydERhdGUyOiAnJyxcclxuXHRcdFx0XHRlbmREYXRlMjogJycsXHJcblx0XHRcdFx0c3RhcnREYXRlMzogJycsXHJcblx0XHRcdFx0ZW5kRGF0ZTM6ICcnLFxyXG5cdFx0XHRcdHN0YXJ0RGF0ZTQ6ICcnLFxyXG5cdFx0XHRcdGVuZERhdGU0OiAnJyxcclxuXHRcdFx0XHR0b2RheTonJyxcclxuXHRcdFx0XHR3ZWVrOicnXHJcblx0XHRcdFx0Ly8gcG5hbWU6JydcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdC4uLm1hcFN0YXRlKFsnbG9naW5Vc2VyJ10pLFxyXG5cdFx0XHRwbmFtZURhdGE6e1xyXG5cdFx0XHRcdGdldCgpe1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMucG5hbWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdC8vIG9uTG9hZChvcHRpb24pe1xyXG5cdFx0Ly8gXHRjb25zb2xlLmxvZyhcIm9uTG9hZFwiKVxyXG5cdFx0Ly8gXHR0aGlzLmluaXQoKTtcclxuXHRcdC8vIH0sXHJcblx0XHRvblNob3coKSB7XHJcblx0XHRcdHVuaS5zZXROYXZpZ2F0aW9uQmFyVGl0bGUoe3RpdGxlOiB0aGlzLiR0KCdtYWluU3RhdGlzdGljcy50aXRsZScpfSk7XHJcblx0XHRcdHVuaS5zZXRUYWJCYXJJdGVtKHsgaW5kZXg6IDAsdGV4dDogdGhpcy4kdCgndGFicy50YWIxJyl9KTtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coXCJvblNob3dcIik7XHJcblx0XHRcdHZhciB0ZXN0ID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd0ZXN0Jyk7XHJcblx0XHRcdC8v5Yik5pat5piv5LiN5piv5Yid5qyh55m76ZmGXHJcblx0XHRcdGlmICh0ZXN0ID09IDIpIHtcclxuXHRcdFx0XHR0aGlzLmluaXQoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmRheSgpO1xyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKFwibW91bnRlZFwiKTtcclxuXHRcdFx0dGhpcy5pbml0KCk7XHJcblx0XHRcdHRoaXMuZGF5KCk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQuLi5tYXBBY3Rpb25zKCdjaGFydCcsIFsnZ2V0U3RhdGlzdGljcycsICdnZXRNYWluU3RhdGlzdGljcycsICdnZXRNYWNoaW5lTnVtJ10pLFxyXG5cdFx0XHRhc3luYyBpbml0KCkge1xyXG5cdFx0XHRcdGlmICghdGhpcy5wbmFtZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5wbmFtZSA9IHRoaXMubG9naW5Vc2VyLm5hbWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdF9zZWxmID0gdGhpcztcclxuXHRcdFx0XHQvL+WbvuihqOS4reWbvlxyXG5cdFx0XHRcdHRoaXMuY1dpZHRoID0gdW5pLnVweDJweCg2OTApO1xyXG5cdFx0XHRcdHRoaXMuY0hlaWdodCA9IHVuaS51cHgycHgoMzcwKTtcclxuXHJcblx0XHRcdFx0YXdhaXQgdGhpcy5nZXRNYWluU3RhdGlzdGljc0RhdGEoKTtcclxuXHJcblx0XHRcdFx0YXdhaXQgdGhpcy5pbml0RGF0ZVJhbmcobmV3IERhdGUoKSwgJ2RheScpO1xyXG5cdFx0XHRcdGF3YWl0IHRoaXMuaW5pdERhdGVSYW5nKG5ldyBEYXRlKCksICd3ZWVrJyk7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy5pbml0RGF0ZVJhbmcobmV3IERhdGUoKSwgJ21vbnRoJyk7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy5pbml0RGF0ZVJhbmcobmV3IERhdGUoKSwgJ3llYXInKTtcclxuXHJcblx0XHRcdFx0Ly/liJ3mrKHnmbvpmYbot7PovazlkI7vvIzmiop0ZXN05Y+Y5oiQMlxyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndGVzdCcsICcyJyk7XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRkYXkoKXtcclxuXHRcdFx0XHR2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0Ly8gdmFyIGRheXN0ciA9IGRhdGVVdGlscy5mb3JtYXRlRGF0ZShkYXRlLCAneXl5eeW5tE1N5pyIZGTml6UnKTtcclxuXHRcdFx0XHR2YXIgZGF5c3RyID0gZGF0ZVV0aWxzLmZvcm1hdGVEYXRlKGRhdGUsICd5eXl5LU1NLWRkJyk7XHJcblx0XHRcdFx0dGhpcy50b2RheSA9IGRheXN0cjtcclxuXHRcdFx0XHQvLyB2YXIgc3RyPSAn5pif5pyfJysn5pel5LiA5LqM5LiJ5Zub5LqU5YWtJy5jaGFyQXQoZGF0ZS5nZXREYXkoKSk7XHJcblx0XHRcdFx0dGhpcy53ZWVrID0gdGhpcy4kdCgnbWFpblN0YXRpc3RpY3Mud2VlaycrZGF0ZS5nZXREYXkoKSk7XHJcblx0XHRcdFx0Ly8gaWYodGhpcy4kdCgnbWFpblN0YXRpc3RpY3MubmFtZScpPT0nTmFtZScpe1xyXG5cdFx0XHRcdC8vIFx0aWYoZGF0ZS5nZXREYXkoKT09JzAnKXtcclxuXHRcdFx0XHQvLyBcdFx0dGhpcy53ZWVrID0gXCJTVU5cIjtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyBcdGlmKGRhdGUuZ2V0RGF5KCk9PScxJyl7XHJcblx0XHRcdFx0Ly8gXHRcdHRoaXMud2VlayA9IFwiTU9OXCI7XHJcblx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0Ly8gXHRpZihkYXRlLmdldERheSgpPT0nMicpe1xyXG5cdFx0XHRcdC8vIFx0XHR0aGlzLndlZWsgPSBcIlRVRVwiO1xyXG5cdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdC8vIFx0aWYoZGF0ZS5nZXREYXkoKT09JzMnKXtcclxuXHRcdFx0XHQvLyBcdFx0dGhpcy53ZWVrID0gXCJXRURcIjtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyBcdGlmKGRhdGUuZ2V0RGF5KCk9PSc0Jyl7XHJcblx0XHRcdFx0Ly8gXHRcdHRoaXMud2VlayA9IFwiVEhVXCI7XHJcblx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0Ly8gXHRpZihkYXRlLmdldERheSgpPT0nNScpe1xyXG5cdFx0XHRcdC8vIFx0XHR0aGlzLndlZWsgPSBcIkZSSVwiO1xyXG5cdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdC8vIFx0aWYoZGF0ZS5nZXREYXkoKT09JzYnKXtcclxuXHRcdFx0XHQvLyBcdFx0dGhpcy53ZWVrID0gXCJTQVRcIjtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXREYXRlUmFuZyhkYXksIGNoYXJ0VHlwZSkge1xyXG5cdFx0XHRcdGNvbnN0IGRheXN0ciA9IGRhdGVVdGlscy5mb3JtYXRlRGF0ZShkYXksICd5eXl5L01NL2RkJyk7XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PT0gJ2RheScpIHtcclxuXHRcdFx0XHRcdHRoaXMuc3RhcnREYXRlMSA9IGRhdGVVdGlscy5mb3JtYXRlRGF0ZShkYXksICd5eXl5L01NL2RkJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT09ICd3ZWVrJykge1xyXG5cdFx0XHRcdFx0dGhpcy5zdGFydERhdGUyID0gZGF0ZVV0aWxzLmZvcm1hdGVEYXRlKGRhdGVVdGlscy5nZXRGaXJzdERheU9mV2VlayhkYXkpLCAneXl5eS9NTS9kZCcpO1xyXG5cdFx0XHRcdFx0dGhpcy5lbmREYXRlMiA9IGRhdGVVdGlscy5mb3JtYXRlRGF0ZShkYXRlVXRpbHMuZ2V0TGFzdERheU9mV2VlayhkYXkpLCAneXl5eS9NTS9kZCcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoY2hhcnRUeXBlID09PSAnbW9udGgnKSB7XHJcblx0XHRcdFx0XHR0aGlzLnN0YXJ0RGF0ZTMgPSBkYXRlVXRpbHMuZm9ybWF0ZURhdGUoZGF0ZVV0aWxzLmdldEN1cnJlbnRNb25GaXJzdERhdGUoZGF5KSwgJ3l5eXkvTU0vZGQnKTtcclxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZTMgPSBkYXRlVXRpbHMuZm9ybWF0ZURhdGUoZGF0ZVV0aWxzLmdldEN1cnJlbnRNb25MYXN0RGF0ZShkYXkpLCAneXl5eS9NTS9kZCcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoY2hhcnRUeXBlID09PSAneWVhcicpIHtcclxuXHRcdFx0XHRcdHRoaXMuc3RhcnREYXRlNCA9IGRhdGVVdGlscy5mb3JtYXRlRGF0ZShkYXRlVXRpbHMuZ2V0Q3VycmVudFllYXJGaXJzdERhdGUoZGF5KSwgJ3l5eXkvTU0vZGQnKTtcclxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZTQgPSBkYXRlVXRpbHMuZm9ybWF0ZURhdGUoZGF0ZVV0aWxzLmdldEN1cnJlbnRZZWFyTGFzdERhdGUoZGF5KSwgJ3l5eXkvTU0vZGQnKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHJldHVybiB0aGlzLmdldFN0YXRpc3RpY3NEYXRhKGNoYXJ0VHlwZSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8qKuS4iuS4gOS4qiAqL1xyXG5cdFx0XHRwcmUoY2hhcnRUeXBlKSB7XHJcblx0XHRcdFx0bGV0IGRheTtcclxuXHRcdFx0XHRpZiAoY2hhcnRUeXBlID09PSAnZGF5JykgeyAvLyDml6VcclxuXHRcdFx0XHRcdGRheSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlMSk7XHJcblx0XHRcdFx0XHRkYXkuc2V0RGF0ZShkYXkuZ2V0RGF0ZSgpIC0gMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT09ICd3ZWVrJykgeyAvLyDlkahcclxuXHRcdFx0XHRcdGRheSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlMik7XHJcblx0XHRcdFx0XHRkYXkuc2V0RGF0ZShkYXkuZ2V0RGF0ZSgpIC0gNyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT09ICdtb250aCcpIHsgLy8g5pyIXHJcblx0XHRcdFx0XHRkYXkgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZTMpO1xyXG5cdFx0XHRcdFx0ZGF5LnNldE1vbnRoKGRheS5nZXRNb250aCgpIC0gMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT09ICd5ZWFyJykgeyAvLyDlubRcclxuXHRcdFx0XHRcdGRheSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlNCk7XHJcblx0XHRcdFx0XHRkYXkuc2V0RnVsbFllYXIoZGF5LmdldEZ1bGxZZWFyKCkgLSAxKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5pbml0RGF0ZVJhbmcoZGF5LCBjaGFydFR5cGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKirkuIvkuIDkuKogKi9cclxuXHRcdFx0bmV4dChjaGFydFR5cGUpIHtcclxuXHRcdFx0XHRsZXQgZGF5O1xyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT09ICdkYXknKSB7IC8vIOaXpVxyXG5cdFx0XHRcdFx0ZGF5ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUxKTtcclxuXHRcdFx0XHRcdGRheS5zZXREYXRlKGRheS5nZXREYXRlKCkgKyAxKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PT0gJ3dlZWsnKSB7IC8vIOWRqFxyXG5cdFx0XHRcdFx0ZGF5ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUyKTtcclxuXHRcdFx0XHRcdGRheS5zZXREYXRlKGRheS5nZXREYXRlKCkgKyA3KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PT0gJ21vbnRoJykgeyAvLyDmnIhcclxuXHRcdFx0XHRcdGRheSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlMyk7XHJcblx0XHRcdFx0XHRkYXkuc2V0TW9udGgoZGF5LmdldE1vbnRoKCkgKyAxKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PT0gJ3llYXInKSB7IC8vIOW5tFxyXG5cdFx0XHRcdFx0ZGF5ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGU0KTtcclxuXHRcdFx0XHRcdGRheS5zZXRGdWxsWWVhcihkYXkuZ2V0RnVsbFllYXIoKSArIDEpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy5pbml0RGF0ZVJhbmcoZGF5LCBjaGFydFR5cGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTdGF0aXN0aWNzRGF0YShjaGFydFR5cGUpIHtcclxuXHRcdFx0XHRjb25zdCBwYXJhbSA9IHtcclxuXHRcdFx0XHRcdCdjaGFydFR5cGUnOiBjaGFydFR5cGVcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT0gJ2RheScpIHtcclxuXHRcdFx0XHRcdHBhcmFtWydzdGFydERhdGUnXSA9IHRoaXMuc3RhcnREYXRlMTtcclxuXHRcdFx0XHRcdHBhcmFtWydlbmREYXRlJ10gPSB0aGlzLnN0YXJ0RGF0ZTE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjaGFydFR5cGUgPT0gJ3dlZWsnKSB7XHJcblx0XHRcdFx0XHRwYXJhbVsnc3RhcnREYXRlJ10gPSB0aGlzLnN0YXJ0RGF0ZTI7XHJcblx0XHRcdFx0XHRwYXJhbVsnZW5kRGF0ZSddID0gdGhpcy5lbmREYXRlMjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PSAnbW9udGgnKSB7XHJcblx0XHRcdFx0XHRwYXJhbVsnc3RhcnREYXRlJ10gPSB0aGlzLnN0YXJ0RGF0ZTM7XHJcblx0XHRcdFx0XHRwYXJhbVsnZW5kRGF0ZSddID0gdGhpcy5lbmREYXRlMztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNoYXJ0VHlwZSA9PSAneWVhcicpIHtcclxuXHRcdFx0XHRcdHBhcmFtWydzdGFydERhdGUnXSA9IHRoaXMuc3RhcnREYXRlNDtcclxuXHRcdFx0XHRcdHBhcmFtWydlbmREYXRlJ10gPSB0aGlzLmVuZERhdGU0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5hZG1pbklkKSB7IC8vIOWtkOe7hOS7tu+8jOWImeaLv+S8oOi/h+adpeeahOWPglxyXG5cdFx0XHRcdFx0cGFyYW1bJ2FkbWluSWQnXSA9IHRoaXMuYWRtaW5JZDtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKCdhZG1pbicgIT09IHRoaXMubG9naW5Vc2VyWyd1c2VybmFtZSddKSB7IC8v5ZCm5YiZ5Li65Li76aG177yM5ou/55m75b2V55So5oi3XHJcblx0XHRcdFx0XHRwYXJhbVsnYWRtaW5JZCddID0gdGhpcy5sb2dpblVzZXJbJ2lkJ107XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLmVxdWlwbWVudElkKSB7XHJcblx0XHRcdFx0XHRwYXJhbVsnZXF1aXBtZW50SWQnXSA9IHRoaXMuZXF1aXBtZW50SWQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRTdGF0aXN0aWNzKHBhcmFtKVxyXG5cdFx0XHRcdFx0LnRoZW4oZGF0YSA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XHJcblx0XHRcdFx0XHRcdGlmIChwYXJhbVsnY2hhcnRUeXBlJ10gPT0gJ2RheScpIHtcclxuXHRcdFx0XHRcdFx0XHRjYW52YUNvbHVtbjEgPSB0aGlzLmluaXRDaGFydCgnY2FudmFDb2x1bW4xJywgZGF0YSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKHBhcmFtWydjaGFydFR5cGUnXSA9PSAnd2VlaycpIHtcclxuXHRcdFx0XHRcdFx0XHRjYW52YUNvbHVtbjIgPSB0aGlzLmluaXRDaGFydCgnY2FudmFDb2x1bW4yJywgZGF0YSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKHBhcmFtWydjaGFydFR5cGUnXSA9PSAnbW9udGgnKSB7XHJcblx0XHRcdFx0XHRcdFx0Y2FudmFDb2x1bW4zID0gdGhpcy5pbml0Q2hhcnQoJ2NhbnZhQ29sdW1uMycsIGRhdGEpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChwYXJhbVsnY2hhcnRUeXBlJ10gPT0gJ3llYXInKSB7XHJcblx0XHRcdFx0XHRcdFx0Y2FudmFDb2x1bW40ID0gdGhpcy5pbml0Q2hhcnQoJ2NhbnZhQ29sdW1uNCcsIGRhdGEpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fSwgXyA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XHJcblx0XHRcdFx0XHRcdGlmIChwYXJhbVsnY2hhcnRUeXBlJ10gPT0gJ2RheScpIHtcclxuXHRcdFx0XHRcdFx0XHRjYW52YUNvbHVtbjEgPSB0aGlzLmluaXRDaGFydCgnY2FudmFDb2x1bW4xJywge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogWyfmmoLml6DmlbDmja4nXSxcclxuXHRcdFx0XHRcdFx0XHRcdHNlcmllczogW3tcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogJ+mUgOWUruS4quaVsCcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGE6IFswXVxyXG5cdFx0XHRcdFx0XHRcdFx0fV1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocGFyYW1bJ2NoYXJ0VHlwZSddID09ICd3ZWVrJykge1xyXG5cdFx0XHRcdFx0XHRcdGNhbnZhQ29sdW1uMiA9IHRoaXMuaW5pdENoYXJ0KCdjYW52YUNvbHVtbjInLCB7XHJcblx0XHRcdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbJ+aaguaXoOaVsOaNriddLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2VyaWVzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiAn6ZSA5ZSu5Liq5pWwJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YTogWzBdXHJcblx0XHRcdFx0XHRcdFx0XHR9XVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChwYXJhbVsnY2hhcnRUeXBlJ10gPT0gJ21vbnRoJykge1xyXG5cdFx0XHRcdFx0XHRcdGNhbnZhQ29sdW1uMyA9IHRoaXMuaW5pdENoYXJ0KCdjYW52YUNvbHVtbjMnLCB7XHJcblx0XHRcdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbJ+aaguaXoOaVsOaNriddLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2VyaWVzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiAn6ZSA5ZSu5Liq5pWwJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YTogWzBdXHJcblx0XHRcdFx0XHRcdFx0XHR9XVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChwYXJhbVsnY2hhcnRUeXBlJ10gPT0gJ3llYXInKSB7XHJcblx0XHRcdFx0XHRcdFx0Y2FudmFDb2x1bW40ID0gdGhpcy5pbml0Q2hhcnQoJ2NhbnZhQ29sdW1uNCcsIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IFsn5pqC5peg5pWw5o2uJ10sXHJcblx0XHRcdFx0XHRcdFx0XHRzZXJpZXM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6ICfplIDllK7kuKrmlbAnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhOiBbMF1cclxuXHRcdFx0XHRcdFx0XHRcdH1dXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0Q2hhcnQoY2FudmFzSWQsIGNoYXJ0RGF0YSkge1xyXG5cdFx0XHRcdGlmKHRoaXMuJHQoJ2xhbmcnKSE9J3poJyl7XHJcblx0XHRcdFx0XHRjaGFydERhdGEuY2F0ZWdvcmllcyA9IGNoYXJ0RGF0YS5jYXRlZ29yaWVzLm1hcChlID0+IHtcclxuXHRcdFx0XHRcdFx0aWYoZS5pbmRleE9mKCfngrknKSA+PSAwKXtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gZS5yZXBsYWNlKCfngrknLHRoaXMuJHQoJ21haW5TdGF0aXN0aWNzLm9jbG9jaycpKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihlLmluZGV4T2YoJ+WRqCcpID49IDApe1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHdlZWtOdW0gPSBlLnN1YnN0cmluZyhlLmxlbmd0aC0xKT09J+aXpSc/JzAnOmUuc3Vic3RyaW5nKGUubGVuZ3RoLTEpO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLiR0KCdtYWluU3RhdGlzdGljcy53ZWVrJyt3ZWVrTnVtKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihlLmluZGV4T2YoJ+aciCcpID49IDApe1xyXG5cdFx0XHRcdFx0XHRcdHZhciByZXMgPSBlLnRvU3RyaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0aWYocmVzLmxlbmd0aD4zKXtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBlLnJlcGxhY2UoJ+aciCcsdGhpcy4kdCgnbWFpblN0YXRpc3RpY3MubW9uJykpO1xyXG5cdFx0XHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGUucmVwbGFjZSgn5pyIJyx0aGlzLiR0KCdtYWluU3RhdGlzdGljcy55JykpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRjaGFydERhdGEuc2VyaWVzID0gY2hhcnREYXRhLnNlcmllcy5tYXAoZSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmKGVbJ25hbWUnXT09J+mUgOWUruS4quaVsCcpe1xyXG5cdFx0XHRcdFx0XHRcdGVbJ25hbWUnXT10aGlzLiR0KCdtYWluU3RhdGlzdGljcy5zYWxlTnVtJyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYoZVsnbmFtZSddPT0n6ZSA5ZSu6aKdJyl7XHJcblx0XHRcdFx0XHRcdFx0ZVsnbmFtZSddPXRoaXMuJHQoJ21haW5TdGF0aXN0aWNzLnNhbGVyb29tJyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGU7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIG5ldyB1Q2hhcnRzKHtcclxuXHRcdFx0XHRcdCR0aGlzOiBfc2VsZixcclxuXHRcdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcclxuXHRcdFx0XHRcdGVuYWJsZVNjcm9sbDogdHJ1ZSxcclxuXHRcdFx0XHRcdHR5cGU6ICdjb2x1bW4nLFxyXG5cdFx0XHRcdFx0bGVnZW5kOiB0cnVlLFxyXG5cdFx0XHRcdFx0Zm9udFNpemU6IDEwLFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJyNGRkZGRkYnLCAvL3novbTpopzoibJcclxuXHRcdFx0XHRcdHBpeGVsUmF0aW86IDEsXHJcblx0XHRcdFx0XHRhbmltYXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcclxuXHRcdFx0XHRcdHNlcmllczogY2hhcnREYXRhLnNlcmllcyxcclxuXHRcdFx0XHRcdHhBeGlzOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdncmlkJyxcclxuXHRcdFx0XHRcdFx0Z3JpZFR5cGU6ICdkYXNoJyxcclxuXHRcdFx0XHRcdFx0aXRlbUNvdW50OiA1LCAvL3jovbTljZXlsY/mmL7npLrmlbDmja7nmoTmlbDph4/vvIzpu5jorqTkuLo15LiqXHJcblx0XHRcdFx0XHRcdHNjcm9sbFNob3c6IHRydWUsIC8v5paw5aKe5piv5ZCm5pi+56S65rua5Yqo5p2h77yM6buY6K6kZmFsc2VcclxuXHRcdFx0XHRcdFx0c2Nyb2xsQWxpZ246ICdsZWZ0JywgLy/mu5rliqjmnaHliJ3lp4vkvY3nva5cclxuXHRcdFx0XHRcdFx0c2Nyb2xsQmFja2dyb3VuZENvbG9yOiAnI0Y3RjdGRicsIC8v6buY6K6k5Li6ICNFRkVCRUYgIOa7muWKqOadoeminOiJsuW6leiJslxyXG5cdFx0XHRcdFx0XHRzY3JvbGxDb2xvcjogJyNERUU3RjcnLCAvL+m7mOiupOS4uiAjQTZBNkE2ICDmu5rliqjmnaHpopzoibJcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6dHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0eUF4aXM6IHtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdncmlkJyxcclxuXHRcdFx0XHRcdFx0Z3JpZFR5cGU6ICdzb2lsZCcsXHJcblx0XHRcdFx0XHRcdC8vIGRpc2FibGVkOnRydWVcclxuXHRcdFx0XHRcdFx0Ly8gZGlzYWJsZUdyaWQ6dHJ1ZSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRkYXRhTGFiZWw6IHRydWUsXHJcblx0XHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdGhlaWdodDogX3NlbGYuY0hlaWdodCAqIF9zZWxmLnBpeGVsUmF0aW8sXHJcblx0XHRcdFx0XHRleHRyYToge1xyXG5cdFx0XHRcdFx0XHRjb2x1bW46IHtcclxuXHRcdFx0XHRcdFx0XHQvLyB3aWR0aDogX3NlbGYuY1dpZHRoKl9zZWxmLnBpeGVsUmF0aW8qMC40NS9jaGFydERhdGEuY2F0ZWdvcmllcy5sZW5ndGhcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMThcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRNYWluU3RhdGlzdGljc0RhdGEoKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW0gPSB7fTtcclxuXHRcdFx0XHRpZiAodGhpcy5hZG1pbklkKSB7IC8vIOWtkOe7hOS7tu+8jOWImeaLv+S8oOi/h+adpeeahOWPglxyXG5cdFx0XHRcdFx0cGFyYW1bJ2FkbWluSWQnXSA9IHRoaXMuYWRtaW5JZDtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKCdhZG1pbicgIT09IHRoaXMubG9naW5Vc2VyWyd1c2VybmFtZSddKSB7IC8v5ZCm5YiZ5Li65Li76aG177yM5ou/55m75b2V55So5oi3XHJcblx0XHRcdFx0XHRwYXJhbVsnYWRtaW5JZCddID0gdGhpcy5sb2dpblVzZXJbJ2lkJ107XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLmVxdWlwbWVudElkKSB7XHJcblx0XHRcdFx0XHRwYXJhbVsnZXF1aXBtZW50SWQnXSA9IHRoaXMuZXF1aXBtZW50SWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdnZXRNYWluU3RhdGlzdGljc0RhdGE6e30nLCBwYXJhbSk7XHJcblx0XHRcdFx0dmFyIGFkbWluSWQgPSBwYXJhbS5hZG1pbklkO1xyXG5cdFx0XHRcdHZhciBlcXVpcG1lbnRJZCA9IHRoaXMuZXF1aXBtZW50SWQ7XHJcblx0XHRcdFx0dmFyIHNlcnZlcnVybCA9IHRoaXMuc2VydmVydXJsO1xyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdHVybDogc2VydmVydXJsICsgJy9URXF1aXBtZW50L2dldE1hY2hpbmVOdW0nLFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRcImFkbWluSWRcIjogYWRtaW5JZCxcclxuXHRcdFx0XHRcdFx0XCJlcXVpcG1lbnRJZFwiOiBlcXVpcG1lbnRJZFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdG1ldGhvZDogXCJQT1NUXCIsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHZhciBsaXN0ID0gcmVzLmRhdGEuZGF0YTtcclxuXHRcdFx0XHRcdFx0dGhpcy5tYWNoaW5lVG90YWxOdW0gPSBsaXN0WzBdO1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1hY2hpbmVVc2VOdW0gPSBsaXN0WzFdO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmdldE1haW5TdGF0aXN0aWNzKHBhcmFtKVxyXG5cdFx0XHRcdFx0LnRoZW4oZGF0YSA9PiB7XHJcblx0XHRcdFx0XHRcdGZvciAobGV0IGJlYW4gb2YgZGF0YSkge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChiZWFuWydjYXRlZ29yaWUnXSA9PT0gJ2RheScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZGF5VG90YWxNb25leSA9IGJlYW5bJ3NhbGVQcmljZSddO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kYXlUb3RhbE51bSA9IGJlYW5bJ3NhbGVOdW0nXTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYgKGJlYW5bJ2NhdGVnb3JpZSddID09PSAnd2VlaycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMud2Vla1RvdGFsTW9uZXkgPSBiZWFuWydzYWxlUHJpY2UnXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMud2Vla1RvdGFsTnVtID0gYmVhblsnc2FsZU51bSddO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZiAoYmVhblsnY2F0ZWdvcmllJ10gPT09ICdtb250aCcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubW9udGhUb3RhbE1vbmV5ID0gYmVhblsnc2FsZVByaWNlJ107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm1vbnRoVG90YWxOdW0gPSBiZWFuWydzYWxlTnVtJ107XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmIChiZWFuWydjYXRlZ29yaWUnXSA9PT0gJ3llYXInKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnllYXJUb3RhbE1vbmV5ID0gYmVhblsnc2FsZVByaWNlJ107XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnllYXJUb3RhbE51bSA9IGJlYW5bJ3NhbGVOdW0nXTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0dW5pLnN0b3BQdWxsRG93blJlZnJlc2goKTtcclxuXHRcdFx0XHRcdH0sIF8gPT4gdm9pZCB1bmkuc3RvcFB1bGxEb3duUmVmcmVzaCgpKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHRvdWNoTGluZTEoZSkge1xyXG5cdFx0XHRcdGlmIChjYW52YUNvbHVtbjEpIHtcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uMS5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdG1vdmVMaW5lMShlKSB7XHJcblx0XHRcdFx0aWYgKGNhbnZhQ29sdW1uMSkge1xyXG5cdFx0XHRcdFx0Y2FudmFDb2x1bW4xLnNjcm9sbChlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvdWNoRW5kTGluZTEoZSkge1xyXG5cdFx0XHRcdGlmIChjYW52YUNvbHVtbjEpIHtcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uMS5zY3JvbGxFbmQoZSk7XHJcblx0XHRcdFx0XHQvL+S4i+mdouaYr3Rvb2xUaXDkuovku7bvvIzlpoLmnpzmu5rliqjlkI7kuI3pnIDopoHmmL7npLrvvIzlj6/kuI3loavlhplcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uMS5zaG93VG9vbFRpcChlLCB7XHJcblx0XHRcdFx0XHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaExpbmUyKGUpIHtcclxuXHRcdFx0XHRpZiAoY2FudmFDb2x1bW4yKSB7XHJcblx0XHRcdFx0XHRjYW52YUNvbHVtbjIuc2Nyb2xsU3RhcnQoZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtb3ZlTGluZTIoZSkge1xyXG5cdFx0XHRcdGlmIChjYW52YUNvbHVtbjIpIHtcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uMi5zY3JvbGwoZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaEVuZExpbmUyKGUpIHtcclxuXHRcdFx0XHRpZiAoY2FudmFDb2x1bW4yKSB7XHJcblx0XHRcdFx0XHRjYW52YUNvbHVtbjIuc2Nyb2xsRW5kKGUpO1xyXG5cdFx0XHRcdFx0Ly/kuIvpnaLmmK90b29sVGlw5LqL5Lu277yM5aaC5p6c5rua5Yqo5ZCO5LiN6ZyA6KaB5pi+56S677yM5Y+v5LiN5aGr5YaZXHJcblx0XHRcdFx0XHRjYW52YUNvbHVtbjIuc2hvd1Rvb2xUaXAoZSwge1xyXG5cdFx0XHRcdFx0XHRmb3JtYXQ6IGZ1bmN0aW9uKGl0ZW0sIGNhdGVnb3J5KSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0dG91Y2hMaW5lMyhlKSB7XHJcblx0XHRcdFx0aWYgKGNhbnZhQ29sdW1uMykge1xyXG5cdFx0XHRcdFx0Y2FudmFDb2x1bW4zLnNjcm9sbFN0YXJ0KGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0bW92ZUxpbmUzKGUpIHtcclxuXHRcdFx0XHRpZiAoY2FudmFDb2x1bW4zKSB7XHJcblx0XHRcdFx0XHRjYW52YUNvbHVtbjMuc2Nyb2xsKGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0dG91Y2hFbmRMaW5lMyhlKSB7XHJcblx0XHRcdFx0aWYgKGNhbnZhQ29sdW1uMykge1xyXG5cdFx0XHRcdFx0Y2FudmFDb2x1bW4zLnNjcm9sbEVuZChlKTtcclxuXHRcdFx0XHRcdC8v5LiL6Z2i5pivdG9vbFRpcOS6i+S7tu+8jOWmguaenOa7muWKqOWQjuS4jemcgOimgeaYvuekuu+8jOWPr+S4jeWhq+WGmVxyXG5cdFx0XHRcdFx0Y2FudmFDb2x1bW4zLnNob3dUb29sVGlwKGUsIHtcclxuXHRcdFx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBjYXRlZ29yeSArICcgJyArIGl0ZW0ubmFtZSArICc6JyArIGl0ZW0uZGF0YVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvdWNoTGluZTQoZSkge1xyXG5cdFx0XHRcdGlmIChjYW52YUNvbHVtbjQpIHtcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uNC5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdG1vdmVMaW5lNChlKSB7XHJcblx0XHRcdFx0aWYgKGNhbnZhQ29sdW1uNCkge1xyXG5cdFx0XHRcdFx0Y2FudmFDb2x1bW40LnNjcm9sbChlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvdWNoRW5kTGluZTQoZSkge1xyXG5cdFx0XHRcdGlmIChjYW52YUNvbHVtbjQpIHtcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uNC5zY3JvbGxFbmQoZSk7XHJcblx0XHRcdFx0XHQvL+S4i+mdouaYr3Rvb2xUaXDkuovku7bvvIzlpoLmnpzmu5rliqjlkI7kuI3pnIDopoHmmL7npLrvvIzlj6/kuI3loavlhplcclxuXHRcdFx0XHRcdGNhbnZhQ29sdW1uNC5zaG93VG9vbFRpcChlLCB7XHJcblx0XHRcdFx0XHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZT5cclxuXHRwYWdlIHtcclxuXHRcdC8qIGJhY2tncm91bmQ6ICNGMkYyRjI7ICovXHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdFx0d2lkdGg6IDc1MHVweDtcclxuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC5oZWFkIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0YmFja2dyb3VuZDogIzIwNkRDMztcclxuXHRcdHdpZHRoOiA3NTB1cHg7XHJcblx0XHRoZWlnaHQ6IDE4MHVweDtcclxuXHR9XHJcblxyXG5cdC5jb21wYW55IHtcclxuXHRcdHdpZHRoOiA0OCU7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR9XHJcblxyXG5cdC5wbmFtZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdHdpZHRoOiA0MCU7XHJcblx0fVxyXG5cclxuXHQudXNlckZsYWdpbWcge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAzMHVweDtcclxuXHRcdHBhZGRpbmctdG9wOiAxMHVweDtcclxuXHRcdHdpZHRoOiAyNnVweDtcclxuXHRcdGhlaWdodDogMjh1cHg7XHJcblx0fVxyXG5cclxuXHQud2Vuemkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA1dXB4O1xyXG5cdFx0LyogdGV4dC1hbGlnbjpyaWdodDsgKi9cclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0LyogdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7ICovXHJcblx0fVxyXG5cclxuXHQucmkge1xyXG5cdFx0d2lkdGg6IDY5MHVweDtcclxuXHRcdGhlaWdodDogMTgwdXB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDE1dXB4O1xyXG5cdFx0Lyog5LiK56e7ICovXHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTkwdXB4KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0Lyog6Zi05b2xICovXHJcblx0XHRib3gtc2hhZG93OiAwdXB4IC0xdXB4IDIwdXB4ICNEM0QzRDM7XHJcblx0XHQvKiBib3gtc2hhZG93OjBweCAwcHggIDEwcHggNXB4ICNhYWE7ICovXHJcblx0fVxyXG5cclxuXHQucmlTaGVsbCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHR9XHJcblxyXG5cdC5yaVRpdGxlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0bWFyZ2luOiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LnJpcWkge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0fVxyXG5cclxuXHQuZm91clRpdGxlIHtcclxuXHRcdHdpZHRoOiA2OTB1cHg7XHJcblx0XHRoZWlnaHQ6IDI5NHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHRcdGJveC1zaGFkb3c6IDB1cHggMHVweCAyMHVweCAjRDNEM0QzO1xyXG5cdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTV1cHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwdXB4KTtcclxuXHR9XHJcblxyXG5cdC5mb3VyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0d2lkdGg6IDQ4JTtcclxuXHR9XHJcblxyXG5cdC5mb3VySW1nIHtcclxuXHRcdHdpZHRoOiA1NHVweDtcclxuXHRcdGhlaWdodDogNTR1cHg7XHJcblx0fVxyXG5cclxuXHQucWl1bi1wYWRkaW5nIHtcclxuXHRcdHBhZGRpbmc6IDIlO1xyXG5cdFx0d2lkdGg6IDk2JTtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXdyYXAge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXJvd3Mge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLWNvbHVtbnMge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLWNvbW1vbi1tdCB7XHJcblx0XHRtYXJnaW4tdG9wOiAwdXB4O1xyXG5cdFx0aGVpZ2h0OiAxNjB1cHg7XHJcblx0fVxyXG5cclxuXHQucWl1bi1iZy13aGl0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0LnFpdW4tdGl0bGUtYmFyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0LyogcGFkZGluZzogMTB1cHggMiU7ICovXHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDE1dXB4O1xyXG5cdH1cclxuXHJcblx0LnFpdW4tdGl0bGUtZG90LWxpZ2h0IHtcclxuXHRcdHdpZHRoOiA5MiU7XHJcblx0XHRib3JkZXItbGVmdDogMjB1cHg7XHJcblx0XHRib3JkZXItbGVmdDogMTB1cHggc29saWQgIzIwNkRDMztcclxuXHRcdHBhZGRpbmctbGVmdDogMTB1cHg7XHJcblx0XHRoZWlnaHQ6IDMydXB4O1xyXG5cdFx0LyogcGFkZGluZy1ib3R0b206IDQwdXB4OyAqL1xyXG5cdFx0Zm9udC1mYW1pbHk6IFwiUGluZ0ZhbmctU0MtQm9sZFwiO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0Y29sb3I6ICMzNjNENDQ7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjB1cHgpO1xyXG5cdH1cclxuXHQuZGlze1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3VweCk7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFwiUGluZ0ZhbmctU0MtQm9sZFwiO1xyXG5cdFx0Y29sb3I6ICMzNjNENDQ7XHJcblx0fVxyXG5cdC5zaGlqaWFuIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHVweCk7XHJcblx0XHRwYWRkaW5nLXRvcDogMzB1cHg7XHJcblx0XHRoZWlnaHQ6IDgwdXB4O1xyXG5cdFx0d2lkdGg6IDY5MHVweDtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdGJveC1zaGFkb3c6IDB1cHggMHVweCAxMHVweCAjRDNEM0QzO1xyXG5cdH1cclxuXHQubGluZXtcclxuXHRcdGJhY2tncm91bmQ6I0VDRUNFQyA7XHJcblx0XHRoZWlnaHQ6IDIwdXB4O1xyXG5cdH1cclxuXHQucWl1bi1jaGFydHMge1xyXG5cdFx0d2lkdGg6IDY5MHVweDtcclxuXHRcdGhlaWdodDogMzcwdXB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDUwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHR9XHJcblxyXG5cdC5jaGFydHMge1xyXG5cdFx0d2lkdGg6IDY5MHVweDtcclxuXHRcdGhlaWdodDogMzcwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHR9XHJcblxyXG5cdC5wcmVJbWcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMzB1cHg7XHJcblx0XHR3aWR0aDogNzF1cHg7XHJcblx0XHRoZWlnaHQ6IDU3dXB4O1xyXG5cdH1cclxuXHJcblx0Lm5leHRJbWcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IDMwdXB4O1xyXG5cdFx0d2lkdGg6IDcxdXB4O1xyXG5cdFx0aGVpZ2h0OiA1N3VweDtcclxuXHR9XHJcblxyXG5cdC5mb250TGVmdCB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDZ1cHg7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///40\n"); /***/ }), /* 41 */, /* 42 */, /* 43 */, /* 44 */, /* 45 */, /* 46 */ /*!*****************************************************************************************!*\ !*** E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=style&index=0&lang=css& ***! \*****************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/css-loader??ref--6-oneOf-1-2!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/vue-loader/lib??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mainStatistics.vue?vue&type=style&index=0&lang=css& */ 47);\n/* harmony import */ var _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_index_js_ref_6_oneOf_1_2_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_loaders_stylePostLoader_js_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_vue_loader_lib_index_js_vue_loader_options_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_custom_block_loader_index_js_ref_0_1_HbuilderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_mainStatistics_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBnQyxDQUFnQiw0K0JBQUcsRUFBQyIsImZpbGUiOiI0Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvbG9hZGVyLmpzPz9yZWYtLTYtb25lT2YtMS0wIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTEhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTIhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNi1vbmVPZi0xLTMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1jdXN0b20tYmxvY2stbG9hZGVyL2luZGV4LmpzPz9yZWYtLTAtMSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3dlYnBhY2stdW5pLW1wLWxvYWRlci9saWIvc3R5bGUuanMhLi9tYWluU3RhdGlzdGljcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPWNzcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9sb2FkZXIuanM/P3JlZi0tNi1vbmVPZi0xLTAhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS02LW9uZU9mLTEtMSEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS02LW9uZU9mLTEtMiEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vSGJ1aWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS02LW9uZU9mLTEtMyEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi8uLi9IYnVpbGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLWN1c3RvbS1ibG9jay1sb2FkZXIvaW5kZXguanM/P3JlZi0tMC0xIS4uLy4uLy4uLy4uL0hidWlsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vd2VicGFjay11bmktbXAtbG9hZGVyL2xpYi9zdHlsZS5qcyEuL21haW5TdGF0aXN0aWNzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9Y3NzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///46\n"); /***/ }), /* 47 */ /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-1!./node_modules/css-loader??ref--6-oneOf-1-2!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader??ref--0-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!E:/sheverAPP/APP/pages/Charts/mainStatistics.vue?vue&type=style&index=0&lang=css& ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjQ3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///47\n"); /***/ }) ],[[0,"common/runtime","common/vendor"]]]); }); define('common/runtime.js',function(require, module, exports, window, document, frames, self, location, navigator, localStorage, history, Caches, screen, alert, confirm, prompt, fetch, XMLHttpRequest, WebSocket, webkit, WeixinJSCore, Reporter, print, WeixinJSBridge){ "use strict"; /******/(function (modules) {// webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/function webpackJsonpCallback(data) { /******/var chunkIds = data[0]; /******/var moreModules = data[1]; /******/var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/var moduleId,chunkId,i = 0,resolves = []; /******/for (; i < chunkIds.length; i++) { /******/chunkId = chunkIds[i]; /******/if (installedChunks[chunkId]) { /******/resolves.push(installedChunks[chunkId][0]); /******/} /******/installedChunks[chunkId] = 0; /******/} /******/for (moduleId in moreModules) { /******/if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/modules[moduleId] = moreModules[moduleId]; /******/} /******/} /******/if (parentJsonpFunction) parentJsonpFunction(data); /******/ /******/while (resolves.length) { /******/resolves.shift()(); /******/} /******/ /******/ // add entry modules from loaded chunk to deferred list /******/deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/return checkDeferredModules(); /******/}; /******/function checkDeferredModules() { /******/var result; /******/for (var i = 0; i < deferredModules.length; i++) { /******/var deferredModule = deferredModules[i]; /******/var fulfilled = true; /******/for (var j = 1; j < deferredModule.length; j++) { /******/var depId = deferredModule[j]; /******/if (installedChunks[depId] !== 0) fulfilled = false; /******/} /******/if (fulfilled) { /******/deferredModules.splice(i--, 1); /******/result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/} /******/} /******/return result; /******/} /******/ /******/ // The module cache /******/var installedModules = {}; /******/ /******/ // object to store loaded CSS chunks /******/var installedCssChunks = { /******/"common/runtime": 0 /******/ /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ };var installedChunks = { /******/"common/runtime": 0 /******/ }; /******/ /******/var deferredModules = []; /******/ /******/ // script path function /******/function jsonpScriptSrc(chunkId) { /******/return __webpack_require__.p + "" + chunkId + ".js"; /******/} /******/ /******/ // The require function /******/function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/if (installedModules[moduleId]) { /******/return installedModules[moduleId].exports; /******/} /******/ // Create a new module (and put it into the cache) /******/var module = installedModules[moduleId] = { /******/i: moduleId, /******/l: false, /******/exports: {} /******/ }; /******/ /******/ // Execute the module function /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/module.l = true; /******/ /******/ // Return the exports of the module /******/return module.exports; /******/} /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/__webpack_require__.e = function requireEnsure(chunkId) { /******/var promises = []; /******/ /******/ /******/ // mini-css-extract-plugin CSS loading /******/var cssChunks = { "components/mix-tree/mix-tree": 1, "components/uni-collapse-item/uni-collapse-item": 1, "components/uni-collapse/uni-collapse": 1, "components/uni-list-item/uni-list-item": 1, "components/uni-list/uni-list": 1, "components/t-table/t-table": 1, "components/t-table/t-td": 1, "components/t-table/t-th": 1, "components/t-table/t-tr": 1, "components/xfl-select/xfl-select": 1, "components/uni-icon/uni-icon": 1, "components/uni-badge/uni-badge": 1 }; /******/if (installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]); /******/else if (installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) { /******/promises.push(installedCssChunks[chunkId] = new Promise(function (resolve, reject) { /******/var href = "" + ({ "components/mix-tree/mix-tree": "components/mix-tree/mix-tree", "components/uni-collapse-item/uni-collapse-item": "components/uni-collapse-item/uni-collapse-item", "components/uni-collapse/uni-collapse": "components/uni-collapse/uni-collapse", "components/uni-list-item/uni-list-item": "components/uni-list-item/uni-list-item", "components/uni-list/uni-list": "components/uni-list/uni-list", "components/t-table/t-table": "components/t-table/t-table", "components/t-table/t-td": "components/t-table/t-td", "components/t-table/t-th": "components/t-table/t-th", "components/t-table/t-tr": "components/t-table/t-tr", "components/xfl-select/xfl-select": "components/xfl-select/xfl-select", "components/uni-icon/uni-icon": "components/uni-icon/uni-icon", "components/uni-badge/uni-badge": "components/uni-badge/uni-badge" }[chunkId] || chunkId) + ".wxss"; /******/var fullhref = __webpack_require__.p + href; /******/var existingLinkTags = document.getElementsByTagName("link"); /******/for (var i = 0; i < existingLinkTags.length; i++) { /******/var tag = existingLinkTags[i]; /******/var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href"); /******/if (tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve(); /******/} /******/var existingStyleTags = document.getElementsByTagName("style"); /******/for (var i = 0; i < existingStyleTags.length; i++) { /******/var tag = existingStyleTags[i]; /******/var dataHref = tag.getAttribute("data-href"); /******/if (dataHref === href || dataHref === fullhref) return resolve(); /******/} /******/var linkTag = document.createElement("link"); /******/linkTag.rel = "stylesheet"; /******/linkTag.type = "text/css"; /******/linkTag.onload = resolve; /******/linkTag.onerror = function (event) { /******/var request = event && event.target && event.target.src || fullhref; /******/var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); /******/err.request = request; /******/delete installedCssChunks[chunkId]; /******/linkTag.parentNode.removeChild(linkTag); /******/reject(err); /******/}; /******/linkTag.href = fullhref; /******/ /******/var head = document.getElementsByTagName("head")[0]; /******/head.appendChild(linkTag); /******/}).then(function () { /******/installedCssChunks[chunkId] = 0; /******/})); /******/} /******/ /******/ // JSONP chunk loading for javascript /******/ /******/var installedChunkData = installedChunks[chunkId]; /******/if (installedChunkData !== 0) {// 0 means "already installed". /******/ /******/ // a Promise means "currently loading". /******/if (installedChunkData) { /******/promises.push(installedChunkData[2]); /******/} else { /******/ // setup Promise in chunk cache /******/var promise = new Promise(function (resolve, reject) { /******/installedChunkData = installedChunks[chunkId] = [resolve, reject]; /******/}); /******/promises.push(installedChunkData[2] = promise); /******/ /******/ // start chunk loading /******/var script = document.createElement('script'); /******/var onScriptComplete; /******/ /******/script.charset = 'utf-8'; /******/script.timeout = 120; /******/if (__webpack_require__.nc) { /******/script.setAttribute("nonce", __webpack_require__.nc); /******/} /******/script.src = jsonpScriptSrc(chunkId); /******/ /******/onScriptComplete = function onScriptComplete(event) { /******/ // avoid mem leaks in IE. /******/script.onerror = script.onload = null; /******/clearTimeout(timeout); /******/var chunk = installedChunks[chunkId]; /******/if (chunk !== 0) { /******/if (chunk) { /******/var errorType = event && (event.type === 'load' ? 'missing' : event.type); /******/var realSrc = event && event.target && event.target.src; /******/var error = new Error('Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'); /******/error.type = errorType; /******/error.request = realSrc; /******/chunk[1](error); /******/} /******/installedChunks[chunkId] = undefined; /******/} /******/}; /******/var timeout = setTimeout(function () { /******/onScriptComplete({ type: 'timeout', target: script }); /******/}, 120000); /******/script.onerror = script.onload = onScriptComplete; /******/document.head.appendChild(script); /******/} /******/} /******/return Promise.all(promises); /******/}; /******/ /******/ // expose the modules object (__webpack_modules__) /******/__webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/__webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/__webpack_require__.d = function (exports, name, getter) { /******/if (!__webpack_require__.o(exports, name)) { /******/Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/} /******/}; /******/ /******/ // define __esModule on exports /******/__webpack_require__.r = function (exports) { /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/} /******/Object.defineProperty(exports, '__esModule', { value: true }); /******/}; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/__webpack_require__.t = function (value, mode) { /******/if (mode & 1) value = __webpack_require__(value); /******/if (mode & 8) return value; /******/if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value; /******/var ns = Object.create(null); /******/__webpack_require__.r(ns); /******/Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/if (mode & 2 && typeof value != 'string') for (var key in value) {__webpack_require__.d(ns, key, function (key) {return value[key];}.bind(null, key));} /******/return ns; /******/}; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/__webpack_require__.n = function (module) { /******/var getter = module && module.__esModule ? /******/function getDefault() {return module['default'];} : /******/function getModuleExports() {return module;}; /******/__webpack_require__.d(getter, 'a', getter); /******/return getter; /******/}; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/__webpack_require__.o = function (object, property) {return Object.prototype.hasOwnProperty.call(object, property);}; /******/ /******/ // __webpack_public_path__ /******/__webpack_require__.p = "/"; /******/ /******/ // on error function for async loading /******/__webpack_require__.oe = function (err) {console.error(err);throw err;}; /******/ /******/var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || []; /******/var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/jsonpArray.push = webpackJsonpCallback; /******/jsonpArray = jsonpArray.slice(); /******/for (var i = 0; i < jsonpArray.length; i++) {webpackJsonpCallback(jsonpArray[i]);} /******/var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // run deferred modules from other chunks /******/checkDeferredModules(); /******/})( /************************************************************************/ /******/[]); }); define('common/vendor.js',function(require, module, exports, window, document, frames, self, location, navigator, localStorage, history, Caches, screen, alert, confirm, prompt, fetch, XMLHttpRequest, WebSocket, webkit, WeixinJSCore, Reporter, print, WeixinJSBridge){ (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"],[ /* 0 */, /* 1 */ /*!***********************************************************!*\ !*** ./node_modules/@dcloudio/uni-app-plus/dist/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.createApp = createApp;exports.createComponent = createComponent;exports.createPage = createPage;exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 3));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i[\"return\"] != null) _i[\"return\"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError(\"Invalid attempt to spread non-iterable instance\");}function _iterableToArray(iter) {if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) {for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {arr2[i] = arr[i];}return arr2;}}\n\nvar _toString = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isFn(fn) {\n return typeof fn === 'function';\n}\n\nfunction isStr(str) {\n return typeof str === 'string';\n}\n\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n\nfunction noop() {}\n\n/**\r\n * Create a cached version of a pure function.\r\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) {return c ? c.toUpperCase() : '';});\n});\n\nvar HOOKS = [\n'invoke',\n'success',\n'fail',\n'complete',\n'returnValue'];\n\n\nvar globalInterceptors = {};\nvar scopedInterceptors = {};\n\nfunction mergeHook(parentVal, childVal) {\n var res = childVal ?\n parentVal ?\n parentVal.concat(childVal) :\n Array.isArray(childVal) ?\n childVal : [childVal] :\n parentVal;\n return res ?\n dedupeHooks(res) :\n res;\n}\n\nfunction dedupeHooks(hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res;\n}\n\nfunction removeHook(hooks, hook) {\n var index = hooks.indexOf(hook);\n if (index !== -1) {\n hooks.splice(index, 1);\n }\n}\n\nfunction mergeInterceptorHook(interceptor, option) {\n Object.keys(option).forEach(function (hook) {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction removeInterceptorHook(interceptor, option) {\n if (!interceptor || !option) {\n return;\n }\n Object.keys(option).forEach(function (hook) {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n removeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction addInterceptor(method, option) {\n if (typeof method === 'string' && isPlainObject(option)) {\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\n } else if (isPlainObject(method)) {\n mergeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction removeInterceptor(method, option) {\n if (typeof method === 'string') {\n if (isPlainObject(option)) {\n removeInterceptorHook(scopedInterceptors[method], option);\n } else {\n delete scopedInterceptors[method];\n }\n } else if (isPlainObject(method)) {\n removeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction wrapperHook(hook) {\n return function (data) {\n return hook(data) || data;\n };\n}\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n\nfunction queue(hooks, data) {\n var promise = false;\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n if (promise) {\n promise = Promise.then(wrapperHook(hook));\n } else {\n var res = hook(data);\n if (isPromise(res)) {\n promise = Promise.resolve(res);\n }\n if (res === false) {\n return {\n then: function then() {} };\n\n }\n }\n }\n return promise || {\n then: function then(callback) {\n return callback(data);\n } };\n\n}\n\nfunction wrapperOptions(interceptor) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n ['success', 'fail', 'complete'].forEach(function (name) {\n if (Array.isArray(interceptor[name])) {\n var oldCallback = options[name];\n options[name] = function callbackInterceptor(res) {\n queue(interceptor[name], res).then(function (res) {\n /* eslint-disable no-mixed-operators */\n return isFn(oldCallback) && oldCallback(res) || res;\n });\n };\n }\n });\n return options;\n}\n\nfunction wrapperReturnValue(method, returnValue) {\n var returnValueHooks = [];\n if (Array.isArray(globalInterceptors.returnValue)) {\n returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(globalInterceptors.returnValue));\n }\n var interceptor = scopedInterceptors[method];\n if (interceptor && Array.isArray(interceptor.returnValue)) {\n returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(interceptor.returnValue));\n }\n returnValueHooks.forEach(function (hook) {\n returnValue = hook(returnValue) || returnValue;\n });\n return returnValue;\n}\n\nfunction getApiInterceptorHooks(method) {\n var interceptor = Object.create(null);\n Object.keys(globalInterceptors).forEach(function (hook) {\n if (hook !== 'returnValue') {\n interceptor[hook] = globalInterceptors[hook].slice();\n }\n });\n var scopedInterceptor = scopedInterceptors[method];\n if (scopedInterceptor) {\n Object.keys(scopedInterceptor).forEach(function (hook) {\n if (hook !== 'returnValue') {\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\n }\n });\n }\n return interceptor;\n}\n\nfunction invokeApi(method, api, options) {for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {params[_key - 3] = arguments[_key];}\n var interceptor = getApiInterceptorHooks(method);\n if (interceptor && Object.keys(interceptor).length) {\n if (Array.isArray(interceptor.invoke)) {\n var res = queue(interceptor.invoke, options);\n return res.then(function (options) {\n return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));\n });\n } else {\n return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));\n }\n }\n return api.apply(void 0, [options].concat(params));\n}\n\nvar promiseInterceptor = {\n returnValue: function returnValue(res) {\n if (!isPromise(res)) {\n return res;\n }\n return res.then(function (res) {\n return res[1];\n }).catch(function (res) {\n return res[0];\n });\n } };\n\n\nvar SYNC_API_RE =\n/^\\$|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/;\n\nvar CONTEXT_API_RE = /^create|Manager$/;\n\nvar CALLBACK_API_RE = /^on/;\n\nfunction isContextApi(name) {\n return CONTEXT_API_RE.test(name);\n}\nfunction isSyncApi(name) {\n return SYNC_API_RE.test(name);\n}\n\nfunction isCallbackApi(name) {\n return CALLBACK_API_RE.test(name) && name !== 'onPush';\n}\n\nfunction handlePromise(promise) {\n return promise.then(function (data) {\n return [null, data];\n }).\n catch(function (err) {return [err];});\n}\n\nfunction shouldPromise(name) {\n if (\n isContextApi(name) ||\n isSyncApi(name) ||\n isCallbackApi(name))\n {\n return false;\n }\n return true;\n}\n\nfunction promisify(name, api) {\n if (!shouldPromise(name)) {\n return api;\n }\n return function promiseApi() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {params[_key2 - 1] = arguments[_key2];}\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\n return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params)));\n }\n return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) {\n invokeApi.apply(void 0, [name, api, Object.assign({}, options, {\n success: resolve,\n fail: reject })].concat(\n params));\n /* eslint-disable no-extend-native */\n if (!Promise.prototype.finally) {\n Promise.prototype.finally = function (callback) {\n var promise = this.constructor;\n return this.then(\n function (value) {return promise.resolve(callback()).then(function () {return value;});},\n function (reason) {return promise.resolve(callback()).then(function () {\n throw reason;\n });});\n\n };\n }\n })));\n };\n}\n\nvar EPS = 1e-4;\nvar BASE_DEVICE_WIDTH = 750;\nvar isIOS = false;\nvar deviceWidth = 0;\nvar deviceDPR = 0;\n\nfunction checkDeviceWidth() {var _wx$getSystemInfoSync =\n\n\n\n\n wx.getSystemInfoSync(),platform = _wx$getSystemInfoSync.platform,pixelRatio = _wx$getSystemInfoSync.pixelRatio,windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\n\n deviceWidth = windowWidth;\n deviceDPR = pixelRatio;\n isIOS = platform === 'ios';\n}\n\nfunction upx2px(number, newDeviceWidth) {\n if (deviceWidth === 0) {\n checkDeviceWidth();\n }\n\n number = Number(number);\n if (number === 0) {\n return 0;\n }\n var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth);\n if (result < 0) {\n result = -result;\n }\n result = Math.floor(result + EPS);\n if (result === 0) {\n if (deviceDPR === 1 || !isIOS) {\n return 1;\n } else {\n return 0.5;\n }\n }\n return number < 0 ? -result : result;\n}\n\nvar interceptors = {\n promiseInterceptor: promiseInterceptor };\n\n\n\n\nvar baseApi = /*#__PURE__*/Object.freeze({\n upx2px: upx2px,\n interceptors: interceptors,\n addInterceptor: addInterceptor,\n removeInterceptor: removeInterceptor });\n\n\nvar protocols = {};\nvar todos = [];\nvar canIUses = [];\n\nvar CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\n\nfunction processCallback(methodName, method, returnValue) {\n return function (res) {\n return method(processReturnValue(methodName, res, returnValue));\n };\n}\n\nfunction processArgs(methodName, fromArgs) {var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n if (isPlainObject(fromArgs)) {// 一般 api 的参数解析\n var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\n if (isFn(argsOption)) {\n argsOption = argsOption(fromArgs, toArgs) || {};\n }\n for (var key in fromArgs) {\n if (hasOwn(argsOption, key)) {\n var keyOption = argsOption[key];\n if (isFn(keyOption)) {\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\n }\n if (!keyOption) {// 不支持的参数\n console.warn(\"app-plus \".concat(methodName, \"\\u6682\\u4E0D\\u652F\\u6301\").concat(key));\n } else if (isStr(keyOption)) {// 重写参数 key\n toArgs[keyOption] = fromArgs[key];\n } else if (isPlainObject(keyOption)) {// {name:newName,value:value}可重新指定参数 key:value\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\n }\n } else if (CALLBACKS.indexOf(key) !== -1) {\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\n } else {\n if (!keepFromArgs) {\n toArgs[key] = fromArgs[key];\n }\n }\n }\n return toArgs;\n } else if (isFn(fromArgs)) {\n fromArgs = processCallback(methodName, fromArgs, returnValue);\n }\n return fromArgs;\n}\n\nfunction processReturnValue(methodName, res, returnValue) {var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (isFn(protocols.returnValue)) {// 处理通用 returnValue\n res = protocols.returnValue(methodName, res);\n }\n return processArgs(methodName, res, returnValue, {}, keepReturnValue);\n}\n\nfunction wrapper(methodName, method) {\n if (hasOwn(protocols, methodName)) {\n var protocol = protocols[methodName];\n if (!protocol) {// 暂不支持的 api\n return function () {\n console.error(\"app-plus \\u6682\\u4E0D\\u652F\\u6301\".concat(methodName));\n };\n }\n return function (arg1, arg2) {// 目前 api 最多两个参数\n var options = protocol;\n if (isFn(protocol)) {\n options = protocol(arg1);\n }\n\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\n\n var args = [arg1];\n if (typeof arg2 !== 'undefined') {\n args.push(arg2);\n }\n var returnValue = wx[options.name || methodName].apply(wx, args);\n if (isSyncApi(methodName)) {// 同步 api\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));\n }\n return returnValue;\n };\n }\n return method;\n}\n\nvar todoApis = Object.create(null);\n\nvar TODOS = [\n'onTabBarMidButtonTap',\n'subscribePush',\n'unsubscribePush',\n'onPush',\n'offPush',\n'share'];\n\n\nfunction createTodoApi(name) {\n return function todoApi(_ref)\n\n\n {var fail = _ref.fail,complete = _ref.complete;\n var res = {\n errMsg: \"\".concat(name, \":fail:\\u6682\\u4E0D\\u652F\\u6301 \").concat(name, \" \\u65B9\\u6CD5\") };\n\n isFn(fail) && fail(res);\n isFn(complete) && complete(res);\n };\n}\n\nTODOS.forEach(function (name) {\n todoApis[name] = createTodoApi(name);\n});\n\nvar getEmitter = function () {\n if (typeof getUniEmitter === 'function') {\n /* eslint-disable no-undef */\n return getUniEmitter;\n }\n var Emitter;\n return function getUniEmitter() {\n if (!Emitter) {\n Emitter = new _vue.default();\n }\n return Emitter;\n };\n}();\n\nfunction apply(ctx, method, args) {\n return ctx[method].apply(ctx, args);\n}\n\nfunction $on() {\n return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments));\n}\nfunction $off() {\n return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments));\n}\nfunction $once() {\n return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments));\n}\nfunction $emit() {\n return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments));\n}\n\nvar eventApi = /*#__PURE__*/Object.freeze({\n $on: $on,\n $off: $off,\n $once: $once,\n $emit: $emit });\n\n\nfunction requireNativePlugin(pluginName) {\n /* eslint-disable no-undef */\n if (typeof weex !== 'undefined') {\n return weex.requireModule(pluginName);\n }\n /* eslint-disable no-undef */\n return __requireNativePlugin__(pluginName);\n}\n\nfunction wrapper$1(webview) {\n webview.$processed = true;\n\n webview.postMessage = function (data) {\n plus.webview.postMessageToUniNView({\n type: 'UniAppSubNVue',\n data: data },\n webview.id);\n };\n var callbacks = [];\n webview.onMessage = function (callback) {\n callbacks.push(callback);\n };\n webview.$consumeMessage = function (e) {\n callbacks.forEach(function (callback) {return callback(e);});\n };\n\n if (!webview.__uniapp_mask_id) {\n return;\n }\n var maskColor = webview.__uniapp_mask;\n var maskWebview = webview.__uniapp_mask_id === '0' ? {\n setStyle: function setStyle(_ref2)\n\n {var mask = _ref2.mask;\n requireNativePlugin('uni-tabview').setMask({\n color: mask });\n\n } } :\n plus.webview.getWebviewById(webview.__uniapp_mask_id);\n var oldShow = webview.show;\n var oldHide = webview.hide;\n var oldClose = webview.close;\n\n var showMask = function showMask() {\n maskWebview.setStyle({\n mask: maskColor });\n\n };\n var closeMask = function closeMask() {\n maskWebview.setStyle({\n mask: 'none' });\n\n };\n webview.show = function () {\n showMask();for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {args[_key3] = arguments[_key3];}\n return oldShow.apply(webview, args);\n };\n webview.hide = function () {\n closeMask();for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}\n return oldHide.apply(webview, args);\n };\n webview.close = function () {\n closeMask();\n callbacks = [];for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {args[_key5] = arguments[_key5];}\n return oldClose.apply(webview, args);\n };\n}\n\nfunction getSubNVueById(id) {\n var webview = plus.webview.getWebviewById(id);\n if (webview && !webview.$processed) {\n wrapper$1(webview);\n }\n return webview;\n}\n\n\n\nvar api = /*#__PURE__*/Object.freeze({\n getSubNVueById: getSubNVueById,\n requireNativePlugin: requireNativePlugin });\n\n\nvar MPPage = Page;\nvar MPComponent = Component;\n\nvar customizeRE = /:/g;\n\nvar customize = cached(function (str) {\n return camelize(str.replace(customizeRE, '-'));\n});\n\nfunction initTriggerEvent(mpInstance) {\n {\n if (!wx.canIUse('nextTick')) {\n return;\n }\n }\n var oldTriggerEvent = mpInstance.triggerEvent;\n mpInstance.triggerEvent = function (event) {for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {args[_key6 - 1] = arguments[_key6];}\n return oldTriggerEvent.apply(mpInstance, [customize(event)].concat(args));\n };\n}\n\nfunction initHook(name, options) {\n var oldHook = options[name];\n if (!oldHook) {\n options[name] = function () {\n initTriggerEvent(this);\n };\n } else {\n options[name] = function () {\n initTriggerEvent(this);for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {args[_key7] = arguments[_key7];}\n return oldHook.apply(this, args);\n };\n }\n}\n\nPage = function Page() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n initHook('onLoad', options);\n return MPPage(options);\n};\n\nComponent = function Component() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n initHook('created', options);\n return MPComponent(options);\n};\n\nvar PAGE_EVENT_HOOKS = [\n'onPullDownRefresh',\n'onReachBottom',\n'onShareAppMessage',\n'onPageScroll',\n'onResize',\n'onTabItemTap'];\n\n\nfunction initMocks(vm, mocks) {\n var mpInstance = vm.$mp[vm.mpType];\n mocks.forEach(function (mock) {\n if (hasOwn(mpInstance, mock)) {\n vm[mock] = mpInstance[mock];\n }\n });\n}\n\nfunction hasHook(hook, vueOptions) {\n if (!vueOptions) {\n return true;\n }\n\n if (_vue.default.options && Array.isArray(_vue.default.options[hook])) {\n return true;\n }\n\n vueOptions = vueOptions.default || vueOptions;\n\n if (isFn(vueOptions)) {\n if (isFn(vueOptions.extendOptions[hook])) {\n return true;\n }\n if (vueOptions.super &&\n vueOptions.super.options &&\n Array.isArray(vueOptions.super.options[hook])) {\n return true;\n }\n return false;\n }\n\n if (isFn(vueOptions[hook])) {\n return true;\n }\n var mixins = vueOptions.mixins;\n if (Array.isArray(mixins)) {\n return !!mixins.find(function (mixin) {return hasHook(hook, mixin);});\n }\n}\n\nfunction initHooks(mpOptions, hooks, vueOptions) {\n hooks.forEach(function (hook) {\n if (hasHook(hook, vueOptions)) {\n mpOptions[hook] = function (args) {\n return this.$vm && this.$vm.__call_hook(hook, args);\n };\n }\n });\n}\n\nfunction initVueComponent(Vue, vueOptions) {\n vueOptions = vueOptions.default || vueOptions;\n var VueComponent;\n if (isFn(vueOptions)) {\n VueComponent = vueOptions;\n vueOptions = VueComponent.extendOptions;\n } else {\n VueComponent = Vue.extend(vueOptions);\n }\n return [VueComponent, vueOptions];\n}\n\nfunction initSlots(vm, vueSlots) {\n if (Array.isArray(vueSlots) && vueSlots.length) {\n var $slots = Object.create(null);\n vueSlots.forEach(function (slotName) {\n $slots[slotName] = true;\n });\n vm.$scopedSlots = vm.$slots = $slots;\n }\n}\n\nfunction initVueIds(vueIds, mpInstance) {\n vueIds = (vueIds || '').split(',');\n var len = vueIds.length;\n\n if (len === 1) {\n mpInstance._$vueId = vueIds[0];\n } else if (len === 2) {\n mpInstance._$vueId = vueIds[0];\n mpInstance._$vuePid = vueIds[1];\n }\n}\n\nfunction initData(vueOptions, context) {\n var data = vueOptions.data || {};\n var methods = vueOptions.methods || {};\n\n if (typeof data === 'function') {\n try {\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\n } catch (e) {\n if (Object({\"VUE_APP_PLATFORM\":\"app-plus\",\"NODE_ENV\":\"development\",\"BASE_URL\":\"/\"}).VUE_APP_DEBUG) {\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\n }\n }\n } else {\n try {\n // 对 data 格式化\n data = JSON.parse(JSON.stringify(data));\n } catch (e) {}\n }\n\n if (!isPlainObject(data)) {\n data = {};\n }\n\n Object.keys(methods).forEach(function (methodName) {\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\n data[methodName] = methods[methodName];\n }\n });\n\n return data;\n}\n\nvar PROP_TYPES = [String, Number, Boolean, Object, Array, null];\n\nfunction createObserver(name) {\n return function observer(newVal, oldVal) {\n if (this.$vm) {\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\n }\n };\n}\n\nfunction initBehaviors(vueOptions, initBehavior) {\n var vueBehaviors = vueOptions['behaviors'];\n var vueExtends = vueOptions['extends'];\n var vueMixins = vueOptions['mixins'];\n\n var vueProps = vueOptions['props'];\n\n if (!vueProps) {\n vueOptions['props'] = vueProps = [];\n }\n\n var behaviors = [];\n if (Array.isArray(vueBehaviors)) {\n vueBehaviors.forEach(function (behavior) {\n behaviors.push(behavior.replace('uni://', \"wx\".concat(\"://\")));\n if (behavior === 'uni://form-field') {\n if (Array.isArray(vueProps)) {\n vueProps.push('name');\n vueProps.push('value');\n } else {\n vueProps['name'] = {\n type: String,\n default: '' };\n\n vueProps['value'] = {\n type: [String, Number, Boolean, Array, Object, Date],\n default: '' };\n\n }\n }\n });\n }\n if (isPlainObject(vueExtends) && vueExtends.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueExtends.props, true) }));\n\n\n }\n if (Array.isArray(vueMixins)) {\n vueMixins.forEach(function (vueMixin) {\n if (isPlainObject(vueMixin) && vueMixin.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueMixin.props, true) }));\n\n\n }\n });\n }\n return behaviors;\n}\n\nfunction parsePropType(key, type, defaultValue, file) {\n // [String]=>String\n if (Array.isArray(type) && type.length === 1) {\n return type[0];\n }\n return type;\n}\n\nfunction initProperties(props) {var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var properties = {};\n if (!isBehavior) {\n properties.vueId = {\n type: String,\n value: '' };\n\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\n type: null,\n value: [],\n observer: function observer(newVal, oldVal) {\n var $slots = Object.create(null);\n newVal.forEach(function (slotName) {\n $slots[slotName] = true;\n });\n this.setData({\n $slots: $slots });\n\n } };\n\n }\n if (Array.isArray(props)) {// ['title']\n props.forEach(function (key) {\n properties[key] = {\n type: null,\n observer: createObserver(key) };\n\n });\n } else if (isPlainObject(props)) {// {title:{type:String,default:''},content:String}\n Object.keys(props).forEach(function (key) {\n var opts = props[key];\n if (isPlainObject(opts)) {// title:{type:String,default:''}\n var value = opts['default'];\n if (isFn(value)) {\n value = value();\n }\n\n opts.type = parsePropType(key, opts.type);\n\n properties[key] = {\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\n value: value,\n observer: createObserver(key) };\n\n } else {// content:String\n var type = parsePropType(key, opts);\n properties[key] = {\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\n observer: createObserver(key) };\n\n }\n });\n }\n return properties;\n}\n\nfunction wrapper$2(event) {\n // TODO 又得兼容 mpvue 的 mp 对象\n try {\n event.mp = JSON.parse(JSON.stringify(event));\n } catch (e) {}\n\n event.stopPropagation = noop;\n event.preventDefault = noop;\n\n event.target = event.target || {};\n\n if (!hasOwn(event, 'detail')) {\n event.detail = {};\n }\n\n if (isPlainObject(event.detail)) {\n event.target = Object.assign({}, event.target, event.detail);\n }\n\n return event;\n}\n\nfunction getExtraValue(vm, dataPathsArray) {\n var context = vm;\n dataPathsArray.forEach(function (dataPathArray) {\n var dataPath = dataPathArray[0];\n var value = dataPathArray[2];\n if (dataPath || typeof value !== 'undefined') {// ['','',index,'disable']\n var propPath = dataPathArray[1];\n var valuePath = dataPathArray[3];\n\n var vFor = dataPath ? vm.__get_value(dataPath, context) : context;\n\n if (Number.isInteger(vFor)) {\n context = value;\n } else if (!propPath) {\n context = vFor[value];\n } else {\n if (Array.isArray(vFor)) {\n context = vFor.find(function (vForItem) {\n return vm.__get_value(propPath, vForItem) === value;\n });\n } else if (isPlainObject(vFor)) {\n context = Object.keys(vFor).find(function (vForKey) {\n return vm.__get_value(propPath, vFor[vForKey]) === value;\n });\n } else {\n console.error('v-for 暂不支持循环数据:', vFor);\n }\n }\n\n if (valuePath) {\n context = vm.__get_value(valuePath, context);\n }\n }\n });\n return context;\n}\n\nfunction processEventExtra(vm, extra, event) {\n var extraObj = {};\n\n if (Array.isArray(extra) && extra.length) {\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\n extra.forEach(function (dataPath, index) {\n if (typeof dataPath === 'string') {\n if (!dataPath) {// model,prop.sync\n extraObj['$' + index] = vm;\n } else {\n if (dataPath === '$event') {// $event\n extraObj['$' + index] = event;\n } else if (dataPath.indexOf('$event.') === 0) {// $event.target.value\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\n } else {\n extraObj['$' + index] = vm.__get_value(dataPath);\n }\n }\n } else {\n extraObj['$' + index] = getExtraValue(vm, dataPath);\n }\n });\n }\n\n return extraObj;\n}\n\nfunction getObjByArray(arr) {\n var obj = {};\n for (var i = 1; i < arr.length; i++) {\n var element = arr[i];\n obj[element[0]] = element[1];\n }\n return obj;\n}\n\nfunction processEventArgs(vm, event) {var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];var isCustom = arguments.length > 4 ? arguments[4] : undefined;var methodName = arguments.length > 5 ? arguments[5] : undefined;\n var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\n if (isCustom) {// 自定义事件\n isCustomMPEvent = event.currentTarget &&\n event.currentTarget.dataset &&\n event.currentTarget.dataset.comType === 'wx';\n if (!args.length) {// 无参数,直接传入 event 或 detail 数组\n if (isCustomMPEvent) {\n return [event];\n }\n return event.detail.__args__ || event.detail;\n }\n }\n\n var extraObj = processEventExtra(vm, extra, event);\n\n var ret = [];\n args.forEach(function (arg) {\n if (arg === '$event') {\n if (methodName === '__set_model' && !isCustom) {// input v-model value\n ret.push(event.target.value);\n } else {\n if (isCustom && !isCustomMPEvent) {\n ret.push(event.detail.__args__[0]);\n } else {// wxcomponent 组件或内置组件\n ret.push(event);\n }\n }\n } else {\n if (Array.isArray(arg) && arg[0] === 'o') {\n ret.push(getObjByArray(arg));\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\n ret.push(extraObj[arg]);\n } else {\n ret.push(arg);\n }\n }\n });\n\n return ret;\n}\n\nvar ONCE = '~';\nvar CUSTOM = '^';\n\nfunction isMatchEventType(eventType, optType) {\n return eventType === optType ||\n\n optType === 'regionchange' && (\n\n eventType === 'begin' ||\n eventType === 'end');\n\n\n}\n\nfunction handleEvent(event) {var _this = this;\n event = wrapper$2(event);\n\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\n var dataset = (event.currentTarget || event.target).dataset;\n if (!dataset) {\n return console.warn(\"\\u4E8B\\u4EF6\\u4FE1\\u606F\\u4E0D\\u5B58\\u5728\");\n }\n var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\n if (!eventOpts) {\n return console.warn(\"\\u4E8B\\u4EF6\\u4FE1\\u606F\\u4E0D\\u5B58\\u5728\");\n }\n\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\n var eventType = event.type;\n\n var ret = [];\n\n eventOpts.forEach(function (eventOpt) {\n var type = eventOpt[0];\n var eventsArray = eventOpt[1];\n\n var isCustom = type.charAt(0) === CUSTOM;\n type = isCustom ? type.slice(1) : type;\n var isOnce = type.charAt(0) === ONCE;\n type = isOnce ? type.slice(1) : type;\n\n if (eventsArray && isMatchEventType(eventType, type)) {\n eventsArray.forEach(function (eventArray) {\n var methodName = eventArray[0];\n if (methodName) {\n var handlerCtx = _this.$vm;\n if (\n handlerCtx.$options.generic &&\n handlerCtx.$parent &&\n handlerCtx.$parent.$parent)\n {// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\n handlerCtx = handlerCtx.$parent.$parent;\n }\n var handler = handlerCtx[methodName];\n if (!isFn(handler)) {\n throw new Error(\" _vm.\".concat(methodName, \" is not a function\"));\n }\n if (isOnce) {\n if (handler.once) {\n return;\n }\n handler.once = true;\n }\n ret.push(handler.apply(handlerCtx, processEventArgs(\n _this.$vm,\n event,\n eventArray[1],\n eventArray[2],\n isCustom,\n methodName)));\n\n }\n });\n }\n });\n\n if (\n eventType === 'input' &&\n ret.length === 1 &&\n typeof ret[0] !== 'undefined')\n {\n return ret[0];\n }\n}\n\nvar hooks = [\n'onShow',\n'onHide',\n'onError',\n'onPageNotFound'];\n\n\nfunction parseBaseApp(vm, _ref3)\n\n\n{var mocks = _ref3.mocks,initRefs = _ref3.initRefs;\n if (vm.$options.store) {\n _vue.default.prototype.$store = vm.$options.store;\n }\n\n _vue.default.prototype.mpHost = \"app-plus\";\n\n _vue.default.mixin({\n beforeCreate: function beforeCreate() {\n if (!this.$options.mpType) {\n return;\n }\n\n this.mpType = this.$options.mpType;\n\n this.$mp = _defineProperty({\n data: {} },\n this.mpType, this.$options.mpInstance);\n\n\n this.$scope = this.$options.mpInstance;\n\n delete this.$options.mpType;\n delete this.$options.mpInstance;\n\n if (this.mpType !== 'app') {\n initRefs(this);\n initMocks(this, mocks);\n }\n } });\n\n\n var appOptions = {\n onLaunch: function onLaunch(args) {\n if (this.$vm) {// 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\n return;\n }\n\n this.$vm = vm;\n\n this.$vm.$mp = {\n app: this };\n\n\n this.$vm.$scope = this;\n // vm 上也挂载 globalData\n this.$vm.globalData = this.globalData;\n\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted', args);\n\n this.$vm.__call_hook('onLaunch', args);\n } };\n\n\n // 兼容旧版本 globalData\n appOptions.globalData = vm.$options.globalData || {};\n\n initHooks(appOptions, hooks);\n\n return appOptions;\n}\n\nvar mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\n\nfunction findVmByVueId(vm, vuePid) {\n var $children = vm.$children;\n // 优先查找直属\n var parentVm = $children.find(function (childVm) {return childVm.$scope._$vueId === vuePid;});\n if (parentVm) {\n return parentVm;\n }\n // 反向递归查找\n for (var i = $children.length - 1; i >= 0; i--) {\n parentVm = findVmByVueId($children[i], vuePid);\n if (parentVm) {\n return parentVm;\n }\n }\n}\n\nfunction initBehavior(options) {\n return Behavior(options);\n}\n\nfunction isPage() {\n return !!this.route;\n}\n\nfunction initRelation(detail) {\n this.triggerEvent('__l', detail);\n}\n\nfunction initRefs(vm) {\n var mpInstance = vm.$scope;\n Object.defineProperty(vm, '$refs', {\n get: function get() {\n var $refs = {};\n var components = mpInstance.selectAllComponents('.vue-ref');\n components.forEach(function (component) {\n var ref = component.dataset.ref;\n $refs[ref] = component.$vm || component;\n });\n var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');\n forComponents.forEach(function (component) {\n var ref = component.dataset.ref;\n if (!$refs[ref]) {\n $refs[ref] = [];\n }\n $refs[ref].push(component.$vm || component);\n });\n return $refs;\n } });\n\n}\n\nfunction handleLink(event) {var _ref4 =\n\n\n\n event.detail || event.value,vuePid = _ref4.vuePid,vueOptions = _ref4.vueOptions; // detail 是微信,value 是百度(dipatch)\n\n var parentVm;\n\n if (vuePid) {\n parentVm = findVmByVueId(this.$vm, vuePid);\n }\n\n if (!parentVm) {\n parentVm = this.$vm;\n }\n\n vueOptions.parent = parentVm;\n}\n\nfunction parseApp(vm) {\n return parseBaseApp(vm, {\n mocks: mocks,\n initRefs: initRefs });\n\n}\n\nvar hooks$1 = [\n'onUniNViewMessage'];\n\n\nfunction parseApp$1(vm) {\n var appOptions = parseApp(vm);\n\n initHooks(appOptions, hooks$1);\n\n return appOptions;\n}\n\nfunction createApp(vm) {\n App(parseApp$1(vm));\n return vm;\n}\n\nfunction parseBaseComponent(vueComponentOptions)\n\n\n{var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},isPage = _ref5.isPage,initRelation = _ref5.initRelation;var _initVueComponent =\n initVueComponent(_vue.default, vueComponentOptions),_initVueComponent2 = _slicedToArray(_initVueComponent, 2),VueComponent = _initVueComponent2[0],vueOptions = _initVueComponent2[1];\n\n var options = {\n multipleSlots: true,\n addGlobalClass: true };\n\n\n var componentOptions = {\n options: options,\n data: initData(vueOptions, _vue.default.prototype),\n behaviors: initBehaviors(vueOptions, initBehavior),\n properties: initProperties(vueOptions.props, false, vueOptions.__file),\n lifetimes: {\n attached: function attached() {\n var properties = this.properties;\n\n var options = {\n mpType: isPage.call(this) ? 'page' : 'component',\n mpInstance: this,\n propsData: properties };\n\n\n initVueIds(properties.vueId, this);\n\n // 处理父子关系\n initRelation.call(this, {\n vuePid: this._$vuePid,\n vueOptions: options });\n\n\n // 初始化 vue 实例\n this.$vm = new VueComponent(options);\n\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\n initSlots(this.$vm, properties.vueSlots);\n\n // 触发首次 setData\n this.$vm.$mount();\n },\n ready: function ready() {\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\n if (this.$vm) {\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted');\n this.$vm.__call_hook('onReady');\n }\n },\n detached: function detached() {\n this.$vm.$destroy();\n } },\n\n pageLifetimes: {\n show: function show(args) {\n this.$vm && this.$vm.__call_hook('onPageShow', args);\n },\n hide: function hide() {\n this.$vm && this.$vm.__call_hook('onPageHide');\n },\n resize: function resize(size) {\n this.$vm && this.$vm.__call_hook('onPageResize', size);\n } },\n\n methods: {\n __l: handleLink,\n __e: handleEvent } };\n\n\n\n if (Array.isArray(vueOptions.wxsCallMethods)) {\n vueOptions.wxsCallMethods.forEach(function (callMethod) {\n componentOptions.methods[callMethod] = function (args) {\n return this.$vm[callMethod](args);\n };\n });\n }\n\n if (isPage) {\n return componentOptions;\n }\n return [componentOptions, VueComponent];\n}\n\nfunction parseComponent(vueComponentOptions) {\n return parseBaseComponent(vueComponentOptions, {\n isPage: isPage,\n initRelation: initRelation });\n\n}\n\nfunction parseComponent$1(vueComponentOptions) {\n var componentOptions = parseComponent(vueComponentOptions);\n\n componentOptions.methods.$getAppWebview = function () {\n return plus.webview.getWebviewById(\"\".concat(this.__wxWebviewId__));\n };\n return componentOptions;\n}\n\nvar hooks$2 = [\n'onShow',\n'onHide',\n'onUnload'];\n\n\nhooks$2.push.apply(hooks$2, PAGE_EVENT_HOOKS);\n\nfunction parseBasePage(vuePageOptions, _ref6)\n\n\n{var isPage = _ref6.isPage,initRelation = _ref6.initRelation;\n var pageOptions = parseComponent$1(vuePageOptions);\n\n initHooks(pageOptions.methods, hooks$2, vuePageOptions);\n\n pageOptions.methods.onLoad = function (args) {\n this.$vm.$mp.query = args; // 兼容 mpvue\n this.$vm.__call_hook('onLoad', args);\n };\n\n return pageOptions;\n}\n\nfunction parsePage(vuePageOptions) {\n return parseBasePage(vuePageOptions, {\n isPage: isPage,\n initRelation: initRelation });\n\n}\n\nvar hooks$3 = [\n'onBackPress',\n'onNavigationBarButtonTap',\n'onNavigationBarSearchInputChanged',\n'onNavigationBarSearchInputConfirmed',\n'onNavigationBarSearchInputClicked'];\n\n\nfunction parsePage$1(vuePageOptions) {\n var pageOptions = parsePage(vuePageOptions);\n\n initHooks(pageOptions.methods, hooks$3);\n\n return pageOptions;\n}\n\nfunction createPage(vuePageOptions) {\n {\n return Component(parsePage$1(vuePageOptions));\n }\n}\n\nfunction createComponent(vueOptions) {\n {\n return Component(parseComponent$1(vueOptions));\n }\n}\n\ntodos.forEach(function (todoApi) {\n protocols[todoApi] = false;\n});\n\ncanIUses.forEach(function (canIUseApi) {\n var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name :\n canIUseApi;\n if (!wx.canIUse(apiName)) {\n protocols[canIUseApi] = false;\n }\n});\n\nvar uni = {};\n\nif (typeof Proxy !== 'undefined' && \"app-plus\" !== 'app-plus') {\n uni = new Proxy({}, {\n get: function get(target, name) {\n if (target[name]) {\n return target[name];\n }\n if (baseApi[name]) {\n return baseApi[name];\n }\n if (api[name]) {\n return promisify(name, api[name]);\n }\n if (eventApi[name]) {\n return eventApi[name];\n }\n if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {\n return;\n }\n return promisify(name, wrapper(name, wx[name]));\n },\n set: function set(target, name, value) {\n target[name] = value;\n return true;\n } });\n\n} else {\n Object.keys(baseApi).forEach(function (name) {\n uni[name] = baseApi[name];\n });\n\n Object.keys(eventApi).forEach(function (name) {\n uni[name] = eventApi[name];\n });\n\n Object.keys(api).forEach(function (name) {\n uni[name] = promisify(name, api[name]);\n });\n\n Object.keys(wx).forEach(function (name) {\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\n uni[name] = promisify(name, wrapper(name, wx[name]));\n }\n });\n}\n\n{\n if (typeof global !== 'undefined') {\n global.uni = uni;\n global.UniEmitter = eventApi;\n }\n}\n\nwx.createApp = createApp;\nwx.createPage = createPage;\nwx.createComponent = createComponent;\n\nvar uni$1 = uni;var _default =\n\nuni$1;exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 2)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbIl90b1N0cmluZyIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiaGFzT3duUHJvcGVydHkiLCJpc0ZuIiwiZm4iLCJpc1N0ciIsInN0ciIsImlzUGxhaW5PYmplY3QiLCJvYmoiLCJjYWxsIiwiaGFzT3duIiwia2V5Iiwibm9vcCIsImNhY2hlZCIsImNhY2hlIiwiY3JlYXRlIiwiY2FjaGVkRm4iLCJoaXQiLCJjYW1lbGl6ZVJFIiwiY2FtZWxpemUiLCJyZXBsYWNlIiwiXyIsImMiLCJ0b1VwcGVyQ2FzZSIsIkhPT0tTIiwiZ2xvYmFsSW50ZXJjZXB0b3JzIiwic2NvcGVkSW50ZXJjZXB0b3JzIiwibWVyZ2VIb29rIiwicGFyZW50VmFsIiwiY2hpbGRWYWwiLCJyZXMiLCJjb25jYXQiLCJBcnJheSIsImlzQXJyYXkiLCJkZWR1cGVIb29rcyIsImhvb2tzIiwiaSIsImxlbmd0aCIsImluZGV4T2YiLCJwdXNoIiwicmVtb3ZlSG9vayIsImhvb2siLCJpbmRleCIsInNwbGljZSIsIm1lcmdlSW50ZXJjZXB0b3JIb29rIiwiaW50ZXJjZXB0b3IiLCJvcHRpb24iLCJrZXlzIiwiZm9yRWFjaCIsInJlbW92ZUludGVyY2VwdG9ySG9vayIsImFkZEludGVyY2VwdG9yIiwibWV0aG9kIiwicmVtb3ZlSW50ZXJjZXB0b3IiLCJ3cmFwcGVySG9vayIsImRhdGEiLCJpc1Byb21pc2UiLCJ0aGVuIiwicXVldWUiLCJwcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjYWxsYmFjayIsIndyYXBwZXJPcHRpb25zIiwib3B0aW9ucyIsIm5hbWUiLCJvbGRDYWxsYmFjayIsImNhbGxiYWNrSW50ZXJjZXB0b3IiLCJ3cmFwcGVyUmV0dXJuVmFsdWUiLCJyZXR1cm5WYWx1ZSIsInJldHVyblZhbHVlSG9va3MiLCJnZXRBcGlJbnRlcmNlcHRvckhvb2tzIiwic2xpY2UiLCJzY29wZWRJbnRlcmNlcHRvciIsImludm9rZUFwaSIsImFwaSIsInBhcmFtcyIsImludm9rZSIsInByb21pc2VJbnRlcmNlcHRvciIsImNhdGNoIiwiU1lOQ19BUElfUkUiLCJDT05URVhUX0FQSV9SRSIsIkNBTExCQUNLX0FQSV9SRSIsImlzQ29udGV4dEFwaSIsInRlc3QiLCJpc1N5bmNBcGkiLCJpc0NhbGxiYWNrQXBpIiwiaGFuZGxlUHJvbWlzZSIsImVyciIsInNob3VsZFByb21pc2UiLCJwcm9taXNpZnkiLCJwcm9taXNlQXBpIiwic3VjY2VzcyIsImZhaWwiLCJjb21wbGV0ZSIsInJlamVjdCIsImFzc2lnbiIsImZpbmFsbHkiLCJjb25zdHJ1Y3RvciIsInZhbHVlIiwicmVhc29uIiwiRVBTIiwiQkFTRV9ERVZJQ0VfV0lEVEgiLCJpc0lPUyIsImRldmljZVdpZHRoIiwiZGV2aWNlRFBSIiwiY2hlY2tEZXZpY2VXaWR0aCIsInd4IiwiZ2V0U3lzdGVtSW5mb1N5bmMiLCJwbGF0Zm9ybSIsInBpeGVsUmF0aW8iLCJ3aW5kb3dXaWR0aCIsInVweDJweCIsIm51bWJlciIsIm5ld0RldmljZVdpZHRoIiwiTnVtYmVyIiwicmVzdWx0IiwiTWF0aCIsImZsb29yIiwiaW50ZXJjZXB0b3JzIiwiYmFzZUFwaSIsImZyZWV6ZSIsInByb3RvY29scyIsInRvZG9zIiwiY2FuSVVzZXMiLCJDQUxMQkFDS1MiLCJwcm9jZXNzQ2FsbGJhY2siLCJtZXRob2ROYW1lIiwicHJvY2Vzc1JldHVyblZhbHVlIiwicHJvY2Vzc0FyZ3MiLCJmcm9tQXJncyIsImFyZ3NPcHRpb24iLCJrZWVwRnJvbUFyZ3MiLCJ0b0FyZ3MiLCJrZXlPcHRpb24iLCJjb25zb2xlIiwid2FybiIsImtlZXBSZXR1cm5WYWx1ZSIsIndyYXBwZXIiLCJwcm90b2NvbCIsImVycm9yIiwiYXJnMSIsImFyZzIiLCJhcmdzIiwiYXBwbHkiLCJ0b2RvQXBpcyIsIlRPRE9TIiwiY3JlYXRlVG9kb0FwaSIsInRvZG9BcGkiLCJlcnJNc2ciLCJnZXRFbWl0dGVyIiwiZ2V0VW5pRW1pdHRlciIsIkVtaXR0ZXIiLCJWdWUiLCJjdHgiLCIkb24iLCJhcmd1bWVudHMiLCIkb2ZmIiwiJG9uY2UiLCIkZW1pdCIsImV2ZW50QXBpIiwicmVxdWlyZU5hdGl2ZVBsdWdpbiIsInBsdWdpbk5hbWUiLCJ3ZWV4IiwicmVxdWlyZU1vZHVsZSIsIl9fcmVxdWlyZU5hdGl2ZVBsdWdpbl9fIiwid3JhcHBlciQxIiwid2VidmlldyIsIiRwcm9jZXNzZWQiLCJwb3N0TWVzc2FnZSIsInBsdXMiLCJwb3N0TWVzc2FnZVRvVW5pTlZpZXciLCJ0eXBlIiwiaWQiLCJjYWxsYmFja3MiLCJvbk1lc3NhZ2UiLCIkY29uc3VtZU1lc3NhZ2UiLCJlIiwiX191bmlhcHBfbWFza19pZCIsIm1hc2tDb2xvciIsIl9fdW5pYXBwX21hc2siLCJtYXNrV2VidmlldyIsInNldFN0eWxlIiwibWFzayIsInNldE1hc2siLCJjb2xvciIsImdldFdlYnZpZXdCeUlkIiwib2xkU2hvdyIsInNob3ciLCJvbGRIaWRlIiwiaGlkZSIsIm9sZENsb3NlIiwiY2xvc2UiLCJzaG93TWFzayIsImNsb3NlTWFzayIsImdldFN1Yk5WdWVCeUlkIiwiTVBQYWdlIiwiUGFnZSIsIk1QQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiY3VzdG9taXplUkUiLCJjdXN0b21pemUiLCJpbml0VHJpZ2dlckV2ZW50IiwibXBJbnN0YW5jZSIsImNhbklVc2UiLCJvbGRUcmlnZ2VyRXZlbnQiLCJ0cmlnZ2VyRXZlbnQiLCJldmVudCIsImluaXRIb29rIiwib2xkSG9vayIsIlBBR0VfRVZFTlRfSE9PS1MiLCJpbml0TW9ja3MiLCJ2bSIsIm1vY2tzIiwiJG1wIiwibXBUeXBlIiwibW9jayIsImhhc0hvb2siLCJ2dWVPcHRpb25zIiwiZGVmYXVsdCIsImV4dGVuZE9wdGlvbnMiLCJzdXBlciIsIm1peGlucyIsImZpbmQiLCJtaXhpbiIsImluaXRIb29rcyIsIm1wT3B0aW9ucyIsIiR2bSIsIl9fY2FsbF9ob29rIiwiaW5pdFZ1ZUNvbXBvbmVudCIsIlZ1ZUNvbXBvbmVudCIsImV4dGVuZCIsImluaXRTbG90cyIsInZ1ZVNsb3RzIiwiJHNsb3RzIiwic2xvdE5hbWUiLCIkc2NvcGVkU2xvdHMiLCJpbml0VnVlSWRzIiwidnVlSWRzIiwic3BsaXQiLCJsZW4iLCJfJHZ1ZUlkIiwiXyR2dWVQaWQiLCJpbml0RGF0YSIsImNvbnRleHQiLCJtZXRob2RzIiwicHJvY2VzcyIsIlZVRV9BUFBfREVCVUciLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJfX2xpZmVjeWNsZV9ob29rc19fIiwiUFJPUF9UWVBFUyIsIlN0cmluZyIsIkJvb2xlYW4iLCJjcmVhdGVPYnNlcnZlciIsIm9ic2VydmVyIiwibmV3VmFsIiwib2xkVmFsIiwiaW5pdEJlaGF2aW9ycyIsImluaXRCZWhhdmlvciIsInZ1ZUJlaGF2aW9ycyIsInZ1ZUV4dGVuZHMiLCJ2dWVNaXhpbnMiLCJ2dWVQcm9wcyIsImJlaGF2aW9ycyIsImJlaGF2aW9yIiwiRGF0ZSIsInByb3BzIiwicHJvcGVydGllcyIsImluaXRQcm9wZXJ0aWVzIiwidnVlTWl4aW4iLCJwYXJzZVByb3BUeXBlIiwiZGVmYXVsdFZhbHVlIiwiZmlsZSIsImlzQmVoYXZpb3IiLCJ2dWVJZCIsInNldERhdGEiLCJvcHRzIiwid3JhcHBlciQyIiwibXAiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsImRldGFpbCIsImdldEV4dHJhVmFsdWUiLCJkYXRhUGF0aHNBcnJheSIsImRhdGFQYXRoQXJyYXkiLCJkYXRhUGF0aCIsInByb3BQYXRoIiwidmFsdWVQYXRoIiwidkZvciIsIl9fZ2V0X3ZhbHVlIiwiaXNJbnRlZ2VyIiwidkZvckl0ZW0iLCJ2Rm9yS2V5IiwicHJvY2Vzc0V2ZW50RXh0cmEiLCJleHRyYSIsImV4dHJhT2JqIiwiZ2V0T2JqQnlBcnJheSIsImFyciIsImVsZW1lbnQiLCJwcm9jZXNzRXZlbnRBcmdzIiwiaXNDdXN0b20iLCJpc0N1c3RvbU1QRXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCIsImNvbVR5cGUiLCJfX2FyZ3NfXyIsInJldCIsImFyZyIsIk9OQ0UiLCJDVVNUT00iLCJpc01hdGNoRXZlbnRUeXBlIiwiZXZlbnRUeXBlIiwib3B0VHlwZSIsImhhbmRsZUV2ZW50IiwiZXZlbnRPcHRzIiwiZXZlbnRPcHQiLCJldmVudHNBcnJheSIsImNoYXJBdCIsImlzT25jZSIsImV2ZW50QXJyYXkiLCJoYW5kbGVyQ3R4IiwiJG9wdGlvbnMiLCJnZW5lcmljIiwiJHBhcmVudCIsImhhbmRsZXIiLCJFcnJvciIsIm9uY2UiLCJwYXJzZUJhc2VBcHAiLCJpbml0UmVmcyIsInN0b3JlIiwiJHN0b3JlIiwibXBIb3N0IiwiYmVmb3JlQ3JlYXRlIiwiJHNjb3BlIiwiYXBwT3B0aW9ucyIsIm9uTGF1bmNoIiwiYXBwIiwiZ2xvYmFsRGF0YSIsIl9pc01vdW50ZWQiLCJmaW5kVm1CeVZ1ZUlkIiwidnVlUGlkIiwiJGNoaWxkcmVuIiwicGFyZW50Vm0iLCJjaGlsZFZtIiwiQmVoYXZpb3IiLCJpc1BhZ2UiLCJyb3V0ZSIsImluaXRSZWxhdGlvbiIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiJHJlZnMiLCJjb21wb25lbnRzIiwic2VsZWN0QWxsQ29tcG9uZW50cyIsImNvbXBvbmVudCIsInJlZiIsImZvckNvbXBvbmVudHMiLCJoYW5kbGVMaW5rIiwicGFyZW50IiwicGFyc2VBcHAiLCJob29rcyQxIiwicGFyc2VBcHAkMSIsImNyZWF0ZUFwcCIsIkFwcCIsInBhcnNlQmFzZUNvbXBvbmVudCIsInZ1ZUNvbXBvbmVudE9wdGlvbnMiLCJtdWx0aXBsZVNsb3RzIiwiYWRkR2xvYmFsQ2xhc3MiLCJjb21wb25lbnRPcHRpb25zIiwiX19maWxlIiwibGlmZXRpbWVzIiwiYXR0YWNoZWQiLCJwcm9wc0RhdGEiLCIkbW91bnQiLCJyZWFkeSIsImRldGFjaGVkIiwiJGRlc3Ryb3kiLCJwYWdlTGlmZXRpbWVzIiwicmVzaXplIiwic2l6ZSIsIl9fbCIsIl9fZSIsInd4c0NhbGxNZXRob2RzIiwiY2FsbE1ldGhvZCIsInBhcnNlQ29tcG9uZW50IiwicGFyc2VDb21wb25lbnQkMSIsIiRnZXRBcHBXZWJ2aWV3IiwiX193eFdlYnZpZXdJZF9fIiwiaG9va3MkMiIsInBhcnNlQmFzZVBhZ2UiLCJ2dWVQYWdlT3B0aW9ucyIsInBhZ2VPcHRpb25zIiwib25Mb2FkIiwicXVlcnkiLCJwYXJzZVBhZ2UiLCJob29rcyQzIiwicGFyc2VQYWdlJDEiLCJjcmVhdGVQYWdlIiwiY3JlYXRlQ29tcG9uZW50IiwiY2FuSVVzZUFwaSIsImFwaU5hbWUiLCJ1bmkiLCJQcm94eSIsInNldCIsImdsb2JhbCIsIlVuaUVtaXR0ZXIiLCJ1bmkkMSJdLCJtYXBwaW5ncyI6IjZPQUFBLHFFOztBQUVBLElBQU1BLFNBQVMsR0FBR0MsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUFuQztBQUNBLElBQU1DLGNBQWMsR0FBR0gsTUFBTSxDQUFDQyxTQUFQLENBQWlCRSxjQUF4Qzs7QUFFQSxTQUFTQyxJQUFULENBQWVDLEVBQWYsRUFBbUI7QUFDakIsU0FBTyxPQUFPQSxFQUFQLEtBQWMsVUFBckI7QUFDRDs7QUFFRCxTQUFTQyxLQUFULENBQWdCQyxHQUFoQixFQUFxQjtBQUNuQixTQUFPLE9BQU9BLEdBQVAsS0FBZSxRQUF0QjtBQUNEOztBQUVELFNBQVNDLGFBQVQsQ0FBd0JDLEdBQXhCLEVBQTZCO0FBQzNCLFNBQU9WLFNBQVMsQ0FBQ1csSUFBVixDQUFlRCxHQUFmLE1BQXdCLGlCQUEvQjtBQUNEOztBQUVELFNBQVNFLE1BQVQsQ0FBaUJGLEdBQWpCLEVBQXNCRyxHQUF0QixFQUEyQjtBQUN6QixTQUFPVCxjQUFjLENBQUNPLElBQWYsQ0FBb0JELEdBQXBCLEVBQXlCRyxHQUF6QixDQUFQO0FBQ0Q7O0FBRUQsU0FBU0MsSUFBVCxHQUFpQixDQUFFOztBQUVuQjs7O0FBR0EsU0FBU0MsTUFBVCxDQUFpQlQsRUFBakIsRUFBcUI7QUFDbkIsTUFBTVUsS0FBSyxHQUFHZixNQUFNLENBQUNnQixNQUFQLENBQWMsSUFBZCxDQUFkO0FBQ0EsU0FBTyxTQUFTQyxRQUFULENBQW1CVixH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QUFDVixJQUFELENBQVYsQ0FBckI7QUFDRCxHQUZEOztBQUlBakUsUUFBTSxDQUFDZ0QsSUFBUCxDQUFZMkQsRUFBWixFQUFnQjFELE9BQWhCLENBQXdCLFVBQUFnQixJQUFJLEVBQUk7QUFDOUIsUUFBSXRELE1BQU0sQ0FBQ2dHLEVBQUQsRUFBSzFDLElBQUwsQ0FBTixJQUFvQnRELE1BQU0sQ0FBQytHLFNBQUQsRUFBWXpELElBQVosQ0FBOUIsRUFBaUQ7QUFDL0NrVixTQUFHLENBQUNsVixJQUFELENBQUgsR0FBWXlCLFNBQVMsQ0FBQ3pCLElBQUQsRUFBT3lFLE9BQU8sQ0FBQ3pFLElBQUQsRUFBTzBDLEVBQUUsQ0FBQzFDLElBQUQsQ0FBVCxDQUFkLENBQXJCO0FBQ0Q7QUFDRixHQUpEO0FBS0Q7O0FBRUQ7QUFDRSxNQUFJLE9BQU9xVixNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDQSxVQUFNLENBQUNILEdBQVAsR0FBYUEsR0FBYjtBQUNBRyxVQUFNLENBQUNDLFVBQVAsR0FBb0J2UCxRQUFwQjtBQUNEO0FBQ0Y7O0FBRURyRCxFQUFFLENBQUNpUSxTQUFILEdBQWVBLFNBQWY7QUFDQWpRLEVBQUUsQ0FBQ29TLFVBQUgsR0FBZ0JBLFVBQWhCO0FBQ0FwUyxFQUFFLENBQUNxUyxlQUFILEdBQXFCQSxlQUFyQjs7QUFFQSxJQUFJUSxLQUFLLEdBQUdMLEdBQVosQzs7QUFFZUssSyIsImZpbGUiOiIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZ1ZSBmcm9tICd2dWUnO1xyXG5cclxuY29uc3QgX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcclxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xyXG5cclxuZnVuY3Rpb24gaXNGbiAoZm4pIHtcclxuICByZXR1cm4gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzU3RyIChzdHIpIHtcclxuICByZXR1cm4gdHlwZW9mIHN0ciA9PT0gJ3N0cmluZydcclxufVxyXG5cclxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCAob2JqKSB7XHJcbiAgcmV0dXJuIF90b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhc093biAob2JqLCBrZXkpIHtcclxuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSlcclxufVxyXG5cclxuZnVuY3Rpb24gbm9vcCAoKSB7fVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhIGNhY2hlZCB2ZXJzaW9uIG9mIGEgcHVyZSBmdW5jdGlvbi5cclxuICovXHJcbmZ1bmN0aW9uIGNhY2hlZCAoZm4pIHtcclxuICBjb25zdCBjYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIGNhY2hlZEZuIChzdHIpIHtcclxuICAgIGNvbnN0IGhpdCA9IGNhY2hlW3N0cl07XHJcbiAgICByZXR1cm4gaGl0IHx8IChjYWNoZVtzdHJdID0gZm4oc3RyKSlcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYW1lbGl6ZSBhIGh5cGhlbi1kZWxpbWl0ZWQgc3RyaW5nLlxyXG4gKi9cclxuY29uc3QgY2FtZWxpemVSRSA9IC8tKFxcdykvZztcclxuY29uc3QgY2FtZWxpemUgPSBjYWNoZWQoKHN0cikgPT4ge1xyXG4gIHJldHVybiBzdHIucmVwbGFjZShjYW1lbGl6ZVJFLCAoXywgYykgPT4gYyA/IGMudG9VcHBlckNhc2UoKSA6ICcnKVxyXG59KTtcclxuXHJcbmNvbnN0IEhPT0tTID0gW1xyXG4gICdpbnZva2UnLFxyXG4gICdzdWNjZXNzJyxcclxuICAnZmFpbCcsXHJcbiAgJ2NvbXBsZXRlJyxcclxuICAncmV0dXJuVmFsdWUnXHJcbl07XHJcblxyXG5jb25zdCBnbG9iYWxJbnRlcmNlcHRvcnMgPSB7fTtcclxuY29uc3Qgc2NvcGVkSW50ZXJjZXB0b3JzID0ge307XHJcblxyXG5mdW5jdGlvbiBtZXJnZUhvb2sgKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcclxuICBjb25zdCByZXMgPSBjaGlsZFZhbFxyXG4gICAgPyBwYXJlbnRWYWxcclxuICAgICAgPyBwYXJlbnRWYWwuY29uY2F0KGNoaWxkVmFsKVxyXG4gICAgICA6IEFycmF5LmlzQXJyYXkoY2hpbGRWYWwpXHJcbiAgICAgICAgPyBjaGlsZFZhbCA6IFtjaGlsZFZhbF1cclxuICAgIDogcGFyZW50VmFsO1xyXG4gIHJldHVybiByZXNcclxuICAgID8gZGVkdXBlSG9va3MocmVzKVxyXG4gICAgOiByZXNcclxufVxyXG5cclxuZnVuY3Rpb24gZGVkdXBlSG9va3MgKGhvb2tzKSB7XHJcbiAgY29uc3QgcmVzID0gW107XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKHJlcy5pbmRleE9mKGhvb2tzW2ldKSA9PT0gLTEpIHtcclxuICAgICAgcmVzLnB1c2goaG9va3NbaV0pO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gcmVzXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZUhvb2sgKGhvb2tzLCBob29rKSB7XHJcbiAgY29uc3QgaW5kZXggPSBob29rcy5pbmRleE9mKGhvb2spO1xyXG4gIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgIGhvb2tzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZUludGVyY2VwdG9ySG9vayAoaW50ZXJjZXB0b3IsIG9wdGlvbikge1xyXG4gIE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaChob29rID0+IHtcclxuICAgIGlmIChIT09LUy5pbmRleE9mKGhvb2spICE9PSAtMSAmJiBpc0ZuKG9wdGlvbltob29rXSkpIHtcclxuICAgICAgaW50ZXJjZXB0b3JbaG9va10gPSBtZXJnZUhvb2soaW50ZXJjZXB0b3JbaG9va10sIG9wdGlvbltob29rXSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZUludGVyY2VwdG9ySG9vayAoaW50ZXJjZXB0b3IsIG9wdGlvbikge1xyXG4gIGlmICghaW50ZXJjZXB0b3IgfHwgIW9wdGlvbikge1xyXG4gICAgcmV0dXJuXHJcbiAgfVxyXG4gIE9iamVjdC5rZXlzKG9wdGlvbikuZm9yRWFjaChob29rID0+IHtcclxuICAgIGlmIChIT09LUy5pbmRleE9mKGhvb2spICE9PSAtMSAmJiBpc0ZuKG9wdGlvbltob29rXSkpIHtcclxuICAgICAgcmVtb3ZlSG9vayhpbnRlcmNlcHRvcltob29rXSwgb3B0aW9uW2hvb2tdKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gYWRkSW50ZXJjZXB0b3IgKG1ldGhvZCwgb3B0aW9uKSB7XHJcbiAgaWYgKHR5cGVvZiBtZXRob2QgPT09ICdzdHJpbmcnICYmIGlzUGxhaW5PYmplY3Qob3B0aW9uKSkge1xyXG4gICAgbWVyZ2VJbnRlcmNlcHRvckhvb2soc2NvcGVkSW50ZXJjZXB0b3JzW21ldGhvZF0gfHwgKHNjb3BlZEludGVyY2VwdG9yc1ttZXRob2RdID0ge30pLCBvcHRpb24pO1xyXG4gIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChtZXRob2QpKSB7XHJcbiAgICBtZXJnZUludGVyY2VwdG9ySG9vayhnbG9iYWxJbnRlcmNlcHRvcnMsIG1ldGhvZCk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZW1vdmVJbnRlcmNlcHRvciAobWV0aG9kLCBvcHRpb24pIHtcclxuICBpZiAodHlwZW9mIG1ldGhvZCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGlmIChpc1BsYWluT2JqZWN0KG9wdGlvbikpIHtcclxuICAgICAgcmVtb3ZlSW50ZXJjZXB0b3JIb29rKHNjb3BlZEludGVyY2VwdG9yc1ttZXRob2RdLCBvcHRpb24pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVsZXRlIHNjb3BlZEludGVyY2VwdG9yc1ttZXRob2RdO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChtZXRob2QpKSB7XHJcbiAgICByZW1vdmVJbnRlcmNlcHRvckhvb2soZ2xvYmFsSW50ZXJjZXB0b3JzLCBtZXRob2QpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gd3JhcHBlckhvb2sgKGhvb2spIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgIHJldHVybiBob29rKGRhdGEpIHx8IGRhdGFcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzUHJvbWlzZSAob2JqKSB7XHJcbiAgcmV0dXJuICEhb2JqICYmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJiB0eXBlb2Ygb2JqLnRoZW4gPT09ICdmdW5jdGlvbidcclxufVxyXG5cclxuZnVuY3Rpb24gcXVldWUgKGhvb2tzLCBkYXRhKSB7XHJcbiAgbGV0IHByb21pc2UgPSBmYWxzZTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBob29rID0gaG9va3NbaV07XHJcbiAgICBpZiAocHJvbWlzZSkge1xyXG4gICAgICBwcm9taXNlID0gUHJvbWlzZS50aGVuKHdyYXBwZXJIb29rKGhvb2spKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGhvb2soZGF0YSk7XHJcbiAgICAgIGlmIChpc1Byb21pc2UocmVzKSkge1xyXG4gICAgICAgIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUocmVzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB0aGVuICgpIHt9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBwcm9taXNlIHx8IHtcclxuICAgIHRoZW4gKGNhbGxiYWNrKSB7XHJcbiAgICAgIHJldHVybiBjYWxsYmFjayhkYXRhKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gd3JhcHBlck9wdGlvbnMgKGludGVyY2VwdG9yLCBvcHRpb25zID0ge30pIHtcclxuICBbJ3N1Y2Nlc3MnLCAnZmFpbCcsICdjb21wbGV0ZSddLmZvckVhY2gobmFtZSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnRlcmNlcHRvcltuYW1lXSkpIHtcclxuICAgICAgY29uc3Qgb2xkQ2FsbGJhY2sgPSBvcHRpb25zW25hbWVdO1xyXG4gICAgICBvcHRpb25zW25hbWVdID0gZnVuY3Rpb24gY2FsbGJhY2tJbnRlcmNlcHRvciAocmVzKSB7XHJcbiAgICAgICAgcXVldWUoaW50ZXJjZXB0b3JbbmFtZV0sIHJlcykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1taXhlZC1vcGVyYXRvcnMgKi9cclxuICAgICAgICAgIHJldHVybiBpc0ZuKG9sZENhbGxiYWNrKSAmJiBvbGRDYWxsYmFjayhyZXMpIHx8IHJlc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHJldHVybiBvcHRpb25zXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdyYXBwZXJSZXR1cm5WYWx1ZSAobWV0aG9kLCByZXR1cm5WYWx1ZSkge1xyXG4gIGNvbnN0IHJldHVyblZhbHVlSG9va3MgPSBbXTtcclxuICBpZiAoQXJyYXkuaXNBcnJheShnbG9iYWxJbnRlcmNlcHRvcnMucmV0dXJuVmFsdWUpKSB7XHJcbiAgICByZXR1cm5WYWx1ZUhvb2tzLnB1c2goLi4uZ2xvYmFsSW50ZXJjZXB0b3JzLnJldHVyblZhbHVlKTtcclxuICB9XHJcbiAgY29uc3QgaW50ZXJjZXB0b3IgPSBzY29wZWRJbnRlcmNlcHRvcnNbbWV0aG9kXTtcclxuICBpZiAoaW50ZXJjZXB0b3IgJiYgQXJyYXkuaXNBcnJheShpbnRlcmNlcHRvci5yZXR1cm5WYWx1ZSkpIHtcclxuICAgIHJldHVyblZhbHVlSG9va3MucHVzaCguLi5pbnRlcmNlcHRvci5yZXR1cm5WYWx1ZSk7XHJcbiAgfVxyXG4gIHJldHVyblZhbHVlSG9va3MuZm9yRWFjaChob29rID0+IHtcclxuICAgIHJldHVyblZhbHVlID0gaG9vayhyZXR1cm5WYWx1ZSkgfHwgcmV0dXJuVmFsdWU7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJldHVyblZhbHVlXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFwaUludGVyY2VwdG9ySG9va3MgKG1ldGhvZCkge1xyXG4gIGNvbnN0IGludGVyY2VwdG9yID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuICBPYmplY3Qua2V5cyhnbG9iYWxJbnRlcmNlcHRvcnMpLmZvckVhY2goaG9vayA9PiB7XHJcbiAgICBpZiAoaG9vayAhPT0gJ3JldHVyblZhbHVlJykge1xyXG4gICAgICBpbnRlcmNlcHRvcltob29rXSA9IGdsb2JhbEludGVyY2VwdG9yc1tob29rXS5zbGljZSgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIGNvbnN0IHNjb3BlZEludGVyY2VwdG9yID0gc2NvcGVkSW50ZXJjZXB0b3JzW21ldGhvZF07XHJcbiAgaWYgKHNjb3BlZEludGVyY2VwdG9yKSB7XHJcbiAgICBPYmplY3Qua2V5cyhzY29wZWRJbnRlcmNlcHRvcikuZm9yRWFjaChob29rID0+IHtcclxuICAgICAgaWYgKGhvb2sgIT09ICdyZXR1cm5WYWx1ZScpIHtcclxuICAgICAgICBpbnRlcmNlcHRvcltob29rXSA9IChpbnRlcmNlcHRvcltob29rXSB8fCBbXSkuY29uY2F0KHNjb3BlZEludGVyY2VwdG9yW2hvb2tdKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBpbnRlcmNlcHRvclxyXG59XHJcblxyXG5mdW5jdGlvbiBpbnZva2VBcGkgKG1ldGhvZCwgYXBpLCBvcHRpb25zLCAuLi5wYXJhbXMpIHtcclxuICBjb25zdCBpbnRlcmNlcHRvciA9IGdldEFwaUludGVyY2VwdG9ySG9va3MobWV0aG9kKTtcclxuICBpZiAoaW50ZXJjZXB0b3IgJiYgT2JqZWN0LmtleXMoaW50ZXJjZXB0b3IpLmxlbmd0aCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW50ZXJjZXB0b3IuaW52b2tlKSkge1xyXG4gICAgICBjb25zdCByZXMgPSBxdWV1ZShpbnRlcmNlcHRvci5pbnZva2UsIG9wdGlvbnMpO1xyXG4gICAgICByZXR1cm4gcmVzLnRoZW4oKG9wdGlvbnMpID0+IHtcclxuICAgICAgICByZXR1cm4gYXBpKHdyYXBwZXJPcHRpb25zKGludGVyY2VwdG9yLCBvcHRpb25zKSwgLi4ucGFyYW1zKVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFwaSh3cmFwcGVyT3B0aW9ucyhpbnRlcmNlcHRvciwgb3B0aW9ucyksIC4uLnBhcmFtcylcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGFwaShvcHRpb25zLCAuLi5wYXJhbXMpXHJcbn1cclxuXHJcbmNvbnN0IHByb21pc2VJbnRlcmNlcHRvciA9IHtcclxuICByZXR1cm5WYWx1ZSAocmVzKSB7XHJcbiAgICBpZiAoIWlzUHJvbWlzZShyZXMpKSB7XHJcbiAgICAgIHJldHVybiByZXNcclxuICAgIH1cclxuICAgIHJldHVybiByZXMudGhlbihyZXMgPT4ge1xyXG4gICAgICByZXR1cm4gcmVzWzFdXHJcbiAgICB9KS5jYXRjaChyZXMgPT4ge1xyXG4gICAgICByZXR1cm4gcmVzWzBdXHJcbiAgICB9KVxyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IFNZTkNfQVBJX1JFID1cclxuICAvXlxcJHxnZXRNZW51QnV0dG9uQm91bmRpbmdDbGllbnRSZWN0fF5yZXBvcnR8aW50ZXJjZXB0b3JzfEludGVyY2VwdG9yJHxnZXRTdWJOVnVlQnlJZHxyZXF1aXJlTmF0aXZlUGx1Z2lufHVweDJweHxoaWRlS2V5Ym9hcmR8Y2FuSVVzZXxeY3JlYXRlfFN5bmMkfE1hbmFnZXIkfGJhc2U2NFRvQXJyYXlCdWZmZXJ8YXJyYXlCdWZmZXJUb0Jhc2U2NC87XHJcblxyXG5jb25zdCBDT05URVhUX0FQSV9SRSA9IC9eY3JlYXRlfE1hbmFnZXIkLztcclxuXHJcbmNvbnN0IENBTExCQUNLX0FQSV9SRSA9IC9eb24vO1xyXG5cclxuZnVuY3Rpb24gaXNDb250ZXh0QXBpIChuYW1lKSB7XHJcbiAgcmV0dXJuIENPTlRFWFRfQVBJX1JFLnRlc3QobmFtZSlcclxufVxyXG5mdW5jdGlvbiBpc1N5bmNBcGkgKG5hbWUpIHtcclxuICByZXR1cm4gU1lOQ19BUElfUkUudGVzdChuYW1lKVxyXG59XHJcblxyXG5mdW5jdGlvbiBpc0NhbGxiYWNrQXBpIChuYW1lKSB7XHJcbiAgcmV0dXJuIENBTExCQUNLX0FQSV9SRS50ZXN0KG5hbWUpICYmIG5hbWUgIT09ICdvblB1c2gnXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZVByb21pc2UgKHByb21pc2UpIHtcclxuICByZXR1cm4gcHJvbWlzZS50aGVuKGRhdGEgPT4ge1xyXG4gICAgcmV0dXJuIFtudWxsLCBkYXRhXVxyXG4gIH0pXHJcbiAgICAuY2F0Y2goZXJyID0+IFtlcnJdKVxyXG59XHJcblxyXG5mdW5jdGlvbiBzaG91bGRQcm9taXNlIChuYW1lKSB7XHJcbiAgaWYgKFxyXG4gICAgaXNDb250ZXh0QXBpKG5hbWUpIHx8XHJcbiAgICBpc1N5bmNBcGkobmFtZSkgfHxcclxuICAgIGlzQ2FsbGJhY2tBcGkobmFtZSlcclxuICApIHtcclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuICByZXR1cm4gdHJ1ZVxyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9taXNpZnkgKG5hbWUsIGFwaSkge1xyXG4gIGlmICghc2hvdWxkUHJvbWlzZShuYW1lKSkge1xyXG4gICAgcmV0dXJuIGFwaVxyXG4gIH1cclxuICByZXR1cm4gZnVuY3Rpb24gcHJvbWlzZUFwaSAob3B0aW9ucyA9IHt9LCAuLi5wYXJhbXMpIHtcclxuICAgIGlmIChpc0ZuKG9wdGlvbnMuc3VjY2VzcykgfHwgaXNGbihvcHRpb25zLmZhaWwpIHx8IGlzRm4ob3B0aW9ucy5jb21wbGV0ZSkpIHtcclxuICAgICAgcmV0dXJuIHdyYXBwZXJSZXR1cm5WYWx1ZShuYW1lLCBpbnZva2VBcGkobmFtZSwgYXBpLCBvcHRpb25zLCAuLi5wYXJhbXMpKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdyYXBwZXJSZXR1cm5WYWx1ZShuYW1lLCBoYW5kbGVQcm9taXNlKG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgaW52b2tlQXBpKG5hbWUsIGFwaSwgT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucywge1xyXG4gICAgICAgIHN1Y2Nlc3M6IHJlc29sdmUsXHJcbiAgICAgICAgZmFpbDogcmVqZWN0XHJcbiAgICAgIH0pLCAuLi5wYXJhbXMpO1xyXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1leHRlbmQtbmF0aXZlICovXHJcbiAgICAgIGlmICghUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseSkge1xyXG4gICAgICAgIFByb21pc2UucHJvdG90eXBlLmZpbmFsbHkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcclxuICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmNvbnN0cnVjdG9yO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMudGhlbihcclxuICAgICAgICAgICAgdmFsdWUgPT4gcHJvbWlzZS5yZXNvbHZlKGNhbGxiYWNrKCkpLnRoZW4oKCkgPT4gdmFsdWUpLFxyXG4gICAgICAgICAgICByZWFzb24gPT4gcHJvbWlzZS5yZXNvbHZlKGNhbGxiYWNrKCkpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRocm93IHJlYXNvblxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pKSlcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IEVQUyA9IDFlLTQ7XHJcbmNvbnN0IEJBU0VfREVWSUNFX1dJRFRIID0gNzUwO1xyXG5sZXQgaXNJT1MgPSBmYWxzZTtcclxubGV0IGRldmljZVdpZHRoID0gMDtcclxubGV0IGRldmljZURQUiA9IDA7XHJcblxyXG5mdW5jdGlvbiBjaGVja0RldmljZVdpZHRoICgpIHtcclxuICBjb25zdCB7XHJcbiAgICBwbGF0Zm9ybSxcclxuICAgIHBpeGVsUmF0aW8sXHJcbiAgICB3aW5kb3dXaWR0aFxyXG4gIH0gPSB3eC5nZXRTeXN0ZW1JbmZvU3luYygpOyAvLyB1bmk9Pnd4IHJ1bnRpbWUg57yW6K+R55uu5qCH5pivIHVuaSDlr7nosaHvvIzlhoXpg6jkuI3lhYHorrjnm7TmjqXkvb/nlKggdW5pXHJcblxyXG4gIGRldmljZVdpZHRoID0gd2luZG93V2lkdGg7XHJcbiAgZGV2aWNlRFBSID0gcGl4ZWxSYXRpbztcclxuICBpc0lPUyA9IHBsYXRmb3JtID09PSAnaW9zJztcclxufVxyXG5cclxuZnVuY3Rpb24gdXB4MnB4IChudW1iZXIsIG5ld0RldmljZVdpZHRoKSB7XHJcbiAgaWYgKGRldmljZVdpZHRoID09PSAwKSB7XHJcbiAgICBjaGVja0RldmljZVdpZHRoKCk7XHJcbiAgfVxyXG5cclxuICBudW1iZXIgPSBOdW1iZXIobnVtYmVyKTtcclxuICBpZiAobnVtYmVyID09PSAwKSB7XHJcbiAgICByZXR1cm4gMFxyXG4gIH1cclxuICBsZXQgcmVzdWx0ID0gKG51bWJlciAvIEJBU0VfREVWSUNFX1dJRFRIKSAqIChuZXdEZXZpY2VXaWR0aCB8fCBkZXZpY2VXaWR0aCk7XHJcbiAgaWYgKHJlc3VsdCA8IDApIHtcclxuICAgIHJlc3VsdCA9IC1yZXN1bHQ7XHJcbiAgfVxyXG4gIHJlc3VsdCA9IE1hdGguZmxvb3IocmVzdWx0ICsgRVBTKTtcclxuICBpZiAocmVzdWx0ID09PSAwKSB7XHJcbiAgICBpZiAoZGV2aWNlRFBSID09PSAxIHx8ICFpc0lPUykge1xyXG4gICAgICByZXR1cm4gMVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDAuNVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gbnVtYmVyIDwgMCA/IC1yZXN1bHQgOiByZXN1bHRcclxufVxyXG5cclxuY29uc3QgaW50ZXJjZXB0b3JzID0ge1xyXG4gIHByb21pc2VJbnRlcmNlcHRvclxyXG59O1xyXG5cclxuXHJcblxyXG52YXIgYmFzZUFwaSA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHtcclxuICB1cHgycHg6IHVweDJweCxcclxuICBpbnRlcmNlcHRvcnM6IGludGVyY2VwdG9ycyxcclxuICBhZGRJbnRlcmNlcHRvcjogYWRkSW50ZXJjZXB0b3IsXHJcbiAgcmVtb3ZlSW50ZXJjZXB0b3I6IHJlbW92ZUludGVyY2VwdG9yXHJcbn0pO1xyXG5cclxuY29uc3QgcHJvdG9jb2xzID0ge307XHJcbmNvbnN0IHRvZG9zID0gW107XHJcbmNvbnN0IGNhbklVc2VzID0gW107XHJcblxyXG5jb25zdCBDQUxMQkFDS1MgPSBbJ3N1Y2Nlc3MnLCAnZmFpbCcsICdjYW5jZWwnLCAnY29tcGxldGUnXTtcclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NDYWxsYmFjayAobWV0aG9kTmFtZSwgbWV0aG9kLCByZXR1cm5WYWx1ZSkge1xyXG4gIHJldHVybiBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICByZXR1cm4gbWV0aG9kKHByb2Nlc3NSZXR1cm5WYWx1ZShtZXRob2ROYW1lLCByZXMsIHJldHVyblZhbHVlKSlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NBcmdzIChtZXRob2ROYW1lLCBmcm9tQXJncywgYXJnc09wdGlvbiA9IHt9LCByZXR1cm5WYWx1ZSA9IHt9LCBrZWVwRnJvbUFyZ3MgPSBmYWxzZSkge1xyXG4gIGlmIChpc1BsYWluT2JqZWN0KGZyb21BcmdzKSkgeyAvLyDkuIDoiKwgYXBpIOeahOWPguaVsOino+aekFxyXG4gICAgY29uc3QgdG9BcmdzID0ga2VlcEZyb21BcmdzID09PSB0cnVlID8gZnJvbUFyZ3MgOiB7fTsgLy8gcmV0dXJuVmFsdWUg5Li6IGZhbHNlIOaXtu+8jOivtOaYjuaYr+agvOW8j+WMlui/lOWbnuWAvO+8jOebtOaOpeWcqOi/lOWbnuWAvOWvueixoeS4iuS/ruaUuei1i+WAvFxyXG4gICAgaWYgKGlzRm4oYXJnc09wdGlvbikpIHtcclxuICAgICAgYXJnc09wdGlvbiA9IGFyZ3NPcHRpb24oZnJvbUFyZ3MsIHRvQXJncykgfHwge307XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gZnJvbUFyZ3MpIHtcclxuICAgICAgaWYgKGhhc093bihhcmdzT3B0aW9uLCBrZXkpKSB7XHJcbiAgICAgICAgbGV0IGtleU9wdGlvbiA9IGFyZ3NPcHRpb25ba2V5XTtcclxuICAgICAgICBpZiAoaXNGbihrZXlPcHRpb24pKSB7XHJcbiAgICAgICAgICBrZXlPcHRpb24gPSBrZXlPcHRpb24oZnJvbUFyZ3Nba2V5XSwgZnJvbUFyZ3MsIHRvQXJncyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgha2V5T3B0aW9uKSB7IC8vIOS4jeaUr+aMgeeahOWPguaVsFxyXG4gICAgICAgICAgY29uc29sZS53YXJuKGBhcHAtcGx1cyAke21ldGhvZE5hbWV95pqC5LiN5pSv5oyBJHtrZXl9YCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpc1N0cihrZXlPcHRpb24pKSB7IC8vIOmHjeWGmeWPguaVsCBrZXlcclxuICAgICAgICAgIHRvQXJnc1trZXlPcHRpb25dID0gZnJvbUFyZ3Nba2V5XTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoa2V5T3B0aW9uKSkgeyAvLyB7bmFtZTpuZXdOYW1lLHZhbHVlOnZhbHVlfeWPr+mHjeaWsOaMh+WumuWPguaVsCBrZXk6dmFsdWVcclxuICAgICAgICAgIHRvQXJnc1trZXlPcHRpb24ubmFtZSA/IGtleU9wdGlvbi5uYW1lIDoga2V5XSA9IGtleU9wdGlvbi52YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoQ0FMTEJBQ0tTLmluZGV4T2Yoa2V5KSAhPT0gLTEpIHtcclxuICAgICAgICB0b0FyZ3Nba2V5XSA9IHByb2Nlc3NDYWxsYmFjayhtZXRob2ROYW1lLCBmcm9tQXJnc1trZXldLCByZXR1cm5WYWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCFrZWVwRnJvbUFyZ3MpIHtcclxuICAgICAgICAgIHRvQXJnc1trZXldID0gZnJvbUFyZ3Nba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0b0FyZ3NcclxuICB9IGVsc2UgaWYgKGlzRm4oZnJvbUFyZ3MpKSB7XHJcbiAgICBmcm9tQXJncyA9IHByb2Nlc3NDYWxsYmFjayhtZXRob2ROYW1lLCBmcm9tQXJncywgcmV0dXJuVmFsdWUpO1xyXG4gIH1cclxuICByZXR1cm4gZnJvbUFyZ3NcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc1JldHVyblZhbHVlIChtZXRob2ROYW1lLCByZXMsIHJldHVyblZhbHVlLCBrZWVwUmV0dXJuVmFsdWUgPSBmYWxzZSkge1xyXG4gIGlmIChpc0ZuKHByb3RvY29scy5yZXR1cm5WYWx1ZSkpIHsgLy8g5aSE55CG6YCa55SoIHJldHVyblZhbHVlXHJcbiAgICByZXMgPSBwcm90b2NvbHMucmV0dXJuVmFsdWUobWV0aG9kTmFtZSwgcmVzKTtcclxuICB9XHJcbiAgcmV0dXJuIHByb2Nlc3NBcmdzKG1ldGhvZE5hbWUsIHJlcywgcmV0dXJuVmFsdWUsIHt9LCBrZWVwUmV0dXJuVmFsdWUpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdyYXBwZXIgKG1ldGhvZE5hbWUsIG1ldGhvZCkge1xyXG4gIGlmIChoYXNPd24ocHJvdG9jb2xzLCBtZXRob2ROYW1lKSkge1xyXG4gICAgY29uc3QgcHJvdG9jb2wgPSBwcm90b2NvbHNbbWV0aG9kTmFtZV07XHJcbiAgICBpZiAoIXByb3RvY29sKSB7IC8vIOaaguS4jeaUr+aMgeeahCBhcGlcclxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBhcHAtcGx1cyDmmoLkuI3mlK/mjIEke21ldGhvZE5hbWV9YCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMSwgYXJnMikgeyAvLyDnm67liY0gYXBpIOacgOWkmuS4pOS4quWPguaVsFxyXG4gICAgICBsZXQgb3B0aW9ucyA9IHByb3RvY29sO1xyXG4gICAgICBpZiAoaXNGbihwcm90b2NvbCkpIHtcclxuICAgICAgICBvcHRpb25zID0gcHJvdG9jb2woYXJnMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGFyZzEgPSBwcm9jZXNzQXJncyhtZXRob2ROYW1lLCBhcmcxLCBvcHRpb25zLmFyZ3MsIG9wdGlvbnMucmV0dXJuVmFsdWUpO1xyXG5cclxuICAgICAgY29uc3QgYXJncyA9IFthcmcxXTtcclxuICAgICAgaWYgKHR5cGVvZiBhcmcyICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgIGFyZ3MucHVzaChhcmcyKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IHd4W29wdGlvbnMubmFtZSB8fCBtZXRob2ROYW1lXS5hcHBseSh3eCwgYXJncyk7XHJcbiAgICAgIGlmIChpc1N5bmNBcGkobWV0aG9kTmFtZSkpIHsgLy8g5ZCM5q2lIGFwaVxyXG4gICAgICAgIHJldHVybiBwcm9jZXNzUmV0dXJuVmFsdWUobWV0aG9kTmFtZSwgcmV0dXJuVmFsdWUsIG9wdGlvbnMucmV0dXJuVmFsdWUsIGlzQ29udGV4dEFwaShtZXRob2ROYW1lKSlcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWVcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG1ldGhvZFxyXG59XHJcblxyXG5jb25zdCB0b2RvQXBpcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XHJcblxyXG5jb25zdCBUT0RPUyA9IFtcclxuICAnb25UYWJCYXJNaWRCdXR0b25UYXAnLFxyXG4gICdzdWJzY3JpYmVQdXNoJyxcclxuICAndW5zdWJzY3JpYmVQdXNoJyxcclxuICAnb25QdXNoJyxcclxuICAnb2ZmUHVzaCcsXHJcbiAgJ3NoYXJlJ1xyXG5dO1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlVG9kb0FwaSAobmFtZSkge1xyXG4gIHJldHVybiBmdW5jdGlvbiB0b2RvQXBpICh7XHJcbiAgICBmYWlsLFxyXG4gICAgY29tcGxldGVcclxuICB9KSB7XHJcbiAgICBjb25zdCByZXMgPSB7XHJcbiAgICAgIGVyck1zZzogYCR7bmFtZX06ZmFpbDrmmoLkuI3mlK/mjIEgJHtuYW1lfSDmlrnms5VgXHJcbiAgICB9O1xyXG4gICAgaXNGbihmYWlsKSAmJiBmYWlsKHJlcyk7XHJcbiAgICBpc0ZuKGNvbXBsZXRlKSAmJiBjb21wbGV0ZShyZXMpO1xyXG4gIH1cclxufVxyXG5cclxuVE9ET1MuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xyXG4gIHRvZG9BcGlzW25hbWVdID0gY3JlYXRlVG9kb0FwaShuYW1lKTtcclxufSk7XHJcblxyXG5jb25zdCBnZXRFbWl0dGVyID0gKGZ1bmN0aW9uICgpIHtcclxuICBpZiAodHlwZW9mIGdldFVuaUVtaXR0ZXIgPT09ICdmdW5jdGlvbicpIHtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXHJcbiAgICByZXR1cm4gZ2V0VW5pRW1pdHRlclxyXG4gIH1cclxuICBsZXQgRW1pdHRlcjtcclxuICByZXR1cm4gZnVuY3Rpb24gZ2V0VW5pRW1pdHRlciAoKSB7XHJcbiAgICBpZiAoIUVtaXR0ZXIpIHtcclxuICAgICAgRW1pdHRlciA9IG5ldyBWdWUoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBFbWl0dGVyXHJcbiAgfVxyXG59KSgpO1xyXG5cclxuZnVuY3Rpb24gYXBwbHkgKGN0eCwgbWV0aG9kLCBhcmdzKSB7XHJcbiAgcmV0dXJuIGN0eFttZXRob2RdLmFwcGx5KGN0eCwgYXJncylcclxufVxyXG5cclxuZnVuY3Rpb24gJG9uICgpIHtcclxuICByZXR1cm4gYXBwbHkoZ2V0RW1pdHRlcigpLCAnJG9uJywgWy4uLmFyZ3VtZW50c10pXHJcbn1cclxuZnVuY3Rpb24gJG9mZiAoKSB7XHJcbiAgcmV0dXJuIGFwcGx5KGdldEVtaXR0ZXIoKSwgJyRvZmYnLCBbLi4uYXJndW1lbnRzXSlcclxufVxyXG5mdW5jdGlvbiAkb25jZSAoKSB7XHJcbiAgcmV0dXJuIGFwcGx5KGdldEVtaXR0ZXIoKSwgJyRvbmNlJywgWy4uLmFyZ3VtZW50c10pXHJcbn1cclxuZnVuY3Rpb24gJGVtaXQgKCkge1xyXG4gIHJldHVybiBhcHBseShnZXRFbWl0dGVyKCksICckZW1pdCcsIFsuLi5hcmd1bWVudHNdKVxyXG59XHJcblxyXG52YXIgZXZlbnRBcGkgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XHJcbiAgJG9uOiAkb24sXHJcbiAgJG9mZjogJG9mZixcclxuICAkb25jZTogJG9uY2UsXHJcbiAgJGVtaXQ6ICRlbWl0XHJcbn0pO1xyXG5cclxuZnVuY3Rpb24gcmVxdWlyZU5hdGl2ZVBsdWdpbiAocGx1Z2luTmFtZSkge1xyXG4gIC8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXHJcbiAgaWYgKHR5cGVvZiB3ZWV4ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgcmV0dXJuIHdlZXgucmVxdWlyZU1vZHVsZShwbHVnaW5OYW1lKVxyXG4gIH1cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xyXG4gIHJldHVybiBfX3JlcXVpcmVOYXRpdmVQbHVnaW5fXyhwbHVnaW5OYW1lKVxyXG59XHJcblxyXG5mdW5jdGlvbiB3cmFwcGVyJDEgKHdlYnZpZXcpIHtcclxuICB3ZWJ2aWV3LiRwcm9jZXNzZWQgPSB0cnVlO1xyXG5cclxuICB3ZWJ2aWV3LnBvc3RNZXNzYWdlID0gZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgIHBsdXMud2Vidmlldy5wb3N0TWVzc2FnZVRvVW5pTlZpZXcoe1xyXG4gICAgICB0eXBlOiAnVW5pQXBwU3ViTlZ1ZScsXHJcbiAgICAgIGRhdGFcclxuICAgIH0sIHdlYnZpZXcuaWQpO1xyXG4gIH07XHJcbiAgbGV0IGNhbGxiYWNrcyA9IFtdO1xyXG4gIHdlYnZpZXcub25NZXNzYWdlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XHJcbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XHJcbiAgfTtcclxuICB3ZWJ2aWV3LiRjb25zdW1lTWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgICBjYWxsYmFja3MuZm9yRWFjaChjYWxsYmFjayA9PiBjYWxsYmFjayhlKSk7XHJcbiAgfTtcclxuXHJcbiAgaWYgKCF3ZWJ2aWV3Ll9fdW5pYXBwX21hc2tfaWQpIHtcclxuICAgIHJldHVyblxyXG4gIH1cclxuICBjb25zdCBtYXNrQ29sb3IgPSB3ZWJ2aWV3Ll9fdW5pYXBwX21hc2s7XHJcbiAgbGV0IG1hc2tXZWJ2aWV3ID0gd2Vidmlldy5fX3VuaWFwcF9tYXNrX2lkID09PSAnMCcgPyB7XHJcbiAgICBzZXRTdHlsZSAoe1xyXG4gICAgICBtYXNrXHJcbiAgICB9KSB7XHJcbiAgICAgIHJlcXVpcmVOYXRpdmVQbHVnaW4oJ3VuaS10YWJ2aWV3Jykuc2V0TWFzayh7XHJcbiAgICAgICAgY29sb3I6IG1hc2tcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSA6IHBsdXMud2Vidmlldy5nZXRXZWJ2aWV3QnlJZCh3ZWJ2aWV3Ll9fdW5pYXBwX21hc2tfaWQpO1xyXG4gIGNvbnN0IG9sZFNob3cgPSB3ZWJ2aWV3LnNob3c7XHJcbiAgY29uc3Qgb2xkSGlkZSA9IHdlYnZpZXcuaGlkZTtcclxuICBjb25zdCBvbGRDbG9zZSA9IHdlYnZpZXcuY2xvc2U7XHJcblxyXG4gIGNvbnN0IHNob3dNYXNrID0gZnVuY3Rpb24gKCkge1xyXG4gICAgbWFza1dlYnZpZXcuc2V0U3R5bGUoe1xyXG4gICAgICBtYXNrOiBtYXNrQ29sb3JcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgY29uc3QgY2xvc2VNYXNrID0gZnVuY3Rpb24gKCkge1xyXG4gICAgbWFza1dlYnZpZXcuc2V0U3R5bGUoe1xyXG4gICAgICBtYXNrOiAnbm9uZSdcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgd2Vidmlldy5zaG93ID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgIHNob3dNYXNrKCk7XHJcbiAgICByZXR1cm4gb2xkU2hvdy5hcHBseSh3ZWJ2aWV3LCBhcmdzKVxyXG4gIH07XHJcbiAgd2Vidmlldy5oaWRlID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgIGNsb3NlTWFzaygpO1xyXG4gICAgcmV0dXJuIG9sZEhpZGUuYXBwbHkod2VidmlldywgYXJncylcclxuICB9O1xyXG4gIHdlYnZpZXcuY2xvc2UgPSBmdW5jdGlvbiAoLi4uYXJncykge1xyXG4gICAgY2xvc2VNYXNrKCk7XHJcbiAgICBjYWxsYmFja3MgPSBbXTtcclxuICAgIHJldHVybiBvbGRDbG9zZS5hcHBseSh3ZWJ2aWV3LCBhcmdzKVxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFN1Yk5WdWVCeUlkIChpZCkge1xyXG4gIGNvbnN0IHdlYnZpZXcgPSBwbHVzLndlYnZpZXcuZ2V0V2Vidmlld0J5SWQoaWQpO1xyXG4gIGlmICh3ZWJ2aWV3ICYmICF3ZWJ2aWV3LiRwcm9jZXNzZWQpIHtcclxuICAgIHdyYXBwZXIkMSh3ZWJ2aWV3KTtcclxuICB9XHJcbiAgcmV0dXJuIHdlYnZpZXdcclxufVxyXG5cclxuXHJcblxyXG52YXIgYXBpID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xyXG4gIGdldFN1Yk5WdWVCeUlkOiBnZXRTdWJOVnVlQnlJZCxcclxuICByZXF1aXJlTmF0aXZlUGx1Z2luOiByZXF1aXJlTmF0aXZlUGx1Z2luXHJcbn0pO1xyXG5cclxuY29uc3QgTVBQYWdlID0gUGFnZTtcclxuY29uc3QgTVBDb21wb25lbnQgPSBDb21wb25lbnQ7XHJcblxyXG5jb25zdCBjdXN0b21pemVSRSA9IC86L2c7XHJcblxyXG5jb25zdCBjdXN0b21pemUgPSBjYWNoZWQoKHN0cikgPT4ge1xyXG4gIHJldHVybiBjYW1lbGl6ZShzdHIucmVwbGFjZShjdXN0b21pemVSRSwgJy0nKSlcclxufSk7XHJcblxyXG5mdW5jdGlvbiBpbml0VHJpZ2dlckV2ZW50IChtcEluc3RhbmNlKSB7XHJcbiAge1xyXG4gICAgaWYgKCF3eC5jYW5JVXNlKCduZXh0VGljaycpKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gIH1cclxuICBjb25zdCBvbGRUcmlnZ2VyRXZlbnQgPSBtcEluc3RhbmNlLnRyaWdnZXJFdmVudDtcclxuICBtcEluc3RhbmNlLnRyaWdnZXJFdmVudCA9IGZ1bmN0aW9uIChldmVudCwgLi4uYXJncykge1xyXG4gICAgcmV0dXJuIG9sZFRyaWdnZXJFdmVudC5hcHBseShtcEluc3RhbmNlLCBbY3VzdG9taXplKGV2ZW50KSwgLi4uYXJnc10pXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdEhvb2sgKG5hbWUsIG9wdGlvbnMpIHtcclxuICBjb25zdCBvbGRIb29rID0gb3B0aW9uc1tuYW1lXTtcclxuICBpZiAoIW9sZEhvb2spIHtcclxuICAgIG9wdGlvbnNbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGluaXRUcmlnZ2VyRXZlbnQodGhpcyk7XHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvcHRpb25zW25hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgICAgaW5pdFRyaWdnZXJFdmVudCh0aGlzKTtcclxuICAgICAgcmV0dXJuIG9sZEhvb2suYXBwbHkodGhpcywgYXJncylcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5QYWdlID0gZnVuY3Rpb24gKG9wdGlvbnMgPSB7fSkge1xyXG4gIGluaXRIb29rKCdvbkxvYWQnLCBvcHRpb25zKTtcclxuICByZXR1cm4gTVBQYWdlKG9wdGlvbnMpXHJcbn07XHJcblxyXG5Db21wb25lbnQgPSBmdW5jdGlvbiAob3B0aW9ucyA9IHt9KSB7XHJcbiAgaW5pdEhvb2soJ2NyZWF0ZWQnLCBvcHRpb25zKTtcclxuICByZXR1cm4gTVBDb21wb25lbnQob3B0aW9ucylcclxufTtcclxuXHJcbmNvbnN0IFBBR0VfRVZFTlRfSE9PS1MgPSBbXHJcbiAgJ29uUHVsbERvd25SZWZyZXNoJyxcclxuICAnb25SZWFjaEJvdHRvbScsXHJcbiAgJ29uU2hhcmVBcHBNZXNzYWdlJyxcclxuICAnb25QYWdlU2Nyb2xsJyxcclxuICAnb25SZXNpemUnLFxyXG4gICdvblRhYkl0ZW1UYXAnXHJcbl07XHJcblxyXG5mdW5jdGlvbiBpbml0TW9ja3MgKHZtLCBtb2Nrcykge1xyXG4gIGNvbnN0IG1wSW5zdGFuY2UgPSB2bS4kbXBbdm0ubXBUeXBlXTtcclxuICBtb2Nrcy5mb3JFYWNoKG1vY2sgPT4ge1xyXG4gICAgaWYgKGhhc093bihtcEluc3RhbmNlLCBtb2NrKSkge1xyXG4gICAgICB2bVttb2NrXSA9IG1wSW5zdGFuY2VbbW9ja107XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhc0hvb2sgKGhvb2ssIHZ1ZU9wdGlvbnMpIHtcclxuICBpZiAoIXZ1ZU9wdGlvbnMpIHtcclxuICAgIHJldHVybiB0cnVlXHJcbiAgfVxyXG5cclxuICBpZiAoVnVlLm9wdGlvbnMgJiYgQXJyYXkuaXNBcnJheShWdWUub3B0aW9uc1tob29rXSkpIHtcclxuICAgIHJldHVybiB0cnVlXHJcbiAgfVxyXG5cclxuICB2dWVPcHRpb25zID0gdnVlT3B0aW9ucy5kZWZhdWx0IHx8IHZ1ZU9wdGlvbnM7XHJcblxyXG4gIGlmIChpc0ZuKHZ1ZU9wdGlvbnMpKSB7XHJcbiAgICBpZiAoaXNGbih2dWVPcHRpb25zLmV4dGVuZE9wdGlvbnNbaG9va10pKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodnVlT3B0aW9ucy5zdXBlciAmJlxyXG4gICAgICB2dWVPcHRpb25zLnN1cGVyLm9wdGlvbnMgJiZcclxuICAgICAgQXJyYXkuaXNBcnJheSh2dWVPcHRpb25zLnN1cGVyLm9wdGlvbnNbaG9va10pKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIGlmIChpc0ZuKHZ1ZU9wdGlvbnNbaG9va10pKSB7XHJcbiAgICByZXR1cm4gdHJ1ZVxyXG4gIH1cclxuICBjb25zdCBtaXhpbnMgPSB2dWVPcHRpb25zLm1peGlucztcclxuICBpZiAoQXJyYXkuaXNBcnJheShtaXhpbnMpKSB7XHJcbiAgICByZXR1cm4gISFtaXhpbnMuZmluZChtaXhpbiA9PiBoYXNIb29rKGhvb2ssIG1peGluKSlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRIb29rcyAobXBPcHRpb25zLCBob29rcywgdnVlT3B0aW9ucykge1xyXG4gIGhvb2tzLmZvckVhY2goaG9vayA9PiB7XHJcbiAgICBpZiAoaGFzSG9vayhob29rLCB2dWVPcHRpb25zKSkge1xyXG4gICAgICBtcE9wdGlvbnNbaG9va10gPSBmdW5jdGlvbiAoYXJncykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiR2bSAmJiB0aGlzLiR2bS5fX2NhbGxfaG9vayhob29rLCBhcmdzKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpbml0VnVlQ29tcG9uZW50IChWdWUsIHZ1ZU9wdGlvbnMpIHtcclxuICB2dWVPcHRpb25zID0gdnVlT3B0aW9ucy5kZWZhdWx0IHx8IHZ1ZU9wdGlvbnM7XHJcbiAgbGV0IFZ1ZUNvbXBvbmVudDtcclxuICBpZiAoaXNGbih2dWVPcHRpb25zKSkge1xyXG4gICAgVnVlQ29tcG9uZW50ID0gdnVlT3B0aW9ucztcclxuICAgIHZ1ZU9wdGlvbnMgPSBWdWVDb21wb25lbnQuZXh0ZW5kT3B0aW9ucztcclxuICB9IGVsc2Uge1xyXG4gICAgVnVlQ29tcG9uZW50ID0gVnVlLmV4dGVuZCh2dWVPcHRpb25zKTtcclxuICB9XHJcbiAgcmV0dXJuIFtWdWVDb21wb25lbnQsIHZ1ZU9wdGlvbnNdXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRTbG90cyAodm0sIHZ1ZVNsb3RzKSB7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodnVlU2xvdHMpICYmIHZ1ZVNsb3RzLmxlbmd0aCkge1xyXG4gICAgY29uc3QgJHNsb3RzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuICAgIHZ1ZVNsb3RzLmZvckVhY2goc2xvdE5hbWUgPT4ge1xyXG4gICAgICAkc2xvdHNbc2xvdE5hbWVdID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgdm0uJHNjb3BlZFNsb3RzID0gdm0uJHNsb3RzID0gJHNsb3RzO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdFZ1ZUlkcyAodnVlSWRzLCBtcEluc3RhbmNlKSB7XHJcbiAgdnVlSWRzID0gKHZ1ZUlkcyB8fCAnJykuc3BsaXQoJywnKTtcclxuICBjb25zdCBsZW4gPSB2dWVJZHMubGVuZ3RoO1xyXG5cclxuICBpZiAobGVuID09PSAxKSB7XHJcbiAgICBtcEluc3RhbmNlLl8kdnVlSWQgPSB2dWVJZHNbMF07XHJcbiAgfSBlbHNlIGlmIChsZW4gPT09IDIpIHtcclxuICAgIG1wSW5zdGFuY2UuXyR2dWVJZCA9IHZ1ZUlkc1swXTtcclxuICAgIG1wSW5zdGFuY2UuXyR2dWVQaWQgPSB2dWVJZHNbMV07XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBpbml0RGF0YSAodnVlT3B0aW9ucywgY29udGV4dCkge1xyXG4gIGxldCBkYXRhID0gdnVlT3B0aW9ucy5kYXRhIHx8IHt9O1xyXG4gIGNvbnN0IG1ldGhvZHMgPSB2dWVPcHRpb25zLm1ldGhvZHMgfHwge307XHJcblxyXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgZGF0YSA9IGRhdGEuY2FsbChjb250ZXh0KTsgLy8g5pSv5oyBIFZ1ZS5wcm90b3R5cGUg5LiK5oyC55qE5pWw5o2uXHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGlmIChwcm9jZXNzLmVudi5WVUVfQVBQX0RFQlVHKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCfmoLnmja4gVnVlIOeahCBkYXRhIOWHveaVsOWIneWni+WMluWwj+eoi+W6jyBkYXRhIOWksei0pe+8jOivt+WwvemHj+ehruS/nSBkYXRhIOWHveaVsOS4reS4jeiuv+mXriB2bSDlr7nosaHvvIzlkKbliJnlj6/og73lvbHlk43pppbmrKHmlbDmja7muLLmn5PpgJ/luqbjgIInLCBkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0cnkge1xyXG4gICAgICAvLyDlr7kgZGF0YSDmoLzlvI/ljJZcclxuICAgICAgZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgfSBjYXRjaCAoZSkge31cclxuICB9XHJcblxyXG4gIGlmICghaXNQbGFpbk9iamVjdChkYXRhKSkge1xyXG4gICAgZGF0YSA9IHt9O1xyXG4gIH1cclxuXHJcbiAgT2JqZWN0LmtleXMobWV0aG9kcykuZm9yRWFjaChtZXRob2ROYW1lID0+IHtcclxuICAgIGlmIChjb250ZXh0Ll9fbGlmZWN5Y2xlX2hvb2tzX18uaW5kZXhPZihtZXRob2ROYW1lKSA9PT0gLTEgJiYgIWhhc093bihkYXRhLCBtZXRob2ROYW1lKSkge1xyXG4gICAgICBkYXRhW21ldGhvZE5hbWVdID0gbWV0aG9kc1ttZXRob2ROYW1lXTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGRhdGFcclxufVxyXG5cclxuY29uc3QgUFJPUF9UWVBFUyA9IFtTdHJpbmcsIE51bWJlciwgQm9vbGVhbiwgT2JqZWN0LCBBcnJheSwgbnVsbF07XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVPYnNlcnZlciAobmFtZSkge1xyXG4gIHJldHVybiBmdW5jdGlvbiBvYnNlcnZlciAobmV3VmFsLCBvbGRWYWwpIHtcclxuICAgIGlmICh0aGlzLiR2bSkge1xyXG4gICAgICB0aGlzLiR2bVtuYW1lXSA9IG5ld1ZhbDsgLy8g5Li65LqG6Kem5Y+R5YW25LuW6Z2eIHJlbmRlciB3YXRjaGVyXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBpbml0QmVoYXZpb3JzICh2dWVPcHRpb25zLCBpbml0QmVoYXZpb3IpIHtcclxuICBjb25zdCB2dWVCZWhhdmlvcnMgPSB2dWVPcHRpb25zWydiZWhhdmlvcnMnXTtcclxuICBjb25zdCB2dWVFeHRlbmRzID0gdnVlT3B0aW9uc1snZXh0ZW5kcyddO1xyXG4gIGNvbnN0IHZ1ZU1peGlucyA9IHZ1ZU9wdGlvbnNbJ21peGlucyddO1xyXG5cclxuICBsZXQgdnVlUHJvcHMgPSB2dWVPcHRpb25zWydwcm9wcyddO1xyXG5cclxuICBpZiAoIXZ1ZVByb3BzKSB7XHJcbiAgICB2dWVPcHRpb25zWydwcm9wcyddID0gdnVlUHJvcHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGJlaGF2aW9ycyA9IFtdO1xyXG4gIGlmIChBcnJheS5pc0FycmF5KHZ1ZUJlaGF2aW9ycykpIHtcclxuICAgIHZ1ZUJlaGF2aW9ycy5mb3JFYWNoKGJlaGF2aW9yID0+IHtcclxuICAgICAgYmVoYXZpb3JzLnB1c2goYmVoYXZpb3IucmVwbGFjZSgndW5pOi8vJywgYCR7XCJ3eFwifTovL2ApKTtcclxuICAgICAgaWYgKGJlaGF2aW9yID09PSAndW5pOi8vZm9ybS1maWVsZCcpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2dWVQcm9wcykpIHtcclxuICAgICAgICAgIHZ1ZVByb3BzLnB1c2goJ25hbWUnKTtcclxuICAgICAgICAgIHZ1ZVByb3BzLnB1c2goJ3ZhbHVlJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZ1ZVByb3BzWyduYW1lJ10gPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAgICAgZGVmYXVsdDogJydcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB2dWVQcm9wc1sndmFsdWUnXSA9IHtcclxuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyLCBCb29sZWFuLCBBcnJheSwgT2JqZWN0LCBEYXRlXSxcclxuICAgICAgICAgICAgZGVmYXVsdDogJydcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaWYgKGlzUGxhaW5PYmplY3QodnVlRXh0ZW5kcykgJiYgdnVlRXh0ZW5kcy5wcm9wcykge1xyXG4gICAgYmVoYXZpb3JzLnB1c2goXHJcbiAgICAgIGluaXRCZWhhdmlvcih7XHJcbiAgICAgICAgcHJvcGVydGllczogaW5pdFByb3BlcnRpZXModnVlRXh0ZW5kcy5wcm9wcywgdHJ1ZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGlmIChBcnJheS5pc0FycmF5KHZ1ZU1peGlucykpIHtcclxuICAgIHZ1ZU1peGlucy5mb3JFYWNoKHZ1ZU1peGluID0+IHtcclxuICAgICAgaWYgKGlzUGxhaW5PYmplY3QodnVlTWl4aW4pICYmIHZ1ZU1peGluLnByb3BzKSB7XHJcbiAgICAgICAgYmVoYXZpb3JzLnB1c2goXHJcbiAgICAgICAgICBpbml0QmVoYXZpb3Ioe1xyXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiBpbml0UHJvcGVydGllcyh2dWVNaXhpbi5wcm9wcywgdHJ1ZSlcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBiZWhhdmlvcnNcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VQcm9wVHlwZSAoa2V5LCB0eXBlLCBkZWZhdWx0VmFsdWUsIGZpbGUpIHtcclxuICAvLyBbU3RyaW5nXT0+U3RyaW5nXHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkgJiYgdHlwZS5sZW5ndGggPT09IDEpIHtcclxuICAgIHJldHVybiB0eXBlWzBdXHJcbiAgfVxyXG4gIHJldHVybiB0eXBlXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRQcm9wZXJ0aWVzIChwcm9wcywgaXNCZWhhdmlvciA9IGZhbHNlLCBmaWxlID0gJycpIHtcclxuICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgaWYgKCFpc0JlaGF2aW9yKSB7XHJcbiAgICBwcm9wZXJ0aWVzLnZ1ZUlkID0ge1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIHZhbHVlOiAnJ1xyXG4gICAgfTtcclxuICAgIHByb3BlcnRpZXMudnVlU2xvdHMgPSB7IC8vIOWwj+eoi+W6j+S4jeiDveebtOaOpeWumuS5iSAkc2xvdHMg55qEIHByb3Bz77yM5omA5Lul6YCa6L+HIHZ1ZVNsb3RzIOi9rOaNouWIsCAkc2xvdHNcclxuICAgICAgdHlwZTogbnVsbCxcclxuICAgICAgdmFsdWU6IFtdLFxyXG4gICAgICBvYnNlcnZlcjogZnVuY3Rpb24gKG5ld1ZhbCwgb2xkVmFsKSB7XHJcbiAgICAgICAgY29uc3QgJHNsb3RzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuICAgICAgICBuZXdWYWwuZm9yRWFjaChzbG90TmFtZSA9PiB7XHJcbiAgICAgICAgICAkc2xvdHNbc2xvdE5hbWVdID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgJHNsb3RzXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BzKSkgeyAvLyBbJ3RpdGxlJ11cclxuICAgIHByb3BzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgcHJvcGVydGllc1trZXldID0ge1xyXG4gICAgICAgIHR5cGU6IG51bGwsXHJcbiAgICAgICAgb2JzZXJ2ZXI6IGNyZWF0ZU9ic2VydmVyKGtleSlcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChwcm9wcykpIHsgLy8ge3RpdGxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OicnfSxjb250ZW50OlN0cmluZ31cclxuICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgIGNvbnN0IG9wdHMgPSBwcm9wc1trZXldO1xyXG4gICAgICBpZiAoaXNQbGFpbk9iamVjdChvcHRzKSkgeyAvLyB0aXRsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDonJ31cclxuICAgICAgICBsZXQgdmFsdWUgPSBvcHRzWydkZWZhdWx0J107XHJcbiAgICAgICAgaWYgKGlzRm4odmFsdWUpKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBvcHRzLnR5cGUgPSBwYXJzZVByb3BUeXBlKGtleSwgb3B0cy50eXBlKTtcclxuXHJcbiAgICAgICAgcHJvcGVydGllc1trZXldID0ge1xyXG4gICAgICAgICAgdHlwZTogUFJPUF9UWVBFUy5pbmRleE9mKG9wdHMudHlwZSkgIT09IC0xID8gb3B0cy50eXBlIDogbnVsbCxcclxuICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgb2JzZXJ2ZXI6IGNyZWF0ZU9ic2VydmVyKGtleSlcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgeyAvLyBjb250ZW50OlN0cmluZ1xyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBwYXJzZVByb3BUeXBlKGtleSwgb3B0cyk7XHJcbiAgICAgICAgcHJvcGVydGllc1trZXldID0ge1xyXG4gICAgICAgICAgdHlwZTogUFJPUF9UWVBFUy5pbmRleE9mKHR5cGUpICE9PSAtMSA/IHR5cGUgOiBudWxsLFxyXG4gICAgICAgICAgb2JzZXJ2ZXI6IGNyZWF0ZU9ic2VydmVyKGtleSlcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmV0dXJuIHByb3BlcnRpZXNcclxufVxyXG5cclxuZnVuY3Rpb24gd3JhcHBlciQyIChldmVudCkge1xyXG4gIC8vIFRPRE8g5Y+I5b6X5YW85a65IG1wdnVlIOeahCBtcCDlr7nosaFcclxuICB0cnkge1xyXG4gICAgZXZlbnQubXAgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XHJcbiAgfSBjYXRjaCAoZSkge31cclxuXHJcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uID0gbm9vcDtcclxuICBldmVudC5wcmV2ZW50RGVmYXVsdCA9IG5vb3A7XHJcblxyXG4gIGV2ZW50LnRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCB7fTtcclxuXHJcbiAgaWYgKCFoYXNPd24oZXZlbnQsICdkZXRhaWwnKSkge1xyXG4gICAgZXZlbnQuZGV0YWlsID0ge307XHJcbiAgfVxyXG5cclxuICBpZiAoaXNQbGFpbk9iamVjdChldmVudC5kZXRhaWwpKSB7XHJcbiAgICBldmVudC50YXJnZXQgPSBPYmplY3QuYXNzaWduKHt9LCBldmVudC50YXJnZXQsIGV2ZW50LmRldGFpbCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZXZlbnRcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RXh0cmFWYWx1ZSAodm0sIGRhdGFQYXRoc0FycmF5KSB7XHJcbiAgbGV0IGNvbnRleHQgPSB2bTtcclxuICBkYXRhUGF0aHNBcnJheS5mb3JFYWNoKGRhdGFQYXRoQXJyYXkgPT4ge1xyXG4gICAgY29uc3QgZGF0YVBhdGggPSBkYXRhUGF0aEFycmF5WzBdO1xyXG4gICAgY29uc3QgdmFsdWUgPSBkYXRhUGF0aEFycmF5WzJdO1xyXG4gICAgaWYgKGRhdGFQYXRoIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHsgLy8gWycnLCcnLGluZGV4LCdkaXNhYmxlJ11cclxuICAgICAgY29uc3QgcHJvcFBhdGggPSBkYXRhUGF0aEFycmF5WzFdO1xyXG4gICAgICBjb25zdCB2YWx1ZVBhdGggPSBkYXRhUGF0aEFycmF5WzNdO1xyXG5cclxuICAgICAgY29uc3QgdkZvciA9IGRhdGFQYXRoID8gdm0uX19nZXRfdmFsdWUoZGF0YVBhdGgsIGNvbnRleHQpIDogY29udGV4dDtcclxuXHJcbiAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHZGb3IpKSB7XHJcbiAgICAgICAgY29udGV4dCA9IHZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKCFwcm9wUGF0aCkge1xyXG4gICAgICAgIGNvbnRleHQgPSB2Rm9yW3ZhbHVlXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2Rm9yKSkge1xyXG4gICAgICAgICAgY29udGV4dCA9IHZGb3IuZmluZCh2Rm9ySXRlbSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB2bS5fX2dldF92YWx1ZShwcm9wUGF0aCwgdkZvckl0ZW0pID09PSB2YWx1ZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHZGb3IpKSB7XHJcbiAgICAgICAgICBjb250ZXh0ID0gT2JqZWN0LmtleXModkZvcikuZmluZCh2Rm9yS2V5ID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHZtLl9fZ2V0X3ZhbHVlKHByb3BQYXRoLCB2Rm9yW3ZGb3JLZXldKSA9PT0gdmFsdWVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCd2LWZvciDmmoLkuI3mlK/mjIHlvqrnjq/mlbDmja7vvJonLCB2Rm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZVBhdGgpIHtcclxuICAgICAgICBjb250ZXh0ID0gdm0uX19nZXRfdmFsdWUodmFsdWVQYXRoLCBjb250ZXh0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHJldHVybiBjb250ZXh0XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NFdmVudEV4dHJhICh2bSwgZXh0cmEsIGV2ZW50KSB7XHJcbiAgY29uc3QgZXh0cmFPYmogPSB7fTtcclxuXHJcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXh0cmEpICYmIGV4dHJhLmxlbmd0aCkge1xyXG4gICAgLyoqXHJcbiAgICAgKltcclxuICAgICAqICAgIFsnZGF0YS5pdGVtcycsICdkYXRhLmlkJywgaXRlbS5kYXRhLmlkXSxcclxuICAgICAqICAgIFsnbWV0YXMnLCAnaWQnLCBtZXRhLmlkXVxyXG4gICAgICpdLFxyXG4gICAgICpbXHJcbiAgICAgKiAgICBbJ2RhdGEuaXRlbXMnLCAnZGF0YS5pZCcsIGl0ZW0uZGF0YS5pZF0sXHJcbiAgICAgKiAgICBbJ21ldGFzJywgJ2lkJywgbWV0YS5pZF1cclxuICAgICAqXSxcclxuICAgICAqJ3Rlc3QnXHJcbiAgICAgKi9cclxuICAgIGV4dHJhLmZvckVhY2goKGRhdGFQYXRoLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGFQYXRoID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGlmICghZGF0YVBhdGgpIHsgLy8gbW9kZWwscHJvcC5zeW5jXHJcbiAgICAgICAgICBleHRyYU9ialsnJCcgKyBpbmRleF0gPSB2bTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGRhdGFQYXRoID09PSAnJGV2ZW50JykgeyAvLyAkZXZlbnRcclxuICAgICAgICAgICAgZXh0cmFPYmpbJyQnICsgaW5kZXhdID0gZXZlbnQ7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGFQYXRoLmluZGV4T2YoJyRldmVudC4nKSA9PT0gMCkgeyAvLyAkZXZlbnQudGFyZ2V0LnZhbHVlXHJcbiAgICAgICAgICAgIGV4dHJhT2JqWyckJyArIGluZGV4XSA9IHZtLl9fZ2V0X3ZhbHVlKGRhdGFQYXRoLnJlcGxhY2UoJyRldmVudC4nLCAnJyksIGV2ZW50KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGV4dHJhT2JqWyckJyArIGluZGV4XSA9IHZtLl9fZ2V0X3ZhbHVlKGRhdGFQYXRoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZXh0cmFPYmpbJyQnICsgaW5kZXhdID0gZ2V0RXh0cmFWYWx1ZSh2bSwgZGF0YVBhdGgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBleHRyYU9ialxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRPYmpCeUFycmF5IChhcnIpIHtcclxuICBjb25zdCBvYmogPSB7fTtcclxuICBmb3IgKGxldCBpID0gMTsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGFycltpXTtcclxuICAgIG9ialtlbGVtZW50WzBdXSA9IGVsZW1lbnRbMV07XHJcbiAgfVxyXG4gIHJldHVybiBvYmpcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc0V2ZW50QXJncyAodm0sIGV2ZW50LCBhcmdzID0gW10sIGV4dHJhID0gW10sIGlzQ3VzdG9tLCBtZXRob2ROYW1lKSB7XHJcbiAgbGV0IGlzQ3VzdG9tTVBFdmVudCA9IGZhbHNlOyAvLyB3eGNvbXBvbmVudCDnu4Tku7bvvIzkvKDpgJLljp/lp4sgZXZlbnQg5a+56LGhXHJcbiAgaWYgKGlzQ3VzdG9tKSB7IC8vIOiHquWumuS5ieS6i+S7tlxyXG4gICAgaXNDdXN0b21NUEV2ZW50ID0gZXZlbnQuY3VycmVudFRhcmdldCAmJlxyXG4gICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQgJiZcclxuICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5kYXRhc2V0LmNvbVR5cGUgPT09ICd3eCc7XHJcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7IC8vIOaXoOWPguaVsO+8jOebtOaOpeS8oOWFpSBldmVudCDmiJYgZGV0YWlsIOaVsOe7hFxyXG4gICAgICBpZiAoaXNDdXN0b21NUEV2ZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIFtldmVudF1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZXZlbnQuZGV0YWlsLl9fYXJnc19fIHx8IGV2ZW50LmRldGFpbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgZXh0cmFPYmogPSBwcm9jZXNzRXZlbnRFeHRyYSh2bSwgZXh0cmEsIGV2ZW50KTtcclxuXHJcbiAgY29uc3QgcmV0ID0gW107XHJcbiAgYXJncy5mb3JFYWNoKGFyZyA9PiB7XHJcbiAgICBpZiAoYXJnID09PSAnJGV2ZW50Jykge1xyXG4gICAgICBpZiAobWV0aG9kTmFtZSA9PT0gJ19fc2V0X21vZGVsJyAmJiAhaXNDdXN0b20pIHsgLy8gaW5wdXQgdi1tb2RlbCB2YWx1ZVxyXG4gICAgICAgIHJldC5wdXNoKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGlzQ3VzdG9tICYmICFpc0N1c3RvbU1QRXZlbnQpIHtcclxuICAgICAgICAgIHJldC5wdXNoKGV2ZW50LmRldGFpbC5fX2FyZ3NfX1swXSk7XHJcbiAgICAgICAgfSBlbHNlIHsgLy8gd3hjb21wb25lbnQg57uE5Lu25oiW5YaF572u57uE5Lu2XHJcbiAgICAgICAgICByZXQucHVzaChldmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhcmcpICYmIGFyZ1swXSA9PT0gJ28nKSB7XHJcbiAgICAgICAgcmV0LnB1c2goZ2V0T2JqQnlBcnJheShhcmcpKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJyAmJiBoYXNPd24oZXh0cmFPYmosIGFyZykpIHtcclxuICAgICAgICByZXQucHVzaChleHRyYU9ialthcmddKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXQucHVzaChhcmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiByZXRcclxufVxyXG5cclxuY29uc3QgT05DRSA9ICd+JztcclxuY29uc3QgQ1VTVE9NID0gJ14nO1xyXG5cclxuZnVuY3Rpb24gaXNNYXRjaEV2ZW50VHlwZSAoZXZlbnRUeXBlLCBvcHRUeXBlKSB7XHJcbiAgcmV0dXJuIChldmVudFR5cGUgPT09IG9wdFR5cGUpIHx8XHJcbiAgICAoXHJcbiAgICAgIG9wdFR5cGUgPT09ICdyZWdpb25jaGFuZ2UnICYmXHJcbiAgICAgIChcclxuICAgICAgICBldmVudFR5cGUgPT09ICdiZWdpbicgfHxcclxuICAgICAgICBldmVudFR5cGUgPT09ICdlbmQnXHJcbiAgICAgIClcclxuICAgIClcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlRXZlbnQgKGV2ZW50KSB7XHJcbiAgZXZlbnQgPSB3cmFwcGVyJDIoZXZlbnQpO1xyXG5cclxuICAvLyBbWyd0YXAnLFtbJ2hhbmRsZScsWzEsMixhXV0sWydoYW5kbGUxJyxbMSwyLGFdXV1dXVxyXG4gIGNvbnN0IGRhdGFzZXQgPSAoZXZlbnQuY3VycmVudFRhcmdldCB8fCBldmVudC50YXJnZXQpLmRhdGFzZXQ7XHJcbiAgaWYgKCFkYXRhc2V0KSB7XHJcbiAgICByZXR1cm4gY29uc29sZS53YXJuKGDkuovku7bkv6Hmga/kuI3lrZjlnKhgKVxyXG4gIH1cclxuICBjb25zdCBldmVudE9wdHMgPSBkYXRhc2V0LmV2ZW50T3B0cyB8fCBkYXRhc2V0WydldmVudC1vcHRzJ107IC8vIOaUr+S7mOWunSB3ZWItdmlldyDnu4Tku7YgZGF0YXNldCDpnZ7pqbzls7BcclxuICBpZiAoIWV2ZW50T3B0cykge1xyXG4gICAgcmV0dXJuIGNvbnNvbGUud2Fybihg5LqL5Lu25L+h5oGv5LiN5a2Y5ZyoYClcclxuICB9XHJcblxyXG4gIC8vIFtbJ2hhbmRsZScsWzEsMixhXV0sWydoYW5kbGUxJyxbMSwyLGFdXV1cclxuICBjb25zdCBldmVudFR5cGUgPSBldmVudC50eXBlO1xyXG5cclxuICBjb25zdCByZXQgPSBbXTtcclxuXHJcbiAgZXZlbnRPcHRzLmZvckVhY2goZXZlbnRPcHQgPT4ge1xyXG4gICAgbGV0IHR5cGUgPSBldmVudE9wdFswXTtcclxuICAgIGNvbnN0IGV2ZW50c0FycmF5ID0gZXZlbnRPcHRbMV07XHJcblxyXG4gICAgY29uc3QgaXNDdXN0b20gPSB0eXBlLmNoYXJBdCgwKSA9PT0gQ1VTVE9NO1xyXG4gICAgdHlwZSA9IGlzQ3VzdG9tID8gdHlwZS5zbGljZSgxKSA6IHR5cGU7XHJcbiAgICBjb25zdCBpc09uY2UgPSB0eXBlLmNoYXJBdCgwKSA9PT0gT05DRTtcclxuICAgIHR5cGUgPSBpc09uY2UgPyB0eXBlLnNsaWNlKDEpIDogdHlwZTtcclxuXHJcbiAgICBpZiAoZXZlbnRzQXJyYXkgJiYgaXNNYXRjaEV2ZW50VHlwZShldmVudFR5cGUsIHR5cGUpKSB7XHJcbiAgICAgIGV2ZW50c0FycmF5LmZvckVhY2goZXZlbnRBcnJheSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IGV2ZW50QXJyYXlbMF07XHJcbiAgICAgICAgaWYgKG1ldGhvZE5hbWUpIHtcclxuICAgICAgICAgIGxldCBoYW5kbGVyQ3R4ID0gdGhpcy4kdm07XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGhhbmRsZXJDdHguJG9wdGlvbnMuZ2VuZXJpYyAmJlxyXG4gICAgICAgICAgICBoYW5kbGVyQ3R4LiRwYXJlbnQgJiZcclxuICAgICAgICAgICAgaGFuZGxlckN0eC4kcGFyZW50LiRwYXJlbnRcclxuICAgICAgICAgICkgeyAvLyBtcC13ZWl4aW4sbXAtdG91dGlhbyDmir3osaHoioLngrnmqKHmi58gc2NvcGVkIHNsb3RzXHJcbiAgICAgICAgICAgIGhhbmRsZXJDdHggPSBoYW5kbGVyQ3R4LiRwYXJlbnQuJHBhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVyQ3R4W21ldGhvZE5hbWVdO1xyXG4gICAgICAgICAgaWYgKCFpc0ZuKGhhbmRsZXIpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgIF92bS4ke21ldGhvZE5hbWV9IGlzIG5vdCBhIGZ1bmN0aW9uYClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChpc09uY2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhbmRsZXIub25jZSkge1xyXG4gICAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGhhbmRsZXIub25jZSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXQucHVzaChoYW5kbGVyLmFwcGx5KGhhbmRsZXJDdHgsIHByb2Nlc3NFdmVudEFyZ3MoXHJcbiAgICAgICAgICAgIHRoaXMuJHZtLFxyXG4gICAgICAgICAgICBldmVudCxcclxuICAgICAgICAgICAgZXZlbnRBcnJheVsxXSxcclxuICAgICAgICAgICAgZXZlbnRBcnJheVsyXSxcclxuICAgICAgICAgICAgaXNDdXN0b20sXHJcbiAgICAgICAgICAgIG1ldGhvZE5hbWVcclxuICAgICAgICAgICkpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBpZiAoXHJcbiAgICBldmVudFR5cGUgPT09ICdpbnB1dCcgJiZcclxuICAgIHJldC5sZW5ndGggPT09IDEgJiZcclxuICAgIHR5cGVvZiByZXRbMF0gIT09ICd1bmRlZmluZWQnXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gcmV0WzBdXHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBob29rcyA9IFtcclxuICAnb25TaG93JyxcclxuICAnb25IaWRlJyxcclxuICAnb25FcnJvcicsXHJcbiAgJ29uUGFnZU5vdEZvdW5kJ1xyXG5dO1xyXG5cclxuZnVuY3Rpb24gcGFyc2VCYXNlQXBwICh2bSwge1xyXG4gIG1vY2tzLFxyXG4gIGluaXRSZWZzXHJcbn0pIHtcclxuICBpZiAodm0uJG9wdGlvbnMuc3RvcmUpIHtcclxuICAgIFZ1ZS5wcm90b3R5cGUuJHN0b3JlID0gdm0uJG9wdGlvbnMuc3RvcmU7XHJcbiAgfVxyXG5cclxuICBWdWUucHJvdG90eXBlLm1wSG9zdCA9IFwiYXBwLXBsdXNcIjtcclxuXHJcbiAgVnVlLm1peGluKHtcclxuICAgIGJlZm9yZUNyZWF0ZSAoKSB7XHJcbiAgICAgIGlmICghdGhpcy4kb3B0aW9ucy5tcFR5cGUpIHtcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5tcFR5cGUgPSB0aGlzLiRvcHRpb25zLm1wVHlwZTtcclxuXHJcbiAgICAgIHRoaXMuJG1wID0ge1xyXG4gICAgICAgIGRhdGE6IHt9LFxyXG4gICAgICAgIFt0aGlzLm1wVHlwZV06IHRoaXMuJG9wdGlvbnMubXBJbnN0YW5jZVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy4kc2NvcGUgPSB0aGlzLiRvcHRpb25zLm1wSW5zdGFuY2U7XHJcblxyXG4gICAgICBkZWxldGUgdGhpcy4kb3B0aW9ucy5tcFR5cGU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLiRvcHRpb25zLm1wSW5zdGFuY2U7XHJcblxyXG4gICAgICBpZiAodGhpcy5tcFR5cGUgIT09ICdhcHAnKSB7XHJcbiAgICAgICAgaW5pdFJlZnModGhpcyk7XHJcbiAgICAgICAgaW5pdE1vY2tzKHRoaXMsIG1vY2tzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCBhcHBPcHRpb25zID0ge1xyXG4gICAgb25MYXVuY2ggKGFyZ3MpIHtcclxuICAgICAgaWYgKHRoaXMuJHZtKSB7IC8vIOW3sue7j+WIneWni+WMlui/h+S6hu+8jOS4u+imgeaYr+S4uuS6hueZvuW6pu+8jOeZvuW6piBvblNob3cg5ZyoIG9uTGF1bmNoIOS5i+WJjVxyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLiR2bSA9IHZtO1xyXG5cclxuICAgICAgdGhpcy4kdm0uJG1wID0ge1xyXG4gICAgICAgIGFwcDogdGhpc1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy4kdm0uJHNjb3BlID0gdGhpcztcclxuICAgICAgLy8gdm0g5LiK5Lmf5oyC6L29IGdsb2JhbERhdGFcclxuICAgICAgdGhpcy4kdm0uZ2xvYmFsRGF0YSA9IHRoaXMuZ2xvYmFsRGF0YTtcclxuXHJcbiAgICAgIHRoaXMuJHZtLl9pc01vdW50ZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLiR2bS5fX2NhbGxfaG9vaygnbW91bnRlZCcsIGFyZ3MpO1xyXG5cclxuICAgICAgdGhpcy4kdm0uX19jYWxsX2hvb2soJ29uTGF1bmNoJywgYXJncyk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgLy8g5YW85a655pen54mI5pysIGdsb2JhbERhdGFcclxuICBhcHBPcHRpb25zLmdsb2JhbERhdGEgPSB2bS4kb3B0aW9ucy5nbG9iYWxEYXRhIHx8IHt9O1xyXG5cclxuICBpbml0SG9va3MoYXBwT3B0aW9ucywgaG9va3MpO1xyXG5cclxuICByZXR1cm4gYXBwT3B0aW9uc1xyXG59XHJcblxyXG5jb25zdCBtb2NrcyA9IFsnX19yb3V0ZV9fJywgJ19fd3hFeHBhcnNlck5vZGVJZF9fJywgJ19fd3hXZWJ2aWV3SWRfXyddO1xyXG5cclxuZnVuY3Rpb24gZmluZFZtQnlWdWVJZCAodm0sIHZ1ZVBpZCkge1xyXG4gIGNvbnN0ICRjaGlsZHJlbiA9IHZtLiRjaGlsZHJlbjtcclxuICAvLyDkvJjlhYjmn6Xmib7nm7TlsZ5cclxuICBsZXQgcGFyZW50Vm0gPSAkY2hpbGRyZW4uZmluZChjaGlsZFZtID0+IGNoaWxkVm0uJHNjb3BlLl8kdnVlSWQgPT09IHZ1ZVBpZCk7XHJcbiAgaWYgKHBhcmVudFZtKSB7XHJcbiAgICByZXR1cm4gcGFyZW50Vm1cclxuICB9XHJcbiAgLy8g5Y+N5ZCR6YCS5b2S5p+l5om+XHJcbiAgZm9yIChsZXQgaSA9ICRjaGlsZHJlbi5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgcGFyZW50Vm0gPSBmaW5kVm1CeVZ1ZUlkKCRjaGlsZHJlbltpXSwgdnVlUGlkKTtcclxuICAgIGlmIChwYXJlbnRWbSkge1xyXG4gICAgICByZXR1cm4gcGFyZW50Vm1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRCZWhhdmlvciAob3B0aW9ucykge1xyXG4gIHJldHVybiBCZWhhdmlvcihvcHRpb25zKVxyXG59XHJcblxyXG5mdW5jdGlvbiBpc1BhZ2UgKCkge1xyXG4gIHJldHVybiAhIXRoaXMucm91dGVcclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdFJlbGF0aW9uIChkZXRhaWwpIHtcclxuICB0aGlzLnRyaWdnZXJFdmVudCgnX19sJywgZGV0YWlsKTtcclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdFJlZnMgKHZtKSB7XHJcbiAgY29uc3QgbXBJbnN0YW5jZSA9IHZtLiRzY29wZTtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodm0sICckcmVmcycsIHtcclxuICAgIGdldCAoKSB7XHJcbiAgICAgIGNvbnN0ICRyZWZzID0ge307XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBtcEluc3RhbmNlLnNlbGVjdEFsbENvbXBvbmVudHMoJy52dWUtcmVmJyk7XHJcbiAgICAgIGNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlZiA9IGNvbXBvbmVudC5kYXRhc2V0LnJlZjtcclxuICAgICAgICAkcmVmc1tyZWZdID0gY29tcG9uZW50LiR2bSB8fCBjb21wb25lbnQ7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBmb3JDb21wb25lbnRzID0gbXBJbnN0YW5jZS5zZWxlY3RBbGxDb21wb25lbnRzKCcudnVlLXJlZi1pbi1mb3InKTtcclxuICAgICAgZm9yQ29tcG9uZW50cy5mb3JFYWNoKGNvbXBvbmVudCA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVmID0gY29tcG9uZW50LmRhdGFzZXQucmVmO1xyXG4gICAgICAgIGlmICghJHJlZnNbcmVmXSkge1xyXG4gICAgICAgICAgJHJlZnNbcmVmXSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkcmVmc1tyZWZdLnB1c2goY29tcG9uZW50LiR2bSB8fCBjb21wb25lbnQpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuICRyZWZzXHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUxpbmsgKGV2ZW50KSB7XHJcbiAgY29uc3Qge1xyXG4gICAgdnVlUGlkLFxyXG4gICAgdnVlT3B0aW9uc1xyXG4gIH0gPSBldmVudC5kZXRhaWwgfHwgZXZlbnQudmFsdWU7IC8vIGRldGFpbCDmmK/lvq7kv6EsdmFsdWUg5piv55m+5bqmKGRpcGF0Y2gpXHJcblxyXG4gIGxldCBwYXJlbnRWbTtcclxuXHJcbiAgaWYgKHZ1ZVBpZCkge1xyXG4gICAgcGFyZW50Vm0gPSBmaW5kVm1CeVZ1ZUlkKHRoaXMuJHZtLCB2dWVQaWQpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFwYXJlbnRWbSkge1xyXG4gICAgcGFyZW50Vm0gPSB0aGlzLiR2bTtcclxuICB9XHJcblxyXG4gIHZ1ZU9wdGlvbnMucGFyZW50ID0gcGFyZW50Vm07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlQXBwICh2bSkge1xyXG4gIHJldHVybiBwYXJzZUJhc2VBcHAodm0sIHtcclxuICAgIG1vY2tzLFxyXG4gICAgaW5pdFJlZnNcclxuICB9KVxyXG59XHJcblxyXG5jb25zdCBob29rcyQxID0gW1xyXG4gICdvblVuaU5WaWV3TWVzc2FnZSdcclxuXTtcclxuXHJcbmZ1bmN0aW9uIHBhcnNlQXBwJDEgKHZtKSB7XHJcbiAgY29uc3QgYXBwT3B0aW9ucyA9IHBhcnNlQXBwKHZtKTtcclxuXHJcbiAgaW5pdEhvb2tzKGFwcE9wdGlvbnMsIGhvb2tzJDEpO1xyXG5cclxuICByZXR1cm4gYXBwT3B0aW9uc1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVBcHAgKHZtKSB7XHJcbiAgQXBwKHBhcnNlQXBwJDEodm0pKTtcclxuICByZXR1cm4gdm1cclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VCYXNlQ29tcG9uZW50ICh2dWVDb21wb25lbnRPcHRpb25zLCB7XHJcbiAgaXNQYWdlLFxyXG4gIGluaXRSZWxhdGlvblxyXG59ID0ge30pIHtcclxuICBsZXQgW1Z1ZUNvbXBvbmVudCwgdnVlT3B0aW9uc10gPSBpbml0VnVlQ29tcG9uZW50KFZ1ZSwgdnVlQ29tcG9uZW50T3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICBtdWx0aXBsZVNsb3RzOiB0cnVlLFxyXG4gICAgYWRkR2xvYmFsQ2xhc3M6IHRydWVcclxuICB9O1xyXG5cclxuICBjb25zdCBjb21wb25lbnRPcHRpb25zID0ge1xyXG4gICAgb3B0aW9ucyxcclxuICAgIGRhdGE6IGluaXREYXRhKHZ1ZU9wdGlvbnMsIFZ1ZS5wcm90b3R5cGUpLFxyXG4gICAgYmVoYXZpb3JzOiBpbml0QmVoYXZpb3JzKHZ1ZU9wdGlvbnMsIGluaXRCZWhhdmlvciksXHJcbiAgICBwcm9wZXJ0aWVzOiBpbml0UHJvcGVydGllcyh2dWVPcHRpb25zLnByb3BzLCBmYWxzZSwgdnVlT3B0aW9ucy5fX2ZpbGUpLFxyXG4gICAgbGlmZXRpbWVzOiB7XHJcbiAgICAgIGF0dGFjaGVkICgpIHtcclxuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5wcm9wZXJ0aWVzO1xyXG5cclxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgbXBUeXBlOiBpc1BhZ2UuY2FsbCh0aGlzKSA/ICdwYWdlJyA6ICdjb21wb25lbnQnLFxyXG4gICAgICAgICAgbXBJbnN0YW5jZTogdGhpcyxcclxuICAgICAgICAgIHByb3BzRGF0YTogcHJvcGVydGllc1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGluaXRWdWVJZHMocHJvcGVydGllcy52dWVJZCwgdGhpcyk7XHJcblxyXG4gICAgICAgIC8vIOWkhOeQhueItuWtkOWFs+ezu1xyXG4gICAgICAgIGluaXRSZWxhdGlvbi5jYWxsKHRoaXMsIHtcclxuICAgICAgICAgIHZ1ZVBpZDogdGhpcy5fJHZ1ZVBpZCxcclxuICAgICAgICAgIHZ1ZU9wdGlvbnM6IG9wdGlvbnNcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8g5Yid5aeL5YyWIHZ1ZSDlrp7kvotcclxuICAgICAgICB0aGlzLiR2bSA9IG5ldyBWdWVDb21wb25lbnQob3B0aW9ucyk7XHJcblxyXG4gICAgICAgIC8vIOWkhOeQhiRzbG90cywkc2NvcGVkU2xvdHPvvIjmmoLkuI3mlK/mjIHliqjmgIHlj5jljJYkc2xvdHPvvIlcclxuICAgICAgICBpbml0U2xvdHModGhpcy4kdm0sIHByb3BlcnRpZXMudnVlU2xvdHMpO1xyXG5cclxuICAgICAgICAvLyDop6blj5HpppbmrKEgc2V0RGF0YVxyXG4gICAgICAgIHRoaXMuJHZtLiRtb3VudCgpO1xyXG4gICAgICB9LFxyXG4gICAgICByZWFkeSAoKSB7XHJcbiAgICAgICAgLy8g5b2T57uE5Lu2IHByb3BzIOm7mOiupOWAvOS4uiB0cnVl77yM5Yid5aeL5YyW5pe25Lyg5YWlIGZhbHNlIOS8muWvvOiHtCBjcmVhdGVkLHJlYWR5IOinpuWPkSwg5L2GIGF0dGFjaGVkIOS4jeinpuWPkVxyXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVycy53ZWl4aW4ucXEuY29tL2NvbW11bml0eS9kZXZlbG9wL2RvYy8wMDA2NmFlMjg0NGNjMGY4ZWI4ODNlMmE1NTc4MDBcclxuICAgICAgICBpZiAodGhpcy4kdm0pIHtcclxuICAgICAgICAgIHRoaXMuJHZtLl9pc01vdW50ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy4kdm0uX19jYWxsX2hvb2soJ21vdW50ZWQnKTtcclxuICAgICAgICAgIHRoaXMuJHZtLl9fY2FsbF9ob29rKCdvblJlYWR5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBkZXRhY2hlZCAoKSB7XHJcbiAgICAgICAgdGhpcy4kdm0uJGRlc3Ryb3koKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHBhZ2VMaWZldGltZXM6IHtcclxuICAgICAgc2hvdyAoYXJncykge1xyXG4gICAgICAgIHRoaXMuJHZtICYmIHRoaXMuJHZtLl9fY2FsbF9ob29rKCdvblBhZ2VTaG93JywgYXJncyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhpZGUgKCkge1xyXG4gICAgICAgIHRoaXMuJHZtICYmIHRoaXMuJHZtLl9fY2FsbF9ob29rKCdvblBhZ2VIaWRlJyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHJlc2l6ZSAoc2l6ZSkge1xyXG4gICAgICAgIHRoaXMuJHZtICYmIHRoaXMuJHZtLl9fY2FsbF9ob29rKCdvblBhZ2VSZXNpemUnLCBzaXplKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgX19sOiBoYW5kbGVMaW5rLFxyXG4gICAgICBfX2U6IGhhbmRsZUV2ZW50XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodnVlT3B0aW9ucy53eHNDYWxsTWV0aG9kcykpIHtcclxuICAgIHZ1ZU9wdGlvbnMud3hzQ2FsbE1ldGhvZHMuZm9yRWFjaChjYWxsTWV0aG9kID0+IHtcclxuICAgICAgY29tcG9uZW50T3B0aW9ucy5tZXRob2RzW2NhbGxNZXRob2RdID0gZnVuY3Rpb24gKGFyZ3MpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kdm1bY2FsbE1ldGhvZF0oYXJncylcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWYgKGlzUGFnZSkge1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudE9wdGlvbnNcclxuICB9XHJcbiAgcmV0dXJuIFtjb21wb25lbnRPcHRpb25zLCBWdWVDb21wb25lbnRdXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlQ29tcG9uZW50ICh2dWVDb21wb25lbnRPcHRpb25zKSB7XHJcbiAgcmV0dXJuIHBhcnNlQmFzZUNvbXBvbmVudCh2dWVDb21wb25lbnRPcHRpb25zLCB7XHJcbiAgICBpc1BhZ2UsXHJcbiAgICBpbml0UmVsYXRpb25cclxuICB9KVxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUNvbXBvbmVudCQxICh2dWVDb21wb25lbnRPcHRpb25zKSB7XHJcbiAgY29uc3QgY29tcG9uZW50T3B0aW9ucyA9IHBhcnNlQ29tcG9uZW50KHZ1ZUNvbXBvbmVudE9wdGlvbnMpO1xyXG5cclxuICBjb21wb25lbnRPcHRpb25zLm1ldGhvZHMuJGdldEFwcFdlYnZpZXcgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4gcGx1cy53ZWJ2aWV3LmdldFdlYnZpZXdCeUlkKGAke3RoaXMuX193eFdlYnZpZXdJZF9ffWApXHJcbiAgfTtcclxuICByZXR1cm4gY29tcG9uZW50T3B0aW9uc1xyXG59XHJcblxyXG5jb25zdCBob29rcyQyID0gW1xyXG4gICdvblNob3cnLFxyXG4gICdvbkhpZGUnLFxyXG4gICdvblVubG9hZCdcclxuXTtcclxuXHJcbmhvb2tzJDIucHVzaCguLi5QQUdFX0VWRU5UX0hPT0tTKTtcclxuXHJcbmZ1bmN0aW9uIHBhcnNlQmFzZVBhZ2UgKHZ1ZVBhZ2VPcHRpb25zLCB7XHJcbiAgaXNQYWdlLFxyXG4gIGluaXRSZWxhdGlvblxyXG59KSB7XHJcbiAgY29uc3QgcGFnZU9wdGlvbnMgPSBwYXJzZUNvbXBvbmVudCQxKHZ1ZVBhZ2VPcHRpb25zKTtcclxuXHJcbiAgaW5pdEhvb2tzKHBhZ2VPcHRpb25zLm1ldGhvZHMsIGhvb2tzJDIsIHZ1ZVBhZ2VPcHRpb25zKTtcclxuXHJcbiAgcGFnZU9wdGlvbnMubWV0aG9kcy5vbkxvYWQgPSBmdW5jdGlvbiAoYXJncykge1xyXG4gICAgdGhpcy4kdm0uJG1wLnF1ZXJ5ID0gYXJnczsgLy8g5YW85a65IG1wdnVlXHJcbiAgICB0aGlzLiR2bS5fX2NhbGxfaG9vaygnb25Mb2FkJywgYXJncyk7XHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIHBhZ2VPcHRpb25zXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlUGFnZSAodnVlUGFnZU9wdGlvbnMpIHtcclxuICByZXR1cm4gcGFyc2VCYXNlUGFnZSh2dWVQYWdlT3B0aW9ucywge1xyXG4gICAgaXNQYWdlLFxyXG4gICAgaW5pdFJlbGF0aW9uXHJcbiAgfSlcclxufVxyXG5cclxuY29uc3QgaG9va3MkMyA9IFtcclxuICAnb25CYWNrUHJlc3MnLFxyXG4gICdvbk5hdmlnYXRpb25CYXJCdXR0b25UYXAnLFxyXG4gICdvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dENoYW5nZWQnLFxyXG4gICdvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dENvbmZpcm1lZCcsXHJcbiAgJ29uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Q2xpY2tlZCdcclxuXTtcclxuXHJcbmZ1bmN0aW9uIHBhcnNlUGFnZSQxICh2dWVQYWdlT3B0aW9ucykge1xyXG4gIGNvbnN0IHBhZ2VPcHRpb25zID0gcGFyc2VQYWdlKHZ1ZVBhZ2VPcHRpb25zKTtcclxuXHJcbiAgaW5pdEhvb2tzKHBhZ2VPcHRpb25zLm1ldGhvZHMsIGhvb2tzJDMpO1xyXG5cclxuICByZXR1cm4gcGFnZU9wdGlvbnNcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlUGFnZSAodnVlUGFnZU9wdGlvbnMpIHtcclxuICB7XHJcbiAgICByZXR1cm4gQ29tcG9uZW50KHBhcnNlUGFnZSQxKHZ1ZVBhZ2VPcHRpb25zKSlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAodnVlT3B0aW9ucykge1xyXG4gIHtcclxuICAgIHJldHVybiBDb21wb25lbnQocGFyc2VDb21wb25lbnQkMSh2dWVPcHRpb25zKSlcclxuICB9XHJcbn1cclxuXHJcbnRvZG9zLmZvckVhY2godG9kb0FwaSA9PiB7XHJcbiAgcHJvdG9jb2xzW3RvZG9BcGldID0gZmFsc2U7XHJcbn0pO1xyXG5cclxuY2FuSVVzZXMuZm9yRWFjaChjYW5JVXNlQXBpID0+IHtcclxuICBjb25zdCBhcGlOYW1lID0gcHJvdG9jb2xzW2NhbklVc2VBcGldICYmIHByb3RvY29sc1tjYW5JVXNlQXBpXS5uYW1lID8gcHJvdG9jb2xzW2NhbklVc2VBcGldLm5hbWVcclxuICAgIDogY2FuSVVzZUFwaTtcclxuICBpZiAoIXd4LmNhbklVc2UoYXBpTmFtZSkpIHtcclxuICAgIHByb3RvY29sc1tjYW5JVXNlQXBpXSA9IGZhbHNlO1xyXG4gIH1cclxufSk7XHJcblxyXG5sZXQgdW5pID0ge307XHJcblxyXG5pZiAodHlwZW9mIFByb3h5ICE9PSAndW5kZWZpbmVkJyAmJiBcImFwcC1wbHVzXCIgIT09ICdhcHAtcGx1cycpIHtcclxuICB1bmkgPSBuZXcgUHJveHkoe30sIHtcclxuICAgIGdldCAodGFyZ2V0LCBuYW1lKSB7XHJcbiAgICAgIGlmICh0YXJnZXRbbmFtZV0pIHtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0W25hbWVdXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJhc2VBcGlbbmFtZV0pIHtcclxuICAgICAgICByZXR1cm4gYmFzZUFwaVtuYW1lXVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChhcGlbbmFtZV0pIHtcclxuICAgICAgICByZXR1cm4gcHJvbWlzaWZ5KG5hbWUsIGFwaVtuYW1lXSlcclxuICAgICAgfVxyXG4gICAgICBpZiAoZXZlbnRBcGlbbmFtZV0pIHtcclxuICAgICAgICByZXR1cm4gZXZlbnRBcGlbbmFtZV1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWhhc093bih3eCwgbmFtZSkgJiYgIWhhc093bihwcm90b2NvbHMsIG5hbWUpKSB7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHByb21pc2lmeShuYW1lLCB3cmFwcGVyKG5hbWUsIHd4W25hbWVdKSlcclxuICAgIH0sXHJcbiAgICBzZXQgKHRhcmdldCwgbmFtZSwgdmFsdWUpIHtcclxuICAgICAgdGFyZ2V0W25hbWVdID0gdmFsdWU7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgT2JqZWN0LmtleXMoYmFzZUFwaSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgIHVuaVtuYW1lXSA9IGJhc2VBcGlbbmFtZV07XHJcbiAgfSk7XHJcblxyXG4gIE9iamVjdC5rZXlzKGV2ZW50QXBpKS5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgdW5pW25hbWVdID0gZXZlbnRBcGlbbmFtZV07XHJcbiAgfSk7XHJcblxyXG4gIE9iamVjdC5rZXlzKGFwaSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgIHVuaVtuYW1lXSA9IHByb21pc2lmeShuYW1lLCBhcGlbbmFtZV0pO1xyXG4gIH0pO1xyXG5cclxuICBPYmplY3Qua2V5cyh3eCkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgIGlmIChoYXNPd24od3gsIG5hbWUpIHx8IGhhc093bihwcm90b2NvbHMsIG5hbWUpKSB7XHJcbiAgICAgIHVuaVtuYW1lXSA9IHByb21pc2lmeShuYW1lLCB3cmFwcGVyKG5hbWUsIHd4W25hbWVdKSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbntcclxuICBpZiAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGdsb2JhbC51bmkgPSB1bmk7XHJcbiAgICBnbG9iYWwuVW5pRW1pdHRlciA9IGV2ZW50QXBpO1xyXG4gIH1cclxufVxyXG5cclxud3guY3JlYXRlQXBwID0gY3JlYXRlQXBwO1xyXG53eC5jcmVhdGVQYWdlID0gY3JlYXRlUGFnZTtcclxud3guY3JlYXRlQ29tcG9uZW50ID0gY3JlYXRlQ29tcG9uZW50O1xyXG5cclxudmFyIHVuaSQxID0gdW5pO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgdW5pJDE7XHJcbmV4cG9ydCB7IGNyZWF0ZUFwcCwgY3JlYXRlQ29tcG9uZW50LCBjcmVhdGVQYWdlIH07XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n"); /***/ }), /* 2 */ /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QyIsImZpbGUiOiIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2\n"); /***/ }), /* 3 */ /*!******************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***! \******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (true) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n {\n if(vm.$scope && vm.$scope.is){\n return vm.$scope.is\n }\n }\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if ( true && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = typeof SharedObject !== 'undefined' ? SharedObject : {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if ( true && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if ( true &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n true && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if ( true &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n true && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (true) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n true && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n true && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (true) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (true) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (true) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (true) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (true) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if ( true && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n true\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if ( true && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (true) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (true) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (true) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n true && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (true) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.